UADP, a ASIC, FPGA i CPU
 

UADP (Unified Access Data Plane) jest programowalnym układem ASIC (Application-Specific Integrated Circuit), który umożliwia bardzo szybką oraz wydajną realizację wielu złożonych operacji oraz wygodne dodawanie nowych protokołów i funkcjonalności. Stosowanie dostępnych na rynku układów ASIC nie dawałoby takich możliwości, a realizacja ich na CPU (Central Processing Unit) byłaby za wolna do zastosowania w przełącznikach Ethernet.

 
Układy ASIC mają stałą konfiguracje obsługiwanych funkcjonalności, która z czasem może okazać się niewystarczająca. Niemniej potrafią je realizować o wiele szybciej od CPU, które za to jest bardzo elastyczne i można dowolnie oprogramować. Po środku tego wszystkiego są też układy FPGA (Field-Programmable Gate Array), które można dowolnie zaprogramować do danego zastosowania, niemniej ze względu na ich koszt i większe zużycie energii najczęściej stosowane są tylko do obsługi pojedynczych funkcjonalności, których akurat nie ma w zastosowanym układzie ASIC. Realizacja wszystkiego za ich pośrednictwem nie jest też praktyczna ze względu na ich wewnętrzną architekturę, która zwykle nie jest zoptymalizowana do przekazywania pakietów i brakuje w niej wewnętrznych pamięci dla tablic przeszukiwania. Niemniej, zaprogramowanie w FPGA tylko kilku potrzebnych funkcjonalności, których akurat nie ma w stosowanym układzie jest o wiele tańsze niż opracowanie nowego układu ASIC.

Aby rozwiązać ten problem, Cisco Systems opracowało swój własny programowalny układ UADP ASIC. Układ ten jest programowany na nowo za każdym razem, kiedy pojawiają się nowe funkcjonalności i protokoły. Odbywa się to poprzez wgranie do niego odpowiedniego mikrokodu. Dzięki niemu nowe protokoły i ich funkcjonalności mogą być wprowadzane do istniejących już na rynku urządzeń, a ich obsługa może być ciągle realizowana sprzętowo.
 
 
Sprawia to, że z każdą kolejną aktualizacją nasze przełączniki będą mogły zwiększać swoją funkcjonalność.

UADP 2.0/3.0 udostępnia programowalny parser (FlexParser), który jest w stanie operować na pierwszych 256-oktetach nagłówka ramki oraz 25 programowalnych etapów przetwarzania pakietów (17 na wejściu i 8 na wyjściu). Umożliwia to zaprogramowanie układu UADP do obsługi nowych protokołów oraz nowych funkcjonalności.
 
Wewnątrz jednego układu UADP może być w danej chwili przetwarzane do 250 ramek, a pojedyncza ramka może być też obsługiwana na wielu etapach równolegle. Za końcową decyzję na wejściu odpowiedzialny jest IGR (Ingress Global Resolution), a na wyjściu EGR (Egress Resolution Controller).

Dostępne na każdym z etapów tablice przeszukiwania (L2, L3, Multicast, NetFlow, itd.) dostępne są dla obu rdzeni układu, dzięki czemu nie jest wymagane redundantne składowanie i przepisywanie pewnych informacji. Oszczędza to znacząco miejsce tablicy TCAM (Ternary Content-Addressable Memory) i SRAM (Static Random Access Memory) oraz zwiększa wydajność i efektywność przetwarzania ruchu.
 

Tablice przeszukiwania dostępne są bezpośrednio w układzie UADP poprzez 512-bitową szynę, która umożliwia w UADP 2.0/3.0 wykonywanie dwóch równoległych zapytań do tablic w każdym z etapów. Oznacza to, że dla przykładu można wysłać jednocześnie zapytanie o źródłowy adres L2 i L3. Daje to prawie natychmiastowe wyniki przeszukiwania i co za tym idzie bardzo dużą wydajność przetwarzania nawet dla bardzo złożonych polityk.

Jesteśmy partnerem Cisco Systems i za naszym pośrednictwem można zakupić ich rozwiązania na polskim rynku. Zainteresowanych zapraszamy do This email address is being protected from spambots. You need JavaScript enabled to view it.. Z nami masz pewność, że wszystko pochodzi z oficjalnego kanału.

Układ UADP 3.0 dodatkowo posiada tablice o podwójnej szerokości (ang. dobule-width), dzięki czemu oferuje taką samą wydajność przeszukiwania dla ruchu IPv4 i IPv6.

Układy UADP są na tyle elastyczny, że ilości wpisów do obsługi L2, Unicast L3, Multicast L3, NetFlow, ACLs, czy QoS w tablicy TCAM/SRAM może zostać dostosowane do potrzeb danej sieci czy zastosowania danego urządzenia.
 

Układ UADP zawiera dedykowane mikrochipy do obsługi fragmentacji i składania fragmentów oraz do szyfrowania i deszyfrowania ruchu (MACsec AES). Stąd funkcjonalności te obsługiwane są zawsze poza IFC (Ingress Forwarding Controller) i EFC (Egress Forwarding Controller), gdzie obsługiwane są wspomniane wcześniej programowalne etapy przetwarzania na wejściu i wyjściu. Niemniej, są nadal realizowane sprzętowo.
 
Szyna łącząca przełączniki w stos (ang. stacking) umożliwia bezpośrednie połączenie układów UADP ze sobą w architekturze pierścienia. W ten sposób do 8 przełączników pracujących w stosie, może działać jak jeden. O ile ich Data Plane jest rozproszony, to posiadają jeden wspólny Control Plane. Za pomocą Stack Interface realizowana jest także wymiana informacji pomiędzy różnymi układami UADP ASIC wewnątrz pojedynczego przełącznika.
 
W zależności od modelu przełącznika, może mieć on jeden lub więcej układów UADP ASIC, a każdy z układów może mieć jeden lub dwa rdzenie. W przełącznikach Cisco Catalyst 9000 stosowane są też różne wersje układu UADP.
 
  
Wszystkie ramki, jakie trafią do UADP przetrzymywane są w PBC (Packet Buffer Complex), a wewnętrzne systemy kolejkowania operują na deskryptorach, które na nie wskazują. Na wejściu z interfejsów sieciowych kolejkowaniem zajmuje się IQS (Ingress Queue), a na wyjściu EQS (Egress Queue). Kiedy już podejmą decyzję, ramka opuszcza PBC w kierunku interfejsów sieciowych lub CPU.

IQS zajmuje się kolejkowaniem pakietów do CPU i Stack Interface (innego rdzenia tego samego UADP, innego UADP tego samego przełącznika lub innego przełącznika stosu) oraz przeciwdziałaniem w powstawaniu zatorów (congestion management), do czego wykorzystuje WTD (Weighted Tail Drop) i WRED (Weighted Random Early Detect).

W skład EQS wchodzi SQS i AQM. SQS odpowiedzialny jest za kolejkowanie pakietów przychodzących ze Stack Interface, a AQM za ich kolejkowanie i policing na wyjściu, w stronę interfejsów sieciowych i CPU. Układ UADP obsługuje dwupoziomowy policing i hierarchiczny QoS (dwa poziomy) - HQoS.
 
Układ UADP od początku został zaprojektowany z myślą o różnych metodach tunelowania ruchu, jak m.in. MPLS (L2/L3 VPNs), GRE czy VXVLAN. Dlatego umieszczenie pakietu na nowo do przetwarzania przez układ, zaraz po dodaniu lub zdjęciu nagłówka tunelowego, realizowane jest bardzo szybko, bo w czasie poniżej 1 mikrosekundy (około 500 nanosekund). Ta recyrkulacja pakietu do ponownego przetworzenia może odbywać się maksymalnie do 16 razy, co umożliwia sprawne przetwarzanie pakietów nawet z większą ilością nagłówków tunelowych.

Jesteśmy partnerem Cisco Systems i za naszym pośrednictwem można zakupić ich rozwiązania na polskim rynku. Zainteresowanych zapraszamy do This email address is being protected from spambots. You need JavaScript enabled to view it.. Z nami masz pewność, że wszystko pochodzi z oficjalnego kanału.

Wewnątrz układu UADP obsługiwane są też różne funkcjonalności, jak m.in. NetFlow, QoS, Control Plane Policing, Unicast RPF, Private VLANs, PBR (Policy-Based Routing), IGMP/MLD Snooping, ACLs, GRE, LISP, MPLS, VXVLAN, CAPWAP, SGT (Security Group Tag), SPAN, RSPAN, ERSPAN, ETA (Encrypted Traffic Analytics), AVC (Application Visibility and Control) czy NBAR2 (Network Based Application Recogniction).
 
W trakcie przetwarzania pakietów, układ UADP gromadzi bardzo dużo danych statystycznych, które wykorzystywane są dalej przy zaawansowanej telemetrii.

Cisco Unified Access Data Plane ASIC to duża elastyczność oraz możliwość realizowania wielu funkcjonalności z bardzo dużą wydajnością, co jest czymś niezbędnym w przełącznikach Ethernet. To dzięki UADP przełączniki Cisco Catalyst 9000 mogą udostępniać tak dużą ilość mechanizmów bezpieczeństwa i danych telemetrycznych. Dzięki nim, ilość obsługiwanych w nich protokołów oraz funkcjonalności będzie też ciągle rosła.
 
Przedstawiliśmy tu zaledwie ideę i podstawową architekturę układu UADP, a jak to z ASIC bywa, w szczegóły można wchodzić głębiej i głębiej. Mamy nadzieję, że wystarczy to do zrozumienia jego zalet i sposobu działania. Na koniec warto dodać, że UADP ASIC funkcjonuje też pod nazwą Doppler i Forwarding Engine.

Na rynku jest zbyt dużo sprzętu z szarego kanału, stąd koniecznie sprawdzaj, czy firma sprzedająca produkty Cisco Systems jest na 100% jej partnerem handlowym. Sprawdzić można to w Cisco Partner Locator, gdzie też jesteśmy.

Zapraszamy do kontaktu drogą mailową This email address is being protected from spambots. You need JavaScript enabled to view it. lub telefonicznie +48 797 004 932.