La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto il comportamento traceroute del protocollo ICMP (Internet Control Message Protocol) nella rete MPLS (Multiprotocol Label Switching) e viene eseguito un rapido confronto con la traccia LSP.
In ambiente IP, qualsiasi nodo che riceve un pacchetto e se il valore TTL (Time To Live) scade, genera un messaggio di errore ICMP "TTL Exceeded" (Tipo=11, Codice=0) e lo invia all'indirizzo di origine del pacchetto. Questo concetto viene usato per tracciare il percorso IP da origine a destinazione inviando un pacchetto UDP con TTL in sequenza a partire da 1. Si potrebbe notare che i requisiti di base per questa funzionalità sono:
In ambiente MPLS, un LSR del provider di transito potrebbe non essere sempre raggiungibile all'indirizzo di origine e richiedere alcuni miglioramenti per la gestione di ICMP nel dominio MPLS.
Il comportamento predefinito di un LSR alla ricezione di un pacchetto con TTL=1 sull'etichetta superiore è quello tradizionale dell'IP di eliminare il pacchetto e attivare il messaggio di errore ICMP. Per instradare il messaggio ICMP all'origine, l'LSR eseguirà questa operazione:
Con questo approccio, il messaggio di errore ICMP passa da un LSR di transito a un LER di uscita e quindi di nuovo a UN LER di entrata e all'origine effettiva.
Di seguito è riportato un semplice esempio che spiega il comportamento quando la traccia ICMP viene attivata da PE a PE remoto all'interno dello stesso dominio MPLS:
In questa topologia, quando il traceroute ICMP viene attivato da R2 a 10.1.4.4, il primo pacchetto viene inviato con un valore TTL di 1. R3 alla ricezione del pacchetto diminuisce il valore TTL a 0 e attiva il meccanismo di generazione dell'ICMP.
R3 inserirà nello stack di etichette, genererà un messaggio di errore ICMP e includerà lo stack di etichette in arrivo dal buffer nel payload ICMP. L'intestazione IP viene inoltre popolata con l'indirizzo di origine dell'interfaccia in entrata del pacchetto etichettato, mentre l'indirizzo di destinazione rappresenta l'origine del pacchetto etichettato. Il valore TTL è impostato su 255. Spinge quindi lo stack di etichette dal buffer e consulta la tabella LFIB per l'azione di inoltro sull'etichetta superiore. In questa topologia, lo stack di etichette ricevute è 17. Quando si esegue una ricerca nella tabella LFIB, l'etichetta 17 viene scambiata con l'etichetta 16 e inoltrata verso la R6 successiva. R6 a sua volta visualizza l'etichetta superiore e inoltra alla R4 che inoltra il pacchetto IP verso R2.
Come è possibile notare nell'output del comando traceroute su R2, l'etichetta in arrivo verrà elencata da ciascun hop sul percorso.
Di seguito è riportato un semplice esempio che spiega il comportamento quando la traccia ICMP viene attivata da CE a CE remoto su un dominio MPLS:
In questa topologia, quando il traceroute ICMP viene attivato da R1 (CE) a 192.168.5.5 (CE remoto), il primo pacchetto viene inviato con un valore TTL pari a 1. Si tratta di un pacchetto IP normale, quindi R2 segue il comportamento tradizionale della generazione di pacchetti ICMP e dell'invio diretto a R1. Il secondo pacchetto inviato con TTL=2 scadrà alle R3.
R3 inserirà nello stack di etichette, genererà un messaggio di errore ICMP e includerà lo stack di etichette in arrivo dal buffer nel payload ICMP. L'intestazione IP viene inoltre popolata con l'indirizzo di origine dell'interfaccia in entrata del pacchetto etichettato, mentre l'indirizzo di destinazione rappresenta l'origine del pacchetto etichettato. Il valore TTL è impostato su 255. Spinge quindi lo stack di etichette dal buffer e consulta la tabella LFIB per l'azione di inoltro sull'etichetta superiore. Nella topologia precedente, lo stack di etichette ricevute è {17, 18}. Quando si esegue una ricerca nella tabella LFIB per l'etichetta superiore, 17 verrà scambiato con l'etichetta 16 e verrà inoltrato verso la successiva R6. R6 a sua volta aprirà l'etichetta superiore e inoltrerà a R4. R4 utilizzerà l'etichetta VRF per identificare il VRF e inoltrare il pacchetto verso R1.
Come è possibile notare nell'output di traceroute su R1, lo stack di etichette in arrivo viene elencato da ciascun hop sul percorso.
A differenza del traceroute basato su ICMP, il traceroute LSP utilizza il meccanismo definito nella RFC4379. Usa l'incapsulamento IP/UDP con l'indirizzo di destinazione della richiesta impostato sull'indirizzo di loopback (intervallo 127.0.0.0/8). Si prevede che il ping LSP venga attivato nello stesso dominio MPLS, quindi la risposta verrà inviata direttamente all'iniziatore.
Quando il traceroute LSP ("traceroute mpls ipv4 <FEC>") viene attivato da un LSR, i dettagli sulla FEC da convalidare vengono inclusi in un TLV come "Stack FEC di destinazione" nella richiesta echo MPLS. Questo messaggio verrà inviato con TTL sullo stack di etichette in sequenza a partire da 1. Tutti gli LSR di transito che ricevono il pacchetto e se il TTL scade elaboreranno il pacchetto IP, poiché l'indirizzo di destinazione è l'indirizzo di loopback. e punt alla CPU per l'elaborazione OAM MPLS.
Facoltativamente, il risponditore eseguirà la convalida FEC recuperando le etichette dallo stack di etichette della richiesta echo MPLS ricevuta e i dettagli FEC dal TLV dello stack FEC di destinazione per convalidare la stessa operazione in base alle informazioni del control plane locale. In caso di traccia, il risponditore includerà le informazioni a valle, ad esempio l'etichetta In uscita e l'indirizzo del router adiacente a valle, in un TLV come TLV di Mapping a valle (DSMAP). DSMAP sarà deprecato da DMAP poiché è più flessibile di DSMAP.
In questa topologia, la traccia LSP viene attivata da R2 per convalidare l'LSP al prefisso 10.1.4.4/32. Il valore TTL sull'etichetta verrà impostato da 1. R3 alla ricezione verrà impostato sulla CPU per l'elaborazione OAM.
R3 risponderà a R2 con MPLS Echo Reply con DSMAP TLV contenente l'etichetta in uscita 16 e ulteriori informazioni come i dettagli dei vicini a valle. A differenza dei messaggi ICMP, MPLS Echo Reply verrà inoltrato direttamente dal responder R3 all'Initiator R2.
Come è possibile notare nell'output del comando traceroute LSP su R2, lo stack di etichette in uscita verrà elencato da ciascun hop sul percorso. Questo comportamento è diverso dal traceroute basato su ICMP, in cui l'etichetta elencata nell'output sarà lo stack di etichette in arrivo.
Ciò è applicabile in scenari simili a quelli CSC in cui MPLS è abilitato tra PE-CE. L'esecuzione della traccia LSP da CE a CE remoto su un dominio MPLS vettore presenta due problematiche:
La RFC 6424 definisce il concetto di "FEC Stack change TLV" per risolvere la questione 2. Questo TLV verrà incluso in risposta alla FEC pertinente come PUSH/POP che può essere incluso dall'iniziatore nella successiva richiesta echo.
draft-ietf-mpls-lsp-ping-relay-reply definisce il concetto di trasporto dello stack di indirizzi dei nodi di relè in TLV che può essere utilizzato dal risponditore per inoltrare la risposta anche se non ha raggiungibilità verso l'iniziatore.
Questi 2 problemi non sono attualmente supportati in Cisco IOS®, quindi la traccia LSP da CE a CE remoto elencherà solo il PE in entrata e il CE remoto. Questo è incluso solo per completezza.