3.5.3. Messaggio Initialization
Il messaggio LDP Initialization viene scambiato come parte della procedura di instaurazione della sessione LDP; vedere la sezione "LDP Session Establishment".
La codifica del messaggio Initialization è:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Initialization (0x0200) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Common Session Parameters TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Parameters |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message ID Valore a 32 bit usato per identificare questo messaggio.
Common Session Parameters TLV Specifica i valori proposti dall'LSR mittente per i parametri che devono essere negoziati per ogni sessione LDP.
La codifica del TLV Common Session Parameters è:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| Common Sess Parms (0x0500)| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol Version | KeepAlive Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|D| Reserved | PVLim | Max PDU Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receiver LDP Identifier |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++
Protocol Version Intero senza segno di due ottetti contenente il numero di versione del protocollo. Questa versione della specifica specifica la versione 1 del protocollo LDP.
KeepAlive Time Intero senza segno non nullo di due ottetti che indica il numero di secondi che l'LSR mittente propone per il valore del KeepAlive Time. L'LSR ricevente DEVE (MUST) calcolare il valore del KeepAlive Timer usando il minore tra il proprio KeepAlive Time proposto e il KeepAlive Time ricevuto nella PDU. Il valore scelto per KeepAlive Time indica il numero massimo di secondi che possono trascorrere tra la ricezione di PDU successive dal peer LDP sulla connessione TCP della sessione. Il KeepAlive Timer viene reimpostato ogni volta che arriva una PDU.
A, Label Advertisement Discipline Indica il tipo di advertisement delle etichette. Un valore di 0 significa advertisement Downstream Unsolicited; un valore di 1 significa Downstream On Demand.
Se un LSR propone Downstream Unsolicited e l'altro propone Downstream on Demand, le regole per risolvere questa differenza sono:
- Se la sessione è per un collegamento ATM controllato da etichette o un collegamento Frame Relay controllato da etichette, allora DEVE (MUST) essere usato Downstream on Demand.
- In caso contrario, DEVE (MUST) essere usato Downstream Unsolicited.
Se la disciplina di advertisement delle etichette determinata in questo modo non è accettabile per un LSR, esso DEVE (MUST) inviare un messaggio Notification Session Rejected/Parameters Advertisement Mode in risposta al messaggio Initialization e non stabilire la sessione.
D, Loop Detection Indica se il rilevamento dei loop basato sui Path Vector è abilitato. Un valore di 0 significa che il rilevamento dei loop è disabilitato; un valore di 1 significa che il rilevamento dei loop è abilitato.
PVLim, Path Vector Limit La lunghezza massima configurata del Path Vector. DEVE (MUST) essere 0 se il rilevamento dei loop è disabilitato (D = 0). Se le procedure di rilevamento dei loop richiedessero all'LSR di inviare un Path Vector che supera questo limite, l'LSR si comporterà come se fosse stato rilevato un loop per la FEC in questione.
Quando il rilevamento dei loop è abilitato in una porzione di una rete, si raccomanda che tutti gli LSR in quella porzione della rete siano configurati con lo stesso limite di Path Vector. Sebbene la conoscenza del limite di Path Vector di un peer non cambi il comportamento di un LSR, consente all'LSR di avvisare un operatore di una possibile errata configurazione.
Reserved Questo campo è riservato. DEVE (MUST) essere posto a zero alla trasmissione e ignorato alla ricezione.
Max PDU Length Intero senza segno di due ottetti che propone la lunghezza massima consentita per le PDU LDP della sessione. Un valore di 255 o inferiore specifica la lunghezza massima predefinita di 4096 ottetti.
L'LSR ricevente DEVE (MUST) calcolare la lunghezza massima della PDU per la sessione usando il minore tra la propria proposta e quella del proprio peer per Max PDU Length. La lunghezza massima predefinita della PDU si applica prima del completamento dell'inizializzazione della sessione.
Se la lunghezza massima della PDU determinata in questo modo non è accettabile per un LSR, esso DEVE (MUST) inviare un messaggio Notification Session Rejected/Parameters Max PDU Length in risposta al messaggio Initialization e non stabilire la sessione.
Receiver LDP Identifier Identifica lo spazio di etichette del ricevitore. Questo LDP Identifier, insieme all'LDP Identifier del mittente nell'intestazione della PDU, consente al ricevitore di far corrispondere il messaggio Initialization a una delle sue Hello adjacency; vedere la sezione "Hello Message Procedures".
Se non c'è una Hello adjacency corrispondente, l'LSR DEVE (MUST) inviare un messaggio Notification Session Rejected/No Hello in risposta al messaggio Initialization e non stabilire la sessione.
Optional Parameters Questo campo di lunghezza variabile contiene 0 o più parametri, ciascuno codificato come TLV. I parametri opzionali sono:
Optional Parameter Type Length Value
ATM Session Parameters 0x0501 var See below
Frame Relay Session 0x0502 var See below
Parameters
ATM Session Parameters Usato quando una sessione LDP gestisce lo scambio di etichette per un collegamento ATM, per specificare parametri di sessione specifici dell'ATM.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| ATM Sess Parms (0x0501) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| M | N |D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ATM Label Range Component 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ATM Label Range Component N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
M, ATM Merge Capabilities Specifica le capacità di merge di uno switch ATM. In questa versione della specifica sono supportati i seguenti valori:
Value Meaning
0 Merge not supported
1 VP Merge supported
2 VC Merge supported
3 VP & VC Merge supported
Se le capacità di merge degli LSR differiscono, allora:
- Gli LSR non soggetti a merge e quelli soggetti a VC-merge possono interoperare liberamente.
- L'interoperabilità degli switch capaci di VP-merge con switch non capaci di VP-merge è oggetto di studi futuri. Quando gli LSR differiscono sull'uso del VP merge, la sessione viene stabilita, ma il VP merge non viene usato.
Si noti che, se si usa il VP merge, è responsabilità del nodo ingress garantire che il VCI scelto sia univoco all'interno del dominio LSR.
N, Number of label range components Specifica il numero di ATM Label Range Components inclusi nel TLV.
D, VC Directionality Un valore di 0 specifica la capacità VC bidirezionale, ovvero l'LSR può (all'interno di un dato VPI) supportare l'uso di un dato VCI come etichetta per entrambe le direzioni del collegamento in modo indipendente. Un valore di 1 specifica la capacità VC unidirezionale, ovvero (all'interno di un dato VPI) un dato VCI può comparire in una mappatura di etichette per una sola direzione sul collegamento. Quando uno o entrambi i peer specificano la capacità VC unidirezionale, entrambi gli LSR usano l'assegnazione di etichette VC unidirezionale per il collegamento come segue. Gli LSR confrontano i propri LDP Identifier come interi senza segno. L'LSR con l'LDP Identifier maggiore può assegnare come etichette solo VCI con numerazione dispari nell'intervallo VPI/VCI. Il sistema con l'LDP Identifier minore può assegnare come etichette solo VCI con numerazione pari nell'intervallo VPI/VCI.
Reserved Questo campo è riservato. DEVE (MUST) essere posto a zero alla trasmissione e ignorato alla ricezione.
One or more ATM Label Range Components Un elenco di ATM Label Range Components che insieme specificano l'intervallo di etichette supportato dall'LSR trasmittente.
Un LSR ricevente DEVE (MUST) calcolare l'intersezione tra l'intervallo ricevuto e il proprio intervallo di etichette supportato. L'intersezione è l'intervallo in cui l'LSR può allocare e accettare etichette. Gli LSR NON DEVONO (MUST NOT) stabilire una sessione con vicini per i quali l'intersezione degli intervalli è NULL. In questo caso, l'LSR DEVE (MUST) inviare un messaggio Notification Session Rejected/Parameters Label Range in risposta al messaggio Initialization e non stabilire la sessione.
La codifica di un ATM Label Range Component è:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Res | Minimum VPI | Minimum VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Res | Maximum VPI | Maximum VCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Res
Questo campo è riservato. DEVE (MUST) essere posto a zero alla trasmissione e DEVE (MUST) essere ignorato alla ricezione.
Minimum VPI (12 bits)
Questo campo di 12 bit specifica il limite inferiore di un blocco di Virtual Path Identifier supportato sullo switch di origine. Se il VPI è inferiore a 12 bit, DOVREBBE (SHOULD) essere allineato a destra in questo campo e i bit precedenti DOVREBBERO (SHOULD) essere posti a 0.
Minimum VCI (16 bits)
Questo campo di 16 bit specifica il limite inferiore di un blocco di Virtual Channel Identifier supportato sullo switch di origine. Se il VCI è inferiore a 16 bit, DOVREBBE (SHOULD) essere allineato a destra in questo campo e i bit precedenti DOVREBBERO (SHOULD) essere posti a 0.
Maximum VPI (12 bits)
Questo campo di 12 bit specifica il limite superiore di un blocco di Virtual Path Identifier supportato sullo switch di origine. Se il VPI è inferiore a 12 bit, DOVREBBE (SHOULD) essere allineato a destra in questo campo e i bit precedenti DOVREBBERO (SHOULD) essere posti a 0.
Maximum VCI (16 bits)
Questo campo di 16 bit specifica il limite superiore di un blocco di Virtual Connection Identifier supportato sullo switch di origine. Se il VCI è inferiore a 16 bit, DOVREBBE (SHOULD) essere allineato a destra in questo campo e i bit precedenti DOVREBBERO (SHOULD) essere posti a 0.
Quando gli LSR peer sono collegati indirettamente per mezzo di un ATM VP, l'LSR mittente DOVREBBE (SHOULD) porre i campi Minimum e Maximum VPI a 0, e l'LSR ricevente DEVE (MUST) ignorare i campi Minimum e Maximum VPI.
Frame Relay Session Parameters Usato quando una sessione LDP gestisce lo scambio di etichette per un collegamento Frame Relay, per specificare parametri di sessione specifici del Frame Relay.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| FR Sess Parms (0x0502) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| M | N |D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame Relay Label Range Component 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame Relay Label Range Component N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
M, Frame Relay Merge Capabilities Specifica le capacità di merge di uno switch Frame Relay. In questa versione della specifica sono supportati i seguenti valori:
Value Meaning
0 Merge not supported
1 Merge supported
Gli LSR Frame Relay non soggetti a merge e quelli soggetti a merge possono interoperare liberamente.
N, Number of label range components Specifica il numero di Frame Relay Label Range Components inclusi nel TLV.
D, VC Directionality Un valore di 0 specifica la capacità VC bidirezionale, ovvero l'LSR può supportare l'uso di un dato DLCI come etichetta per entrambe le direzioni del collegamento in modo indipendente. Un valore di 1 specifica la capacità VC unidirezionale, ovvero un dato DLCI può comparire in una mappatura di etichette per una sola direzione sul collegamento. Quando uno o entrambi i peer specificano la capacità VC unidirezionale, entrambi gli LSR usano l'assegnazione di etichette VC unidirezionale per il collegamento come segue. Gli LSR confrontano i propri LDP Identifier come interi senza segno. L'LSR con l'LDP Identifier maggiore può assegnare come etichette solo DLCI con numerazione dispari nell'intervallo. Il sistema con l'LDP Identifier minore può assegnare come etichette solo DLCI con numerazione pari nell'intervallo.
Reserved Questo campo è riservato. DEVE (MUST) essere posto a zero alla trasmissione e ignorato alla ricezione.
One or more Frame Relay Label Range Components Un elenco di Frame Relay Label Range Components che insieme specificano l'intervallo di etichette supportato dall'LSR trasmittente.
Un LSR ricevente DEVE (MUST) calcolare l'intersezione tra l'intervallo ricevuto e il proprio intervallo di etichette supportato. L'intersezione è l'intervallo in cui l'LSR può allocare e accettare etichette. Gli LSR NON DEVONO (MUST NOT) stabilire una sessione con vicini per i quali l'intersezione degli intervalli è NULL. In questo caso, l'LSR DEVE (MUST) inviare un messaggio Notification Session Rejected/Parameters Label Range in risposta al messaggio Initialization e non stabilire la sessione.
La codifica di un Frame Relay Label Range Component è:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |Len| Minimum DLCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Maximum DLCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Reserved Questo campo è riservato. DEVE (MUST) essere posto a zero alla trasmissione e ignorato alla ricezione.
Len Questo campo specifica il numero di bit del DLCI. Sono supportati i seguenti valori:
Len DLCI Bits
0 10
2 23
I valori Len 1 e 3 sono riservati.
Minimum DLCI Questo campo di 23 bit specifica il limite inferiore di un blocco di Data Link Connection Identifier (DLCI) supportato sullo switch di origine. Il DLCI DOVREBBE (SHOULD) essere allineato a destra in questo campo e i bit non utilizzati DOVREBBERO (SHOULD) essere posti a 0.
Maximum DLCI Questo campo di 23 bit specifica il limite superiore di un blocco di Data Link Connection Identifier (DLCI) supportato sullo switch di origine. Il DLCI DOVREBBE (SHOULD) essere allineato a destra in questo campo e i bit non utilizzati DOVREBBERO (SHOULD) essere posti a 0.
Si noti che non esiste un TLV Generic Session Parameters per le sessioni che pubblicizzano Generic Label.
3.5.3.1. Procedure del messaggio Initialization
Vedere la sezione "LDP Session Establishment" e in particolare la sezione "Session Initialization" per le procedure generali di gestione del messaggio Initialization.