Zum Hauptinhalt springen

3.5.7. Label Mapping-Nachricht

Ein LSR sendet eine Label Mapping-Nachricht an einen LDP-Peer, um dem Peer FEC-Label-Bindungen anzukündigen.

Die Kodierung für die Label Mapping-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| Label Mapping (0x0400) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Parameters |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Message ID 32-Bit-Wert, der verwendet wird, um diese Nachricht zu identifizieren.

FEC TLV Gibt die FEC-Komponente der angekündigten FEC-Label-Abbildung an. Zur Kodierung siehe den Abschnitt "FEC TLVs".

Label TLV Gibt die Label-Komponente der FEC-Label-Abbildung an. Zur Kodierung siehe den Abschnitt "Label TLV".

Optional Parameters Dieses Feld variabler Länge enthält 0 oder mehr Parameter, jeder als TLV kodiert. Die optionalen Parameter sind:

  Optional Parameter    Length       Value
      Label Request         4            See below
Message ID TLV
Hop Count TLV 1 See below
Path Vector TLV variable See below

Die Kodierungen für die Hop Count- und Path Vector-TLVs finden sich im Abschnitt "TLV Encodings for Commonly Used Parameters".

Label Request Message ID Wenn diese Label Mapping-Nachricht eine Antwort auf eine Label Request-Nachricht ist, MUSS (MUST) sie den optionalen Parameter Label Request Message ID einschließen. Der Wert dieses optionalen Parameters ist die Message ID der entsprechenden Label Request-Nachricht.

Hop Count Gibt den laufenden Gesamtwert der Anzahl der LSR-Hops entlang der durch die Label-Nachricht aufgebauten LSP an. Der Abschnitt "Hop Count Procedures" beschreibt, wie dieses TLV zu behandeln ist.

Path Vector Gibt die LSRs entlang der durch die Label-Nachricht aufgebauten LSP an. Der Abschnitt "Path Vector Procedures" beschreibt, wie dieses TLV zu behandeln ist.

3.5.7.1. Label Mapping-Nachrichtenverfahren​

Die Mapping-Nachricht wird von einem LSR verwendet, um eine Label-Abbildung für eine FEC an einen LDP-Peer zu verteilen. Wenn ein LSR eine Abbildung für eine FEC an mehrere LDP-Peers verteilt, ist es eine lokale Angelegenheit, ob er ein einzelnes Label auf die FEC abbildet und diese Abbildung an alle seine Peers verteilt oder ob er für jeden seiner Peers eine andere Abbildung verwendet.

Ein LSR ist für die Konsistenz der von ihm verteilten Label-Abbildungen verantwortlich und dafür, dass seine Peers diese Abbildungen haben.

Ein LSR, der eine Label Mapping-Nachricht für ein Prefix von einem nachgelagerten LSR empfängt, SOLLTE (SHOULD) das Label nicht zur Weiterleitung verwenden, es sei denn, seine Routing-Tabelle enthält einen Eintrag, der genau zum FEC Element passt.

Weitere Einzelheiten finden Sie in Anhang A, "LDP Label Distribution Procedures".

3.5.7.1.1. Unabhängige Steuerungsabbildung​

Wenn ein LSR für unabhängige Steuerung konfiguriert ist, wird von dem LSR unter einer der folgenden Bedingungen eine Mapping-Nachricht übertragen:

  1. Der LSR erkennt eine neue FEC über die Weiterleitungstabelle, und der Label-Ankündigungsmodus ist die Downstream Unsolicited-Ankündigung.

  2. Der LSR empfängt eine Request-Nachricht von einem vorgelagerten Peer für eine in der Weiterleitungstabelle des LSR vorhandene FEC.

  3. Der Next Hop für eine FEC ändert sich zu einem anderen LDP-Peer, und die Schleifenerkennung ist konfiguriert.

  4. Die Attribute einer Abbildung ändern sich.

  5. Der Empfang einer Abbildung vom nachgelagerten Next Hop UND

    a) es wurde keine vorgelagerte Abbildung erstellt ODER b) die Schleifenerkennung ist konfiguriert ODER c) die Attribute der Abbildung haben sich geändert.

3.5.7.1.2. Geordnete Steuerungsabbildung​

Wenn ein LSR geordnete Steuerung durchführt, wird von nachgelagerten LSRs unter einer der folgenden Bedingungen eine Mapping-Nachricht übertragen:

  1. Der LSR erkennt eine neue FEC über die Weiterleitungstabelle und ist der Egress für diese FEC.

  2. Der LSR empfängt eine Request-Nachricht von einem vorgelagerten Peer für eine in der Weiterleitungstabelle des LSR vorhandene FEC, und der LSR ist der Egress für diese FEC ODER hat eine nachgelagerte Abbildung für diese FEC.

  3. Der Next Hop für eine FEC ändert sich zu einem anderen LDP-Peer, und die Schleifenerkennung ist konfiguriert.

  4. Die Attribute einer Abbildung ändern sich.

  5. Der Empfang einer Abbildung vom nachgelagerten Next Hop UND

         a) es wurde keine vorgelagerte Abbildung erstellt   ODER
b) die Schleifenerkennung ist konfiguriert ODER
c) die Attribute der Abbildung haben sich geändert.

3.5.7.1.3. Downstream on Demand Label-Ankündigung​

Im Allgemeinen ist der vorgelagerte LSR dafür verantwortlich, Label-Abbildungen anzufordern, wenn im Downstream on Demand-Modus gearbeitet wird. Wenn jedoch nicht bestimmte Regeln befolgt werden, können benachbarte LSRs mit unterschiedlichen Ankündigungsmodi in eine Livelock-Situation geraten, in der alles ordnungsgemäß funktioniert, aber keine Labels verteilt werden. Betrachten Sie beispielsweise zwei LSRs Ru und Rd, wobei Ru der vorgelagerte LSR und Rd der nachgelagerte LSR für eine bestimmte FEC ist. In diesem Beispiel verwendet Ru den Downstream Unsolicited-Ankündigungsmodus und Rd den Downstream on Demand-Modus. In diesem Fall kann Rd annehmen, dass Ru eine Label-Abbildung anfordern wird, wenn er eine möchte, und Ru kann annehmen, dass Rd ein Label ankündigen wird, wenn er möchte, dass Ru eines verwendet. Wenn Rd und Ru wie angenommen arbeiten, werden keine Labels von Rd an Ru verteilt.

Diese Livelock-Situation kann vermieden werden, wenn die folgende Regel beachtet wird: Von einem LSR, der im Downstream on Demand-Modus arbeitet, SOLLTE (SHOULD) nicht erwartet werden, dass er unangeforderte Mapping-Ankündigungen sendet. Wenn der nachgelagerte LSR daher im Downstream on Demand-Modus arbeitet, ist der vorgelagerte LSR dafür verantwortlich, Label-Abbildungen nach Bedarf anzufordern.

3.5.7.1.4. Downstream Unsolicited Label-Ankündigung​

Im Allgemeinen ist der nachgelagerte LSR dafür verantwortlich, eine Label-Abbildung anzukündigen, wenn er möchte, dass ein vorgelagerter LSR das Label verwendet. Ein vorgelagerter LSR kann eine Mapping-Anforderung ausgeben, wenn er dies wünscht.

Die Kombination aus Downstream Unsolicited-Modus und konservativer Label-Beibehaltung kann zu einer Situation führen, in der ein LSR das Label für eine FEC freigibt, die er später benötigt. Wenn LSR Rd beispielsweise dem LSR Ru das Label für eine FEC ankündigt, für die er nicht der Next Hop von Ru ist, wird Ru das Label freigeben. Wenn der Next Hop von Ru für die FEC sich später zu Rd ändert, benötigt er das zuvor freigegebene Label.

Um mit dieser Situation umzugehen, kann entweder Ru das Label ausdrücklich anfordern, wenn er es benötigt, oder Rd kann es Ru periodisch erneut ankündigen. In vielen Situationen wird Ru wissen, wann er das Label von Rd benötigt. Beispielsweise wenn sein Next Hop für die FEC sich zu Rd ändert. Es könnte jedoch Situationen geben, in denen Ru dies nicht weiß. Beispielsweise könnte Rd versuchen, eine LSP mit nicht standardmäßigen Eigenschaften aufzubauen. Würde man Ru in dieser Situation zwingen, das Label ausdrücklich anzufordern, müsste er Zustand über eine potenzielle LSP mit nicht standardmäßigen Eigenschaften pflegen.

In Situationen, in denen Ru weiß, dass er das Label benötigt, ist er dafür verantwortlich, das Label mittels einer Label Request-Nachricht ausdrücklich anzufordern. In Situationen, in denen Ru möglicherweise nicht weiß, dass er das Label benötigt, ist Rd dafür verantwortlich, das Label Ru periodisch erneut anzukündigen.

Für diese Version von LDP ist die einzige Situation, in der Ru weiß, dass er ein Label für eine FEC von Rd benötigt, die, dass Rd sein Next Hop für die FEC ist, Ru kein Label von Rd hat und die LSP für die FEC eine ist, die mit in diesem Dokument definierten TLVs aufgebaut werden kann.