Zum Hauptinhalt springen

9. Forwarding (Weiterleitungsprozess)

9. Forwarding (Weiterleitungsprozess)

Wenn ein Router ein Paket empfängt, das an einen anderen als sich selbst adressiert, MUSS er die Zone der Ziel- und Quelladressen wie folgt berücksichtigen:

  • Die Zone der Zieladresse wird durch den Bereich der Adresse und der Eingangsschnittstelle des Pakets bestimmt. Die Next-Hop-Schnittstelle wird gewählt, indem die Zieladresse in einer (konzeptionellen) Routing-Tabelle nachgeschlagen wird, die für diese Zone spezifisch ist (siehe Abschnitt 10). Diese Routing-Tabelle ist auf die Schnittstellen beschränkt, die zu dieser Zone gehören.

  • Nachdem die Next-Hop-Schnittstelle gewählt ist, wird die Zone der Quelladresse berücksichtigt. Wie bei der Zieladresse wird die Zone der Quelladresse durch den Bereich der Adresse und die Eingangsschnittstelle des Pakets bestimmt. Wenn die Übertragung des Pakets auf der gewählten Next-Hop-Schnittstelle das Paket über die Zone der Quelladresse hinaus bringen würde, das heißt, eine Zonengrenze des Bereichs der Quelladresse überqueren würde, wird das Paket verworfen. Zusätzlich wird, wenn die Zieladresse des Pakets eine Unicast-Adresse ist, eine ICMP Destination Unreachable-Nachricht [4] mit Code 2 ("beyond scope of source address" / "über den Bereich der Quelladresse hinaus") an die Quelle des ursprünglichen Pakets gesendet. Beachten Sie, dass Code 2 derzeit in [4] als nicht zugewiesen verbleibt, aber die IANA wird den Wert für den neuen Zweck erneut zuweisen, und [4] wird mit dieser Änderung revidiert.

Beachten Sie, dass selbst wenn Unicast-Adressen mit lokalem Geltungsbereich (site-local) veraltet sind, das obige Verfahren immer noch auf Link-lokale Adressen angewendet wird. Somit, wenn ein Router ein Paket mit einer Link-lokalen Zieladresse empfängt, die nicht eine der Link-lokalen Adressen des Routers auf der Eingangsschnittstelle ist, wird von dem Router erwartet, dass er das Paket zum Ziel auf dieser Link zu leiten versucht (vorbehaltlich der erfolgreichen Bestimmung der Link-Layer-Adresse des Ziels über das Neighbor Discovery-Protokoll [9]). Das weitergeleitet Paket kann durch die Eingangsschnittstelle oder durch eine andere Schnittstelle übertragen werden, die an die gleiche Link angebunden ist.

Ein Knoten, der ein Paket empfängt, das an sich selbst adressiert ist, und das einen Routing-Header mit mehr als Null Segments Left enthält (Abschnitt 4.4 von [3]), prüft zunächst den Bereich der nächsten Adresse im Routing-Header. Wenn der Bereich der nächsten Adresse kleiner als der Bereich der ursprünglichen Zieladresse ist, MUSS der Knoten das Paket verwerfen. Andernfalls tauscht er die ursprüngliche Zieladresse mit der nächsten Adresse im Routing-Header aus. Dann gelten die obigen Weiterleitungsregeln wie folgt:

  • Die Zone der neuen Zieladresse wird durch den Bereich der nächsten Adresse und die Eingangsschnittstelle des Pakets bestimmt. Die Next-Hop-Schnittstelle wird wie im ersten Punkt der obigen Regeln gewählt.

  • Nachdem die Next-Hop-Schnittstelle gewählt ist, wird die Zone der Quelladresse wie im zweiten Punkt der obigen Regeln berücksichtigt.

Diese Überprüfung über den Bereich der nächsten Adresse stellt sicher, dass wenn ein Paket sein endgültiges Ziel erreicht, wenn dieses Ziel Link-lokal ist, der empfangende Knoten wissen kann, dass das Paket vor Ort war. Dies wird dem empfangenden Knoten helfen, ein "Antwort"-Paket mit dem endgültigen Ziel des empfangenen Pakets als die Quelladresse zu versenden, ohne seine Quellen-Zone zu brechen.

Beachten Sie, dass es möglich ist, obwohl allgemein nicht ratsam, einen Routing-Header zu verwenden, um eine nicht-globale Adresse über ihre zugeordnete Zonengrenze im zuvor verwendeten Next-Adresse-Feld zu vermitteln. Zum Beispiel, stellen Sie sich einen Fall vor, in dem ein Link-Grenz-Knoten (z.B. ein Router) ein Paket empfängt, bei dem die Zieladresse eine Link-lokale Adresse ist und die Quelladresse eine globale Adresse. Wenn das Paket einen Routing-Header enthält, in dem die nächste Adresse eine globale Adresse ist, kann die Next-Hop-Schnittstelle zur globalen Adresse zu einer anderen Link als der des ursprünglichen Ziels gehören. Dies ist erlaubt, weil der Bereich der nächsten Adresse nicht kleiner als der Bereich des ursprünglichen Ziels ist.