RFCs | Contact | Bibliographie
IPv6 : Rappels


L'espace d'adressage IP actuel (v4) est limité. De nombreux pays en voie de développement ont très peu d'adresses. La motivation principale pour une nouvelle version d'Ip a donc été d'étendre cet espace, de manière à être certain d'assurer l'avenir : des adresses sur 128 bits (16 octets) ont été choisies. Par ailleurs, les concepteurs en ont profité pour éviter les défauts d'IPv4 en intégrant d'origine ce qui avait dû être ajouté à IPv4. Ils ont en particulier pensé aux problèmes de la taille des tables de routage, de la mobilité, de la sécurité, de la qualité de service, de la diffusion... Le travail sur IPv6 a commencé vers 1995. Aujourd'hui, la plupart des systèmes d’exploitation comportent une pile IPv6, le déploiement devrait se faire avant 2010.

  • Objectifs principaux de ce nouveau protocole
  • supporter des milliards d'ordinateurs, en se libérant de l'inefficacité de l'espace des adresses IP actuelles, réduire la taille des tables de routage, simplifier le protocole, pour permettre aux routeurs de router les datagrammes plus rapidement, fournir une meilleure sécurité (authentification et confidentialité) que l'actuel protocole IP, accorder plus d'attention au type de service, et notamment aux services associés au trafic temps réel, faciliter la diffusion multidestinataire en permettant de spécifier l'envergure, donner la possibilité à un ordinateur de se déplacer sans changer son adresse, permettre au protocole une évolution future, accorder à l'ancien et au nouveau protocole une coexistence pacifique.

  • Le datagramme IPv6 :

  • - Traffic Class permet d'annoncer le type de paquet (pratique pour la prioritisation de certains types de flux : audio, voix par exemple).
    - Flow Label est un identifiant permettant de repérer les paquets appartenant à un même flux de données.

    Ces 2 champs sont prévus pour gérer la qualité de service ou QoS.

    - Payload length contient la longueur des données.
    - Hop Limit est l'équivalent de TTL du IPv4.
    - Next Header contient un identifiant du protocole de niveau supérieur (TCP, UDP, ...) ou du prochain en-tête. Les options sont précisées dans une ou plusieurs en-têtes complémentaires. En particulier, si certaines options doivent être traitées par les routeurs, l'en-tête suivant sera nécessairement du type "Hop by Hop". Le champ Next Header de l'entête principale indiquant au routeur s'il doit analyser ou non les autres en-têtes. Si ce n'est pas le cas, le travail du routeur en sera grandement simplifié.

  • Adressage :
  • Les adresses IPv6 servent à identifier des interfaces ou un ensemble d'interfaces.
    Taille de l'adresse: 128 bits
    3,4 x 10^38 adresses
    6 x 10^23 adresses/m2 sur la Terre
    Des mécanismes de hiérarchie réduisent l'efficacité de l'espace d'adressage.

    IPv6 supporte 3 types d'adresses:

    - Unicast : hôte à hôte.
    - Multicast : vers plusieurs hôtes.
    - Anycast : vers plusieurs hôtes mais l'hôte le plus proche récupère le message.

  • Routage :
  • En IPv6, il existe des adresses spécifiques à un lien (link local), leur préfixe est fe80::/10 et ce sont ces adresses qui sont utilisées dans les tables de routage d'un même LAN.

    rachel:~ % netstat -r -n -finet6
    DestinationGatewayFlags RefsUseMtuInterface
    defaultfe80::201:96ff:fe96:dc60UG 00-eth0

    Pour une adresse IP de destination, il peut exister plusieurs entrées dans la table de routage. Si les longueurs de préfixe sont différentes, le routeur choisira la plus spécifique (le préfixe le plus long). Si les longueurs de préfixe sont égales, le résultat dépend du routeur.
    Avec Linux, si le noyau a été compilé avec l'option IP: equal cost multipath (CONFIG_IP_ROUTE_MULTIPATH)[4], les deux chemins pourront être utilisés, répartissant ainsi la charge.

    Les tables de routage peuvent être construites manuellement (l'ingénieur système ajoute des commandes dans un fichier de configuration) ou automatiquement par un système de routage dynamique.
    Dans ce dernier cas, les routeurs échangent de l'information entre eux ("Je suis connecté à un lien qui porte les préfixes 2001:910::/32 et FEC0:1::/32", "J'ai une liaison point-à-point avec 82.3.67.98") et, sur la base de ces informations, construisent chacun leur table de routage.