Dvaja nájomcovia číslujú svoju pobočku rovnakou 10.50.0.0/24 a po zmene jedna trasa zmizne z okraja poskytovateľa, kým druhá ďalej funguje. Zjednodušenie za týmto tiketom zvyčajne spočíva vo vynechaní rozlišovača trasy (RD), pretože „label už zákazníka identifikuje“. Neidentifikuje. RD a label odpovedajú na dve rôzne otázky a rozdiel sa ukáže, až keď ho vynútia prekrývajúce sa adresy.

Jedna trasa tam, kde majú byť dve

Bežný IPv4 unicast porovná dve cesty k rovnakému prefixu a nainštaluje lepšiu. 10.50.0.0/24 od nájomcu A a 10.50.0.0/24 od nájomcu B sú jeden kľúč, takže jeden vyhrá a druhý prežije len ako záložná cesta. Protokol urobil, čo mu povedali; riadiaca rovina bola požiadaná, aby uložila dve rôzne trasy pod jeden identifikátor.

Výsledok vyzerá ako chýbajúca trasa, nie ako chyba: PE, ktorý súťaž prehral, stále preposiela svojho nájomcu lokálne, takže ping v rámci lokality uspeje a test medzi lokalitami zlyhá. Predtým než sa dotknete akejkoľvek politiky, spočítajte záznamy pre tento prefix v tabuľke VPNv4.

RD mení jeden kľúč na dva

Osembajtový rozlišovač trasy sa pridáva pred prefix IPv4 a objekt, ktorý BGP nesie, sa stáva adresou VPN-IPv4 namiesto prefixu IPv4. Dvaja nájomcovia môžu držať rovnakých 32 bitov, pretože 64 bitov vpredu sa líši. Existujú typy formátu pre RD založený na AS a pre RD založený na adrese a voľba patrí východziemu PE. RD založený na AS je bežný, keď PE zdieľajú AS, a ten adresný, keď nezdieľajú.

Nečítajte RD ako značku členstva. Ciele trasy riadia import a export a rozhodujú, ktoré VRF smú trasu nainštalovať; RD len zaručuje, že trasa má vlastnú identitu. Dať každému VRF vlastný RD je bežná prax, pretože udržiava toto mapovanie čitateľné v prehliadači trás.

Label je miestny pokyn na preposielanie

Každé oznámenie nesie aj label MPLS a jeho význam je obmedzený na router, ktorý ho pridelil. Iný PE môže vydať rovnaké číslo pre nesúvisiaci cieľ. Práve preto label nemôže nahradiť identitu zákazníka: číslo je správne len vedľa ďalšieho skoku a stavu preposielania, ktorý ho nainštaloval.

Granularita prideľovania sa líši podľa implementácie a návrhu: niektoré platformy prideľujú jeden label na VRF, iné na prefix a label môže označovať akciu preposielania, nie zákazníka. Dva rôzne labely vedúce k rovnakému cieľu nie sú rozpor a rovnaké číslo labelu na dvoch PE tiež nie.

FieldWhere it livesScopeIf you remove it
RDVPNv4 NLRIPer advertised routeOverlapping prefixes collide
Route targetExtended communityImport and export policyRoute lands in the wrong VRF
LabelLabeled NLRI and forwarding statePer allocating routerNo instruction for the data plane
Next hopPath attributePer pathThe label cannot be resolved

Prečo jedno nemôže nahradiť druhé

Čítať oznámenie znamená pozerať sa na štyri veci spoločne: prefix s RD, ciele trasy, ďalší skok a label. Čítať používateľský paket znamená pozerať sa na zásobník nainštalovaný z týchto informácií. Zdravý návrh ukazuje zhodu oboch strán a ten pokazený má zvyčajne jednu stranu správnu a druhú zastaranú. Toto porovnanie oddeľuje problém identity od problému preposielania.

Úhľadný protiklad medzi riadiacou a dátovou rovinou je učebná pomôcka, nie opis kódovania. RFC 8277 vkladá label dovnútra označeného NLRI, takže samotné oznámenie nesie väzbu; použitie na preposielanie je neskorší, samostatný krok.

Keď trasa nájomcu chýba, kontrolujte v tomto poradí: dva záznamy VPNv4 pre prefix, správny cieľ trasy na každom, rozlíšiteľný ďalší skok a label, pre ktorý má prijímajúci PE stav. Oprava identity hodnotou preposielania, alebo naopak, prejde jednou kontrolou a zlyhá na ďalšej.

Súvisiace články