Operacje CEF na przełączniku L3 vs. router


21

Rozumiem, że przełączniki L3 używają CEF do szybszego przesyłania pakietów. Jednak CEF nie będzie działać dla pakietów, które muszą przejść NAT. Czy to oznacza, że ​​CEF nie jest używany przez routery brzegowe i przełączniki krawędziowe L3? Czy użyteczność CEF jest ograniczona do sieci LAN?

Odpowiedzi:


8

NAT może oczywiście używać CEF. To pochodzi z własnego przewodnika Cisco tutaj: http://www.cisco.com/en/US/tech/tk648/tk361/technologies_q_and_a_item09186a00800e523b.shtml

Q. What kind of routing performance can be expected when using Cisco IOS NAT?

    A. Cisco IOS NAT supports Cisco Express Forwarding switching, fast switching, and process switching. For 12.4T release and later, fast-switching path is no longer supported. For Cat6k platform, the switching order is Netflow (HW switching path), CEF, process path.

    Performance depends on several factors:

        The type of application and its type of traffic

        Whether IP addresses are embedded

        Exchange and inspection of multiple messages

        Source port required

        The number of translations

        Other applications running at the time

        The type of hardware and processor

Większe platformy z systemem IOS-XR, w których FIB zostaje przypisany do kart liniowych, obsługują również NAT klasy operatorskiej, więc jego użyteczność nie ogranicza się tylko do samej sieci LAN.

Również wiele przełączników Lisco C3 po prostu w ogóle nie wykonuje translacji NAT


2
Technicznie na ścieżce CEF od wejścia do wyjścia masz punkty wstawiania dla funkcji (takich jak NAT). Jeśli ten punkt wstawienia istnieje, funkcja działa z włączonym CEF. Ale w przeciwieństwie do wyszukiwania L3, może nie być zauważalnego wzrostu wydajności dla tej funkcji, ponieważ CEF po prostu podaje dane dla tej funkcji, nie zmieniając samej funkcji. Ale w większości są to nieważne szczegóły, ważne jest, aby włączyć CEF.
ytti

18

CEF to słowo Cisco dla ich FIB. Kiedy w przełączniku L3 robisz „sh ip cef”, żadna z tych informacji nie jest w ogóle używana do wypychania pakietów, to tylko trie oprogramowania, które jest używane do zapełnienia sprzętowego ASIC.

CEF to tylko termin używany przez Cisco do opisania kodu optymalizacji przechowywania / pobierania danych, nie jest to konkretna technologia o określonej funkcji.

Na większości platform sprzętowych nie można po prostu uruchomić urządzenia bez CEF, ponieważ struktura danych CEF jest potrzebna do skompilowania informacji specyficznych dla HW.
Niektóre funkcje, takie jak MPLS, również zależą od struktury danych CEF i dlatego nie będą działać bez niej.

Przełączanie LAN (L2) nie jest abstrakcyjne przez CEF, więc w ogóle nie zależy od CEF.

Polecam książkę, aby uzyskać dość aktualne informacje o CEF (napisane po przepisaniu przez CEF około 12.2S)

Jeśli ograniczysz definicję CE Trie FIB w CEF, to oczywiście nie można jej użyć w NAPT, ponieważ nie możesz wstępnie ustalić, co jest pisane i gdzie. Ale jak wyjaśniono, CEF nie jest specyficzną technologią, jest szerszą koncepcją, a zatem jest dyskusyjna, jeśli CEF jest funkcją NAT, czy nie, chciałbym pomyśleć, że jest to funkcja CEF:

bu.ip.fi#sh cef features global  | b Local
  Global Local features not attached to a specific interface:
     NAT
bu.ip.fi#

Nigdy nie uruchomiłbym niczego bez CEF i to prawdopodobnie tylko ze względu na starsze powody, wybór wyłączenia go istnieje. Rozważmy Juniper, nie mają określonego terminu, którego używają do opisania tej samej koncepcji, ponieważ nie muszą odróżniać jej od jakiejś alternatywnej metody, ponieważ taka gorsza alternatywa nie istnieje.


5
Dodajmy do tego - CEF zmienia ścieżkę, drzewo informacyjne do przekazywania informacji itd., Więc nazwa „CEF” może być używana na wiele sposobów i powoduje zamieszanie. W rzeczywistości NAT jest obsługiwany w ścieżce CEF (podobnie jak tysiące innych funkcji), ale tabele zbudowane przez CEF nie zawierają niektórych informacji potrzebnych do przełączania pakietów wyłącznie za pomocą ich, jak wskazano, to należy sprawdzić dodatkowe wpisy (są zbudowane i obsługiwane przez kod NAT). W każdym razie, jeśli pakiet może być przełączany na ścieżce CEF bez powrotu do przełączania procesów, nadal jest obsługiwany przez CEF.
Łukasz Bromirski

9

Czy to oznacza, że ​​CEF nie jest używany przez routery brzegowe i przełączniki krawędziowe L3? Czy użyteczność CEF jest ograniczona do sieci LAN?

CEF jest przydatny, ponieważ pozwala routerowi szybko przepisać informacje warstwy 2 podczas operacji przekazywania warstwy 3. Routery WAN muszą przepisać informacje nagłówka warstwy 2, tak jak robią to przełączniki LAN ... CEF jest niezwykle przydatny dla obu typów routerów.

Na wysokim poziomie CEF pełni dwie funkcje:

  • Zawiera kopię w tle tabeli routingu, która odwzorowuje routowany prefiks na następny przeskok
  • Zawiera odwołanie do tabeli przylegania warstwy 2, która zawiera buforowane informacje o nagłówkach warstwy 2 wymaganych do przepisania pakietu IP przez wyjście następnego przeskoku wspomniane w pierwszym punkcie.

Przykład:

Rozważ ten router, który ma łącze WAN HDLC na Serial1 / 0 i połączenie LAN przez FastEthernet0 / 0 ...

R1#show adjacency internal
Protocol Interface                 Address
IP       Serial1/0                 point2point(5)
                                   0 packets, 0 bytes
                                   0F000800             <--------- HDLC Header rewrite info
                                   CEF   expires: 00:02:17
                                         refresh: 00:00:17
                                   Epoch: 0
                                   Fast adjacency disabled
                                   IP redirect enabled
                                   IP mtu 1500 (0x0)
                                   Fixup disabled
                                   Adjacency pointer 0x6663D3E0, refCount 5
                                   Connection Id 0x000000
                                   Bucket 6

Załóżmy, że pakiet IPv4 przechodzący do 192.0.2.1 wchodzi do routera z FastEthernet0 / 0 w sieci LAN i musi wyjść z Serial1 / 0 w sieci WAN (fakt, że wychodzi z Serial1 / 0 znajduje się w tabeli CEF ... i CEF tabela odwołuje się do tabeli sąsiedztwa).

Gdy router odbiera pakiet IPv4 z FastEthernet0 / 0, router musi zdjąć nagłówek Ethernet i przygotować nagłówek HDLC , 0F000800ponieważ jest to miejsce docelowe IPv4 ( 0x0800istnieje jako wartość „typu” HDLC, aby powiedzieć, że następny nagłówek to IPv4).

Jeśli CEF nie buforował (trywialnych) informacji o przepisywaniu nagłówka dla Serial1 / 0, musi ręcznie wyszukać informacje na poziomie przełączania procesów (co jest bardzo wolne). Te wartości tabeli przylegania nie zmienią się, dopóki hermetyzacja na Serial1 / 0 się nie zmieni; dlatego Cisco IOS zapisuje w pamięci podręcznej informacje o przepisywaniu przyległości w tabeli przyległości.

Informacje o przepisywaniu stają się bardziej zaangażowane, gdy spojrzysz na przekaźniki ramki lub PCW z bankomatu.

Ten dokument dotyczący CCO (ID dokumentu: 17812) może wyjaśniać rzeczy lepiej niż ja, zmieniając wiele treści CCO


Czy operacje warstwy 2 nie będą konsultowane tylko przez CAM? Operacje w warstwie 3 skonsultują się z FIB, w którym działa CEF, a jeśli zajdzie potrzeba głębszej kontroli pakietów na warstwie 3 (w przypadku pakietu wymagającego NAT), czy to nie uczyni CEF bezużytecznym dla routerów WAN?
Michael May

1
CEF nie jest używany do przeszukiwania / cache / adjacency lub l3, jest to „szybkie przełączanie” (które nie jest już w ogóle obsługiwane). CEF jest już wbudowany, więc wszystkie dane, które mogą być potrzebne do wyszukiwania sąsiedztwa lub wyszukiwania L3, są już w strukturze, która jest optymalna do wyszukiwania z ograniczeniami określonymi przez daną platformę.
ytti

@ytti, przepraszam, ale CEF przechowuje informacje o sąsiedztwie pamięci podręcznej, myślę, że masz wątpliwości co do tego, jak pamięć podręczna jest zapełniana (IMHO zakładasz, że pakiet musi zostać wykopany, aby był buforowany, ale to nieprawda) ... Jeden znaczących różnic między CEF a innymi metodami zamiany (podobnymi fast-switching) jest to, że CEF jest obliczany wstępnie. Jednak CEF nadal musi buforować informacje, w przeciwnym razie należy je sprawdzić na poziomie przełączania procesów ... bardzo powoli, i powód, dla którego potrzebujemy CEF zarówno dla interfejsów LAN, jak i WAN.
Mike Pennington,

Myślę, że po prostu nie zgadzamy się na to, co oznacza „buforowanie”, ale tak, kluczową kwestią jest to, że jest to wersja kompilacyjna i dla wielu funkcji (takich jak MPLS) jest to tylko struktura danych, nie ma pamięci „przełączania procesów” do.
ytti

@ChristianDelapena, mylisz sprzętowe implementacje sprzętowej tabeli odnośników (pamięci CAM) z procesem oprogramowania IOS, który zapełnia tabele odnośników (np. CEF). CEF istnieje, więc możesz zmapować wpis prefiksu warstwy 3 na wymagane informacje o przepisywaniu protokołu w warstwie 2 ... jednak warstwa 2 może być wieloma różnymi protokołami, takimi jak przekaźnik ramek, atm, pakiet nad sonetem, hdlc, ppp lub ethernet. .. wszystkich tych protokołów można nosić IPv4, ale oni potrzebują konkretnych pól wypełnionych w nagłówkach, zanim będzie można przyjąć, że pakiet IP i otaczać go dla następnego WAN routera do procesu
Mike Pennington
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.