Isti /24 za dva korisnika? VPNv4 zahtijeva RD i labelu
Dva zakupca mogu oglašavati isti /24 samo zato što RD daje svakoj ruti vlastiti identitet. Labela odgovara na drugo pitanje: kako proslijediti.
Dva zakupca numeriraju svoju podružnicu istim 10.50.0.0/24, a nakon promjene ruta jednog zakupca nestaje s ruba pružatelja usluge dok drugi nastavlja raditi. Pojednostavljenje iza tog zahtjeva obično je izbacivanje razlikovnika rute (RD) uz obrazloženje da „labela već identificira korisnika“. Ne identificira ga. RD i labela odgovaraju na dva različita pitanja, a razlika postaje vidljiva tek kada je preklapajuće adrese nametnu.
Jedna ruta tamo gdje bi trebale biti dvije
Obični IPv4 unicast uspoređuje dva puta do istog prefiksa i instalira bolji. 10.50.0.0/24 od zakupca A i 10.50.0.0/24 od zakupca B jedan su ključ, pa jedan pobjeđuje, a drugi preživljava samo kao rezervni put. Protokol je učinio ono što mu je rečeno; kontrolna ravnina je zamoljena da pohrani dvije različite rute pod jednim identifikatorom.
Rezultat izgleda kao ruta koja nedostaje, a ne kao greška: PE koji je izgubio nadmetanje i dalje lokalno prosljeđuje svog zakupca, pa ping unutar lokacije uspijeva, a test između lokacija pada. Prebrojite zapise za taj prefiks u VPNv4 tablici prije nego što dirnete bilo koju politiku.
RD pretvara jedan ključ u dva
Osam bajtova dug razlikovnik rute dodaje se ispred IPv4 prefiksa, a objekt koji BGP nosi postaje VPN-IPv4 adresa umjesto IPv4 prefiksa. Dva zakupca mogu držati ista 32 bita jer se 64 bita sprijeda razlikuju. Postoje tipovi formata za RD zasnovan na AS-u i za onaj zasnovan na adresi, a izbor pripada izvornom PE-u. RD zasnovan na AS-u uobičajen je kada PE-ovi dijele AS, a onaj zasnovan na adresi kada ga ne dijele.
Ne čitajte RD kao oznaku članstva. Rutne mete upravljaju uvozom i izvozom i odlučuju koje VRF-ove smiju instalirati rutu; RD samo jamči da ruta ima vlastiti identitet. Davanje svakom VRF-u vlastitog RD-a uobičajena je praksa jer to mapiranje održava čitljivim u pregledniku ruta.
Labela je lokalna uputa za prosljeđivanje
Svaki oglas nosi i MPLS labelu, a njezino je značenje ograničeno na usmjerivač koji ju je dodijelio. Drugi PE može izdati isti broj za nepovezano odredište. Upravo zato labela ne može zamijeniti identitet korisnika: broj je ispravan samo uz sljedeći skok i stanje prosljeđivanja koje ga je instaliralo.
Granularnost dodjele varira s implementacijom i dizajnom: neke platforme dodjeljuju jednu labelu po VRF-u, druge po prefiksu, a labela može označavati radnju prosljeđivanja, a ne zakupca. Dvije različite labele koje dolaze do istog odredišta nisu proturječje, a ni isti broj labele na dva PE-a.
| 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 |
Zašto jedno ne može zamijeniti drugo
Čitanje oglasa znači gledati četiri stvari zajedno: prefiks s RD-om, rutne mete, sljedeći skok i labelu. Čitanje korisničkog paketa znači gledati stog instaliran iz tih podataka. Zdrav dizajn pokazuje podudaranje obiju strana, a pokvaren obično ima jednu stranu ispravnu, a drugu zastarjelu. Ta usporedba odvaja problem identiteta od problema prosljeđivanja.
Uredna suprotnost između kontrolne i podatkovne ravnine nastavno je pomagalo, a ne opis kodiranja. RFC 8277 stavlja labelu unutar označenog NLRI-ja, pa sam oglas nosi povezivanje; korištenje labele za prosljeđivanje kasniji je, odvojen korak.
Kada ruta zakupca nestane, provjeravajte ovim redoslijedom: dva VPNv4 zapisa za prefiks, ispravnu rutnu metu na svakome, razrješiv sljedeći skok i labelu za koju prijemni PE ima stanje. Popravljanje identiteta vrijednošću prosljeđivanja, ili obrnuto, proći će jednu provjeru i pasti na sljedećoj.