Ar VPNv4 reikia MPLS branduolyje? Nebūtinai
BGP VPNv4 derasi dėl maršrutų paskirstymo konteksto, o ne perdavimo kelio. Atskirkite importą, kito šuolio sprendimą ir inkapsuliavimą, kurį galite naudoti.
VPNv4 adresų šeimos įjungimas tarp dviejų maršrutizatorių sukuria tik maršrutų paskirstymo kontekstą ir nieko daugiau. Jis neįdiegia perdavimo kelio ir nepasako, kokia inkapsuliacija nuneš kliento paketą į tolimą galinį tašką. Kai šie du faktai atskiriami, klausimas „ar tam reikia MPLS branduolyje“ tampa siauresnis ir atsakomas klausimas apie platformos palaikomą duomenų plokštumą.
Ką adresų šeima iš tikrųjų derasi
Daugiaprotokolis BGP pagal AFI 1 ir SAFI 128 perduoda VPNv4 tinklo sluoksnio pasiekiamumo informaciją, ir kiekvienas įrašas susieja maršruto skiriamąjį ženklą su prefiksu ir žyme. Sesija derasi, kad abi pusės gali koduoti ir dekoduoti tą informaciją. Ko ji nesidera, tai duomenų plokštuma. Viskas po šios pastraipos susiję su perdavimu, ir nieko iš to nenulemia sesijos pakilimas.
Taigi sėkminga sesija yra valdymo plokštumos galimybių įrodymas, o ne perdavimo. Maršrutizatorius gali laikyti tūkstančius VPNv4 įrašų ir vis tiek atmesti kiekvieną kliento paketą, ir būtent todėl šios dvi gedimų klasės iš pradžių painiojamos.
Atkreipkite dėmesį į žymę NLRI. Tai paslaugos žymė, susieta su prefiksu VRF viduje, ir ji turi perdavimo vaidmenį, kai paketas pasiekia išėjimo galinį tašką. Ar koks nors tranzitinis įrenginys ją skaito, yra atskiras projektinis sprendimas.
Priėmimas, importas ir perdavimas yra trys žingsniai
Maršruto priėmimą, leidimą jį naudoti ir galimybę su juo perduoti atlieka skirtingos įrenginio dalys. BGP saugo tai, ką girdi; importo politika ir maršruto tikslo atitikimas nusprendžia, kuri VRF gali jį svarstyti; tada perdavimo plokštuma turi išspręsti paskelbtą kitą šuolį į kažką, ką ji iš tikrųjų gali nustumti į laidą.
| Step in the chain | What has to be true | How it fails quietly |
|---|---|---|
| NLRI exchange | Both speakers negotiate the VPNv4 capability | Session stays up while the family is never activated |
| Import eligibility | A route target on the received route matches the VRF import policy | The route exists in the table but never enters the VRF |
| Next-hop resolution | The advertised next hop resolves to a usable tunnel or label path | Best path is selected, then marked unreachable or unusable |
| Encapsulation | The egress endpoint can decapsulate what the ingress produced | Packets arrive and are discarded for a format mismatch |
Būtent šiame viduriniame žingsnyje gyvena netikėčiausi gedimai. Maršrutas gali būti BGP lentelėje, galiojantis ir net geriausias, o VRF maršrutų lentelė lieka tuščia, nes joks maršruto tikslas neatitiko importo sąrašo. Niekas neužregistruoja protokolo klaidos, nes protokolo klaida neįvyko.
Paskutinis žingsnis yra vieta, kurioje pasimato platformos palaikymas. Apatiniame sluoksnyje pasiekiamas kitas šuolis nėra automatiškai išsprendžiamas kaip VPN paslaugos transportas, ir įrenginys gali reikalauti konkretaus tunelio tipo, konkrečios žymės operacijos arba abiejų. Sprendimo būsenos skaitymas yra informatyvesnis nei maršrutų skaičiaus skaitymas.
IP branduolys gali nešti steką, kurio niekada nekomutuoja
Skirtumas, kurį verta išsaugoti, yra tarp „branduolys nevykdo MPLS“ ir „paslaugoje niekur nėra žymės“. Tai skirtingi teiginiai, ir tik pirmasis yra apie tranzitinius įrenginius. RFC 4023 apibrėžia MPLS nešimą per IP arba GRE tunelius, ir būtent šis mechanizmas leidžia antrąjį teiginį visiškai IP branduolyje.
customer packet + service label
encapsulated in GRE, addressed to the egress tunnel endpoint
forwarded by ordinary IP routers on the outer header
decapsulated at the endpoint, label still meaningful
Tranzitiniai maršrutizatoriai perduoda pagal išorinį IP paskirties tašką ir nereikalauja nei kliento prefiksų, nei vietinio žymių komutavimo. Tolimame gale išorinis tunelis pašalinamas, ir paslaugos žymė tęsia savo darbą. Branduolys perkėlė nepermatomą naudingąją apkrovą, ir būtent tam IP tinklas yra geras.
Ko ši konstrukcija jums neduoda, tai universalios garantijos. Tai ne įrodymas, kad kiekvienas maršrutizatorius išsprendžia kiekvieną VPNv4 kitą šuolį per bet kurią GRE sąsają, ir ne priežastis ištrinti veikiančią vietinę MPLS konfigūraciją. Tai universalaus teiginio priešpavyzdys, ir praktinis klausimas lieka lokalus platformai. Užrašykite tą klausimą kaip platformos apribojimą, o ne kaip protokolo taisyklę.
Pereikite grandinę įrenginyje, kol ji nutrūks
Pradėkite nuo gauto maršruto ir sustokite ties pirmuoju žingsniu, kuris nepavyksta, nes vėlesni žingsniai negali būti diagnozuojami, kol ankstesnis sulaužytas. Keturi komandos apima didžiąją dalį to tipinėje realizacijoje.
show bgp vpnv4 unicast all summary
show bgp vrf CUSTOMER_A ip route 198.51.100.0/24
show ip route vrf CUSTOMER_A 198.51.100.0
show mpls forwarding-table vrf CUSTOMER_A
Skaitykite juos kaip seką, o ne kaip keturis nepriklausomus patikrinimus. Pirmasis patvirtina, kad šeima aktyvi ir partneris keičiasi maršrutais; antrasis parodo, ar prefiksas atėjo su tinkamu kitu šuoliu; trečiasis įrodo tinkamumą importui; ketvirtasis parodo, ar perdavimo plokštuma susiejo su juo žymę ar tunelį.
Tada išbandykite darbo krūvio kelią abiem kryptimis su MTU, kuris atlaiko inkapsuliavimą. GRE prideda antraštės baitų, ir kelias, kuris praeina mažus zondus, gali nepavykti su viso dydžio paketais tik viena kryptimi, o tai atrodo kaip programos, o ne transporto gedimas.
Dvi eksploatacinės pastabos uždaro ciklą. GRE yra inkapsuliavimas, o ne konfidencialumas, todėl nepatikimam tranzitiniam tinklui reikia palaikomo saugumo sprendimo viršuje, o ne prielaidos. Ir prieš projektavimo peržiūrą užrašykite, kokį inkapsuliavimą platforma iš tikrųjų palaiko, nes tas vienas atsakymas nusprendžia, ar tik IP branduolys yra tinkamas pasirinkimas, ar planas, kuris negali perduoti.