Rovnaká /24 pre dvoch zákazníkov? VPNv4 potrebuje RD a label
Dvaja nájomcovia môžu inzerovať rovnakú /24 len preto, že RD dáva každej trase vlastnú identitu. Label odpovedá na inú otázku: ako preposielať.
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.
| 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 |
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.