Appendix A. Creating Modified EUI-64 Format Interface Identifiers (Création d'identificateurs d'interface au format EUI-64 modifié)
Appendix A: Creating Modified EUI-64 Format Interface Identifiers (Création d'identificateurs d'interface au format EUI-64 modifié)
Selon les caractéristiques d'un lien ou d'un nœud spécifique, il existe plusieurs approches pour créer des identificateurs d'interface au format EUI-64 modifié. Cette annexe décrit certaines de ces approches.
Liens ou nœuds avec identificateurs IEEE EUI-64
Le seul changement nécessaire pour transformer un identificateur IEEE EUI-64 en identificateur d'interface est d'inverser le bit «u» (universal/local). Un exemple d'identificateur IEEE EUI-64 globalement unique de la forme:
|0 1|1 3|3 4|4 6|
|0 5|6 1|2 7|8 3|
+----------------+----------------+----------------+----------------+
|cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+----------------+
où «c» sont les bits du company_id assigné, «0» est la valeur du bit universal/local pour indiquer une portée universelle, «g» est le bit individual/group, et «m» sont les bits de l'identificateur d'extension sélectionné par le fabricant. L'identificateur d'interface IPv6 serait de la forme:
|0 1|1 3|3 4|4 6|
|0 5|6 1|2 7|8 3|
+----------------+----------------+----------------+----------------+
|cccccc1gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+----------------+
Le seul changement est l'inversion de la valeur du bit universal/local.
Liens ou nœuds avec MAC IEEE 802 48 bits
[EUI64] définit une méthode pour créer un identificateur IEEE EUI-64 à partir d'un identificateur MAC IEEE 48 bits. Il s'agit d'insérer deux octets, avec des valeurs hexadécimales de 0xFF et 0xFE (voir la note à la fin de l'annexe), au milieu du MAC 48 bits (entre le company_id et l'id fourni par le vendeur). Un exemple est le MAC IEEE 48 bits avec portée globale:
|0 1|1 3|3 4|
|0 5|6 1|2 7|
+----------------+----------------+----------------+
|cccccc0gcccccccc|ccccccccmmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+
où «c» sont les bits du company_id assigné, «0» est la valeur du bit universal/local pour indiquer une portée globale, «g» est le bit individual/group, et «m» sont les bits de l'identificateur d'extension sélectionné par le fabricant. L'identificateur d'interface serait de la forme:
|0 1|1 3|3 4|4 6|
|0 5|6 1|2 7|8 3|
+----------------+----------------+----------------+----------------+
|cccccc1gcccccccc|cccccccc11111111|11111110mmmmmmmm|mmmmmmmmmmmmmmmm|
+----------------+----------------+----------------+----------------+
Lorsque des adresses MAC IEEE 802 48 bits sont disponibles (sur une interface ou un nœud), une implémentation peut les utiliser pour créer des identificateurs d'interface en raison de leurs propriétés de disponibilité et d'unicité.
Liens avec d'autres types d'identificateurs
Il existe plusieurs types de liens qui ont des identificateurs d'interface de couche liaison autres que IEEE EUI-64 ou MAC IEEE 802 48 bits. Les exemples incluent LocalTalk et Arcnet. La méthode pour créer un identificateur au format EUI-64 modifié consiste à prendre l'identificateur de lien (par exemple, l'identificateur de nœud LocalTalk 8 bits) et à le remplir de zéros à gauche. Par exemple, un identificateur de nœud LocalTalk 8 bits de valeur hexadécimale 0x4F donne l'identificateur d'interface suivant:
|0 1|1 3|3 4|4 6|
|0 5|6 1|2 7|8 3|
+----------------+----------------+----------------+----------------+
|0000000000000000|0000000000000000|0000000000000000|0000000001001111|
+----------------+----------------+----------------+----------------+
Notez que cela donne un bit universal/local mis à «0» pour indiquer une portée locale.
Liens sans identificateurs
Il existe plusieurs liens qui n'ont aucun type d'identificateur intégré. Les plus courants sont les liaisons série et les tunnels configurés. Des identificateurs d'interface qui sont uniques dans un préfixe de sous-réseau doivent être choisis.
Lorsqu'aucun identificateur intégré n'est disponible sur un lien, l'approche préférée consiste à utiliser un identificateur d'interface universel d'une autre interface ou un qui est assigné au nœud lui-même. Lors de l'utilisation de cette approche, aucune autre interface connectant le même nœud au même préfixe de sous-réseau ne peut utiliser le même identificateur.
S'il n'y a pas d'identificateur d'interface universel disponible pour une utilisation sur le lien, l'implémentation doit créer un identificateur d'interface de portée locale. La seule exigence est qu'il soit unique dans un préfixe de sous-réseau. Il existe de nombreuses approches possibles pour sélectionner un identificateur d'interface unique au préfixe de sous-réseau. Celles-ci incluent les suivantes:
- Configuration manuelle (Manual Configuration)
- Numéro de série du nœud (Node Serial Number)
- Autre jeton spécifique au nœud (Other Node-Specific Token)
L'identificateur d'interface unique au préfixe de sous-réseau devrait être généré de manière à ne pas changer après un redémarrage d'un nœud ou si des interfaces sont ajoutées ou supprimées du nœud.
La sélection de l'algorithme approprié dépend du lien et de l'implémentation. Les détails sur la formation des identificateurs d'interface sont définis dans la spécification appropriée «IPv6 over <link>». Il est fortement recommandé qu'un algorithme de détection de collision soit implémenté dans le cadre de tout algorithme automatique.
Note: [EUI-64] définit en fait 0xFF et 0xFF comme les bits à insérer pour créer un identificateur IEEE EUI-64 à partir d'un identificateur IEEE MAC-48. Les valeurs 0xFF et 0xFE sont utilisées lors du démarrage avec un identificateur IEEE EUI-48. La valeur incorrecte a été utilisée dans les versions antérieures de la spécification en raison d'une incompréhension des différences entre les identificateurs IEEE MAC-48 et EUI-48.
Ce document continue délibérément l'utilisation de 0xFF et 0xFE car cela répond aux exigences pour les identificateurs d'interface IPv6 (c'est-à-dire qu'ils doivent être uniques sur le lien), les identificateurs IEEE EUI-48 et MAC-48 sont syntaxiquement équivalents, et cela ne cause aucun problème en pratique.