Recite „pokreni IPv6 L3VPN preko IPv6 BGP-a“ na pregledu dizajna i u toj jednoj rečenici kriju se tri odvojene odluke. Koji prefiksi pripadaju korisničkom VPN-u, koje adrese nose sesiju rutiranja između rubova provajdera i koje jezgro prenosi označeni paket — to su nezavisni izbori. Svi mogu biti IPv6, mogu biti izmiješani, a miješanje je namjerno dopušteno. Razdvajanje tih tri stvari pretvara nejasan zahtjev u nešto na čemu se platforma može testirati.

Razdvojite tri posla

Prvi posao je korisnička ruta: IPv6 prefiksi koji pripadaju jednom kontekstu rutiranja VPN-a i moraju ostati izvan svakog drugog konteksta. Drugi je veza rutiranja između rubnih rutera provajdera koji razmjenjuju te prefikse. Treći je transport koji nosi označeni korisnički paket kroz jezgro do udaljenog ruba. Imenovati samo jedan od njih još nije dizajn.

JobThe question it answersWhat confusion looks like
Customer VPN routesWhich IPv6 prefixes belong to each VPN context, and how are they kept apart?Prefixes leak into the global table and between customers
PE-to-PE BGP sessionWhich addresses carry the routing connection between the two edges?A session-family mismatch gets chased as a core transport fault
Transport to the remote PEHow does the chosen core move the labelled packet to the far edge?A route is present and unforwardable in the same moment

Svaki posao ima svoju adresnu porodicu, svoje načine otkaza i često svoj tim. Tabela je korisna upravo zato što jedna rečenica u dokumentu dizajna obično sabije sva tri reda u jedan.

Porodica rute je VPN-IPv6, a ne IPv6 unicast

RFC 4659 definiše porodicu BGP/MPLS IPv6 VPN, a članstvo u njoj je preciznije nego što riječ IPv6 sugerira. Ruta tamo je razlikovnik rute spojen s IPv6 prefiksom, kodiran pod AFI 2 i SAFI 128. Obični IPv6 unicast je druga porodica, pa objava koja u looking glassu izgleda kao prefiks možda uopće nije isti objekat. Pogrešno čitanje porodice prvi je način na koji ovaj dizajn ode naopako.

Razlika se osjeti na rubu, gdje ruta mora prvo sletjeti u pravi VPN kontekst prije nego što išta učini. Primanje prefiksa dokazuje da se razmjena dogodila i ne govori ništa o instalaciji. Ta praznina stvara klasičan izvještaj u kojem je sesija podignuta, a korisnik još uvijek u mraku.

Sesija može raditi u drugoj porodici od VPN-a

Ništa ne prisiljava BGP vezu između dva ruba da koristi vlastitu porodicu VPN-a. Specifikacija dopušta IPv4 ili IPv6 sesiju, a transport IPv6 VPN-a i sam je definiran nad oba tipa jezgra. Zato IPv6 sesija ne govori ništa o porodici onoga što nosi i ne bira ravan podataka. Tri nezavisna bita, a dizajn treba nositi sva tri odvojeno.

To oslobađa i lako se pogrešno pročita u istom dahu. IPv6 korisničke rute mogu ići preko sesije s IPv4 adresom, a IPv4 rute preko IPv6 sesije, pod uslovom da platforma podržava tu kombinaciju i da se sljedeći hop razriješi. Ono što se ne smije dogoditi jeste da sesija implicira teret, u dokumentu dizajna ili u monitoringu koji kasnije dokazuje uslugu.

Sljedeći hop na IPv4 jezgru ima vlastito kodiranje

Kada je jezgro pod VPN-om IPv4, ruta se ne pojavljuje sa sljedećim hopom koji ulazni rub može koristiti izravno. Ona dolazi u obliku IPv6 preslikanom u IPv4, i tako specifikacija izražava izlazni rub kada je transport ispod IPv4. Ulazni ruter tada mora taj preslikani prevoriti u nešto do čega stvarno može stići kroz jezgro, a razrješavanje je korak koji tiho pada.

Čitajte to kao zavisnost prosljeđivanja, a ne kao niz znakova za kopiranje između uređaja. Potvrdite tri stvari na platformi koju stvarno vodite: objavljeni sljedeći hop razrješava se u upotrebljiv put, stog oznaka se prihvata i odredište slijeće u predviđeni VPN kontekst. Bilo koji od tih promašaja ostavlja sesiju koja izgleda zdravo i ništa ne prosljeđuje, zato provjera pripada prijemnom prolazu, a ne kasnijem incidentu.

Napišite zahtjev u četiri reda

Zahtjev koji vrijedi testirati imenuje četiri stvari: porodicu VPN-a, transport sesije, kodiranje sljedećeg hopa i raspored jezgra. Zatim imenuje jedan korisnički prefiks koji treba pratiti od početka do kraja: kroz razmjenu, instalaciju, razrješavanje oznaka i povratni put. „Podržava IPv6 BGP“ ne pokriva nijednu od te četiri i skriva gdje nesklad zaista leži.

Zdrava sesija bez razmjene VPN-IPv6 je nepotpuna, a primljena VPN ruta bez radnog prosljeđivanja jednako je nepotpuna. Držanje toga kao odvojenih prijemnih linija skraćuje sljedeći razgovor o rješavanju problema, jer je linija koja pada već zapisana.

Povezani članci