IP version 6

Bernard TUY (CNRS / UREC)

Bernard.Tuy@urec.fr

Un nouvel Internet Protocol

L'explosion de l'Internet -dont la taille double tous les 12 mois- a deux conséquences :

. la consommation des adresses s'est fortement accélérée ces dernières années, et l'on commence à parler d'épuisement des adresses IPv4 (la " fin du monde IPv4  " est estimée aux environs de 2010 !)

. la taille des tables de routage des équipements qui doivent connaitre toutes les routes mondiales (full routing) est devenue gigantesque et n'est pas sans poser quelques problèmes aux opérateurs de services IP.

Pour pallier ces difficultés inhérentes à la version actuelle du protocole (IPv4), un nouveau protocole a été spécifié. Il doit permettre d'adresser un espace beaucoup plus grand (109 réseaux au moins) et fournir des techniques de routage plus efficaces (en lien avec un adressage hiérarchique).

L'élaboration d'un nouveau protocole -qui a recu pour nom IP version 6 (ou IPv6)- pour résoudre en premier lieu le problème d'adressage mentionné ci-dessus, a été l'occasion d'inclure de nouvelles fonctionnalités qui faisaient défaut à son prédécesseur: la sécurité, le support du temps réel et du multipoint ...).

Le rôle de l'IETF (Internet Engineering Task Force) a été prépondérant dans le processus d'élaboration des spécifications du nouveau protocole. Il a d'abord fait publier un livre blanc (RFC 1550) pour définir les fonctionnalités du nouvel IP. A l'issue d'un long travail d'analyse et de débats, " les critères techniques pour choisir le nouvel IP " (RFC 1726) ont été publiés. Trois propositions ont été retenues (sur les 21 recueillies), comme proches des critères imposés. Il s'agit de CATNIP (Common Architecture for The Internet Protocol), SIPP (Simple Internet Protocol Plus) et TUBA (TCP and UDP with Bigger Addresses).

Finalement, SIPP -moyennant un certain nombre de modifications-a été retenu. Le processus aura duré 4ans ! (sans parler de la phase de développement et d'implantation dans les équipements, où nous sommes aujourd'hui...).

Quelques caractéristiques de IPv6

1. Le format des adresses a été au centre de vifs débats dans la phase de sélection évoquée ci-dessus. Finalement c'est une adresse sur 16 octets qui a été retenue (au lieu des 4 octets de IPv4).

Une partie de cette adresse pourra être constituer de l'adresse MAC de l'équipement, (6 octets). Enfin, l'adressage sera hiérarchique, c'est à dire qu'il sera organisé par zone géographique et/ou par prestataire de service...Cette organisation de l'espace d'adressage permettra de réduire considérablement la taille des tables de routage actuelles.

2. L'en-tête du paquet IPv6 est fortement simplifié (7 champs au lieu de 14 dans IPv4). Il inclut un champs d'extension pour les fonctionnalités optionnelles (sécurité, source routing, ...).

Les options de IPv6 sont placées dans des en-têtes séparés, intercalés entre l'en-tête IPv6 et l'en-tête de la couche transport.

3. Nouvelles fonctionnalités du protocole IPv6 :

- La Sécurité, tant décriée ou réclamée -selon le point de vue où l'on se place- sera rendue par des fonctions d'authentification / intégrité des données (SAID: Security Association Identifier, MD5...) utilisées entre les stations source et destination. La fonction de confidentialité est réalisée par le chiffrement partiel (données seules) ou complet du datagramme. Rappelons qu'en France, le chiffrement est soumis à une autorisation préalable des autorités compétentes. Pour plus de détails sur les mécanismes de sécurité retenus pour IPv6 on consultera les RFC 1826 à 1829.

- le " Source Routing ", ou routage en fonction de l'adresse de la source, (IPv4 ne route qu'en fonction de l'adresse de destination) sera implanté grâce au SDRP (Source Demand Routing Protocol). Il permettra le routage différencié (ou " politique ").

- l'Autoconfiguration des équipements sera rendue possible grâce à un protocole antérieur à la spécification de IPv6 : DHCP (Dynamic Host Configuration Protocol) (RFC 1541), qui sera adapté. Cette fonctionnalité vise à simplifier la phase de connexion d'un équipement au réseau, ce que les Anglosaxons appellent " plug and play ". Elle permettra également de gérer la mobilité des équipements en rendant aisée la (re)numérotation en cas de besoin.

- le Multipoint (ou multicast) est inclus nativement dans la spécification de IPv6 pour les routeurs et les postes de travail. Cela signifie que dans le monde IPv6 on pourra se passer de mrouted sur les stations, et que le Mbone n'aura plus de raisons d'être: le trafic multipoint sera complètement banalisé.

- enfin, ne pouvant énumérer toutes les fonctionnalités de IPv6 sans renvoyer aux documents de référence (RFC 1752 et I-D[1])[1, on évoquera pour terminer les fonctionnalités de gestion des applications temps réel. Elle sera rendue possible par l'utilisation du champs d'en-tête " Flow Label ", qui permet de différencier certains flux de données par rapport aux autres. Cela nécessitera la mise en oeuvre d'un mécanisme de contrôle notamment sur les équipements de routage, tel que RSVP (Resource reSerVation Protocol) par exemple (I-D[3]).

]

Transition IPv4 - IPv6

La transition de IPv4 vers IPv6 -dont l'une des données majeures est la vitesse d'épuisement des adresses IPv4- peut se découper en trois phases :

1- phase où seuls des équipements IPv4 existent.

On arrive aujourd'hui à la fin de cette phase, puisque de nombreux constructeurs vont proposer dans un délai tres court les premières versions de IPv6 pour les postes de travail et les routeurs (sans parler des plateformes de tests déjà en place).

2- phase de coexitence d'équipements IPv4 et IPv6.

Cette phase sera probablement très longue et caractérisera l'Internet du siècle prochain.

3- enfin, phase où seuls subsisteront des équipements IPv6.

Les mécanismes de coexistence (d'interopérabilité ?) des équipements IPv4 et IPv6 dans la phase 2, sont d'une importance extrême.

Trois techniques ont été spécifiées à ce jour -ce qui ne préjuge pas de l'émergence d'autres possiblités- :

- la " double pile IP ", chaque équipement implante complètement les deux protocoles IP (v4 et v6)

- l'encapsulation ou  " tunneling " des paquets IPv6 dans des en-têtes IPv4 pour les acheminer à travers une infrastructure IPv4

- et la traduction des en-têtes IPv6 en en-têtes IPv4 (voire l'inverse...).

Conclusion

La normalisation du successeur de l'Internet Protocol que nous utilisons tous aujourd'hui est déjà bien avancée, même s'il reste encore du " pain sur la planche ".

Les premières expérimentations ont déja commencé, elles sont encore peu nombreuses et le fait de particuliers sans coordination entre eux.

Néanmoins de nombreuses implantations sont en tests chez les constructeurs tant pour les postes de travail que pour les équipements de routage. Plusieurs pensent pouvoir fournir une version commerciale dans un délai très rapproché.

Dès lors la question qui émerge est de savoir qui doit migrer vers IPv6 et quand. La réponse est naturellement liée aux priorités de chacun, mais aussi aux possibilités nouvelles offertes par IPv6 et qui pour certaines d'entre elles au moins vont probablement devenir essentielles aux applications courantes de demain : applications de videoconférence ou de temps réel, nécessitant une qualité de service garantie, la configuration automatique des équipements, la sécurité des données transportées ...

Pour plus d'information sur les développements de -et autour de- IPv6 on pourra consulter : http://www.urec.fr/IPng ou http://playground.sun.com/pub/ipng/html/ipng-main.html

Références bibliographiques[2]

RFC 1550- IP: Next Generation (IPng) White Paper Solicitation. Dec 1993

RFC 1726- Technical Criteria for Choosing IP the Next Generation. Dec 1994

RFC 1752- The Recommendation for IP the Next Generation. Jan 1995

RFC 1826- IP Authentication Header. Aug 1995

RFC 1827- IP Encapsulating Security Payload. Aug 1995

RFC 1828- IP Authentication using Keyed MD5. Aug 1995

RFC 1829- The ESP DES-CBC Transform. Aug 1995

RFC 1541- Dynamic Host Configuration Protocol. Oct 1993

I-D[1]- Internet Draft: draft-ietf-ipngwg-ipv6-spec-02.txt. Jun 1995

I-D[2]- Internet Draft: draft-ietf-ngtrans-trans-mech-01.txt. May 1995

I-D[3]- Internet Draft: draft-ietf-rsvp-spec-07.txt. Jul 1995