3.5.3. Initialization-Nachricht
Die LDP Initialization-Nachricht wird als Teil des LDP-Sitzungsaufbauverfahrens ausgetauscht; siehe den Abschnitt "LDP Session Establishment".
Die Kodierung für die Initialization-Nachricht ist:
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 32-Bit-Wert, der verwendet wird, um diese Nachricht zu identifizieren.
Common Session Parameters TLV Gibt die vom sendenden LSR vorgeschlagenen Werte für Parameter an, die für jede LDP-Sitzung ausgehandelt werden müssen.
Die Kodierung für das Common Session Parameters TLV ist:
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 Eine vorzeichenlose Ganzzahl aus zwei Oktetten, die die Versionsnummer des Protokolls enthält. Diese Version der Spezifikation legt LDP-Protokollversion 1 fest.
KeepAlive Time Eine vorzeichenlose Ganzzahl ungleich null aus zwei Oktetten, die die Anzahl der Sekunden angibt, die der sendende LSR als Wert für die KeepAlive Time vorschlägt. Der empfangende LSR MUSS (MUST) den Wert des KeepAlive-Timers berechnen, indem er den kleineren Wert aus seiner vorgeschlagenen KeepAlive Time und der in der PDU empfangenen KeepAlive Time verwendet. Der
für die KeepAlive Time gewählte Wert gibt die maximale Anzahl von Sekunden an, die zwischen dem Empfang aufeinanderfolgender PDUs vom LDP-Peer auf der Sitzungs-TCP-Verbindung vergehen dürfen. Der KeepAlive-Timer wird jedes Mal zurückgesetzt, wenn eine PDU eintrifft.
A, Label Advertisement Discipline Gibt die Art der Label-Ankündigung an. Ein Wert von 0 bedeutet Downstream Unsolicited-Ankündigung; ein Wert von 1 bedeutet Downstream On Demand.
Wenn ein LSR Downstream Unsolicited vorschlägt und der andere Downstream on Demand vorschlägt, gelten für die Auflösung dieses Unterschieds die folgenden Regeln:
- Wenn die Sitzung für eine labelgesteuerte ATM-Verbindung oder eine labelgesteuerte Frame-Relay-Verbindung bestimmt ist, dann MUSS (MUST) Downstream on Demand verwendet werden.
- Andernfalls MUSS (MUST) Downstream Unsolicited verwendet werden.
Wenn die auf diese Weise bestimmte Label-Ankündigungsdisziplin für einen LSR nicht akzeptabel ist, MUSS (MUST) er als Antwort auf die Initialization-Nachricht eine Session Rejected/Parameters Advertisement Mode Notification-Nachricht senden und die Sitzung nicht aufbauen.
D, Loop Detection Gibt an, ob die auf Path Vectors basierende Schleifenerkennung aktiviert ist. Ein Wert von 0 bedeutet, dass die Schleifenerkennung deaktiviert ist; ein Wert von 1 bedeutet, dass die Schleifenerkennung aktiviert ist.
PVLim, Path Vector Limit Die konfigurierte maximale Path Vector-Länge. MUSS (MUST) 0 sein, wenn die Schleifenerkennung deaktiviert ist (D = 0). Wenn die Schleifenerkennungsverfahren erfordern würden, dass der LSR einen Path Vector sendet, der dieses Limit überschreitet, verhält sich der LSR so, als wäre für die betreffende FEC eine Schleife erkannt worden.
Wenn die Schleifenerkennung in einem Teil eines Netzes aktiviert ist, wird empfohlen, dass alle LSRs in diesem Teil des Netzes mit demselben Path Vector-Limit konfiguriert werden. Obwohl die Kenntnis des Path Vector-Limits eines Peers das Verhalten eines LSR nicht ändert, ermöglicht sie dem LSR doch, einen Operator auf eine mögliche Fehlkonfiguration hinzuweisen.
Reserved Dieses Feld ist reserviert. Es MUSS (MUST) bei der Übertragung auf null gesetzt und beim Empfang ignoriert werden.
Max PDU Length Eine vorzeichenlose Ganzzahl aus zwei Oktetten, die die maximal zulässige Länge für LDP-PDUs der Sitzung vorschlägt. Ein Wert von 255 oder weniger gibt die Standard-Maximallänge von 4096 Oktetten an.
Der empfangende LSR MUSS (MUST) die maximale PDU-Länge für die Sitzung berechnen, indem er den kleineren Wert aus seinen und den Vorschlägen seines Peers für Max PDU Length verwendet. Die Standard-Maximallänge einer PDU gilt, bevor die Sitzungsinitialisierung abgeschlossen ist.
Wenn die auf diese Weise bestimmte maximale PDU-Länge für einen LSR nicht akzeptabel ist, MUSS (MUST) er als Antwort auf die Initialization-Nachricht eine Session Rejected/Parameters Max PDU Length Notification-Nachricht senden und die Sitzung nicht aufbauen.
Receiver LDP Identifier Identifiziert den Label-Raum des Empfängers. Dieser LDP Identifier ermöglicht es dem Empfänger zusammen mit dem LDP Identifier des Senders im PDU-Header, die Initialization-Nachricht einer seiner Hello-Adjazenzen zuzuordnen; siehe den Abschnitt "Hello Message Procedures".
Wenn es keine passende Hello-Adjazenz gibt, MUSS (MUST) der LSR als Antwort auf die Initialization-Nachricht eine Session Rejected/No Hello Notification-Nachricht senden und die Sitzung nicht aufbauen.
Optional Parameters Dieses Feld variabler Länge enthält 0 oder mehr Parameter, jeder als TLV kodiert. Die optionalen Parameter sind:
Optional Parameter Type Length Value
ATM Session Parameters 0x0501 var See below
Frame Relay Session 0x0502 var See below
Parameters
ATM Session Parameters Wird verwendet, wenn eine LDP-Sitzung den Label-Austausch für eine ATM-Verbindung verwaltet, um ATM-spezifische Sitzungsparameter anzugeben.
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 Gibt die Merge-Fähigkeiten eines ATM-Switch an. Die folgenden Werte werden in dieser Version der Spezifikation unterstützt:
Value Meaning
0 Merge not supported
1 VP Merge supported
2 VC Merge supported
3 VP & VC Merge supported
Wenn die Merge-Fähigkeiten der LSRs voneinander abweichen, gilt:
- Non-Merge- und VC-Merge-LSRs können frei interoperieren.
- Die Interoperabilität von VP-merge-fähigen Switches mit nicht VP-merge-fähigen Switches ist Gegenstand zukünftiger Studien. Wenn die LSRs in der Verwendung von VP Merge voneinander abweichen, wird die Sitzung aufgebaut, aber VP Merge wird nicht verwendet.
Beachten Sie, dass, wenn VP Merge verwendet wird, es in der Verantwortung des Ingress-Knotens liegt, sicherzustellen, dass der gewählte VCI innerhalb der LSR-Domäne eindeutig ist.
N, Number of label range components Gibt die Anzahl der im TLV enthaltenen ATM Label Range Components an.
D, VC Directionality Ein Wert von 0 gibt bidirektionale VC-Fähigkeit an, was bedeutet, dass der LSR (innerhalb eines gegebenen VPI) die Verwendung eines gegebenen VCI als Label für beide Verbindungsrichtungen unabhängig unterstützen kann. Ein Wert von 1 gibt unidirektionale VC-Fähigkeit an, was bedeutet, dass (innerhalb eines gegebenen VPI) ein gegebener VCI nur in einer Label-Abbildung für eine Richtung auf der Verbindung erscheinen darf. Wenn einer der Peers oder beide unidirektionale VC-Fähigkeit angeben, verwenden beide LSRs für die Verbindung unidirektionale VC-Labelzuweisung wie folgt. Die LSRs vergleichen ihre LDP Identifiers als vorzeichenlose Ganzzahlen. Der LSR mit dem größeren LDP Identifier darf im VPI/VCI-Bereich nur ungeradzahlige VCIs als Labels zuweisen. Das System mit dem kleineren LDP Identifier darf im VPI/VCI-Bereich nur geradzahlige VCIs als Labels zuweisen.
Reserved Dieses Feld ist reserviert. Es MUSS (MUST) bei der Übertragung auf null gesetzt und beim Empfang ignoriert werden.
One or more ATM Label Range Components Eine Liste von ATM Label Range Components, die zusammen den vom sendenden LSR unterstützten Label-Bereich angeben.
Ein empfangender LSR MUSS (MUST) die Schnittmenge zwischen dem empfangenen Bereich und seinem eigenen unterstützten Label-Bereich berechnen. Die Schnittmenge ist der Bereich, in dem der LSR Labels zuweisen und akzeptieren darf. LSRs MÜSSEN (MUST) NICHT eine Sitzung mit Nachbarn aufbauen, für die die Schnittmenge der Bereiche NULL ist. In diesem Fall MUSS (MUST) der LSR als Antwort auf die Initialization-Nachricht eine Session Rejected/Parameters Label Range Notification-Nachricht senden und die Sitzung nicht aufbauen.
Die Kodierung für ein ATM Label Range Component ist:
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
Dieses Feld ist reserviert. Es MUSS (MUST) bei der Übertragung auf null gesetzt und MUSS (MUST) beim Empfang ignoriert werden.
Minimum VPI (12 bits)
Dieses 12-Bit-Feld gibt die untere Grenze eines Blocks von Virtual Path Identifiers an, der auf dem Ursprungs-Switch unterstützt wird. Wenn der VPI weniger als 12 Bits umfasst, SOLLTE (SHOULD) er in diesem Feld rechtsbündig stehen, und die vorangehenden Bits SOLLTEN (SHOULD) auf 0 gesetzt werden.
Minimum VCI (16 bits)
Dieses 16-Bit-Feld gibt die untere Grenze eines Blocks von Virtual Channel Identifiers an, der auf dem Ursprungs-Switch unterstützt wird. Wenn der VCI weniger als 16 Bits umfasst, SOLLTE (SHOULD) er in diesem Feld rechtsbündig stehen, und die vorangehenden Bits SOLLTEN (SHOULD) auf 0 gesetzt werden.
Maximum VPI (12 bits)
Dieses 12-Bit-Feld gibt die obere Grenze eines Blocks von Virtual Path Identifiers an, der auf dem Ursprungs-Switch unterstützt wird. Wenn der VPI weniger als 12 Bits umfasst, SOLLTE (SHOULD) er in diesem Feld rechtsbündig stehen, und die vorangehenden Bits SOLLTEN (SHOULD) auf 0 gesetzt werden.
Maximum VCI (16 bits)
Dieses 16-Bit-Feld gibt die obere Grenze eines Blocks von Virtual Connection Identifiers an, der auf dem Ursprungs-Switch unterstützt wird. Wenn der VCI weniger als 16 Bits umfasst, SOLLTE (SHOULD) er in diesem Feld rechtsbündig stehen, und die vorangehenden Bits SOLLTEN (SHOULD) auf 0 gesetzt werden.
Wenn Peer-LSRs indirekt über ein ATM VP verbunden sind, SOLLTE (SHOULD) der sendende LSR die Felder Minimum VPI und Maximum VPI auf 0 setzen, und der empfangende LSR MUSS (MUST) die Felder Minimum VPI und Maximum VPI ignorieren.
Frame Relay Session Parameters Wird verwendet, wenn eine LDP-Sitzung den Label-Austausch für eine Frame-Relay-Verbindung verwaltet, um Frame-Relay-spezifische Sitzungsparameter anzugeben.
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 Gibt die Merge-Fähigkeiten eines Frame-Relay-Switch an. Die folgenden Werte werden in dieser Version der Spezifikation unterstützt:
Value Meaning
0 Merge not supported
1 Merge supported
Non-Merge- und Merge-Frame-Relay-LSRs können frei interoperieren.
N, Number of label range components Gibt die Anzahl der im TLV enthaltenen Frame Relay Label Range Components an.
D, VC Directionality Ein Wert von 0 gibt bidirektionale VC-Fähigkeit an, was bedeutet, dass der LSR die Verwendung eines gegebenen DLCI als Label für beide Verbindungsrichtungen unabhängig unterstützen kann. Ein Wert von 1 gibt unidirektionale VC-Fähigkeit an, was bedeutet, dass ein gegebener DLCI nur in einer Label-Abbildung für eine Richtung auf der Verbindung erscheinen darf. Wenn einer der Peers oder beide unidirektionale VC-Fähigkeit angeben, verwenden beide LSRs für die Verbindung unidirektionale VC-Labelzuweisung wie folgt. Die LSRs vergleichen ihre LDP Identifiers als vorzeichenlose Ganzzahlen. Der LSR mit dem größeren LDP Identifier darf im Bereich nur ungeradzahlige DLCIs als Labels zuweisen. Das System mit dem kleineren LDP Identifier darf im Bereich nur geradzahlige DLCIs als Labels zuweisen.
Reserved Dieses Feld ist reserviert. Es MUSS (MUST) bei der Übertragung auf null gesetzt und beim Empfang ignoriert werden.
One or more Frame Relay Label Range Components Eine Liste von Frame Relay Label Range Components, die zusammen den vom sendenden LSR unterstützten Label-Bereich angeben.
Ein empfangender LSR MUSS (MUST) die Schnittmenge zwischen dem empfangenen Bereich und seinem eigenen unterstützten Label-Bereich berechnen. Die Schnittmenge ist der Bereich, in dem der LSR Labels zuweisen und akzeptieren darf. LSRs MÜSSEN (MUST) NICHT eine Sitzung mit Nachbarn aufbauen, für die die Schnittmenge der Bereiche NULL ist. In diesem Fall MUSS (MUST) der LSR als Antwort auf die Initialization-Nachricht eine Session Rejected/Parameters Label Range Notification-Nachricht senden und die Sitzung nicht aufbauen.
Die Kodierung für ein Frame Relay Label Range Component ist:
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 Dieses Feld ist reserviert. Es MUSS (MUST) bei der Übertragung auf null gesetzt und beim Empfang ignoriert werden.
Len Dieses Feld gibt die Anzahl der Bits des DLCI an. Die folgenden Werte werden unterstützt:
Len DLCI Bits
0 10
2 23
Die Len-Werte 1 und 3 sind reserviert.
Minimum DLCI Dieses 23-Bit-Feld gibt die untere Grenze eines Blocks von Data Link Connection Identifiers (DLCIs) an, der auf dem Ursprungs-Switch unterstützt wird. Der DLCI SOLLTE (SHOULD) in diesem Feld rechtsbündig stehen, und ungenutzte Bits SOLLTEN (SHOULD) auf 0 gesetzt werden.
Maximum DLCI Dieses 23-Bit-Feld gibt die obere Grenze eines Blocks von Data Link Connection Identifiers (DLCIs) an, der auf dem Ursprungs-Switch unterstützt wird. Der DLCI SOLLTE (SHOULD) in diesem Feld rechtsbündig stehen, und ungenutzte Bits SOLLTEN (SHOULD) auf 0 gesetzt werden.
Beachten Sie, dass es kein Generic Session Parameters TLV für Sitzungen gibt, die Generic Labels ankündigen.
3.5.3.1. Initialization-Nachrichtenverfahren
Siehe den Abschnitt "LDP Session Establishment" und insbesondere den Abschnitt "Session Initialization" für allgemeine Verfahren zur Behandlung der Initialization-Nachricht.