Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. IPv6
  3. Protocole IPv6 et adressage
Extrait - IPv6 Principes et mise en oeuvre (2e édition)
Extraits du livre
IPv6 Principes et mise en oeuvre (2e édition) Revenir à la page d'achat du livre

Protocole IPv6 et adressage

Objectifs du chapitre

L’objectif de ce chapitre est de présenter dans un premier temps la structure et la syntaxe des adresses mises en œuvre dans IPv6. Ensuite, nous aborderons les différents types d’adresses utilisables dans ce protocole.

Syntaxe des adresses IPv6

Comme nous l’avons déjà brièvement évoqué dans le chapitre Pourquoi IPv6 ?, la structure des adresses change significativement en IPv6. Alors qu’en IPv4 une adresse se compose de 32 bits répartis en quatre octets (par exemple 192.168.254.22), une adresse IPv6 comporte 128 bits, soit 16 octets.

Pour faciliter la manipulation de telles adresses, celles-ci sont divisées en huit blocs de 16 bits séparés par le caractère : (deux points), comme dans certaines notations d’adresses MAC. De même, la notation est également basée sur des caractères hexadécimaux. Nous trouverons donc uniquement les chiffres de 0 à 7 ainsi que les lettres de A à F.

Par exemple, nous pourrons rencontrer l’adresse IPv6 suivante : 2001:0db8:0000:0000:0101:abcd:def1:1234.

Une même adresse peut revêtir différentes formes car plusieurs mécanismes de simplification de l’écriture d’une adresse IPv6 existent. Nous allons maintenant les décrire et donner quelques exemples pour chacun d’entre eux.

1. Suppression des zéros de tête

Les zéros figurant en tête de chaque bloc peuvent être supprimés, ce qui transformera notre exemple en :

2001:db8:0:0:101:abcd:def1:1234

2. Utilisation d’un double ::

Lorsqu’un ou plusieurs blocs consécutifs ne contiennent que des zéros, il est possible de les abréger en utilisant un double :: comme dans notre exemple qui devient alors : 2001:db8::101:abcd:def1:1234.

De même, si nous avions...

Types d’adresses IPv6

1. Généralités

En IPv6, il existe de nombreux types d’adresses. Il y a tout d’abord trois catégories principales :

  • Unicast - c’est l’adresse la plus classique, qui désigne une interface unique en IPv6. Tout paquet ayant pour destination cette adresse est délivré uniquement à l’interface détentrice de cette adresse.

  • Multicast - comme en IPv4, tout paquet envoyé à une adresse de ce type est reçu et traité par l’ensemble des interfaces appartenant au groupe de diffusion désigné par cette adresse. Nous verrons un peu plus loin la syntaxe de telles adresses.

  • Anycast - il s’agit de désigner une adresse pouvant être détenue par plusieurs interfaces (sur un même matériel ou sur des matériels différents). Dans ce cas, un paquet envoyé à une adresse Anycast est traité seulement par une de ces interfaces, souvent celle qui est la plus proche topologiquement.

À l’intérieur de ces principaux types, notamment le type Unicast, nous allons retrouver d’autres distinctions.

Voici tout d’abord un schéma résumant l’ensemble des types d’adresses actuellement utilisés en IPv6. Il permettra de plus facilement repérer chaque type lorsque nous l’aborderons en détail.

images/03EP01N.PNG

Le lecteur pourra se référer au RFC 4291 (de 2006, remplaçant le RFC 3513) pour avoir le texte officiel décrivant ces adresses.

2. Adresses Unicast

C’est l’adresse la plus classique, qui désigne une interface unique en IPv6. Tout paquet ayant pour destination cette adresse est délivré uniquement à l’interface détentrice de cette adresse.

Elle se décompose généralement en un identifiant d’interface (interface ID) et un préfixe de sous-réseau (subnet prefix) selon le schéma suivant :

n bits

128 -n bits

Préfixe du sous-réseau

Interface ID

L’interface ID est la plupart du temps sur 64 bits. Elle est couramment dérivée de l’adresse MAC de l’interface mais elle peut aussi être définie manuellement ou de façon aléatoire. Nous ne détaillerons pas beaucoup cette partie de l’adresse...

Pour aller plus loin

1. Un outil : ipv6calc (Linux)

L’utilitaire ipv6calc présent dans certaines distributions Linux et BSD ou téléchargeable depuis l’URL http://www.deepspace6.net/projects/ipv6calc.html permet des opérations de décodage et/ou de conversion sur ces adresses IP.

Par exemple, nous pouvons observer les sorties produites pour une adresse globale avec extraction du type mais aussi de l’interface ID correspondant à l’adresse MAC du serveur :


[root@jerry ~]# ipv6calc -q -i 
2604:3400:dc1:41:216:3eff:fed6:2ba0 
Address type: unicast, global-unicast 
Address type has SLA: 0041 
Registry for address: ARIN 
Interface identifier: 0216:3eff:fed6:2ba0 
EUI-48/MAC address: 00:16:3e:d6:2b:a0 
MAC is a global unique one 
MAC is an unicast one 
OUI is: Xensource, Inc. 
[root@jerry ~]# 
 

ou bien encore celle d’une adresse locale :


[root@jerry ~]# ipv6calc -q -i fe80::216:3eff:fed6:2ba0 
librfc1884/compaddr_to_uncompaddr: fill one 0 (5) 
Address type: unicast, link-local 
Registry for address: reserved 
Interface identifier: 0216:3eff:fed6:2ba0 
EUI-48/MAC address: 00:16:3e:d6:2b:a0 
MAC is a global unique one 
MAC is an unicast one 
OUI is: Xensource, Inc. 
[root@jerry ~]# 
 

et enfin celles issues d’adresses multicast :


[admin@jerry ~]$ ipv6calc -q -i ff02::2 
librfc1884/compaddr_to_uncompaddr: fill one 0 (2) ...