4.1. Protocol Data Structures (Protokolldatenstrukturen)
Die wichtigsten OSPF-Datenstrukturen sind für IPv4 und IPv6 gleich: Areas (Bereiche), Interfaces (Schnittstellen), Neighbors (Nachbarn), die Link-State-Datenbank (Link-State Database) und die Routing-Tabelle (Routing Table). Die Top-Level-Datenstrukturen für IPv6 bleiben diejenigen, die in Abschnitt 5 von [OSPFV2] aufgeführt sind, mit den folgenden Änderungen:
- Alle LSAs mit bekanntem LS-Typ und AS-Flooding-Bereich (AS Flooding Scope) erscheinen in der Top-Level-Datenstruktur, anstatt zu einem bestimmten Bereich oder Link zu gehören. AS-External-LSAs sind die einzigen LSAs, die durch diese Spezifikation definiert sind und AS-Flooding-Bereich haben. LSAs mit unbekanntem LS-Typ, U-Bit auf 1 gesetzt (auch bei Nichterkennung fluten) und AS-Flooding-Bereich erscheinen ebenfalls in der Top-Level-Datenstruktur.
4.1.1. The Area Data Structure (Area-Datenstruktur)
Die IPv6-Area-Datenstruktur enthält alle Elemente, die für IPv4-Areas in Abschnitt 6 von [OSPFV2] definiert sind. Darüber hinaus sind alle LSAs bekannten Typs, die Area-Flooding-Bereich (Area Flooding Scope) haben, in der IPv6-Area-Datenstruktur enthalten. Dies umfasst immer die folgenden LSA-Typen: Router-LSAs, Network-LSAs, Inter-Area-Prefix-LSAs, Inter-Area-Router-LSAs und Intra-Area-Prefix-LSAs. LSAs mit unbekanntem LS-Typ, U-Bit auf 1 gesetzt (auch bei Nichterkennung fluten) und Area-Bereich erscheinen ebenfalls in der Area-Datenstruktur. NSSA-LSAs sind auch in der Datenstruktur einer NSSA-Area enthalten.
4.1.2. The Interface Data Structure (Interface-Datenstruktur)
In OSPF für IPv6 verbindet eine Schnittstelle einen Router mit einem Link. Die IPv6-Interface-Struktur modifiziert die IPv4-Interface-Struktur (wie in Abschnitt 9 von [OSPFV2] definiert) wie folgt:
Interface ID (Schnittstellen-ID)
Jeder Schnittstelle wird eine Interface-ID zugewiesen, die die Schnittstelle mit dem Router eindeutig identifiziert. Zum Beispiel können einige Implementierungen den MIB-II IfIndex ([INTFMIB]) als Interface-ID verwenden. Die Interface-ID erscheint in Hello-Paketen, die über die Schnittstelle gesendet werden, im Link-Local-LSA, das der Router für den angeschlossenen Link originiert, und im Router-LSA, das der Router für den zugehörigen Bereich originiert. Sie dient auch als Link State ID für das Network-LSA, das der Router für den Link originiert, wenn der Router zum Designated Router gewählt wird.
Die Interface-ID für einen Virtual Link ist unabhängig von der Interface-ID der ausgehenden Schnittstelle, die sie im Transit-Bereich (Transit Area) durchläuft.
Instance ID (Instanz-ID)
Jeder Schnittstelle wird eine Instanz-ID zugewiesen. Diese sollte standardmäßig 0 sein. Es ist nur notwendig, einen anderen Wert als 0 zuzuweisen auf Links, die mehrere separate Gemeinschaften von OSPF-Routern enthalten werden. Angenommen, es gibt zwei Router-Gemeinschaften auf einem bestimmten Ethernet-Segment, die Sie getrennt halten möchten.
Der ersten Gemeinschaft wird eine Instanz-ID von 0 zugewiesen, und allen Routern in der ersten Gemeinschaft wird 0 als Instanz-ID für Schnittstellen zugewiesen, die mit dem Ethernet-Segment verbunden sind. Eine Instanz-ID von 1 wird den Schnittstellen der anderen Router zugewiesen, die mit dem Ethernet-Segment verbunden sind. Die OSPF-Sende- und Empfangsverarbeitung (siehe Abschnitt 4.2) hält dann die beiden Gemeinschaften getrennt.
List of LSAs with link-local scope (Liste der LSAs mit Link-Local-Bereich)
Alle LSAs mit Link-Local-Bereich (Link-Local Scope) und die auf dem Link originiert/geflutet wurden, gehören zur Interface-Struktur, die mit dem Link verbunden ist. Dies umfasst die Sammlung der Link-LSAs des Links.
IP interface address (IP-Schnittstellenadresse)
Für IPv6 ist die IPv6-Adresse, die in der Quelle von OSPF-Paketen erscheint, die auf der Schnittstelle gesendet werden, fast immer eine Link-Local-Adresse (Link-Local Address). Die einzige Ausnahme sind virtuelle Links, die eine der eigenen globalen IPv6-Adressen des Routers als IP-Schnittstellenadresse verwenden müssen.
List of link prefixes (Liste der Link-Präfixe)
Für den angeschlossenen Link kann eine Liste von IPv6-Präfixen konfiguriert werden. Diese werden vom Router in Link-LSAs angekündigt, damit sie vom Designated Router des Links in Intra-Area-Prefix-LSAs angekündigt werden können.
In OSPF für IPv6 hat jede Router-Schnittstelle eine einzelne Metrik (Metric), die die Kosten für das Senden von Paketen über die Schnittstelle darstellt. Darüber hinaus verlässt sich OSPF für IPv6 auf den IP-Authentifizierungsheader (IP Authentication Header, siehe [IPAUTH]) und die IP-Einkapselungs-Sicherheitsnutzlast (IP Encapsulating Security Payload, siehe [IPESP]), wie in [OSPFV3-AUTH] beschrieben, um die Integrität und Authentifizierung/Vertraulichkeit von Routing-Austauschen zu gewährleisten. Aus diesem Grund sind AuType und Authentifizierungsschlüssel nicht mit IPv6-OSPF-Schnittstellen verbunden.
Interface-Zustände, Ereignisse und die Interface-Zustandsmaschine bleiben gegenüber IPv4 unverändert, wie in den Abschnitten 9.1, 9.2 und 9.3 von [OSPFV2] dokumentiert. Der Wahl-Algorithmus für Designated Router und Backup Designated Router bleibt ebenfalls gegenüber der IPv4-Wahl in Abschnitt 9.4 von [OSPFV2] unverändert.
4.1.3. The Neighbor Data Structure (Neighbor-Datenstruktur)
Die Neighbor-Struktur erfüllt in IPv6 und IPv4 dieselbe Funktion. Nämlich sammelt sie alle Informationen, die erforderlich sind, um eine Adjacency zwischen zwei Routern zu bilden, wenn eine solche Adjacency erforderlich wird. Jede Neighbor-Struktur ist an eine einzelne OSPF-Schnittstelle gebunden. Die Unterschiede zwischen der IPv6-Neighbor-Struktur und der für IPv4 in Abschnitt 10 von [OSPFV2] definierten Neighbor-Struktur sind:
Neighbor's Interface ID (Interface-ID des Nachbarn)
Die Interface-ID, die der Nachbar in seinen Hello-Paketen ankündigt, muss in der Neighbor-Struktur aufgezeichnet werden. Der Router wird die Interface-ID des Nachbarn in das Router-LSA des Routers aufnehmen, wenn entweder a) ein Point-to-Point- oder Point-to-Multipoint-Link zum Nachbarn angekündigt wird oder b) ein Link zu einem Netzwerk angekündigt wird, bei dem der Nachbar zum Designated Router geworden ist.
Neighbor IP address (Nachbar-IP-Adresse)
Die IPv6-Adresse des Nachbarn, die als Quelladresse in OSPF-Paketen für IPv6 enthalten ist. Dies wird für alle Link-Typen außer virtuellen Links eine IPv6-Link-Local-Adresse sein.
Neighbor's Designated Router (Designated Router des Nachbarn)
Die Wahl des Nachbarn für den Designated Router wird jetzt als Router-ID (Router ID) statt als IP-Adresse codiert.
Neighbor's Backup Designated Router (Backup Designated Router des Nachbarn)
Die Wahl des Nachbarn für den Backup Designated Router wird jetzt als Router-ID statt als IP-Adresse codiert.
Neighbor-Zustände, Ereignisse und die Neighbor-Zustandsmaschine bleiben gegenüber IPv4 unverändert, wie in den Abschnitten 10.1, 10.2 und 10.3 von [OSPFV2] dokumentiert. Die Entscheidung, welche Adjacencies gebildet werden, bleibt ebenfalls gegenüber der IPv4-Logik, die in Abschnitt 10.4 von [OSPFV2] dokumentiert ist, unverändert.