Tre etichette diverse viaggiano con una sola rotta VPNv4, e un walk SNMP mostra solo quelle che l’agente implementa. L’attributo BGP ricevuto, l’etichetta di servizio in ingresso assegnata localmente e l’etichetta di inoltro in uscita si trovano in tabelle diverse sotto indici diversi. Chiedere a un dispositivo l’etichetta senza aver prima scelto quale delle tre si intende è il modo in cui un progetto di raccolta si blocca al primo chassis.

Scegli quella che serve al tuo compito, poi segui la catena di indici che la raggiunge. Se la catena si spezza su un oggetto che l’agente non implementa, è una constatazione da registrare, non un vuoto da riempire con un OID inventato.

Scegli quale delle tre etichette serve al compito

Un’etichetta ricevuta da un peer arriva come attributo di percorso BGP e descrive ciò che quel peer si aspetta che gli spingiate verso di lui. L’etichetta di servizio in ingresso è assegnata da questo dispositivo a un prefisso VRF e contrassegna il traffico che entra nell’LSP. L’etichetta superiore in uscita è quella che il piano di inoltro spinge davvero verso il salto successivo, e cambia ogni volta che cambia il salto successivo.

Solo la seconda e la terza appartengono allo stato di inoltro del box interrogato. La prima è un’affermazione sull’aspettativa del vicino, non su questo chassis.

Il MIB L3VPN standard modella la rotta VRF e la sua associazione a un’interconnessione, il che basta a raggiungere le etichette locali di servizio e di inoltro. Non promette un dump di ogni attributo ricevuto da una sessione BGP. Leggi la tabella per ciò che contiene, non per ciò che la domanda implica. Un collettore costruito su un presupposto errato riporta zeri e li archivia come dati mancanti.

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

Collega la voce di rotta VRF alla sua interconnessione

RFC 4382 definisce mplsL3VpnVrfRteTable. Leggi il suo indice come sei parti: il nome della VRF, il tipo di indirizzo della destinazione, il prefisso stesso, un valore di politica, il tipo di salto successivo e l’indirizzo di salto successivo. Le voci IGP e BGP condividono quella tabella, quindi annota il protocollo di instradamento accanto al prefisso. Due righe possono portare lo stesso prefisso e differire solo nel salto successivo, e scegliere la riga sbagliata manda il collegamento verso un’altra interconnessione.

La colonna mplsL3VpnVrfRteXCPointer porta l’indice dell’interconnessione e non un OID di riga completo, anche se il nome suggerisce il contrario. Un valore zero di un solo ottetto significa che non c’è uno stack di etichette associato, che è ciò che si vede prima che i binding si stabilizzino o per una rotta che non ne ha mai avuto bisogno.

Traduci la colonna prima di percorrerla, così che il sottoalbero numerico dell’output sia inequivocabile. Entrambi i comandi qui sotto indirizzano lo stesso nodo in notazioni diverse.

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

Prendi l’indice restituito nella tabella delle interconnessioni, la cui chiave di voce è una terna: indice di interconnessione, indice di segmento in ingresso e indice di segmento in uscita. Quella terna è il collegamento che trasforma una rotta in un’etichetta. Percorri il sottoalbero delle interconnessioni per l’indice specifico invece dell’intera tabella, perché la lettura indicizzata mantiene intatta l’associazione e il walk massivo no.

Leggi l’indice invece del numero di etichetta

Un indice di segmento identifica una riga, e un’etichetta è un valore dentro quella riga, quindi sostituire l’uno con l’altro produce una risposta dall’aria plausibile che punta all’LSP sbagliato. Sul lato in ingresso, ispeziona l’interfaccia e il contesto dell’etichetta insieme a mplsInSegmentLabel, ricordando che l’oggetto può invece portare un puntatore a una tabella di etichette quando la riga rimanda a una voce altrove.

Sul lato in uscita, controlla l’interfaccia in uscita e se la riga dice che viene spinta un’etichetta superiore prima di leggere mplsOutSegmentTopLabel. Una colonna dell’etichetta superiore piena su una riga che non spinge nulla è un valore obsoleto o un residuo di un percorso precedente, non lo stato di inoltro attuale. Gli stack più profondi richiedono la tabella dello stack di etichette referenziata, e quel salto in più è normale, non un difetto.

Convenzioni speciali dello zero valgono per i percorsi che iniziano o terminano localmente sul router. Tratta un indice zero come comportamento documentato e non come risultato vuoto, e confermalo rispetto allo stato di inoltro locale.

Conferma cosa implementa l’agente prima di scalare

Verifica gli oggetti implementati per la piattaforma e la versione esatte, le famiglie di indirizzi in uso e qualsiasi restrizione operativa sui sottoalberi. Interroga con una credenziale di sola lettura limitata a quei sottoalberi, e accetta che un oggetto assente possa significare che la funzione non è implementata, non che il MIB sia sbagliato.

Correla una rotta VRF nota con l’output operativo del dispositivo stesso prima di indirizzare un collettore all’intera tabella. Conserva ogni componente di indice e il momento della raccolta con ogni campione, perché rotte e binding si spostano tra un walk e l’altro. Un’istantanea cucita da due walk distanti minuti può mescolare un vecchio indice di interconnessione con una rotta nuova e sembrare perfettamente coerente.

Dove la vista del BGP ricevuto o un oggetto etichetta specifico del fornitore mancano davvero, passa a un’interfaccia di telemetria o operativa che la piattaforma documenta. Il collegamento standard copre le etichette locali di inoltro e poco altro, quindi trattalo come il primo passo di un progetto di raccolta e non come la cosa finita.

Articoli correlati