Două rute pe aceeași casetă pot indica spre 198.51.100.77 și totuși răspund la întrebări diferite. Una descrie unde este accesibilă o adresă MAC și, opțional, ce IP este legat de ea. Cealaltă descrie un prefix care se rezolvă printr-un salt următor, chiar și atunci când acel prefix este un singur host. Confundarea lor produce un tichet care pare o eroare de rutare, dar este de fapt un tip de rută citit greșit.

Cea mai rapidă cale de a le distinge este să citiți cheia în jurul căreia este construit NLRI-ul, nu masca de la capătul acestuia.

Cheia rutei spune ce afirmă ruta

Tipul 2 este ruta de anunț MAC/IP din RFC 7432, iar cheia sa este adresa MAC de 48 de biți din interiorul NLRI-ului. În spatele acestei chei se află un câmp de adresă IP al cărui câmp de lungime poate fi 0, 32 sau 128 de biți, așa că un anunț doar cu MAC este o rută completă, nu o intrare de host cu părți lipsă. Stiva de etichete care urmează indică contextul de punte în care trăiește acel MAC.

Dacă câmpul IP este completat schimbă ceea ce declară ruta, nu ce fel de rută este. Cu o lungime de 32 sau 128 de biți, expeditorul afirmă de asemenea că acest IP aparține acelui MAC într-o singură instanță EVPN. Cu lungime zero, expeditorul nu face nicio afirmație despre IP. Niciuna dintre versiuni nu spune că un prefix este accesibil printr-un router.

Tipul 5 este ruta de prefix IP din RFC 9136, iar cheia sa este un prefix scris ca o lungime plus atâția biți. Lungimea merge de la 0 la 32 pentru IPv4 și de la 0 la 128 pentru IPv6.

Ambele capete ale intervalului sunt legale, iar niciunul nu implică un MAC. Un prefix cu lungime zero afirmă accesibilitatea fără a numi un host, în timp ce un /32 numește exact o adresă. NLRI-ul poartă și o adresă IP de gateway pe care partea de ieșire o folosește pentru a construi indexul overlay, plus o etichetă pentru contextul de forwardare. Nu există niciun câmp MAC pe care să se comute, de aceea un receptor tratează tipul 5 ca destinație rutată.

O rută de prefix /32 nu este un tip 2 redenumit

Prefixele de dimensiunea unui host sunt rute de tip 5 obișnuite. O rută de prefix /32 și un tip 2 pentru aceeași adresă pot coexista într-o instanță EVPN, și poartă informații de forwardare diferite.

Luați 198.51.100.77 într-o instanță EVPN care folosește VNI 10100. Un tip 2 o poate împerechea cu MAC 02:00:00:00:00:77 și cu o etichetă care identifică domeniul de punte în care acel MAC a fost învățat. Un tip 5 poate anunța 198.51.100.0/24 pentru întreaga subrețea, sau 198.51.100.77/32 doar pentru acea adresă, cu o adresă de gateway care indică VTEP-ul de ieșire. Adresele se suprapun intenționat pentru că rutele răspund la întrebări diferite.

O rută spune că există o legătură de punct final și că este accesibilă printr-o anumită punte. Cealaltă spune că un prefix este accesibil printr-un anumit router, indiferent dacă în interiorul lui s-a învățat vreodată un punct final.

Această diferență decide unde să priviți mai întâi când traficul eșuează. Dacă un singur host este inaccesibil în timp ce ruta subrețelei sale pare în regulă, tipul 5 nu ar fi trebuit niciodată să poarte acel host; căutați tipul 2 lipsă. Dacă ruta hostului există, dar întreaga subrețea este inaccesibilă, verificați dacă tipul 5 a fost creat. Citirea câmpurilor în ordine este mai bună decât ghicitul după lungimea măștii.

Citirea ambelor rute fără a ghici

Pe NX-OS, show bgp l2vpn evpn route type 2 și show bgp l2vpn evpn route type 5 împart tabelul exact pe această linie, iar show l2route evpn mac ip arată legăturile locale MAC-IP din spatele rutelor de tip 2. Pe Junos, show evpn database listează legăturile MAC și IP învățate, în timp ce show route table bgp.evpn.0 arată ce a fost anunțat și primit.

Filtrați după route distinguisher și eticheta Ethernet înainte de a trage concluzii. Același MAC sau prefix poate apărea în mai multe instanțe EVPN, iar o rută care pare greșită într-o instanță poate fi corectă în alta.

Apoi citiți NLRI-ul în ordine: tipul rutei, cheia, câmpurile de gateway sau etichetă, apoi route target-urile din atribute. Un tip 2 care poartă un ESI diferit de zero vă spune că MAC-ul este multi-homed, iar acea valoare este cea care leagă anunțurile de la routere PE diferite. Un tip 5 care poartă o adresă de gateway vă spune care VTEP de ieșire trebuie să primească traficul.

Dacă lipsește o rută, verificați originea înainte de codare. Confirmați că sursa are legătura sau prefixul local, apoi confirmați că route target-ul atașat este importat pe această casetă. Majoritatea rapoartelor despre un tip 5 stricat se termină la o politică de import, nu la formatul NLRI.

Notați contextul, nu doar tipul rutei

Notați împreună tipul rutei, instanța EVPN, route distinguisher-ul, route target-urile importate și exportate și saltul următor rezolvat. Un tip 2 fără instanța sa este ambiguu, iar un salt următor fără familia de rute invită la o concluzie greșită.

Ambele sunt rute EVPN chiar și atunci când payload-ul este o adresă IPv4. Familia de adrese din interiorul NLRI-ului și familia de adrese a rutei în sine sunt proprietăți separate, iar un tip 5 nu devine rută IPv4-unicast sau VPN-IPv4 doar pentru că poartă un prefix IPv4.

Această distincție apare la granița dintre un plan de control EVPN și un IP-VRF. Route target-ul decide ce VRF importă prefixul, în timp ce adresa de gateway și eticheta decid cum este encapsulat pachetul spre ieșire. Citiți-le împreună și decizia de forwardare nu mai pare arbitrară.

Data viitoare când apare un /32 în tabelul EVPN, verificați cheia înainte de mască. O cheie MAC cu un IP opțional este o legătură de tip 2; o cheie de prefix este o rută de tip 5 indiferent de lungimea ei. Scrieți route target-ul și saltul următor alături, iar următorul inginer nu va trebui să deducă din nou toată povestea.

Articole similare