Tas pats /24 dviem klientams? VPNv4 reikia RD ir žymos
Du nuomininkai gali skelbti tą patį /24 tik todėl, kad RD suteikia kiekvienam maršrutui savo tapatybę. Žyma atsako į kitą klausimą: kaip persiųsti.
Du nuomininkai numeruoja savo filialą tuo pačiu 10.50.0.0/24, o po pakeitimo vieno nuomininko maršrutas dingsta iš tiekėjo krašto, o kitas toliau veikia. Šio bilieto pagrindas paprastai yra maršruto skirties (RD) atsisakymas, nes „žyma jau identifikuoja klientą“. Neidentifikuoja. RD ir žyma atsako į du skirtingus klausimus, ir skirtumas tampa matomas tik tada, kai persidengiantys adresai jį primeta.
Vienas maršrutas ten, kur turėtų būti du
Įprastas IPv4 unicast lygina du kelius į tą patį priešdėlį ir įdiegia geresnį. 10.50.0.0/24 nuo nuomininko A ir 10.50.0.0/24 nuo nuomininko B yra vienas raktas, todėl vienas laimi, o kitas išlieka tik kaip atsarginis kelias. Protokolas padarė tai, kas jam buvo pasakyta; valdymo plokštės buvo paprašyta saugoti du skirtingus maršrutus po vienu identifikatoriumi.
Rezultatas atrodo kaip trūkstamas maršrutas, o ne kaip klaida: PE, pralaimėjęs varžybas, vis dar persiunčia savo nuomininką vietoje, todėl bandymas svetainės viduje pavyksta, o testas tarp svetainių nepavyksta. Prieš liesdami bet kokią politiką, suskaičiuokite to priešdėlio įrašus VPNv4 lentelėje.
RD paverčia vieną raktą dviem
Aštuonių baitų maršruto skirtis pridedama prieš IPv4 priešdėlį, ir objektas, kurį neša BGP, tampa VPN-IPv4 adresu, o ne IPv4 priešdėliu. Du nuomininkai gali turėti tuos pačius 32 bitus, nes priekiniai 64 bitai skiriasi. Yra formato tipai RD, pagrįstam AS, ir RD, pagrįstam adresu, o pasirinkimas priklauso pradiniam PE. RD, pagrįstas AS, įprastas, kai PE dalijasi AS, o pagrįstas adresu – kai nesidalija.
Neskaitykite RD kaip narystės žymos. Maršruto taikiniai valdo importą ir eksportą ir nusprendžia, kurie VRF gali įdiegti maršrutą; RD tik garantuoja, kad maršrutas turi savo tapatybę. Kiekvienam VRF duoti savo RD yra įprasta praktika, nes tai išlaiko tą atvaizdavimą įskaitomą maršrutų peržiūroje.
Žyma yra vietinė persiuntimo instrukcija
Kiekvienas skelbimas taip pat neša MPLS žymą, ir jos reikšmė apribota maršrutizatoriaus, kuris ją priskyrė. Kitas PE gali išduoti tą patį numerį nesusijusiam tikslui. Būtent todėl žyma negali pakeisti kliento tapatybės: numeris teisingas tik šalia kito šuolio ir jį įdiegusios persiuntimo būsenos.
Priskyrimo granularumas skiriasi priklausomai nuo įgyvendinimo ir dizaino: kai kurios platformos priskiria vieną žymą VRF, kitos – priešdėliui, ir žyma gali žymėti persiuntimo veiksmą, o ne klientą. Dvi skirtingos žymos, pasiekiančios tą patį tikslą, nėra prieštaravimas, ir tas pats žymos numeris dviejuose PE taip pat ne.
| Field | Where it lives | Scope | If you remove it |
|---|---|---|---|
| RD | VPNv4 NLRI | Per advertised route | Overlapping prefixes collide |
| Route target | Extended community | Import and export policy | Route lands in the wrong VRF |
| Label | Labeled NLRI and forwarding state | Per allocating router | No instruction for the data plane |
| Next hop | Path attribute | Per path | The label cannot be resolved |
Kodėl vienas negali pakeisti kito
Skaityti skelbimą reiškia žiūrėti į keturis dalykus kartu: RD kvalifikuotą priešdėlį, maršruto taikinius, kitą šuolį ir žymą. Skaityti vartotojo paketą reiškia žiūrėti į dėklą, įdiegtą iš šios informacijos. Sveikas dizainas rodo abi puses sutampančias, o sugedęs paprastai turi vieną pusę teisingą, o kitą pasenusią. Šis palyginimas atskiria tapatybės problemą nuo persiuntimo problemos.
Tvarkinga kontrolės ir duomenų plokščių priešprieša yra mokymo priemonė, o ne kodavimo aprašymas. RFC 8277 įdeda žymą į pažymėtą NLRI, todėl pats skelbimas neša susiejimą; naudoti ją persiuntimui yra vėlesnis, atskiras žingsnis.
Kai nuomininko maršrutas dingsta, tikrinkite tokia tvarka: du VPNv4 įrašai priešdėliui, teisingas maršruto taikinys kiekviename, išsprendžiamas kitas šuolis ir žyma, kuriai priimančio PE turi būseną. Tapatybės taisymas persiuntimo reikšme, arba atvirkščiai, praeis vieną patikrą ir žlugs kitoje.