Sama /24 por du klientoj? VPNv4 bezonas RD kaj etikedon
Du luantoj povas anonci la saman /24 nur ĉar la RD donas al ĉiu itinero propran identecon. La etikedo respondas al alia demando: kiel plusendi.
Du luantoj numeras sian filion per la sama 10.50.0.0/24, kaj post ŝanĝo la itinero de unu luanto malaperas de la rando de la provizanto dum la alia daŭre funkcias. La simpligo malantaŭ tia bileto estas kutime forlasi la itinero-distingilon (RD) ĉar „la etikedo jam identigas la klienton“. Ĝi ne faras tion. La RD kaj la etikedo respondas al du malsamaj demandoj, kaj la diferenco videblas nur kiam interkovrantaj adresoj devigas ĝin.
Unu itinero kie devus esti du
Ordinara IPv4 unicast komparas du vojojn al la sama prefikso kaj instalas la pli bonan. 10.50.0.0/24 de luanto A kaj 10.50.0.0/24 de luanto B estas unu ŝlosilo, do unu gajnas kaj la alia postvivas nur kiel rezerva vojo. La protokolo faris tion, kion oni diris al ĝi; la stirplano estis petata konservi du malsamajn itinerojn sub unu identigilo.
La rezulto aspektas kiel mankanta itinero prefere ol kiel eraro: la PE, kiu perdis la konkuradon, ankoraŭ plusendas sian propran luanton loke, do ping ene de la ejo sukcesas kaj la testo inter ejoj malsukcesas. Kalkulu la erojn por tiu prefikso en la tabelo VPNv4 antaŭ ol tuŝi ajnan regularon.
La RD igas unu ŝlosilon du
Okbajta itinero-distingilo estas antaŭmetata al la prefikso IPv4, kaj la objekto, kiun BGP transportas, igas adreso VPN-IPv4 anstataŭ prefikso IPv4. Du luantoj povas teni la samajn 32 bitojn ĉar la 64 bitoj antaŭe diferencas. Ekzistas formataj tipoj por RD bazita sur AS kaj por tiu bazita sur adreso, kaj la elekto apartenas al la origina PE. RD bazita sur AS estas kutima kiam la PE-oj dividas AS, kaj tiu bazita sur adreso kiam ili ne dividas.
Ne legu la RD kiel membrecan etikedon. Itinero-celoj regas la importon kaj eksporton kaj decidas, kiuj VRF rajtas instali la itineron; la RD nur garantias, ke la itinero havas propran identecon. Doni al ĉiu VRF sian propran RD estas la kutima praktiko, ĉar ĝi tenas tiun mapadon legebla en itinera superrigardo.
La etikedo estas loka plusenda instrukcio
Ĉiu anonco ankaŭ portas MPLS-etikedon, kaj ĝia signifo limiĝas al la enkursigilo, kiu atribuis ĝin. Alia PE povas eldoni la saman numeron por nerilata celo. Ĝuste tial la etikedo ne povas anstataŭi la identecon de la kliento: la numero ĝustas nur apud la sekva salto kaj la plusenda stato, kiu instalis ĝin.
La atribua grupeco varias laŭ realigo kaj dezajno: iuj platformoj atribuas unu etikedon por VRF, aliaj por prefikso, kaj la etikedo povas identigi plusendan agon anstataŭ klienton. Du malsamaj etikedoj atingantaj la saman celon ne estas kontraŭdiro, kaj la sama etikeda numero ĉe du PE-oj ankaŭ 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 |
Kial unu ne povas anstataŭi la alian
Legi anoncon signifas rigardi kvar aferojn kune: la prefikson kvalifikitan per RD, la itinero-celojn, la sekvan salon kaj la etikedon. Legi uzantpaketon signifas rigardi la stakon instalitan el tiu informo. Sana dezajno montras ambaŭ flankojn kongruaj, kaj rompita kutime havas unu flankon ĝusta kaj la alian kaduka. Tiu komparo apartigas identecan problemon disde plusenda problemo.
La neta kontrasto inter stirplano kaj datuma plano estas instrulrimedo, ne priskribo de la kodigo. RFC 8277 metas la etikedon ene de la etikedita NLRI, do la anonco mem portas la ligon; uzi ĝin por plusendado estas la posta, aparta paŝo.
Kiam mankas luanta itinero, kontrolu laŭ ĉi tiu ordo: du VPNv4-eroj por la prefikso, la ĝusta itinero-celo sur ĉiu, solvebla sekva salto, kaj etikedo, por kiu la ricevanta PE havas staton. Ripari identecon per plusenda valoro, aŭ inverse, pasos unu kontrolon kaj malsukcesos la sekvan.