MAC-osoitteen löytäminen EVPN-tietokannasta todistaa, että se on ilmoitettu tai vastaanotettu reittinä, eikä mitään sen enempää. Edelleenlähetystaulu on eri rakenne, joka ohjelmoidaan myöhemmin, joten sama MAC voi näkyä toisessa ja puuttua toisesta, vaikka jokainen protokolla toimii oikein. Näiden kahden tulosteen kohteleminen toistensa kopioina lähettää insinöörit BGP-vian perään, kun todellinen aukko on tuontikäytäntö tai ratkaisematon seuraava hyppy. Kysymys, joka kannattaa esittää, ei ole se, tunteeko fabric MAC:n, vaan missä vaiheessa se lakkasi välittämästä sitä.

Kaksi taulua, jotka vastaavat eri kysymyksiin

Junos EVPN:ssä tietokanta luettelee MAC-osoitteet instanssikohtaisesti sekä sen, miten kukin saapui: access-portilta opittu, Type 2 -reitissä vastaanotettu tai monikotiseksi ryhmäksi merkitty. Juniperin show evpn database -viite kattaa MAC- ja instanssikohtaiset suodattimet, jotka tekevät näkymästä luettavan. Se on ohjaustason yhteenveto, avaimena instanssi ja MAC, ei taulu, jolla laitteisto kytkee kehyksiä.

Kytkentätaulu on juuri se edelleenlähetystila. Molemmat tulosteet listaavat MAC-osoitteet VLAN- tai VNI-kontekstin vieressä, mikä on täsmälleen syy, miksi niitä verrataan rivi riviltä, ja täsmälleen syy, miksi vertailu johtaa harhaan. Tietokannan merkintä kertoo, että reitti on olemassa ja hyväksytty instanssiin; se ei kerro mitään siitä, asensiko alusta sen edelleenlähetystä varten.

Type 2 -reitti kuljettaa MAC:n, valinnaisen IP:n, labelin tai VNI:n, reittierottimen ja seuraavan hypyn, joka nimeää etäisen VTEP:n. Neljä asiaa voi rikkoutua kaapelin ja kyseisen reitin välillä: isäntää ei koskaan opita, reittiä ei koskaan ilmoiteta, se hylätään tuonnissa tai sen seuraava hyppy ei ratkea. Jokainen vika jättää erilaisen joukon tauluja täyteen, ja juuri siksi sarja voidaan ylipäätään diagnosoida.

Paikallinen oppiminen tapahtuu edelleen ensin

Yleinen oletus on, että EVPN ottaa MAC-oppimisen hoitaakseen, joten tyhjän tietokannan täytyy tarkoittaa overlay-ongelmaa. Paikallinen oppiminen toimii edelleen access-puolella, täsmälleen kuten ennen VXLANiä: kytkin oppii sallitun kehyksen lähde-MAC:n oikeassa VLANissa ja palvelussa ja luo vasta sitten Type 2:n sitä varten. Isännällä, joka ei ole lähettänyt yhtään relevanttia kehystä, ei ole mitään ilmoitettavaa. Isäntä, jonka kehykset hylätään VLAN-jäsenyyden, suodattimen tai aggregaatin alasajetun jäsenen vuoksi, näyttää overlayn näkökulmasta samalta.

Aloita liitännästä ja etene vain lukuun tarkoitetuilla komennoilla. Tavoitteena on todistaa, että isännän kehys kulki aiotussa palvelussa, koska mikään alempana ei korvaa kehystä, joka ei koskaan saapunut.

show interfaces ge-0/0/1.0
show ethernet-switching interface ge-0/0/1.0
show lacp interfaces ae0

Valitut LACP-jäsenet ovat tärkeämpiä kuin se, että nippu on ylhäällä, koska aggregaatti voi olla ylhäällä yhdellä jäsenellä, kun isännän liikenne hajautuu linkille, joka on alhaalla tai estetty. Liitäntälaskurit erottavat hiljaisen isännän pudottavasta, koska isäntä, joka ei koskaan lähetä, ja isäntä, jonka kehykset hylätään luokittelulla, jättävät saman tyhjän taulun.

Missä etäinen MAC katoaa

Etäinen MAC epäonnistuu vastakkaiseen suuntaan, ja hiljaa. Type 2 -reitti saapuu, mutta se tulee instanssiin vain, kun sen reittikohde ja VNI vastaavat paikallista konfiguraatiota, ja siitä tulee käyttökelpoinen vain, kun seuraava hyppy ratkeaa tavoitettavaksi VTEP:ksi. Reittikohteen epäsopivuus jättää BGP-tauluun kelvollisen reitin, jota mikään instanssi ei koskaan pyydä.

Lue kolme näkymää järjestyksessä: reitin olemassaolo, tietokantatietue, edelleenlähetystietue. Alla olevat komennot kysyvät samaa MAC:a kussakin vaiheessa, ja esimerkkiosoite pitää tulosteet vertailukelpoisina.

show evpn database instance blue mac-address 02:00:00:00:00:5c extensive
show route table bgp.evpn.0 | match 02:00:00:00:00:5c
show route table bgp.evpn.0 | match 02:00:00:00:00:5c extensive

Nämä tulosteet vastaavat kolmeen erilliseen kysymykseen. Reitti bgp.evpn.0-taulussa ilman tietokantatietuetta viittaa tuontikäytäntöön, reittikohteeseen tai instanssikonfiguraatioon. Tietokantatietue ilman edelleenlähetystietuetta viittaa alustan ohjelmointiin, joka kuuluu eri eskalaatiopolulle. Aktiivinen reitti, jonka seuraava hyppy ei ratkea, on kuljetus- tai label-ongelma, eikä mikään määrä MAC-vianetsintää korjaa sitä.

Uudelleenkäynnistys, joka korjasi sen, todistaa hyvin vähän

Kun uudelleenkäynnistys saa oireen katoamaan, houkutteleva johtopäätös on, että konfiguraation täytyy olla kunnossa. Uudelleenkäynnistys ohjelmoi jokaisen taulun alusta asti, joten se myös kätkee tapauksen, jossa vanhentunut merkintä peitti käytäntövirheen; vika palaa yleensä seuraavassa muutoksessa, linkin fläpissä tai reitin vetäytyessä.

Ennen mitä tahansa huoltokatkoa tallenna, mitä uudelleenkäynnistys pyyhkii. Nämä kolme komentoa riittävät ennen ja jälkeen vertailuun, eivätkä ne muuta laitteessa mitään.

show evpn database instance blue
show route table bgp.evpn.0
show version

Arkistoi nämä tulosteet päivämäärän ja ohjelmistoversion kanssa vierekkäin. Myöhempi raportti, että sama uudelleenkäynnistys auttoi aiemmin, on johtolanka eikä todiste, ja ero tulee näkyviin vain, jos joku säilytti aiemman tulosteen.

Neljä havaintoa, jotka ratkaisevat useimmat tapaukset

Neljä havaintoa kattaa lähes jokaisen tapauksen: liitäntä ja sen palvelu, MAC esimerkkiarvona, reitin ja tietokannan tila sekä käytössä oleva versio. Valitse MAC, joka on selvästi esimerkki, ettei kukaan sekoita sitä tuotanto-osoitteeseen: ensimmäinen oktetti 02 merkitsee paikallisesti hallinnoitua unicast-osoitetta, loput oktetit ovat vapaita, ja siksi 02:00:00:00:00:5c on turvallinen paikkamerkki.

Anna sitten vastausten osoittaa vaiheeseen, joka epäonnistui. Ei oppimista liitännässä tarkoittaa access-puolta; reitti ilman tietokantatietuetta tarkoittaa tuontia; tietokantatietue ilman edelleenlähetystilaa tarkoittaa ohjelmointia. Mitä ikinä se onkin, luovuta kerätyt tulosteet isännän, liitännän, palvelun ja version kanssa, jotta seuraava insinööri voi toistaa polun sen sijaan, että toistaisi kyselyn.

Aiheeseen liittyvät artikkelit