IPv4 vs IPv6 : longueur d’adresse, en-tête, configuration d’adresse, NAT, IPsec

IPv4 et IPv6 sont deux protocoles de la couche réseau qui acheminent les paquets jusqu’à leur destination. Les adresses IPv4 font 32 bits, soit seulement environ 4,3 milliards d’adresses : il est donc devenu courant que de nombreux appareils partagent une même adresse globale grâce aux adresses privées et au NAT. IPv6 étend les adresses à 128 bits, simplifie l’en-tête à une taille fixe de 40 octets et supprime le découpage des paquets (fragmentation) par les routeurs du chemin. Les deux ne sont cependant pas compatibles : un appareil uniquement IPv4 et un appareil uniquement IPv6 ne peuvent pas communiquer directement. La transition combine donc la double pile (dual stack, les deux en même temps), le tunnelage (transport des paquets de l’un dans des paquets de l’autre) et la traduction d’adresses comme NAT64.

CritèreIPv4IPv6
Longueur et nombre d’adresses32 bits : 2 puissance 32 (environ 4,3 milliards) adresses128 bits : 2 puissance 128 (environ 3,4×10^38) adresses
NotationQuatre nombres décimaux de 8 bits séparés par des points (par ex. 192.0.2.1)Huit groupes hexadécimaux de 16 bits séparés par des deux-points ; les zéros de tête de chaque groupe, ainsi qu’une suite de groupes nuls notée ::, peuvent être omis (par ex. 2001:db8::1)
En-têteLongueur variable de 20 à 60 octets, avec options et somme de contrôle d’en-tête40 octets fixes sans somme de contrôle ; les options sont chaînées à la suite sous forme d’en-têtes d’extension ; l’équivalent du TTL est la limite de sauts (hop limit)
FragmentationLes routeurs du chemin, et pas seulement la source, peuvent découper les paquets (sauf si le bit DF est positionné)Les routeurs ne fragmentent pas ; seule la source découpe les paquets, à l’aide d’un en-tête d’extension ; la MTU d’un lien est d’au moins 1280 octets
Configuration automatique des adressesAttribution par DHCP (ou configuration manuelle)SLAAC, où l’hôte construit sa propre adresse à partir des informations des annonces de routeur (RA), ou DHCPv6 ; une adresse lien-local est toujours créée automatiquement
Résolution des adresses MACARP, qui interroge par diffusion (broadcast)Découverte des voisins ICMPv6 (NDP), qui interroge par multicast
NATPour pallier la pénurie d’adresses, le partage d’une adresse globale via des adresses privées et le NAPT est courantConçu pour que chaque appareil reçoive une adresse globale et communique de bout en bout avec la même adresse, les adresses étant abondantes ; le NAT n’est en général pas utilisé
Types de destinatairesUnicast, diffusion (broadcast), multicastUnicast, multicast, anycast ; il n’y a pas de diffusion, le multicast la remplace
IPsecFacultatif, ajouté au besoinLes premières exigences rendaient son implémentation obligatoire ; les exigences actuelles (RFC 8504) la recommandent. Son utilisation effective dépend de la configuration dans les deux cas

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

IPv4
Encore utilisé sur de nombreux réseaux et services : presque tous les appareils devront le prendre en charge pendant longtemps encore. Les adresses étant rares, il s’utilise avec des adresses privées et le NAT.
IPv6
Lorsqu’on veut attribuer des adresses globales à de nombreux appareils sans passer par le NAT, ou lors de la construction d’un nouveau réseau. En pratique, on le déploie généralement en double pile aux côtés d’IPv4.

Questions fréquentes

Un appareil IPv6 peut-il communiquer directement avec un appareil IPv4 ?

Non. Le format d’en-tête et la longueur d’adresse diffèrent, et les deux ne sont pas compatibles. De nombreux réseaux utilisent la double pile : les appareils reçoivent à la fois une adresse IPv4 et une adresse IPv6 et utilisent celle qui convient à l’interlocuteur. Pour qu’un appareil uniquement IPv6 atteigne un serveur uniquement IPv4, on utilise des mécanismes de traduction comme NAT64 et DNS64. Pour transporter des paquets IPv6 à travers un réseau IPv4, le tunnelage les encapsule dans des paquets IPv4.

N’utilise-t-on pas le NAT avec IPv6 ?

On peut l’utiliser, mais il n’est en général pas nécessaire. La principale raison de l’essor du NAT avec IPv4 était la pénurie d’adresses, alors qu’IPv6 peut donner à chaque appareil largement assez d’adresses globales. Restreindre les connexions initiées depuis l’extérieur est le rôle d’un pare-feu, pas du NAT. Le NAT ne chiffre pas le trafic et ne protège pas à lui seul contre les attaques extérieures.

Qu’est-ce qui change pour le DNS avec IPv6 ?

Les enregistrements A associent un nom à une adresse IPv4, et les enregistrements AAAA à une adresse IPv6. Les appareils en double pile interrogent généralement les deux et utilisent IPv6 s’ils peuvent se connecter ainsi, sinon ils se replient sur IPv4.

Pourquoi les adresses IPv6 s’écrivent-elles en hexadécimal (base 16) ?

Parce que 128 bits écrits en décimal seraient très longs. L’adresse est divisée en huit groupes de 16 bits, chacun écrit avec quatre chiffres hexadécimaux. Les zéros de tête de chaque groupe peuvent être supprimés, et une suite de groupes entièrement nuls peut être abrégée en ::. Par exemple, 2001:0db8:0000:0000:0000:0000:0000:0001 peut s’écrire 2001:db8::1.

Vérifier vos connaissances

Quelle forme abrège correctement, selon les règles d'abréviation, l'adresse IPv6 suivante : 2001:0db8:0000:0000:0000:0000:0000:0001 ?

  1. A2001:db8:1
  2. B2001:db8::1
  3. C2001:db8::0::1
Afficher la réponse et l'explication

Réponse : B. 2001:db8::1

Une adresse IPv6 fait 128 bits (IPv4 : 32 bits) ; elle est divisée en 8 groupes de 16 bits, chacun écrit avec 4 chiffres hexadécimaux. Il existe deux règles d'abréviation : on peut supprimer les zéros de tête de chaque groupe (0db8→db8, 0001→1), et on peut remplacer une seule fois une suite de groupes entièrement nuls par « :: ». Ici, les 5 groupes nuls du troisième au septième sont regroupés, ce qui donne 2001:db8::1. Utiliser « :: » deux fois est interdit, car on ne saurait plus combien de groupes nuls chacun représente. « 2001:db8:1 » n'a que 3 groupes et ne comporte pas le « :: » qui signale des groupes nuls omis ; il se lirait comme une autre adresse et n'est donc pas correct.

Parmi les adresses IPv4 suivantes, laquelle appartient à une plage d'adresses privées ?

  1. A172.32.0.1
  2. B192.168.100.1
  3. C11.1.1.1
Afficher la réponse et l'explication

Réponse : B. 192.168.100.1

Les adresses privées définies par la RFC 1918 forment 3 plages : 10.0.0.0/8, 172.16.0.0/12 (172.16.0.0 à 172.31.255.255) et 192.168.0.0/16. Elles peuvent être utilisées librement au sein des organisations et des foyers ; comme aucune route vers elles n'est annoncée sur Internet, de nombreuses organisations peuvent réutiliser les mêmes adresses. Pour communiquer avec Internet, la fonction NAT du routeur les traduit en adresses globales. Le deuxième octet de 172.32.0.1 sort de la plage 16 à 31 : cette adresse n'appartient donc pas à 172.16.0.0/12, et 11.1.1.1 est également hors de 10.0.0.0/8.

Les box Internet domestiques effectuent du NAPT (IP masquerading), une forme de NAT (traduction d'adresses réseau). Que permet le NAPT ?

  1. APlusieurs terminaux du foyer peuvent partager simultanément une seule adresse IP globale pour communiquer avec Internet, en étant distingués par leur numéro de port
  2. BLe trafic entre les terminaux du foyer et Internet est chiffré et ne peut plus être intercepté en chemin
  3. CChaque terminal du foyer reçoit automatiquement sa propre adresse IP globale
Afficher la réponse et l'explication

Réponse : A. Plusieurs terminaux du foyer peuvent partager simultanément une seule adresse IP globale pour communiquer avec Internet, en étant distingués par leur numéro de port

La NAT (traduction d'adresses réseau) réécrit l'adresse IP source ou destination des paquets qui traversent un routeur. Le NAPT réécrit, en plus de l'adresse IP, le numéro de port, et enregistre dans une table de traduction la correspondance entre « adresse et port internes » et « port externe ». Plusieurs terminaux utilisant des adresses privées peuvent ainsi partager en même temps l'unique adresse globale du routeur. Les paquets de retour sont remis au bon terminal grâce à cette table. Le NAPT ne fait que réécrire les adresses et ne chiffre rien. Par ailleurs, une connexion initiée depuis l'extérieur n'a pas d'entrée dans la table et n'atteint donc pas, par défaut, les terminaux internes ; héberger un serveur à l'intérieur exige des réglages comme la redirection de port.

  1. Quelle description du rôle d'ARP est correcte ?
  2. Quel est le rôle du champ TTL (Time To Live) de l'en-tête IPv4 ?
  3. Lorsqu'un terminal obtient une adresse IP par DHCP, quel est l'ordre correct des messages ?

Questions d'entraînement sur Bases des réseaux informatiques

Termes clés expliqués

CIDR (Classless Inter-Domain Routing)
Méthode qui fixe librement la longueur de la partie réseau d'une adresse IP par un nombre de bits (la longueur de préfixe) écrit après une barre oblique, comme dans 192.168.1.0/24, et la notation correspondante.
Masque de sous-réseau
Valeur de 32 bits qui indique combien de bits de poids fort d'une adresse IP représentent le réseau (la partie réseau). Elle s'écrit par exemple 255.255.255.0, ce qui équivaut à /24 en notation CIDR.
NAT (traduction d'adresses réseau)
Technique qui réécrit les adresses IP des paquets qui traversent un routeur. La variante qui réécrit aussi les numéros de port pour que de nombreux terminaux partagent une seule adresse globale s'appelle NAPT (IP masquerading).
DHCP (Dynamic Host Configuration Protocol)
Protocole qui attribue automatiquement, pour une durée limitée, aux terminaux qui se connectent à un réseau une adresse IP, un masque de sous-réseau, une passerelle par défaut, des serveurs DNS et d'autres paramètres.
ARP (Address Resolution Protocol)
Protocole qui trouve, à partir de son adresse IP, l'adresse MAC d'un équipement situé sur le même réseau. La requête est diffusée, et l'équipement concerné répond.
Adresse MAC
Adresse de 48 bits utilisée en Ethernet et en LAN sans fil pour désigner les équipements au sein d'un même réseau. Les 24 bits de poids fort identifient le fabricant, et l'adresse est attribuée à chaque interface lors de la fabrication.
DNS (Domain Name System)
Système, géré de façon distribuée par des serveurs du monde entier, qui associe des noms de domaine comme www.example.com aux adresses IP utilisées pour la communication.

Comparatifs associés