EVPN tyyppi 2 vs tyyppi 5: miksi yksi IP-osoite tarkoittaa kahta reittiä
Tyyppi 2 -reitti avainnetaan MAC-osoitteella ja valinnaisella IP:llä; tyyppi 5 -reitti avainnetaan etuliitteellä. Lue avain, älä peitettä, ennen kuin kutsut reittiä isäntäkokoiseksi.
Kaksi reittiä samassa laitteessa voivat osoittaa osoitteeseen 198.51.100.77 ja vastata silti eri kysymyksiin. Toinen kuvaa, mistä MAC-osoite on tavoitettavissa ja valinnaisesti, mikä IP on siihen sidottu. Toinen kuvaa etuliitettä, joka ratkaistaan seuraavan hypyn kautta, vaikka etuliite olisi yksittäinen isäntä. Niiden sekoittaminen tuottaa tiketin, joka näyttää reititysvirheeltä mutta on todellisuudessa väärin luettu reittityyppi.
Nopein tapa erottaa ne on lukea avain, jonka ympärille NLRI on rakennettu, ei sen lopussa oleva peite.
Reitin avain kertoo, mitä reitti väittää
Tyyppi 2 on RFC 7432:n MAC/IP-ilmoitusreitti, ja sen avain on NLRI:n sisällä oleva 48-bittinen MAC-osoite. Tämän avaimen takana on IP-osoitekenttä, jonka pituuskenttä voi olla 0, 32 tai 128 bittiä, joten pelkkä MAC-ilmoitus on täysi reitti eikä puuttuvin osin varustettu isäntätietue. Seuraava tunnistepino osoittaa siltaympäristöön, jossa kyseinen MAC elää.
Se, onko IP-kenttä täytetty, muuttaa sitä, mitä reitti ilmoittaa, ei sitä, mikä reittityyppi on kyseessä. Kun pituus on 32 tai 128 bittiä, lähettäjä väittää myös, että tämä IP kuuluu kyseiselle MAC:lle yhden EVPN-instanssin sisällä. Kun pituus on nolla, lähettäjä ei esitä lainkaan IP-väitettä. Kumpikaan versio ei sano, että etuliite olisi tavoitettavissa reitittimen kautta.
Tyyppi 5 on RFC 9136:n IP-etuliitereitti, ja sen avain on etuliite, joka kirjoitetaan pituutena ja niin monena bittinä. Pituus vaihtelee IPv4:n 0:sta 32:een ja IPv6:n 0:sta 128:aan.
Kyseisen vaihteluvälin molemmat päät ovat sallittuja, eikä kumpikaan edellytä MAC-osoitetta. Nollan pituinen etuliite väittää tavoitettavuutta nimeämättä isäntää, kun taas /32 nimeää täsmälleen yhden osoitteen. NLRI kuljettaa myös yhdyskäytävän IP-osoitetta, jota lähtevä puoli käyttää overlay-indeksin rakentamiseen, sekä tunnistetta edelleenlähetyskontekstille. Ei ole MAC-kenttää, jonka perusteella kytkeä, minkä vuoksi vastaanottaja käsittelee tyypin 5 reititettynä kohteena.
/32-etuliitereitti ei ole uudelleennimetty tyyppi 2
Isäntäkokoiset etuliitteet ovat tavallisia tyypin 5 reittejä. /32-etuliitereitti ja saman osoitteen tyyppi 2 voivat molemmat olla olemassa yhdessä EVPN-instansissa, ja ne kuljettavat erilaista edelleenlähetystietoa.
Ota 198.51.100.77 EVPN-instanssissa, joka käyttää VNI:tä 10100. Tyyppi 2 voi parittaa sen MAC-osoitteen 02:00:00:00:00:77 kanssa ja tunnisteen kanssa, joka yksilöi siltadomainin, jossa kyseinen MAC opittiin. Tyyppi 5 voi ilmoittaa 198.51.100.0/24 koko aliverkolle tai 198.51.100.77/32 vain kyseiselle osoitteelle, ja yhdyskäytäväosoite osoittaa lähtevään VTEPiin. Osoitteet menevät tarkoituksella päällekkäin, koska reitit vastaavat eri kysymyksiin.
Toinen reitti sanoo, että päätepistesidonta on olemassa ja on tavoitettavissa tietyn sillan kautta. Toinen sanoo, että etuliite on tavoitettavissa tietyn reitittimen kautta, riippumatta siitä, onko sen sisällä koskaan opittu yhtään päätepistettä.
Tämä ero ratkaisee, mistä katsoa ensin, kun liikenne epäonnistuu. Jos yksittäinen isäntä on tavoittamattomissa, vaikka sen aliverkkoreitti näyttää kunnossa olevalta, tyypin 5 ei ollut tarkoitus koskaan kuljettaa kyseistä isäntää; etsi puuttuva tyyppi 2. Jos isäntäreitti on olemassa mutta koko aliverkko on tavoittamattomissa, tarkista, syntyikö tyyppi 5 lainkaan. Kenttien lukeminen järjestyksessä voittaa peitteen pituudesta arvaamisen.
Molempien reittien lukeminen arvaamatta
NX-OS:ssa show bgp l2vpn evpn route type 2 ja show bgp l2vpn evpn route type 5 jakavat taulukon täsmälleen tätä linjaa pitkin, ja show l2route evpn mac ip näyttää paikalliset MAC–IP-sidonnat tyypin 2 reittien takana. Junosissa show evpn database luettelee opitut MAC- ja IP-sidonnat, kun taas show route table bgp.evpn.0 näyttää, mitä ilmoitettiin ja vastaanotettiin.
Suodata route distinguisherin ja Ethernet-tunnisteen mukaan ennen johtopäätöksiä. Sama MAC tai etuliite voi esiintyä useissa EVPN-instansseissa, ja yhdessä instanssissa väärältä näyttävä reitti voi olla toisessa oikein.
Lue sitten NLRI järjestyksessä: reittityyppi, avain, yhdyskäytävä- tai tunnistekentät ja lopuksi attribuuttien route targetit. Tyyppi 2, joka kuljettaa nollasta poikkeavaa ESI:tä, kertoo, että MAC on multi-homed, ja juuri tämä arvo sitoo eri PE-reitittimien ilmoitukset yhteen. Tyyppi 5, joka kuljettaa yhdyskäytäväosoitetta, kertoo, minkä lähtevän VTEPin tulisi vastaanottaa liikenne.
Jos reitti puuttuu, tarkista synty ennen koodausta. Vahvista, että lähteellä on sidonta tai etuliite paikallisesti, ja vahvista sitten, että siihen liitetty route target tuodaan tähän laitteeseen. Useimmat ilmoitukset rikkinäisestä tyypistä 5 päättyvät tuontikäytäntöön, eivät NLRI-muotoon.
Kirjaa konteksti, älä vain reittityyppiä
Kirjoita yhteen reittityyppi, EVPN-instanssi, route distinguisher, tuodut ja viedyt route targetit sekä ratkaistu seuraava hyppy. Tyyppi 2 ilman instanssiaan on monitulkintainen, ja seuraava hyppy ilman reittiperhettä houkuttelee väärään johtopäätökseen.
Molemmat ovat EVPN-reittejä, vaikka hyötykuorma olisi IPv4-osoite. NLRI:n sisäinen osoiteperhe ja reitin oma osoiteperhe ovat erillisiä ominaisuuksia, eikä tyypistä 5 tule IPv4-unicast- tai VPN-IPv4-reittiä vain siksi, että se kuljettaa IPv4-etuliitettä.
Tämä ero näkyy EVPN-ohjaustason ja IP-VRF:n rajalla. Route target päättää, mikä VRF tuo etuliitteen, kun taas yhdyskäytäväosoite ja tunniste päättävät, miten paketti kapseloidaan kohti lähtöä. Lue ne yhdessä, niin edelleenlähetyspäätös lakkaa näyttämästä mielivaltaiselta.
Kun seuraavan kerran EVPN-taulukossa näkyy /32, tarkista avain ennen peitettä. MAC-avain valinnaisella IP:llä on tyypin 2 sidonta; etuliiteavain on tyypin 5 reitti pituudestaan riippumatta. Kirjoita route target ja seuraava hyppy sen viereen, eikä seuraavan insinöörin tarvitse johtaa koko tarinaa uudelleen.