Пирингът е вдигнат от седмици, броят на префиксите изглежда правилен, а трафикът на един клиент все още минава по дългия път или не пристига изобщо. Един и същ индикатор оценява две различни неща. BGP сесията съобщава, че два пиъра могат да обменят съобщения по TCP връзка; тя не казва нищо за това дали овърлейът може да пренесе маркиран пакет точно за този клиент.

Тази разлика се вижда най-лесно при дизайн MPLS върху DMVPN, където пътят през хъба и директният път през spoke могат да се държат различно по причини, които нямат нищо общо с пиринга.

Какво всъщност доказва сесията

BGP работи върху TCP, затова всеки пиър се нуждае от маршрут до адреса на другия край, преди да може да се случи нещо друго. Изберете loopback за този край и сте създали изискване за достижимост, а не гаранция за препращане. Сесията може да остане вдигната през интерфейс, който трафикът на клиента никога не би използвал.

Запишете четири факта в двата края, преди да правите изводи: адреса на източника на сесията, адреса на местоназначението, контекста на маршрутизация, в който се намира, и кой интерфейс ядрото или рутерът би избрал за тази двойка. Тези факти описват равнището на управление. Пакетите на клиента добавят отгоре VRF, стек от етикети и съпоставяне на овърлея.

Четири механизма, не един

Документацията на Cisco за MPLS върху DMVPN разделя частите ясно. MP-BGP разпространява етикетите на клиентския овърлей между устройствата на доставчика. MPLS използва тези етикети, за да избере контекста на препращане за пакета. NHRP съпоставя адрес от овърлея с транспортния край, който е нужен на динамичния тунел. IPsec защитава пътя между пиърите, където е приложимо.

Всяко от четирите може да е правилно, докато друго е грешно, и комбинацията е това, което носи трафика. Обменът на маршрути може да завърши, докато връзката на етикет за един VRF липсва, докато съпоставянето NHRP сочи към остарял транспортен адрес или докато тунелът съществува, но нито една политика не позволява вътрешния пакет. Никое от тези условия не сваля сесията.

Сравнете пътя през хъба с прекия път, по една променлива

Фиксирайте хоста източник, хоста местоназначение и VRF, след което проследете същия поток два пъти. По пътя през хъба отбележете следващия хоп, етикета на услугата, който идентифицира отдалечения клиентски контекст, и използваното съпоставяне овърлей-транспорт. По предвидения директен път отбележете същите три неща. Разликата между двата списъка е повредата или липсата ѝ.

Дръжте потока постоянен по време на сравнението. Промяната на хоста източник, на VRF или на местоназначението между наблюденията дава две несвързани истории и това е най-честият начин упражнението да се обърка.

Дръжте loopback тестовете в собствено отделение

Ping от loopback на рутер е полезен тест и проверява различен случай от поток от хост. Адресът на източника принадлежи на рутера, контекстът му на маршрутизация може да е глобален, а не VRF, а пътят на отговора може да се различава от този, по който би тръгнал клиентски префикс. Затова loopback-ът, който отговаря, и приложението, което работи през прекия път, са отделни резултати и само второто описва клиента.

Тествайте и двете, после ги означавайте отделно в бележките си. Когато се разминават, научили сте нещо конкретно за мястото, където дизайнът се отклонява, а това е повече, отколкото една зелена отметка някога ще ви каже.

Твърденията за версия и за дефект се нуждаят от собствени доказателства

Половите отчети понякога препоръчват промяна на маска на хост или на адрес на източника за BGP и такива отчети си заслужава да се четат само заедно с дефекта, за който са писани, и с изданията, които е засегнал. Заобиколно решение от едно издание не е твърдение, че всеки префикс /32 не се поддържа от архитектурата.

Използвайте документация, която съответства на вашата фаза на DMVPN, платформа и издание, и помнете, че една глава може да покрива няколко подредби, включително FlexVPN. Пример от една подредба не се пренася безшумно към друга. Изберете краища на сесията според дизайна на равнището на управление, който наистина ви трябва, после проверете пътя на препращане за клиента отделно, защото пренаписването на всяка loopback маска не замества установяването коя задача е пропаднала.

Подобни статии