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. IPv6 et les applications
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

IPv6 et les applications

Objectifs du chapitre

L’objectif de ce chapitre est de faire le point sur les conséquences d’IPv6 en matière d’applications. En effet, nous avons travaillé jusqu’à présent sur la mise en place d’IPv6 et l’utilisation des outils permettant de gérer IPv6 au niveau des couches réseau et transport.

Mais pour qu’IPv6 puisse avoir un intérêt aussi bien pour les administrateurs réseau que pour les utilisateurs, il faut que les applications que tout le monde utilise (navigateur, client et serveur de messagerie, SSH, FTP, DNS…) soient capables d’utiliser ce nouveau format d’adresse.

Ce chapitre est donc l’occasion d’explorer les applications les plus courantes et de voir quelles modifications de configuration leur apporter, ou quels arguments spécifiques employer, pour leur permettre d’accéder aux adresses IPv6.

Principales applications

Rappelons tout d’abord que si le serveur DNS auquel nous nous adressons contient, pour un même nom, des adresses IPv4 et IPv6, il pourra fournir les deux en réponse à nos requêtes et c’est l’application qui choisira, si elle en est capable, d’utiliser IPv4 ou IPv6. Le plus souvent, si l’adresse IPv6 est disponible, elle sera privilégiée à l’adresse IPv4, mais cela reste encore très variable (et paramétrable ou non selon l’application). Ou bien encore ce sera un argument (-6 ou -4 comme c’est le cas dans beaucoup d’outils en ligne de commande) qui fixera le mode de travail. Enfin, il peut y avoir deux versions de la même commande, l’une en IPv6 l’autre en IPv4 (ou cela peut également être le nom sous lequel la commande est appelée qui diffère, alors que le code exécutable est commun).

Si nous spécifions explicitement (par son nom ou par un argument) en quel mode (IPv4 ou IPv6) la commande doit s’exécuter, alors la requête DNS correspondra au mode choisi. Une application IPv4 demandera uniquement l’enregistrement A (adresse IPv4), celle IPv6 demandera uniquement l’enregistrement AAAA (adresse IPv6) alors qu’une application mixte demandera les deux.

Pour illustrer cette dernière possibilité, nous allons utiliser la commande ftp jerry.exemples.org.

Les requêtes DNS consécutives à cette commande sont capturées par l’outil tshark :


root@droopy89:~# tshark -S -n -i eth0 port 53  
Running as user "root" and group "root". This could be dangerous. 
Capturing on eth0 
 
Nous voyons bien deux requêtes pour le même nom 
 
  0.000000 192.168.89.61 -> 8.8.8.8      DNS Standard query A 
jerry.exemples.org 
  0.000068 192.168.89.61 -> 8.8.8.8      DNS Standard query AAAA 
jerry.exemples.org 
 
Et deux réponses : l'une en IPv4 l'autre en IPv6 
 
  0.042991      8.8.8.8 -> 192.168.89.61 DNS Standard query 
response A 173.246.100.78 
  0.044920      8.8.8.8 -> 192.168.89.61 DNS Standard query 
response AAAA 2001:41d0:2:657d:0:25:2:2012
 

Si nous regardons ce qui se passe...

Traitement des adresses IP par les applications

En dehors des grosses applications commerciales ou open source que nous avons évoquées, une myriade d’applications commerciales ou internes font appel aux adresses IP. Il y a donc quelques points majeurs à prendre en compte :

  • L’espace nécessaire pour stocker une adresse IPv6 est beaucoup plus grand que celui nécessité par une adresse IPv4. Il faut donc que cela soit pris en compte par les développeurs.

  • La syntaxe avec des : propres à notre représentation des adresses IPv6 peut être source de confusion avec des adresses où l’IP est suivie d’un numéro de port. Certaines applications peuvent interpréter ce qui suit le dernier : comme un numéro de port.

  • Les syntaxes multiples possibles pour une même adresse IP, lorsqu’elle est représentée en alphanumérique, rendent difficiles des traitements automatiques pour les recherches, les tris, les comparaisons. Il faut donc que les développeurs se basent sur la valeur binaire et non sur la représentation textuelle des adresses IPv6.

L’horizon est certes plus lointain mais il faut aussi que les développeurs s’assurent que leurs applications pourront fonctionner dans un monde uniquement IPv6. Des acteurs majeurs tels qu’Apple deviennent d’ailleurs exigeants sur la conformité...

Pour aller plus loin

Voici quelques liens pour vous aider à faire le point sur l’état du support d’IPv6. Les informations sont parfois un peu datées mais cela peut quand même servir de base pour une recherche.

Et des liens sur les orientations fixées par Apple aux développeurs :