Z jedną trasą VPNv4 podróżują trzy różne etykiety, a przejście SNMP pokazuje tylko te, które agent implementuje. Otrzymany atrybut BGP, lokalnie przydzielona etykieta usługi przychodzącej i wychodząca etykieta przekazywania leżą w różnych tabelach pod różnymi indeksami. Pytanie urządzenia o etykietę bez uprzedniego wybrania, którą z trzech masz na myśli, jest tym, na czym projekt zbierania danych zatrzymuje się już na pierwszej obudowie.

Wybierz tę, której potrzebuje twoje zadanie, a następnie podążaj za łańcuchem indeksów, który do niej prowadzi. Jeśli łańcuch pęka na obiekcie, którego agent nie implementuje, to jest ustalenie do zapisania, a nie luka do wypełnienia wymyślonym OID.

Wybierz, której z trzech etykiet potrzebuje zadanie

Etykieta otrzymana od sąsiada przychodzi jako atrybut ścieżki BGP i opisuje, czego ten sąsiad oczekuje, że wypchniesz w jego stronę. Przychodzącą etykietę usługi przydziela to urządzenie dla prefiksu VRF i oznacza ruch wchodzący do LSP. Wychodząca etykieta górna to ta, którą płaszczyzna przekazywania rzeczywiście wypycha do następnego skoku, i zmienia się za każdym razem, gdy zmienia się następny skok.

Tylko druga i trzecia należą do stanu przekazywania na odpytywanej skrzynce. Pierwsza jest stwierdzeniem o oczekiwaniu sąsiada, a nie o tej obudowie.

Standardowy MIB L3VPN modeluje trasę VRF i jej powiązanie z połączeniem krzyżowym, co wystarcza, by dotrzeć do lokalnych etykiet usługi i przekazywania. Nie obiecuje zrzutu każdego atrybutu, który otrzymała sesja BGP. Czytaj tabelę pod kątem tego, co zawiera, nie tego, co sugeruje pytanie. Kolektor zbudowany na błędnym założeniu zgłasza zera i zapisuje je jako brakujące dane.

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

Powiąż wpis trasy VRF z jego połączeniem krzyżowym

RFC 4382 definiuje mplsL3VpnVrfRteTable. Czytaj jego indeks jako sześć części: nazwę VRF, typ adresu celu, sam prefiks, wartość polityki, typ następnego skoku i adres następnego skoku. Wpisy IGP i BGP dzielą tę tabelę, więc zapisz protokół routingu obok prefiksu. Dwa wiersze mogą nieść ten sam prefiks i różnić się tylko następnym skokiem, a wybór złego wiersza kieruje powiązanie do innego połączenia krzyżowego.

Kolumna mplsL3VpnVrfRteXCPointer niesie indeks połączenia krzyżowego, a nie pełny OID wiersza, choć nazwa sugeruje coś przeciwnego. Zerowa wartość jednego oktetu oznacza brak powiązanego stosu etykiet, co widać przed ustaleniem się powiązań lub dla trasy, która nigdy go nie potrzebowała.

Przetłumacz kolumnę przed przejściem, aby drzewo liczbowe w wyniku było jednoznaczne. Oba poniższe polecenia adresują ten sam węzeł w różnej notacji.

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

Weź zwrócony indeks do tabeli połączeń krzyżowych, której kluczem wpisu jest trójka: indeks połączenia krzyżowego, indeks segmentu przychodzącego i indeks segmentu wychodzącego. Ta trójka to powiązanie, które zamienia trasę w etykietę. Przejdź drzewo połączeń krzyżowych dla konkretnego indeksu, a nie całą tabelę, ponieważ odczyt indeksowany zachowuje powiązanie, a przejście masowe nie.

Czytaj indeks, a nie numer etykiety

Indeks segmentu identyfikuje wiersz, a etykieta jest wartością wewnątrz tego wiersza, więc zastąpienie jednego drugim daje pozornie wiarygodną odpowiedź wskazującą na niewłaściwy LSP. Po stronie przychodzącej sprawdź interfejs i kontekst etykiety razem z mplsInSegmentLabel, pamiętając, że obiekt może zamiast tego nieść wskaźnik do tabeli etykiet, gdy wiersz odwołuje się do wpisu gdzie indziej.

Po stronie wychodzącej sprawdź interfejs wychodzący i to, czy wiersz mówi, że etykieta górna jest wypychana, zanim przeczytasz mplsOutSegmentTopLabel. Wypełniona kolumna etykiety górnej w wierszu, który nic nie wypycha, to nieaktualna wartość lub pozostałość po wcześniejszej ścieżce, a nie bieżący stan przekazywania. Głębsze stosy wymagają wskazanej tabeli stosu etykiet, a ten dodatkowy krok jest normalny, nie jest defektem.

Specjalne konwencje zera dotyczą ścieżek, które zaczynają się lub kończą lokalnie na routerze. Traktuj indeks zerowy jako udokumentowane zachowanie, a nie pusty wynik, i potwierdź go wobec lokalnego stanu przekazywania.

Potwierdź, co implementuje agent, zanim zaczniesz skalować

Sprawdź zaimplementowane obiekty dla dokładnej platformy i wersji, używanych rodzin adresów i wszelkich ograniczeń operacyjnych na poddrzewach. Odpytuj poświadczeniem tylko do odczytu ograniczonym do tych poddrzew i zaakceptuj, że brakujący obiekt może oznaczać niezaimplementowaną funkcję, a nie błędny MIB.

Powiąż jedną znaną trasę VRF z własnym wyjściem operacyjnym urządzenia, zanim skierujesz kolektor na całą tabelę. Zachowaj każdy składnik indeksu i czas zbierania przy każdej próbce, ponieważ trasy i powiązania przemieszczają się między przejściami. Zrzut zszyty z dwóch przejść oddalonych o minuty może wymieszać stary indeks połączenia krzyżowego z nową trasą i wyglądać całkowicie spójnie.

Tam, gdzie widok odebranego BGP lub obiekt etykiety specyficzny dla dostawcy naprawdę brakuje, przejdź na interfejs telemetrii lub operacyjny, który platforma dokumentuje. Standardowe powiązanie obejmuje lokalne etykiety przekazywania i niewiele więcej, więc traktuj je jako pierwszy krok projektu zbierania, a nie jako rzecz gotową.

Powiązane artykuły