(T) Pamięć TCAM*

Pamięć TCAM

Budowa pamięci TCAM

  • Pamięć TCAM jest wykorzystywana w wielowarstwowych przełącznikach (Urządzeniach wspierających funkcję CEF), do sprzętowej (Hardwar-owej) obsługi list dostępu ACL czy priorytetowa-nia danych zgodnie z politykami QoS. W większości przypadków przełączniki posiadają wiele oddzielnych pamięci TCAM dzięki czemu mogą odseparować wychodzące listy ACL od przychodzących oraz pogrupować poszczególne polityki QoS, wykonując obydwie operacje jednocześnie.
  • Pamięć TCAM znajdująca się w przełącznikach / ruterach formy Cisco, składa się z dwóch następujących komponentów:
    • FM (Feature Manager) – Po stworzeniu nowej listy ACL oprogramowanie FM kompiluje bądź łączy poszczególne wpisy ACE (Access Control Entities) danej listy ACL, w jeden wpis tablicy TCAM. Dzięki czemu wszelkie operacje filtrowania ruchu sieciowego mogą być wykonywane z prędkością przetwarzania ramki Frame-Forwarding Speed.
    • SDM (Switching Database Manager) – Stanowi oprogramowanie zarządzające pamięcią TCAM (Komenda [sdm prefer] umożliwia zmianę domyślnego sposobu alokacji pamięci TCAM).

Struktura pamięci TCAM

  • Pamięć TCAM umożliwia wykonywanie abstrakcyjnych operacji, których wynikiem oprócz wartości 1 (zgadza się), 0 (nie zgadza się) jest wartość X oznaczająca dane bez znaczenia.
  • Struktura pamięć TCAM składa się trzech wartości VMR (Value, Mask and Result) które można opisać następująco:
    • Value 134-bitowa wartość określającą adres źródłowy bądź docelowy oraz wiele innych istotnych informacji dotyczących wybranego protokołu. Dane pobierane są bezpośrednio z wpisów ACE, a mogą być następujące:
    • Mask 134-bitowa wartość odpowiadającą danym zawartym w polu Value. Umożliwia wykonanie logicznej operacji porównania poszczególnych wartość Maski z poszczególnymi wartościami Value, w celu określenia jaka część informacji ma znaczenie a jaka nie ma (Metoda ta działa identycznie jak maska podsieci).
    • Result – Numeryczna wartość reprezentującą akcje jaką należy podjąć po znalezieniu pasującego wpisu w tablicy TCAM. W przeciwieństwie do tradycyjnych list dostępu, ofertujących dwie wartości wyjściowe Permit oraz Deny, tablica TCAM umożliwia zwrócenie wartości Permit, Deny, QoS value bądź adresu next-hop.
Typ listy dostępu Wartość Value oraz Mask (ilość bitów)
Ethernet Source MAC (48), destination MAC (48), EtherType (16).
ICMP Source IP (32), destination IP (32), protocol (16), ICMP code(8), ICMP type (4), IP type of service (ToS) (8).
Extended IP using TCP/UDP Source IP (32), destination IP (32), protocol (16), IP ToS (8), source port (16), source operator (4), destination port (16), destination operator (4).
Other IP Source IP (32), destination IP (32), protocol (16), IP ToS (8).
IGMP Source IP (32), destination IP (32), protocol (16), IP ToS (8), IGMP message type (8).

Dane zawarte w wartości Value oraz Mask, względem wybranego protokołu L2 bądź L3

W przypadku zapisu list ACL opartych o adresy IPv6. Pamięć TCAM musi zapisać większe 128 bitowe wartości adresów IPv6, co znacząco ogranicza jej pojemność. Związku z tym wymagana jest dodatkowa kompresja przetrzymywanych wpisów ACE.

LOU (Logical Operation Unit)

  • Pamięć TCAM umożliwia określenie portu TCP/UDP za pomocą komendy ACL np. „eq www” bądź „any”. Istnieją jednak wpisy ACE które wymagają wykonania dodatkowych operacji logicznych, zwiększając tym samym zapotrzebowanie na zasoby obliczeniowe przełącznika. Są to wpisy określające zakresy portów TCP/UDP np. „gt 1024” bądź „2000 2002”. Do wykonania powyższych operacji przełączniki wielowarstwowe wykorzystują funkcje LOU (Logical Operation Unit), umożliwia ona wykonanie operacji logicznych przy określaniu zakresów portów warstwy czwartej.
  • Poszczególne wartości LOU mogą być przyporządkowane do wielu wpisów ACE, dzięki czemu możliwe staje się ograniczenie wykorzystywanych zasobów przełącznika wielowarstwowego.
Ilość możliwych do stworzenia list ACE z wykorzystaniem LOU jest ograniczona ilością pamięci jaką posada przełącznik.
Operacje logiczne wykonywane za pomocą funkcji LOU są następujące: „neq”, „range”, „gt”, „it” czy „port port”.
Przy dopasowaniu zawartości nadchodzącego pakietu do wpisów ACE określonej listy ACL. Wszystkie wpisy pamięci TCAM są porównywane jednocześnie.

SDM (Switch Database Management)

  • SDM – sprawuje kontrolę nad pamięcią TCAM, rozdzielając posiadane zasoby przełącznika pomiędzy funkcjami warstwy drugiej oraz warstwy trzeciej. Dzięki podziałowi na tryby, administrator może wybrać jeden z gotowych szablonów określających ile pamięci zostanie przeznaczonych na każdą z funkcji przełącznika. Tryby pracy są następujące:
    • Default – Domyślny, zrównoważony tryb pracy pamięci przełącznika. Umożliwia zapisanie dużej ilości adresów MAC jak i wspiera tworzenie list dostępu ACL oraz zasad QoS.
    • Routing – Zwiększa ilość zasobów przeznaczonych na routing (Współpracuje jedynie z protokołem IPv4).
    • Access – Zwiększa ilość zasobów przeznaczonych na utrzymanie list ACL.
    • VLAN – Zwiększa ilość zasobów przeznaczonych na adresy MAC (Wyłącza wsparcie routingu IPv4).
    • Dual IPv4 and IPv6 – Umożliwia konfigurację protokołu IPv6 na przełączniku. Wraz z nie mniejszą komendą należy wybrać jedną z trzech poniższych opcji, zarządzania pamięcią TCAM:
      • Default – Przeznacza większą część miejsca na listy ACL oraz routing IPv4/IPv6, zmniejszając tym samym pojemność urządzenia względem adresów MAC w tablicy „MAC address table”.
      • Routing – Zwiększa ilość zasobów przeznaczonych na routing (Współpracuje protokołem IPv4 jak i IPv6).
      • VLAN – Zwiększa ilość zasobów przeznaczonych na adresy MAC (Wyłącza wsparcie routingu IPv4 / IPv6).

Pozostałe tematy związane ze wstępem do warstwy drugiej

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz