Retour vers le site www.tofe.org
Retour vers l'index IPV6
                                                         
       Compte Rendu de Novembre 2002


    PFE N° 13

    Responsable Administratif : Sophie Nabitz
    Client/Tuteur : Abderrahim Benslimane
    Equipe :
            -    Bun Thon SRENG
            -    Christophe DONNIER

                                                                                               
                                                                                    Logo IPv6

    Rappel du descriptif de la mission :

            Le but de ce PFE est d’installer IPv6 sur une plate-forme de PC. D’abord, il faut faire une étude qui
            doit porter sur les différentes architectures proposées. Ensuite, il faut proposer des procédures
            permettant un déploiement automatique. Que deviennent les applications supportant le transport TCP
            ou UDP/IPv4 , les architectures multicast, unicast et anycast et la gestion de la QoS. Enfin, il faut
            pousser le test à IPv6 mobile.


    Synthése sur le protocole IPv6 :

                    Nécessité du passage à IPv6 :

                    La pénurie des adresses IPv4 est de plus en plus critique, la translation d'adresse à permis de
                    retarder l'échénace, mais n'est pas satisfaisante pour la totalité des applications, de plus du fait
                    de l'organisation des adresses IPv4, sans aucune hiérarchie, les tables de routage sont devenues
                    énormes. IPv4 a été conçu il y a une trentaine d'années et on ne peux que saluer ses concepteurs,
                    qui n'avaient certainement pas prévu un tel succés. IPv6 sera mis en service petit à petit d'ici
                    5 à 8 ans. Il apporte une réelle amélioration, en particulier sur les 4 point suivants :
                    - L'espace adressable surdimensionné: les adresses sont écrites sur 128 bits au lieu de 32 pour IPv4,
                        Cela signifie que si l'on considère une population mondiale de 10 milliards, il y aura 3.4 * 10^27
                        adresses par personne !.
                    - La sécurité: Les spécifications de bases prennent en compte la sécurité à 2 niveaux. Le premier
                        mécanisme est appellé "Authentication Header"  qui supporte de nombreuses méthodes
                        d'authentifications, en particulier MD5.  Ceci permet d'éliminer bon nombre d'attaques, y compris celles
                        de type "host masquerading".  Le second mécanisme appellé "Encapsulating Security Header" permet
                        de crypter les paquets IP afin que leur contenu ne soit pas lisible par des tiers. Ces mécanismes qui
                        peuvent aussi s'appliquer à IPv4, mais sont supportés nativement par IPv6 sont appellés IPSec.
                    - Temps réel: Pour prendre en charge le traffic temps reel de certaines applications, comme la vidéo
                        conférence, IPv6 inclus le mécanisme de "Flow Label", qui permet au routeurs de savoir que le paquet
                        est de type temps réel et ainsi d'optimiser sa route.
                    - autoconfiguration: IPv6 inclut lemécanisme de découverte des voisins et celui de découverte des routeurs.
                        Vous pouvez brancher un ordinateur sur un réseau IPv6 sans avoir à configurer quoi que ce soit, le protocole
                        prend en charge nativement votre configuration, à la manière du service DHCP.
                   


 
                    Les adresses IPv6:

                                Les adresses IPv6 sont notées en 8 mots de 16 bits séparés par ":"  . Voici un exemple :
                                FEDC:0A98:0054:0000:0000:0000:6543:210F
                                Les zeros peuvent être omis pour simplifier la notation, voici l'exemple précédent écris en
                                notation simplifiée :
                                FEDC:A98:54::6543:210F
                                Il y a  3 types d'adresses IPv6 :
                                - Adresses Unicast: Cette adresse identifie une interface unique, comme en IPv4 les adresses
                                    sont liées à des interfaces et non pas à des ordinateurs.
                                - Adresses Multicast: Cette adresse identifie un groupe d'interfaces, un paquet envoyé à une
                                    adresse multicast sera délivré à toutes les interfaces du groupe.
                                - Adresses AnyCast: Cette adresse identifie un groupe d'interfaces, un paquet envoyé à une
                                    adresse anycast sera délivré à une seule interfaces du groupe, et celle ci sera chargée de la
                                    redistribuer au reste du groupe.
                                Le mapping des adresses à été l'objet de plusieurs proposition au cours de la génèse d'IPv6.
                                Rappelons que certaines parties du protocoles ne sont pas encore définitivement fixées et
                                font toujours l'objet d'expérimentations. La solution retenue à l'heure actuelle se nomme
                                Aggregatable Global Unicast Adress Format, il est décris dans la RFC 2450, le principe
                                est de découper les adresses en différentes parties ayant chacune une signification précise.
                                l'adresse est découpée en 3 niveaux hiérarchiques :
                                    - Topologie publique sur 48 bits .  
                                    - Topologie de site appellée "Site Level Aggregator" sur 16 bits, cette partie permet
                                       de gérer l'adressage au niveau du site.
                                    - Identificateur d'interface sur 64 bits.
                                La topologie publique est constituée de 4 champs :
                                    - Un préfixe 2000::/3
                                    - Un chiffre de 13 bits affecté aux différents opérateurs intercontinentaux, appellé
                                        "Top Level Aggregator" .
                                    - Les 8 bits suivants sont réservés.
                                    - Un chiffre de 24 bits affecté aux différents opérateurs nationaux, appellé
                                        "Next Level Aggregator" .
                           
                            Un tel découpage facilite grandement le routage, puisque à chaque niveau du routage il suffit
                            d'analyser un champ pour router le paquet.

                            L'identificateur d'interface codé sur 64 bits est construit de la façon suivante:
                            On prend l'adresse MAC qui est codée sur 48 bits et on ajoute la valeur 0xFFFE entre le 3éme
                            et le 4 ème octet. Comme avec la notation pour les adresse MAC on mets un séparateur tous les 2 octets
                            et pour IPv6 on met un séparateur tous les 4 octets, cela reste peu lisible. Voici un exemple :
                            l'adresse MAC: 02:60:8C:DE:07:79 va donner l'identificateur d'interface 0260:8CFF:FEDE:0779.


                    Les Différents types d'adresse Unicast :
                              
                                Le réseau expérimental mondial se nome le 6bone  . En groupe français participant à ce projet
                                se nomme le G6bone .
                               
                                Voici les types d'adresses Unicast que l'on peut rencontrer:
                                - Adresses de test (test addresses ) : C'est le format des adresses utilisées sur le 6bone, elle
                                    sont  de la forme 3FFE::/16
                                - Adresse non spécifiée (unspecified address): Cette adresse est utilisée transitoirement lors
                                    de l'initialisation d'une interface, sa valeur est 0:0:0:0:0:0:0:0 que l'ont peut écrire :: .
                                - Adresse de loopback (loopback address ): 0:0:0:0:0:0:0:1 ou ::1 correspond à 127.0.0.1 en IPv4.
                                - Adresses de lien local (Link local use addresses ): Ces adresses ne doivent être utilisées que sur un
                                    brin de réseau (connexion PPP ou brin ethernet par exemple ). Elle ne sont pas routable, et en
                                    pratique elles ne sont utilisées que lors de l'initialisation de l'interface par les protocoles de découverte
                                    des voisins, ou de découverte des routeurs. Ces adresses sont construites avec FE80::/64 et les 64 bits
                                    de l'identificateur d'interface.
                                - Adresses de site local (Site local use addresses ): Ces adresses ne doivent être utilisées que sur des
                                    sites isolés, elles correspondent aux adresses privées de type 192.168.0.0 en IPv4. Ces adresses
                                    sont construites avec FEC0::/48, suivi de 16 bits affectés à la créations d'éventuels sous réseaux,
                                    puis des 64 bits de l'identificateur d'interface.
                                - Adresses compatibles IPv4: Ces adresses sont utilisées par des machines communiquant en IPv6
                                    à travers un tunnel automatique IPv6/IPv4. Le paquet IPv6 est envoyé à l'adresse ::A.B.C.D
                                    (A.B.C.D étant l'adresse de destination IPv4 ). Cette solution ne devrait être implémentée que
                                    sur le routeur de sortie du site, vers un autre routeur qui desencapsule les paquets IPv6,
                                    le tunnel étant nécessaire pour parcourir l'actuel réseau IPv4.
 
                    Le système des noms de domaines :

                                    Le mecanisme de D.N.S est crucial en IPv6, il est quasiment impensable de tapper une adresse IPv6
                                    de 128 bits en ligne de commande ou dans une url, le principe de configuration est le mêmes
                                    qu'en IPv4 (fichier /etc/hosts, DNS, etc ... ).  Au niveau du DNS deux extensions ont été rajoutées.
                                    Elle sont définies dans la RFC 1886. Il s'agit de l'enregistrement AAAA et du nouveau domaine ip6.int.
                                    Par exemple pour une machine appellée machine1 on aura :
                                            machine1    IN      AAAA     3FFE:306:1150:1200:1:0:C0FE :EF2
                  Qui correspondrait à la ligne suivante en IPv4 :           
                     
machine1    IN      A        156.21.45.6
                                    Pour la zone inverse le principe est similaire :
                                            2.F.E.0.E.F.0.C.0.0.0.0.1.0.0.0.0.0.2.1.0.5.1.1.6.0.3.0.E.F.F.3.ip6.int  
                                                        IN     PTR     machine1.iup.univ-avignon.fr.

                                    Qui ne devrait s'étendre que sur une seule ligne ....       
                                    Le problème des DNS n'est pas un problème simple,  la transition risque de poser de nombreux problèmes,
                                    car il y a de nombreux DNS qui ne savent pas gérer correctement IPv6. De plus les capacités
                                    d'autoconfiguration d'IPv6 ne seront pleinement exploitables que si le DNS peut suivre dynamiquement.
                                    Plusieurs solutions ont été proposées, pour plus de détails voir les RFC 2136, 1995, 1996 2535 et 2137.
                   
                    Programmation d'applications:


                                    Un grand nombre de concepts tels les ports ou l'envoi et la reception de données n'ont pas changé, mais
                                    avec le changement de la taille des adresses, il y a tout de même quelques boulversements.

                    Quelques mots sur IPv6 mobile:
     
                                    Le concept de mobilité est assez récent. Auparavant la mobilité était simplement de pouvoir connecter
                                    un ordinateur portable sur un réseau et d'obtenir une adresse IP. La vérutable mobilité IP définit des
                                    concepts qui permettent à l'utilisateur de se déplacer tout en restant connecté à l'Internet. On pourra
                                    par exemple envisager que l'utilisateur puisse resté connecté à l'internet pendant toute la durée
                                    de son voyage en train. On peut pousser le concept à une connexion permanente de l'électronique
                                    embarquée d'une automobile.
                                    Un mobile est toujours adressable par son adresse principale (appelée adresse mère ).Tant que le mobile
                                    reste joignable par son adresse mère, les paquets IPv6 sont ronté de manière conventionnelle.
                                    Lorsque le mobile se déplace, il s'attache à un sous réseau étranger, et devient joignable par une ou plusieurs
                                    adresses temporaires. Nous détaillerons la mobilité IPv6 dans un compte rendu ultérieur.
                                        
                    Implémentation IPv6 sur un système Linux:
                                    Les modalités de mise en place sur une machine Linux sont détaillées ici.
                                    Le How-To IPv6

                    Implémentation IPv6 sur un système Microsoft:
                                   
Les modalités de mise en place sur une machine Microsoft Windows sont détaillées ici.
                                    Microsoft et IPv6
                                    Un autre lien        

                    Implémentation IPv6 sur un routeur Cisco:

                                    Les modalités de mise en place sur un routeur Cisco sont détaillées ici.
                                    Cisco et IPv6

                    Liens vers d'autres informations sur IPv6:

                               
Les sites web suivant sont des mines de renseignements que nous avons consulté et qui devraient nous être d'un
                                grand secours tout au long de notre projet. La référence papier incontournable étant bien entendu
                                 IPv6 Théorie et Pratique aux éditions O'Reilly  écrit par  un collectif de spécialistes Français en la matière.
                               
                                Le réseau experimental mondial d'IPv6 :
                                Le 6Bone
                               
                                Une page trés riche en renseignements, c'est l'auteur du IPv6-How-To de Linux, un document incontournable
                                pour la mise en place d'IPv6 sous Linux.
                                La page de P.Bieringer
                               
                                Comment mettre en place IPv6 sur un routeur Cisco ? la réponse est là:   
                                Cisco et IPv6

                                Le réseau Euronet, un groupe de recherche IPv6 belge:
                                Euronet

                                La page de l'unité réseau du C.N.R.S
                                La page IPv6 de l'UREC

                                Un des auteurs français sur les problèmes de réseaux et sécurité.
                                La page de Frederic Raynal

                                Un article sur IPv6 paru dans un Linux Magazine:
                                La page Linux Mag

                    Avancement du projet et problèmes rencontrés:
                              
                               Nous allons bientôt mettre en place un PC sous Linux, la distribution choisie est La Red-Hat 7.3 qui est un bon
                               compromis robustesse / facilité d'installation / support IPv6.
                               Pour l'instant nous n'avons fait que de la théorie, donc nous n'avons pas rencontré de problèmes, les sources de
                               renseignement sur IPv6 étant nombreuses et de qualité.