iOS4 apporte l’IPv6 sur iPhone et iPod touch

C’est enfin arrivé, le système d’exploitation de Apple pour iPhone et iPod Touch passe en version 4.0 et dans son lot d’améliorations on trouve la prise en charge du protocole IPv6. A noter que Apple a fait le choix de limiter ce protocole aux seules liaisons Wifi (donc pas d’IPv6 en 3G, mais ce n’est pas grave tant que les opérateurs n’utilisent pas ce protocole sur leur réseau). Safari, Le navigateur intégré, sait désormais se connecter aux sites WEB en IPv6.

Auto configuration stateless

La solution implémentée est le mode stateless. A la connexion du wifi, l’iPhone envoie une trame de sollicitation de routeur. Si un routeur IPv6 est présent il lui annoncera le préfixe du réseau local (un /64). L’iPhone choisira alors une adresse dans l’espace d’adressage de ce préfixe et utilisera le routeur qui lui a répondu comme routeur par défaut.

L’adresse n’est pas choisie au hasard, au préfixe 64 bits est ajouté l’adresse EUI-64 qui est calculée à partir de l’adresse mac de l’interface.

A noter que l’IETF a décidé de promouvoir l’utilisation d’adresses totalement aléatoires pour l’auto configuration IPv6, l’EUI-64 étant considéré par certains comme contenant des informations sensibles (la mac adresse) pouvant menacer la vie privée.

Implémentation avancée de l’IPv6

Il n’y a rien dans les réglages qui permette de connaître la configuration IPv6 de l’iPhone ou de la modifier (pas d’adresse statique, pas de DHCPv6) il n’est pas non plus possible de désactiver ce protocole. Sans doute Apple, dans un soucis de faire simple, n’a pas voulu choquer l’utilisateur moyen avec ce type d’adresses capables d’effrayer les administrateurs réseau habitués à l’IPv4.

Dans mon environnement de test, mon routeur IPv6, dans son annonce de préfixe /64, informe les équipements que les informations complémentaires sont disponibles sur un serveur DHCPv6. L’iPhone en tient compte et récupère ainsi les adresses IPv6 des serveurs DNS et les noms de domaine de recherche par défaut. En revanche pas de récupération de l’adresse IPv6 par le DHCPv6.

La résolution de noms utilise les serveurs DNS IPv4 en priorité. En revanche pour chaque recherche DNS, l’iPhone recherche les enregistrements A et AAAA pour obtenir respectivement l’adresse IPv4 et IPv6 d’une machine à laquelle il souhaite se connecter. Si une adresse IPv6 existe, elle sera utilisée en priorité (conformément aux recommandations).

L’iPhone implémente également un serveur MDNS utilisé dans les cas de configuration zéroconf. Ce serveur utilise les deux protocoles. Chaque requête est doublée : une sur le réseau IPv4, l’autre sur IPv6.

A priori l’implémentation de IPv6 est complète et l’iPhone pourrait communiquer sur un réseau IPv6 uniquement. Pas de panique, utiliser uniquement IPv6 est aujourd’hui une aberration, les deux protocole vont cohabiter pendant de longues années.

Pour conclure

Pour ma part je salue toute initiative qui permet de diffuser le protocole IPv6 sur tous les équipements. Dommage que les plus anciens appareils de la marque (les iPhones et iPod Touch de première génération) ne pourront pas bénéficier de ce protocole car il n’est pas possible d’y installer l’iOS 4.

En France, si vous êtres abonné freebox dégroupé et que vous avez activé la prise en charge IPv6 alors vous pouvez bénéficier de ce protocole sur votre iPhone. La freebox est votre routeur IPv6, c’est elle qui annonce le préfixe à utiliser.

6 réflexions sur « iOS4 apporte l’IPv6 sur iPhone et iPod touch »

  1. Bonjour, merci pour ton billet et j’aurais une petite question, il n’y a vraiment aucun moyen pour savoir si l’iphone suit bien le protocole IPV6 ?

    j’ai essayé hier, comme je l’ai fait pour mes PC de lancer « myipv6.org » sur le téléphone et il m’a détecté en ipv4 ?

    Désolé si ces questions te paraissent simplistes mais je suis novice en la matière ! merci et bonne journée.

    • 3 conditions pour que cela fonctionne :
      – Le réseau local doit disposer d’une connectivité IPv6 native. Pour faire court, un routeur IPv6 doit s’annoncer, c’est le cas d’une freebox en France avec la case IPv6 cochée dans la console de gestion.
      – L’iPhone doit être relié en wifi à ce réseau (pas d’IPv6 en 3G)
      – Le site auquel tu accèdes dois être présent dans l’internet IPv6. S’il est présent à la fois sur IPv4 et IPv6, c’est IPv6 qui est préféré (ce qui est le cas de myipv6.org).

      Je ferai le test ce soir.

    • J’ai fait le test sur deux sites. J’ai été surpris de constater que sur « myipv6.org » il se connecte en IPv4 alors que sur « whatismyv6.com » il se connecte en IPv6. J’ai lancé un sniffer réseau et je n’ai détecté rien d’anormal. Pour le forcer à refaire toutes les résolutions DNS j’ai passé l’iPhone en mode avion puis je suis revenu en mode normal. De retour sous safari il s’est connecté aux deux sites en IPv6. C’est juste une observation, je ne sais pas pourquoi il a réagi comme ça. En revanche pour les résolutions DNS il continue d’utiliser les serveurs IPv4 même si mon DHCPv6 lui a bien fourni une adresse de serveur DNS en IPv6

  2. « whatismyv6.com » je ne connaissais pas celui là , j’essaye comme tu l’as fait ce soir, « mode avion et test sur les deux sites » ! merci pour ton aide en tout cas 🙂

    Ps: je te dirais ce qu’il en est ce soir ou demain 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *