Dwie trasy na tym samym urządzeniu mogą wskazywać na 198.51.100.77 i mimo to odpowiadać na różne pytania. Jedna opisuje, gdzie adres MAC jest osiągalny i, opcjonalnie, który IP jest z nim związany. Druga opisuje prefiks, który jest rozwiązywany przez następny skok, nawet gdy ten prefiks jest pojedynczym hostem. Pomylenie ich daje zgłoszenie, które wygląda jak błąd routingu, ale w rzeczywistości jest źle odczytanym typem trasy.

Najszybszym sposobem ich rozróżnienia jest odczytanie klucza, wokół którego zbudowane jest NLRI, a nie maski na jego końcu.

Klucz trasy mówi, co trasa twierdzi

Typ 2 to trasa ogłaszania MAC/IP z RFC 7432, a jej kluczem jest 48-bitowy adres MAC wewnątrz NLRI. Za tym kluczem znajduje się pole adresu IP, którego pole długości może wynosić 0, 32 lub 128 bitów, więc ogłoszenie samego MAC jest pełną trasą, a nie wpisem hosta z brakującymi częściami. Następujący stos etykiet wskazuje kontekst mostu, w którym żyje ten MAC.

To, czy pole IP jest wypełnione, zmienia to, co trasa deklaruje, a nie rodzaj trasy. Przy długości 32 lub 128 bitów nadawca twierdzi również, że ten IP należy do tego MAC w obrębie jednej instancji EVPN. Przy długości zerowej nadawca nie zgłasza żadnego twierdzenia o IP. Żadna wersja nie mówi, że prefiks jest osiągalny przez router.

Typ 5 to trasa prefiksu IP z RFC 9136, a jej kluczem jest prefiks zapisany jako długość plus tyle bitów. Długość mieści się od 0 do 32 dla IPv4 i od 0 do 128 dla IPv6.

Oba końce tego zakresu są legalne i żaden nie implikuje MAC. Prefiks o długości zerowej twierdzi osiągalność bez wskazywania hosta, podczas gdy /32 wskazuje dokładnie jeden adres. NLRI niesie też adres IP bramy, którego strona wyjściowa używa do zbudowania indeksu overlay, plus etykietę kontekstu przekazywania. Nie ma pola MAC, na które można by przełączać, dlatego odbiorca traktuje typ 5 jako trasowany cel.

Trasa prefiksu /32 nie jest przemianowanym typem 2

Prefiksy rozmiaru hosta to zwykłe trasy typu 5. Trasa prefiksu /32 i typ 2 dla tego samego adresu mogą współistnieć w jednej instancji EVPN, a niosą różne informacje o przekazywaniu.

Weź 198.51.100.77 w instancji EVPN używającej VNI 10100. Typ 2 może sparować go z MAC 02:00:00:00:00:77 i etykietą identyfikującą domenę mostu, w której ten MAC został nauczony. Typ 5 może ogłaszać 198.51.100.0/24 dla całej podsieci albo 198.51.100.77/32 tylko dla tego adresu, z adresem bramy wskazującym wyjściowy VTEP. Adresy nakładają się celowo, ponieważ trasy odpowiadają na różne pytania.

Jedna trasa mówi, że powiązanie punktu końcowego istnieje i jest osiągalne przez określony most. Druga mówi, że prefiks jest osiągalny przez określony router, niezależnie od tego, czy kiedykolwiek nauczono się w nim punktu końcowego.

Ta różnica decyduje, gdzie najpierw spojrzeć, gdy ruch zawodzi. Jeśli pojedynczy host jest nieosiągalny, a trasa jego podsieci wygląda dobrze, typ 5 nigdy nie miał nieść tego hosta; szukaj brakującego typu 2. Jeśli trasa hosta istnieje, ale cała podsieć jest nieosiągalna, sprawdź, czy typ 5 w ogóle powstał. Czytanie pól po kolei jest lepsze niż zgadywanie z długości maski.

Czytanie obu tras bez zgadywania

W NX-OS show bgp l2vpn evpn route type 2 i show bgp l2vpn evpn route type 5 dzielą tabelę dokładnie wzdłuż tej linii, a show l2route evpn mac ip pokazuje lokalne powiązania MAC z IP za trasami typu 2. W Junos show evpn database wylicza nauczone powiązania MAC i IP, podczas gdy show route table bgp.evpn.0 pokazuje, co zostało ogłoszone i odebrane.

Przed wyciągnięciem wniosków filtruj według route distinguisher i tagu Ethernet. Ten sam MAC lub prefiks może pojawić się w kilku instancjach EVPN, a trasa, która w jednej instancji wygląda źle, w innej może być poprawna.

Następnie czytaj NLRI po kolei: typ trasy, klucz, pola bramy lub etykiety, potem route targety w atrybutach. Typ 2 z niezerowym ESI mówi, że MAC jest multi-homed, i właśnie ta wartość wiąże ogłoszenia z różnych routerów PE. Typ 5 z adresem bramy mówi, który wyjściowy VTEP ma odbierać ruch.

Jeśli brakuje trasy, sprawdź jej powstanie przed kodowaniem. Potwierdź, że źródło ma lokalnie powiązanie lub prefiks, a następnie potwierdź, że powiązany z nim route target jest importowany na tym urządzeniu. Większość zgłoszeń o zepsutym typie 5 kończy się na polityce importu, a nie na formacie NLRI.

Zapisuj kontekst, nie tylko typ trasy

Zapisz razem typ trasy, instancję EVPN, route distinguisher, zaimportowane i wyeksportowane route targety oraz rozwiązanego następnego skoku. Typ 2 bez swojej instancji jest niejednoznaczny, a następny skok bez rodziny tras zaprasza do błędnego wniosku.

Oba są trasami EVPN, nawet gdy ładunkiem jest adres IPv4. Rodzina adresów wewnątrz NLRI i rodzina adresów samej trasy to odrębne właściwości, a typ 5 nie staje się trasą IPv4-unicast ani VPN-IPv4 tylko dlatego, że niesie prefiks IPv4.

Ta różnica jest widoczna na granicy między płaszczyzną sterowania EVPN a IP-VRF. Route target decyduje, która VRF importuje prefiks, natomiast adres bramy i etykieta decydują, jak pakiet jest kapsułkowany w stronę wyjścia. Czytaj to razem, a decyzja o przekazywaniu przestaje wyglądać arbitralnie.

Następnym razem, gdy w tabeli EVPN pojawi się /32, sprawdź klucz przed maską. Klucz MAC z opcjonalnym IP to powiązanie typu 2; klucz prefiksu to trasa typu 5 niezależnie od długości. Zapisz obok route target i następny skok, a następny inżynier nie będzie musiał ponownie wyprowadzać całej historii.

Powiązane artykuły