Նույն /24-ը երկու հաճախորդի համար։ VPNv4-ին պետք են RD և պիտակ
Երկու վարձակալ կարող են նույն /24-ը հայտարարել միայն այն պատճառով, որ RD-ն յուրաքանչյուր երթուղու տալիս է իր ինքնությունը։ Պիտակը պատասխանում է այլ հարցի՝ ինչպես փոխանցել։
Երկու վարձակալ իրենց մասնաճյուղը համարակալում են նույն 10.50.0.0/24-ով, և փոփոխությունից հետո վարձակալներից մեկի երթուղին անհետանում է մատակարարի եզրից, մինչ մյուսը շարունակում է աշխատել։ Այդ տոմսի հետևում եղած պարզեցումը սովորաբար երթուղու տարբերիչից (RD) հրաժարվելն է՝ պատճառաբանությամբ թե «պիտակն արդեն նույնացնում է հաճախորդին»։ Այն չի նույնացնում։ RD-ն և պիտակը պատասխանում են երկու տարբեր հարցերի, և այդ բացը տեսանելի է դառնում միայն այն ժամանակ, երբ համընկնող հասցեներն են դա պարտադրում։
Մեկ երթուղի այնտեղ, որտեղ երկուսը պետք է լինեն
Սովորական IPv4 unicast-ը համեմատում է նույն նախածանցի երկու ուղին և տեղադրում լավագույնը։ Վարձակալ A-ից 10.50.0.0/24 և վարձակալ B-ից 10.50.0.0/24 մեկ բանալի են, ուստի մեկը հաղթում է, իսկ մյուսը մնում է միայն որպես պահուստային ուղի։ Արձանագրությունն արեց այն, ինչ ասվել էր իրեն, իսկ կառավարման հարթությունից պահանջվեց երկու տարբեր երթուղի պահել մեկ նույնացուցիչի ներքո։
Արդյունքը նման է բացակայող երթուղու, ոչ թե սխալի. մրցույթում պարտված PE-ն դեռ փոխանցում է իր վարձակալին տեղական ճանապարհով, ուստի կայքի ներսում փորձարկումը հաջողվում է, իսկ կայքերի միջև փորձարկումը ձախողվում է։ Մինչ որևէ քաղաքականության դիպչելը հաշվեք այդ նախածանցի գրառումները VPNv4 աղյուսակում։
RD-ն մեկ բանալուց երկուսն է դարձնում
Ութ բայթանոց երթուղու տարբերիչը դրվում է IPv4 նախածանցի առջև, և այն օբյեկտը, որը կրում է BGP-ն, դառնում է VPN-IPv4 հասցե՝ IPv4 նախածանցի փոխարեն։ Երկու վարձակալ կարող են պահել նույն 32 բիթը, քանի որ առջևի 64 բիթը տարբերվում են։ Գոյություն ունեն ձևաչափի տեսակներ AS-ի վրա հիմնված RD-ի և հասցեի վրա հիմնված RD-ի համար, և ընտրությունը պատկանում է սկզբնական PE-ին։ AS-ի վրա հիմնված RD-ն սովորական է, երբ PE-ները կիսում են մեկ AS, իսկ հասցեի վրա հիմնվածը՝ երբ չեն կիսում։
Մի՛ կարդացեք RD-ն որպես անդամակցության պիտակ. Երթուղու նպատակակետերը կառավարում են ներմուծումը և արտահանումը և որոշում, թե որ VRF-ները կարող են տեղադրել երթուղին, մինչդեռ RD-ն միայն երաշխավորում է, որ երթուղին ունի իր սեփական ինքնությունը։ Յուրաքանչյուր VRF-ի իր RD-ն տալը սովորական պրակտիկա է, քանի որ այդ քարտեզագրումը ընթեռնելի է պահում երթուղիների դիտիչում։
Պիտակը տեղական փոխանցման հրահանգ է
Յուրաքանչյուր հայտարարություն կրում է նաև MPLS պիտակ, և դրա իմաստը սահմանափակվում է այն երթուղիչով, որը հատկացրել է այն։ Մեկ այլ PE կարող է նույն համարը տրամադրել անկապ նպատակակետի։ Հենց դրա համար պիտակը չի կարող փոխարինել հաճախորդի ինքնությանը. համարը ճիշտ է միայն հաջորդ ցատկի և այն տեղադրած փոխանցման վիճակի կողքին։
Հատկացման հատիկավորությունը տարբերվում է ըստ իրականացման և ձևավորման՝ որոշ պլատֆորմներ հատկացնում են մեկ պիտակ յուրաքանչյուր VRF-ի համար, մյուսները՝ յուրաքանչյուր նախածանցի, և պիտակը կարող է նույնացնել փոխանցման գործողություն, ոչ թե հաճախորդ։ Երկու տարբեր պիտակներ, որոնք հասնում են նույն նպատակակետին, հակասություն չեն, և նույն պիտակի համարը երկու PE-ում նույնպես հակասություն չէ։
| 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 |
Ինչու մեկը չի կարող փոխարինել մյուսին
Հայտարարություն կարդալ նշանակում է միասին նայել չորս բանի՝ RD-ով որակավորված նախածանցին, երթուղու նպատակակետերին, հաջորդ ցատկին և պիտակին։ Օգտագործողի փաթեթ կարդալ նշանակում է նայել այդ տեղեկությունից տեղադրված կույտին։ Առողջ ձևավորումը ցույց է տալիս երկու կողմերի համընկնում, իսկ կոտրվածը սովորաբար ունի մի կողմը ճիշտ, մյուսը՝ հնացած։ Այդ համեմատությունը առանձնացնում է ինքնության խնդիրը փոխանցման խնդրից։
Կառավարման և տվյալների հարթությունների միջև կոկիկ հակադրությունը ուսուցողական միջոց է, ոչ թե կոդավորման նկարագրություն։ RFC 8277 դնում է պիտակը պիտակավորված NLRI-ի ներսում, ուստի հայտարարությունն ինքն է կրում կապը, իսկ այն փոխանցման համար օգտագործելը հետագա, առանձին քայլ է։
Երբ վարձակալի երթուղին բացակայում է, ստուգեք այս հերթականությամբ՝ երկու VPNv4 գրառում նախածանցի համար, ճիշտ երթուղու նպատակակետ յուրաքանչյուրի վրա, լուծելի հաջորդ ցատկ, և պիտակ, որի համար ընդունող PE-ն վիճակ ունի։ Ինքնությունը փոխանցման արժեքով ուղղելը, կամ հակառակը, կանցնի մեկ ստուգում և կձախողվի հաջորդում։