С един маршрут VPNv4 пътуват три различни етикета и SNMP обхождането показва само тези, които агентът реализира. Полученият BGP атрибут, локално зададеният входящ сервизен етикет и изходящият етикет за препращане се намират в различни таблици под различни индекси. Да поискаш от устройство етикета, без първо да избереш кой от трите имаш предвид, е начинът, по който проект за събиране на данни зацикля още на първия шаси.

Изберете този, който задачата ви изисква, после следвайте индексната верига, която стига до него. Ако веригата се скъса на обект, който агентът не реализира, това е констатация за запис, а не празнина, която да запълните с измислен OID.

Изберете кой от трите етикета е нужен на задачата

Етикет, получен от съсед, пристига като BGP атрибут на пътя и описва какво този съсед очаква да изпратите към него. Входящият сервизен етикет се задава от това устройство за VRF префикс и маркира трафика, който влиза в LSP. Изходящият горен етикет е това, което равнината на препращане действително изпраща към следващия хоп, и той се сменя, когато се смени следващият хоп.

Само вторият и третият принадлежат към състоянието на препращане на устройството, което се опитва. Първият е твърдение за очакването на съседа, а не за това шаси.

Стандартният L3VPN MIB моделира VRF маршрута и връзката му с крос-конект, което е достатъчно, за да се стигне до локалните сервизни и препращащи етикети. Той не обещава извадка на всеки атрибут, получен от BGP сесия. Четете таблицата за това, което съдържа, а не за това, което подсказва въпросът. Колектор, изграден върху грешно допускане, докладва нули и ги записва като липсващи данни.

What you wantWhere it livesWhat a walk can return
Label advertised by a peerBGP session state for that VRFUsually outside the standard L3VPN MIB
Incoming service label for a prefixVRF route entry joined to an incoming segmentAvailable when both tables are implemented
Label pushed toward the next hopOutgoing segment with a push conditionAvailable, but only meaningful while a top label is pushed

Свържете записа на VRF маршрута с неговия крос-конект

RFC 4382 дефинира mplsL3VpnVrfRteTable. Четете индекса му като шест части: името на VRF, типа адрес на дестинацията, самия префикс, стойност на политика, типа на следващия хоп и адреса на следващия хоп. Записите на IGP и BGP споделят тази таблица, затова записвайте протокола за маршрутизация до префикса. Два реда може да носят един и същ префикс и да се различават само по следващия хоп, а изборът на грешния ред насочва връзката към друг крос-конект.

Колоната mplsL3VpnVrfRteXCPointer носи индекса на крос-конекта, а не пълен OID на ред, въпреки че името подсказва друго. Нулева стойност от един октет означава липса на свързан стек от етикети, което се вижда преди установяване на обвързванията или за маршрут, на който никога не е бил нужен.

Преведете колоната преди обхождане, за да е еднозначно числовото поддърво в изхода. И двете команди по-долу адресират същия възел в различни нотации.

snmptranslate -m +MPLS-L3VPN-STD-MIB -On mplsL3VpnVrfRteXCPointer
snmpwalk -v2c -c monitor 192.0.2.10 mplsL3VpnVrfRteXCPointer

Вземете върнатия индекс в таблицата на крос-конекта, чийто ключ на запис е тройка: индекс на крос-конекта, индекс на входящия сегмент и индекс на изходящия сегмент. Тази тройка е връзката, която превръща маршрут в етикет. Обхождайте поддървото на крос-конекта за конкретния индекс, а не цялата таблица, защото индексираното четене запазва връзката, а масовото обхождане не я запазва.

Четете индекса, а не номера на етикета

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

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

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

Потвърдете какво реализира агентът, преди да мащабирате

Проверете реализираните обекти за точната платформа и версия, използваните семейства адреси и всяко оперативно ограничение върху поддърветата. Опитвайте с идентификационни данни само за четене, ограничени до тези поддървета, и приемете, че липсващ обект може да означава нереализирана функция, а не грешен MIB.

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

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

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