Дали на VPNv4 му треба MPLS во јадрото? Не мора
BGP VPNv4 преговара контекст за дистрибуција на маршрути, а не патека за препраќање. Одделете го увозот, решавањето на следниот скок и инкапсулацијата што можете да ја извршите.
Вклучувањето на адресното семејство VPNv4 меѓу два рутери создава само контекст за дистрибуција на маршрути и ништо повеќе. Тоа не инсталира патека за препраќање и не кажува која инкапсулација ќе го однесе клиентскиот пакет до далечната крајна точка. Откако овие два факти ќе се разделат, прашањето „дали ова бара MPLS во јадрото“ станува потесно и одговорливо прашање за податочната рамнина што ја поддржува платформата.
Што всушност преговара адресното семејство
Мултипротоколниот BGP под AFI 1 и SAFI 128 пренесува информации за достапност на мрежниот слој VPNv4, и секој запис спарува разликувач на маршрута со префикс и ознака. Сесијата преговара дека двете страни можат да ги кодираат и декодираат тие информации. Она што не го преговара е податочна рамнина. Се после овој став се однесува на препраќање, и ништо од тоа не е решено со подигањето на сесијата.
Значи успешна сесија е доказ за способноста на контролната рамнина, а не за препраќањето. Рутерот може да држи илјадници VPNv4 записи и сепак да го отфрли секој клиентски пакет, и токму затоа овие две класи на грешки најпрво се мешаат.
Обрнете внимание на ознаката во NLRI. Таа е услужна ознака, врзана за префикс во VRF, и има улога во препраќањето кога пакетот ќе ја достигне излезната крајна точка. Дали некој транзитен уред ја чита, е одделна дизајнерска одлука.
Прием, увоз и препраќање се три чекори
Приемот на маршрута, дозволата да се користи и способноста да се препраќа со неа ги извршуваат различни делови од уредот. BGP го чува она што го слуша; политиката за увоз и совпаѓањето на целта на маршрутата одлучуваат која VRF може да ја разгледа; потоа рамнината за препраќање мора да го реши објавениот следен скок во нешто што навистина може да го турне на жица.
| Step in the chain | What has to be true | How it fails quietly |
|---|---|---|
| NLRI exchange | Both speakers negotiate the VPNv4 capability | Session stays up while the family is never activated |
| Import eligibility | A route target on the received route matches the VRF import policy | The route exists in the table but never enters the VRF |
| Next-hop resolution | The advertised next hop resolves to a usable tunnel or label path | Best path is selected, then marked unreachable or unusable |
| Encapsulation | The egress endpoint can decapsulate what the ingress produced | Packets arrive and are discarded for a format mismatch |
Токму во овој среден чекор живеат најизненадувачките грешки. Маршрута може да биде присутна во табелата на BGP, валидна и дури најдобра, додека табелата со маршрути на VRF останува празна бидејќи ниту една цел на маршрута не се совпадна со списокот за увоз. Ништо не забележува протоколна грешка, бидејќи протоколна грешка не се случи.
Последниот чекор е местото каде што се покажува поддршката на платформата. Следниот скок достапен во долниот слој не се решава автоматски како транспорт на VPN услуга, и уредот може да бара одреден тип на тунел, одредена операција со ознака или и двете. Читањето на статусот на решавање е поинформативно од читањето на бројот на маршрути.
IP јадрото може да носи стек што никогаш не го преклопува
Разликата што вреди да се задржи е помеѓу „јадрото не извршува MPLS“ и „никаде во услугата нема ознака“. Тоа се различни тврдења, и само првото се однесува на транзитни уреди. RFC 4023 дефинира пренесување на MPLS низ IP или GRE тунели, и токму овој механизам ја прави второто тврдење можно на целосно IP јадро.
customer packet + service label
encapsulated in GRE, addressed to the egress tunnel endpoint
forwarded by ordinary IP routers on the outer header
decapsulated at the endpoint, label still meaningful
Транзитните рутери препраќаат според надворешната IP цел и не им требаат ниту клиентски префикси ниту изворно преклопување на ознаки. На далечниот крај надворешниот тунел се отстранува и услужната ознака ја продолжува својата работа. Јадрото премести непровидна корисна оптовареност, и токму тоа е она во што IP мрежата е добра.
Она што овој дизајн не ви го дава е универзална гаранција. Тоа не е доказ дека секој рутер го решава секој VPNv4 следен скок преку кој било GRE интерфејс, и не е причина да избришете работна изворна MPLS конфигурација. Тоа е противпример на универзалното тврдење, и практичното прашање останува локално за платформата. Запишете го тоа прашање како ограничување на платформата, а не како протоколно правило.
Поминете ја веригата на уредот додека не се скрши
Започнете од примената маршрута и застанете на првиот чекор што не успева, бидејќи подоцнежните чекори не можат да се дијагностицираат додека претходен е скршен. Четири наредби покриваат најголем дел од тоа во типична имплементација.
show bgp vpnv4 unicast all summary
show bgp vrf CUSTOMER_A ip route 198.51.100.0/24
show ip route vrf CUSTOMER_A 198.51.100.0
show mpls forwarding-table vrf CUSTOMER_A
Читајте ги како низа, а не како четири независни проверки. Првата потврдува дека семејството е активно и дека партнерот разменува маршрути; втората покажува дали префиксот пристигнал со употреблив следен скок; третата го докажува правото за увоз; четвртата покажува дали рамнината за препраќање му врзала ознака или тунел.
Потоа тестирајте ја патеката на работното оптоварување во двете насоки, со MTU што ја преживува инкапсулацијата. GRE додава бајти за заглавие, и патека што ги поминува малите проби може да не успее на пакети со целосна големина само во една насока, што изгледа како дефект на апликацијата, а не на транспортот.
Две оперативни забелешки го затвораат циклусот. GRE е инкапсулација, не доверливост, така што недоверлива транзитна мрежа бара поддржана безбедносна постапка одозгора, а не претпоставка. И запишете која инкапсулација платформата навистина ја поддржува пред прегледот на дизајнот, бидејќи тој единствен одговор одлучува дали само-IP јадро е валиден избор или план што не може да препраќа.