З одним маршрутом VPNv4 подорожують три різні мітки, а обхід SNMP показує лише ті, які реалізує агент. Отриманий атрибут BGP, локально призначена вхідна сервісна мітка та вихідна мітка пересилання містяться в різних таблицях під різними індексами. Просити в пристрою мітку, не вибравши спершу, яка з трьох мається на увазі, — це те, через що проєкт збору даних застрягає вже на першому шасі.

Виберіть ту, яка потрібна вашому завданню, потім пройдіть ланцюжком індексів, що веде до неї. Якщо ланцюжок обривається на об’єкті, який агент не реалізує, це знахідка для запису, а не прогалина, яку треба заповнити вигаданим OID.

Виберіть, яка з трьох міток потрібна завданню

Мітка, отримана від сусіда, надходить як атрибут шляху BGP і описує, що цей сусід очікує отримати від вас у свій бік. Вхідну сервісну мітку призначає цей пристрій для префікса VRF і позначає трафік, що входить до LSP. Вихідна верхня мітка — це те, що площина пересилання фактично проштовхує до наступного хопа, і вона змінюється щоразу, коли змінюється наступний хоп.

До стану пересилання на опитуваному шасі належать лише друга й третя. Перша — твердження про очікування сусіда, а не про це шасі.

Стандартний MIB L3VPN моделює маршрут 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 або об’єкт мітки, специфічний для постачальника, справді відсутнє, перейдіть до інтерфейсу телеметрії або експлуатаційного інтерфейсу, який документує платформа. Стандартний зв’язок охоплює локальні мітки пересилання і мало що інше, тож розглядайте його як перший крок проєктування збору, а не як готову річ.

Схожі статті