Zum Hauptinhalt springen

5. Forwarding (Weiterleitung)

5. Forwarding (Weiterleitung)

In PE-Routern ist der Weiterleitungsprozess etwas komplexer, da MPLS-Labels berücksichtigt werden müssen.

Wenn ein PE-Router ein IPv4-Paket von einem CE empfängt:

  1. Er bestimmt die Eingangsschnittstelle und damit die zugehörige VRF.

  2. Er schlägt die Ziel-IP-Adresse in der VRF nach.

  3. Wenn die übereinstimmende Route eine VPN-IPv4-Route zu einem anderen PE-Router ist, hat diese Route ein zugehöriges MPLS-Label (zugewiesen vom BGP Next Hop) und eine BGP Next Hop-Adresse.

  4. Der PE kapselt das Paket in einen MPLS-Stapel.

    • Das untere Label des Stapels ist das von BGP verteilte Label (das mit der Route verknüpft ist). Dieses Label identifiziert die Ausgangs-VRF oder die Ausgangsschnittstelle für den Ausgangs-PE.
    • Das obere Label des Stapels (es können mehrere sein) wird verwendet, um das Paket durch das Backbone zum BGP Next Hop (d. h. zum Ausgangs-PE) zu tunneln. Dies ist normalerweise ein LSP-Label, das mit LDP oder RSVP-TE erstellt wurde.
  5. Das Paket wird durch das Backbone weitergeleitet. P-Router schalten nur basierend auf dem oberen Label des Stapels und müssen die VPN-Routen nicht kennen.

Wenn der Ausgangs-PE das gelabelte Paket empfängt:

  1. Er identifiziert, dass es für ihn bestimmt ist, anhand des oberen Labels des Stapels. Er entfernt (poppt) das obere Label (wenn es bereits beim vorherigen Hop entfernt wurde, d. h. PHP, wird dieser Schritt übersprungen).
  2. Er untersucht das nun obere Label (d. h. das ursprüngliche untere Label), welches dasjenige ist, das er zuvor selbst zugewiesen und dem Eingangs-PE mitgeteilt hat.
  3. Dieses Label identifiziert eindeutig die Ausgangsschnittstelle oder die Ausgangs-VRF.
  4. Der PE entfernt dieses Label und leitet das ursprüngliche IPv4-Paket auf der entsprechenden Ausgangsschnittstelle an den CE weiter.

In einigen Fällen muss der Ausgangs-PE möglicherweise eine zweite Suche (in der VRF) durchführen, um die genaue Ausgangsschnittstelle zu bestimmen, aber dies kann im Allgemeinen vermieden werden, indem jedem angeschlossenen Subnetz ein eindeutiges Label zugewiesen wird.