Adresses IPV6

La pénurie des adresses IPv4 est le premier élément qui a motivé la création d’une nouvelle version du protocole, son format et sa façon de représenter des adresses sont les éléments les plus visibles pour les utilisateurs et administrateurs.

Qu’est ce qu’une adresse IPV6 ?

Une adresse IPv6 est un mot de 128 bits, soit 16 octets, ce qui offre un espace global de 2^128 adresses possibles (contre 2^32 pour l’IPv4), ce chiffre est astronomique, environs 340 sextillions.

Adresses Octets bits Adresses possibles Résultats
IPv4 4 32 2^32 4 294 967 296 (environs 4 milliards)
IPv6 16 128 2^128 340 282 366 920 938 463 463 374 607 431 768 211 456

Comme en IPv4, on considérera qu’une adresse est associée à une interface. Une machine peut posséder plusieurs interfaces. De même, une interface peut supporter plusieurs adresses.

Comparainson IPV4 et IPV6

                                    Adresses IPV4                                     Adresses IPV6
192.168.1.10 2001 0db8.bad0.cafe.5054.00ff.fe35.9a74
11000000 10101000 00000001 00001010 00100000 00000001 00001101 10111000 10111010 11010000 11001010 11111110 01010000 01010100 00000000 11111111 11111110 00110101 10011010 01110100

Notation des adresses IPV6

IPv6 a abandonné la notation décimale pointée utilisée par les adresses IPv4 sur 32 bits (4 octets) car inadaptée pour des chaînes de 128bits (16 octets).
IPv6 a adopté la notation hexadécimale couramment utilisée dans le monde informatique pour représenter des octets par des couples de chiffres, exemple : 2001:0db8:0000:0000:0008:0800:200C:417A

Notation canonique pour l’affichage

Selon le RFC 5952, une adresse IPV6 devrait être affichée selon la forme suivante :

  • Les zéros non significatifs doivent être supprimés.
  • Une suite de champs nuls consécutifs doit être substituée avec des “ :: “ sur la série la plus longue. En cas d’égalité, on l’applique sur la première uniquement.
  • Les chiffres hexadécimaux doivent être en minuscules.
  • Utilisation de crochets pour préciser les ports (cas des URLs).
Notations  Adresse IPV6
Héxadécimal 2001 0db8 0000 0000 0008 0800 200C 417A
Adresse 2001:db8:0:0:8:800:200C:417A
Compacte 2001:db8::8:800:200C:417A

Note : il est possible de voir les IPs sous une autre forme héxadécimale :

  • 20 01 0d b8 00 00 00 00 00 08 08 00 20 0C 41 7A
  • 0x20010db80000000000080800200C417A

Autres exemples :

Adresse Version compacte
Une adresse unicast 2001:0db8:0:0:0:800:200c:417a 2001:db8::800:200c:417a
Une adresse multicast ff01:0:0:0:0:0:0:101 ff01::101
Loopback 0:0:0:0:0:0:0:1 ::1
Unspecified address 0:0:0:0:0:0:0:0 ::

Notation des URL

La notation IPV6 peut crée des ambiguïté aux niveaux des URLs ou numéros de ports et adresses peuvent être confondues.
L’adresse : http://2001:db8:12::1:8000/ peut être interprétée de deux manières :

  • L’adresse est simplement 2001:db8:12::1:8000
  • L’adresse est 2001:db8:12::1 mais on précise le port TCP 8000

Pour lever cette ambiguïté, le RFC 3986 propose d’inclure l’adresse IPv6 entre crochets [ ], ainsi on obtient :

  • http://[2001:db8:12::1:8000]/
  • http://[2001:db8:12::1]:8000/

Notation des préfixes

Comme en IPV4, on utilise la méthode CIDR qui spécifie que les bits de poids fort de l’adresse définissent la localisation du réseau auquel cette dernière appartient. CIDR permet également de mieux hiérarchiser les réseaux, faciliter le routage et permet un moindre gaspillage d’adresses.

Un des problèmes de croissance auquel l’Internet fait face est la croissance de la table de routage des routeurs du cœur. Pour arrêter cette croissance, il sera sans doute nécessaire de séparer les fonctions actuelles des adresses IP en deux : les fonctions d’identificateur et de localisateur.

Note sur la séparation de l’identificateur et du localisateur dans Internet : https://www.bortzmeyer.org/separation-identificateur-localisateur.html

Correspondance avec la forme binaires

Binaire                                     Hexadécimal                                          
00100000 00000001 00001101 10111000 00000000 00000000 00000000 00000000 00000000 00001000 00001000 00000000 00100000 00001100 01000001 01111010 2001 0db8 0000 0000 0008 0800 200C 417A

Exemples

Adresse/masque Première adresse Dernière adresse
2001:db8:24:a1a0::/60 2001:0db8:0024:a1a0:0000:0000:0000:0000 2001:0db8:0024:a1af:ffff:ffff:ffff:ffff
2001:db8:24:a1a2 ::/64 **2001:0db8:0024:a1a2:**0000:0000:0000:0000 2001:0db8:0024:a1a2:ffff:ffff:ffff:ffff

Différents types d’adresses

Type Préfixe binaire d’identification Notation IPv6
Non spécifié 00…0 ::/128
Loopback 00…1 ::1/128
Multicast 1111 1111 ff00::/8
Unicast lien local 1111 1110 10 fe80::/10
Unique Local unicat Address (ULA) 1111 1101 fd00::/8
Unicast globale 001 2000::/3 (adr. commencent par 2 ou 3)

Fonctions des Différents types d’adresses

Une adresse de type **unicast **

  • Identifie une seule interface réseau, donc un seul nœud.

Une adresse de type multicast

  • Identifie un groupe de nœuds :
    • soit un seul nœud
    • soit un réseau de nœuds
    • soit plusieurs nœuds répartis sur l’Internet.
  • Sont identifiées par le préfixe ff00::/8 ; c’est-à-dire les adresses dont tous les bits du premier octet sont à 1.

Une adresse de type anycast

  • Identifier un groupe de nœuds répartis à l’échelle de l’Internet et offrant un même type de service.

Embarquement des adresses IPv4 dans des adresses IPv6 unicast

Une adresse IPV4 écrite en décimal pointé peut également s’écrire en héxadécimal, ainsi l’adresse IPv4 192.168.10.5 s’écrira c0a8:a05 si elle est embarquée dans une adresse IPv6. Exemples :

  • 2002:c0a8:a05:624:5054:1ff1fe12:3456
  • 2001:db8:900d:cafe::c0a8:a05

Si l’adresse IPv4 occupe la partie basse de l’adresse IPv6 (ici les 32 bits de poids faible), la notation décimale pointée d’IPv4 est tolérée. L’adresse 2001:db8:900d:cafe::c0a8:a05 pourra donc s’écrire 2001:db8:900d:cafe::192.168.10.5

Il est à noter que cette écriture est peu courante, voire inexistante dans les configurations et autres matériels de routage qui la convertissent directement en hexadécimal. Elle apporte simplement une aide à la compréhension.

Comment définir des sous réseaux ?

Voir Les adresses IPV6 pages 51 → 62

Documentation

Sites Internet

https://www.fun-mooc.fr/courses/course-v1:MinesTelecom+04012+session05/courseware/9e69eb819d6049bf8cde650ba62a5d00/
https://fr.wikipedia.org/wiki/Protocole_r%C3%A9seau
https://fr.wikipedia.org/wiki/Suite_des_protocoles_Internet
https://fr.wikipedia.org/wiki/Paquet_(r%C3%A9seau)
https://fr.wikipedia.org/wiki/Syst%C3%A8me_binaire
https://fr.wikipedia.org/wiki/Syst%C3%A8me_hexad%C3%A9cimal
https://www.bortzmeyer.org/separation-identificateur-localisateur.html
http://livre.g6.asso.fr/index.php/Main_Page

Lire les très grand nombre : https://www.maths-et-tiques.fr/index.php/detentes/tres-grands-nombres

PDF

0-Pres-pdu-doc.pdf
Les adresses IPV6
Le protocole IPV6
Les mécanismes de gestion d’un réseau IPV6
L’intégration d’IPV6 dans l’Internet
L’essentiel d’IPV6 Cheat-sheet

A voir :
https://security.stackexchange.com/questions/173122/ipv4-addresses-in-different-encodings
https://news.ycombinator.com/item?id=6580592

@todo : cas des adresses en 2001:41d0:2:9d5d::

> Partager <