4.1. Protocol Data Structures (Structures de données de protocole)
Les principales structures de données OSPF sont les mêmes pour IPv4 et IPv6 : les zones (Areas), les interfaces (Interfaces), les voisins (Neighbors), la base de données d'états de liaison (Link-State Database) et la table de routage (Routing Table). Les structures de données de niveau supérieur pour IPv6 restent celles listées dans la section 5 de [OSPFV2], avec les modifications suivantes :
- Tous les LSA avec un type LS connu et une portée d'inondation AS (AS Flooding Scope) apparaissent dans la structure de données de niveau supérieur, au lieu d'appartenir à une zone ou un lien spécifique. Les AS-external-LSAs sont les seuls LSA définis par cette spécification qui ont une portée d'inondation AS. Les LSA avec un type LS inconnu, le bit U défini à 1 (inonder même lorsque non reconnu) et une portée d'inondation AS apparaissent également dans la structure de données de niveau supérieur.
4.1.1. The Area Data Structure (Structure de données de zone)
La structure de données de zone IPv6 contient tous les éléments définis pour les zones IPv4 dans la section 6 de [OSPFV2]. De plus, tous les LSA de type connu qui ont une portée d'inondation de zone (Area Flooding Scope) sont contenus dans la structure de données de zone IPv6. Cela inclut toujours les types de LSA suivants : router-LSAs, network-LSAs, inter-area-prefix-LSAs, inter-area-router-LSAs et intra-area-prefix-LSAs. Les LSA avec un type LS inconnu, le bit U défini à 1 (inonder même lorsque non reconnu) et une portée de zone apparaissent également dans la structure de données de zone. Les NSSA-LSAs sont également inclus dans la structure de données d'une zone NSSA.
4.1.2. The Interface Data Structure (Structure de données d'interface)
Dans OSPF pour IPv6, une interface connecte un routeur à un lien. La structure d'interface IPv6 modifie la structure d'interface IPv4 (telle que définie dans la section 9 de [OSPFV2]) comme suit :
Interface ID (ID d'interface)
Chaque interface se voit attribuer un ID d'interface, qui identifie de manière unique l'interface avec le routeur. Par exemple, certaines implémentations peuvent utiliser le MIB-II IfIndex ([INTFMIB]) comme ID d'interface. L'ID d'interface apparaît dans les paquets Hello envoyés sur l'interface, le link-local-LSA (LSA de lien local) originé par le routeur pour le lien attaché, et le router-LSA originé par le routeur pour la zone associée. Il servira également de Link State ID pour le network-LSA que le routeur originera pour le lien si le routeur est élu routeur désigné (Designated Router).
L'ID d'interface pour un lien virtuel (Virtual Link) est indépendant de l'ID d'interface de l'interface sortante qu'il traverse dans la zone de transit (Transit Area).
Instance ID (ID d'instance)
Chaque interface se voit attribuer un ID d'instance. La valeur par défaut devrait être 0. Il n'est nécessaire d'attribuer une valeur autre que 0 que sur les liens qui contiendront plusieurs communautés séparées de routeurs OSPF. Par exemple, supposons qu'il y ait deux communautés de routeurs sur un segment ethernet donné que vous souhaitez garder séparées.
La première communauté se voit attribuer un ID d'instance de 0 et tous les routeurs de la première communauté se verront attribuer 0 comme ID d'instance pour les interfaces connectées au segment ethernet. Un ID d'instance de 1 est attribué aux interfaces des autres routeurs connectés au segment ethernet. Le traitement de transmission et de réception OSPF (voir section 4.2) gardera alors les deux communautés séparées.
List of LSAs with link-local scope (Liste des LSA avec portée lien-local)
Tous les LSA avec une portée lien-local (Link-Local Scope) et qui ont été originés/inondés sur le lien appartiennent à la structure d'interface qui se connecte au lien. Cela inclut la collection des link-LSAs du lien.
IP interface address (Adresse d'interface IP)
Pour IPv6, l'adresse IPv6 apparaissant dans la source des paquets OSPF envoyés sur l'interface est presque toujours une adresse lien-local (Link-Local Address). La seule exception concerne les liens virtuels qui doivent utiliser l'une des propres adresses IPv6 globales du routeur comme adresse d'interface IP.
List of link prefixes (Liste des préfixes de lien)
Une liste de préfixes IPv6 peut être configurée pour le lien attaché. Ceux-ci seront annoncés par le routeur dans les link-LSAs, afin qu'ils puissent être annoncés par le routeur désigné du lien dans les intra-area-prefix-LSAs.
Dans OSPF pour IPv6, chaque interface de routeur a une seule métrique (Metric) représentant le coût d'envoi de paquets sur l'interface. De plus, OSPF pour IPv6 s'appuie sur l'en-tête d'authentification IP (IP Authentication Header, voir [IPAUTH]) et la charge utile de sécurité encapsulante IP (IP Encapsulating Security Payload, voir [IPESP]) comme décrit dans [OSPFV3-AUTH] pour assurer l'intégrité et l'authentification/confidentialité des échanges de routage. Pour cette raison, AuType et la clé d'authentification ne sont pas associés aux interfaces OSPF IPv6.
Les états d'interface, les événements et la machine à états d'interface restent inchangés par rapport à IPv4 comme documenté dans les sections 9.1, 9.2 et 9.3 de [OSPFV2] respectivement. L'algorithme d'élection du routeur désigné et du routeur désigné de secours reste également inchangé par rapport à l'élection IPv4 dans la section 9.4 de [OSPFV2].
4.1.3. The Neighbor Data Structure (Structure de données de voisinage)
La structure de voisinage remplit la même fonction dans IPv6 et IPv4. À savoir, elle collecte toutes les informations requises pour former une adjacence entre deux routeurs lorsqu'une telle adjacence devient nécessaire. Chaque structure de voisinage est liée à une seule interface OSPF. Les différences entre la structure de voisinage IPv6 et la structure de voisinage définie pour IPv4 dans la section 10 de [OSPFV2] sont :
Neighbor's Interface ID (ID d'interface du voisin)
L'ID d'interface que le voisin annonce dans ses paquets Hello doit être enregistré dans la structure de voisinage. Le routeur inclura l'ID d'interface du voisin dans le router-LSA du routeur lorsque a) il annonce un lien point-à-point ou point-à-multipoint vers le voisin ou b) il annonce un lien vers un réseau où le voisin est devenu le routeur désigné.
Neighbor IP address (Adresse IP du voisin)
L'adresse IPv6 du voisin contenue comme adresse source dans les paquets OSPF pour IPv6. Ce sera une adresse IPv6 lien-local pour tous les types de lien sauf les liens virtuels.
Neighbor's Designated Router (Routeur désigné du voisin)
Le choix du voisin pour le routeur désigné est maintenant encodé en tant que Router ID (ID de routeur) au lieu d'une adresse IP.
Neighbor's Backup Designated Router (Routeur désigné de secours du voisin)
Le choix du voisin pour le routeur désigné de secours est maintenant encodé en tant que Router ID au lieu d'une adresse IP.
Les états de voisinage, les événements et la machine à états de voisinage restent inchangés par rapport à IPv4 comme documenté dans les sections 10.1, 10.2 et 10.3 de [OSPFV2] respectivement. La décision quant aux adjacences à former reste également inchangée par rapport à la logique IPv4 documentée dans la section 10.4 de [OSPFV2].