dimanche 16 octobre 2016

Etude de solution de migration d’IPv4 vers IPv6

1) Introduction : 
Le protocole IP est un des protocoles majeurs de la pile TCP/IP. C'est un protocole de communication de réseaux informatiques. C'est celui d'Internet. IP est situé sur la couche 3 du modèle OSI et du modèle TCP/IP et permet un service d'adressage unique pour l'ensemble des terminaux connectés.
Lorsque deux terminaux communiquent entre eux par ce protocole, aucun chemin pour le transfert des données n'est établi à l'avance : il est dit que le protocole est non orienté connexion.
Il assure l'acheminement, au mieux (best-effort delivery), des paquets. IP ne se préoccupe pas du contenu des paquets, mais fournit une méthode pour les mener à destination.
2) IPv4 :
L’internet Protocole version 4 est la première version d'IP à avoir été largement déployée, et forme encore la base (en 2010) de l'Internet.
A/ Classes d'adresses :
Il existe différents découpages possibles que l'on appelle « classes d'adresses ». chacune de ces classes correspond un masque réseau différent :
La classe D est utilisée pour le « multicast » (envoi à plusieurs destinataires) et la classe E est réservée à titre expérimental.
Noter que certaines plages d'adresses sont privées telles que :
• 10.0.0.0 – 10.255.255.255
• 172.16.0.0 – 172.31.255.255
• 192.168.0.0 – 192.168.255.255
B/ Adresses réseau et adresses de diffusion :
Une adresse réseau est une adresse IP qui désigne un réseau et non pas une machine. Elle est obtenue en plaçant tous les bits de la partie machine à zéro.
Une adresse de diffusion est une adresse permettant de désigner toutes les machines d'un réseau, elle est obtenue en plaçant tous les bits de la partie machine à un.
Par exemple :
C/ Adresse IP :
Dans un réseau IP, chaque interface possède une adresse IP fixée par l'administrateur du réseau ou attribuée de façon dynamique par des protocoles, on dira que cette machine a une adresse
IP. Il est déconseillé de donner la même adresse à 2 machines différentes dans un même réseau ou comme DHCP. Par extension, pour une machine simple, un PC, avec une seule interface Ethernet sous réseau sous peine de problèmes (collisions).
IPv4 utilise une adresse IP sur 32 bits, ce qui est un facteur limitant à l'expansion d'Internet puisque seulement 4 294 967 296 (232) adresses sont possibles en théorie, 3 735 985 894 sont publiques, 17 883 162 sont privées et 523 215 078 sont réservées (classes D et E).
En effet, les 127 réseaux de classe A publics comptent 16 777 214 machines chacun, les 16 368 réseaux de classe B publics dénombrent 65 534 machines chacun et les 2 096 926 réseaux de classe C possèdent chacun 254 machines.
Pour les réseaux privés, 1 de classe A ayant 16 777 214 machines, 16 de classe B ayant chacun 65 534 machines et 226 réseaux de classe C ayant 254 machines.
3) Pourquoi abandonner IPv4 ?
Le protocole IPv4 a été conçu en 1983, il utilise une adresse IP sur 32 bits soit un espace d’adressage de 4 294 967 296 adresses. Mais cet espace d'adressage est réduit du fait que certaines adresses sont réservées aux réseaux privés et aux groupes de multicasts, l’espace d’adressage se restreint donc. De plus, comme l’Internet devient aujourd'hui incontournable, le nombre d’hôtes s’accroît exponentiellement et entraîne l’asphyxie à long terme d’IPv4:
Afin de pallier à ce problème le « Network Address Translation » (NAT) a été mis en place, mais il n’a fait que retarder l’inévitable. La conception d’un nouveau protocole devenait donc nécessaire, l’IPv6
4) Différences entre IPv4 et IPv6 :
5) IPv6:
L'épuisement des adresses IPv4 a conduit au développement d'une nouvelle version d'IP,
IPv614, et à la transition du premier vers celui-ci. Actuellement en cours de déploiement, l'IPv6 devrait progressivement remplacer IPv4. Le manque d'adresse IPv4 est pour l'instant contourné grâce à l'utilisation de techniques de traduction d'adresses (NAT15) ainsi que par l'adoption du système CIDR16.
Selon le site Huricane Electric17, l'épuisement des adresses IPv4 est prévu pour fin février 2011.
Aujourd'hui, il y a plusieurs forces motrices qui accélèrent l'épuisement :
• Croissance rapide du nombre d'utilisateurs d'Internet
• Toujours sur les dispositifs : ADSL modems, modems câble
• Les appareils mobiles : ordinateurs portables, PDA, téléphones mobiles
La solution normalisée et acceptée est la migration vers IPv6. En effet, la taille de l'adresse est passée de 32 bits (IPv4) à 128 bits (IPv6), fournissant ainsi un espace d'adressage plus grand. La migration vers IPv6 est en cours, mais devrait prendre un temps considérable.
Plusieurs techniques ont été proposées afin de résoudre le problème ou au moins repousser l'échéance de l'épuisement complet des adresses IP :
• L'adressage classless a permis une meilleure efficacité dans l'utilisation des adresses IP.
• Les RIR18 ont développé des politiques d'assignation d'adresses plus contraignantes, qui tiennent compte des besoins réels à court terme. L'assignation de blocs d'adresses plus petits diminue cependant l'efficacité de l'agrégation des adresses.
• IPv6, la nouvelle version du Protocole Internet, développée dans ce but pendant les années
1990, et dont la capacité d'adressage est considérable.
• NAT, qui permet à de nombreux ordinateurs d'un réseau privé de partager une adresse publique, mais qui nuit au bon fonctionnement de certains protocoles.
• L'utilisation de blocs d'adresses autrefois réservés (comme 14.0.0.0/8).
• La récupération, sur base volontaire, des blocs attribués généreusement autrefois.
• La récupération des blocs assignés autrefois et qui ne sont pas annoncés sur Internet.
• Le commerce de blocs d'adresse IP dans un marché entre clients, prédit par certains.
IPv6 est l'aboutissement des travaux menés au sein de l'IETF19 au cours des années 1990 pour succéder à IPv4. Ses spécifications ont été finalisées dans la RFC20 2460 en décembre 1998.
Grâce à des adresses de 128 bits au lieu de 32 bits, IPv6 dispose donc d'un espace d'adressage bien plus important qu'IPv4. Cette quantité d'adresses permet une plus grande flexibilité dans leur assignation et une meilleure agrégation des routes dans la table de routage d'Internet. La traduction d'adresse, qui a été rendue populaire par le manque d'adresses IPv4, n'est plus nécessaire.
IPv6 dispose également de mécanismes d'assignation automatique des adresses et facilite la renumérotation. La taille du sous-réseau, variable en IPv4, a été fixée à 64 bits en IPv6. Les mécanismes de sécurité comme IPsec font partie des spécifications de base du protocole. L'en-tête du paquet IPv6 a été simplifié et des types d'adresses locales facilitent l'interconnexion de réseaux privés.
Le déploiement d'IPv6 sur Internet est compliqué en raison de l'incompatibilité des adresses IPv4 et IPv6. Les traducteurs d'adresses automatiques se heurtent à des problèmes pratiques importants. Pendant une phase de transition où coexistent IPv6 et IPv4, les hôtes disposent d'une double pile, c'est-à-dire qu'ils disposent à la fois d'adresses IPv6 et IPv4, et des tunnels permettent de traverser les groupes de routeurs qui ne prennent pas encore en charge IPv6.
En 2010, le déploiement d'IPv6 est encore limité, la proportion d'utilisateurs Internet en IPv6 étant estimé entre 0,25 et 1%, et ce, en dépit d'appels pressants à accélérer la migration adressée aux fournisseurs d'accès à Internet et aux fournisseurs de contenu de la part des registres Internet régionaux et de l'ICANN21, l'épuisement des adresses IPv4 publiques disponibles étant imminent.
A/ Adresses IPv6 :
La notation décimale pointée employée pour les adresses IPv4 (par exemple 172.31.128.1) est abandonnée au profit d'une écriture hexadécimale, où les 8 groupes de 2 octets (soit 16 bits par groupe) sont séparés par un signe deux-points :
2001:0db8:0000:85a3:0000:0000:ac1f:8001
La notation canonique complète ci-dessus comprend exactement 39 caractères.
Il est permis d'omettre de 1 à 3 chiffres zéro non significatifs dans chaque groupe de 4 chiffres hexadécimaux. Ainsi, l'adresse IPv6 ci-dessus est équivalente à :
2001:db8:0:85a3:0:0:ac1f:8001
De plus, une unique suite de un ou plusieurs groupes consécutifs de 16 bits tous nuls peut être omise, en conservant toutefois les signes deux-points de chaque côté de la suite de chiffres omise, c'est-à-dire une paire de deux-points (::). Ainsi, l'adresse IPv6 ci-dessus peut être abrégée en : 2001:db8:0:85a3::ac1f:8001
En revanche, l'écriture suivante n'est pas valide 2001:db8::85a3::ac1f:8001 car elle contient plusieurs substitutions (dont les longueurs binaires respectives sont ici ambiguës) : il ne peut exister qu'une seule occurrence de la séquence :: dans la notation d'une adresse IPv6.
Pour résumer, la séquence :: dans l'adresse IPv6 signifie que l'on doit combler tout ce qu'il manque avec des 0, donc cette séquence ne peut être écrite qu'une seule fois.
Il peut exister plusieurs façons différentes de représenter une adresse IPv6.
L'adresse IPv6 non spécifiée peut ainsi être abrégée en ::0.0.0.0 ou tout simplement en ::.
Adresses réservées
• ::/128 : Adresse non spécifiée. Celle-ci n'est jamais assignée à un hôte mais peut être utilisée comme adresse source dans une phase d'acquisition de l'adresse IPv6.
• ::1/128 : Adresse loopback c'est-à-dire la machine elle-même, équivalent de 127.0.0.1 en
IPv4.
• ::ffff:0:0/96 : Représentation d'adresse IPv4 dans une structure IPv6. Ces adresses permettent d'encoder une adresse IPv4 dans une structure de données prévue pour IPv6.
Elles sont utilisées par des programmes mais ne doivent pas se trouver dans le réseau.
Adresses globales unicast
2000::/3
Celles-ci représentent 1/8e de l'espace d'adressage total d'IPv6.
Parmi les adresses de 2000::/3, on distingue :
• Les adresses unicast globales (2001::/16) ouvertes à la réservation depuis 1999. Ces adresses sont allouées par bloc /23 à /12 par l'IANA à un registre Internet régional. Certains blocs sont réservés à un usage particulier[3] :
• 2001::/32 utilisé pour Teredo (RFC 4380)
• 2001:2::/48 pour des tests de performance (RFC 5180)
• 2001:10::/28 pour Orchid (RFC 4843)
• 2001:db8::/32 est réservé pour la documentation par la RFC 3849
• Les adresses 6to4 (2002::/16) permettant d'acheminer le trafic IPv6 via un ou plusieurs réseaux IPv4
• Toutes les autres adresses routables (plus des trois quarts) sont actuellement réservées pour usage ultérieur.
Adresses locales uniques
fc00::/7
Ces adresses sont utilisées pour les communications locales et ne sont routables que sur les sites qui le souhaitent. C'est l'équivalent des plages d'adresses privées de RFC 1918. L'adresse comprend un préfixe pseudo aléatoire de 40 bits pour éviter les conflits lors de l'interconnexion de réseaux privés.
Adresses locales de lien
fe80::/10
Les adresses de lien local (utilisables uniquement au sein d'un réseau local de niveau 2, non
routables) appartiennent à fe80::/64. Ces adresses ne sont uniques que sur un lien, un hôte peut donc avoir plusieurs interfaces avec la même adresse link-local. On lève les ambiguïtés en précisant
l'interface.
Adresses multicast
ff00::/8
En IPv6, il n'y a pas d'adresse broadcast, elle est remplacée par des adresses multicast propres à l'application. Il existe une adresse ff02::1 (all nodes) limitée au lien local et dont l'utilisation par les applications est découragée.
NDP utilise l'adresse multicast ff02::1:ff00:0/104 pour découvrir l'adresse MAC d'un hôte dont l'adresse IPv6 est connue (solicited node). Les 24 derniers bis de l'adresse sont constitués des
24 derniers bits de l'adresse IPv6. L'utilisation de multicast au lieu d'une adresse broadcast permet d'optimiser la diffusion de ce message.
Adresse anycast:
Identificateur d'un ensemble d'interfaces (appartenant généralement à différents noeuds). Un paquet envoyé à cette adresse est remis à une seule interface identifiée par l'adresse. Il s'agit de l'interface la plus proche identifiée par des paramètres de routage. Les adresses anycast proviennent de l'espace d'adresses unicast et ne se distinguent pas du point de vue syntaxique. L'interface identifiée par l'adresse est configurée pour faire la distinction entre les adresses unicast et anycast.
B/ Attribution des adresses IPv6 :
Dans l'espace d'adresse unicast globale (2000::/3), l'IANA22 assigne des blocs /23 aux registres Internet régionaux. Ces derniers distribuent des préfixes /32 aux registres Internet locaux qui les assignent ensuite sous forme de bloc /48 ou /64 à leurs clients.
Chaque client se voit attribuer soit un bloc /64 (un seul sous-réseau), soit un bloc /48 (65 536 sousréseaux), chacun des sous réseaux pouvant accueillir un nombre d'hôtes virtuellement illimité (264).
Dans le bloc 2000::/3 qui représente 1/8ème de l'espace d'adressage disponible en IPv6, on peut donc créer 229, soit 500 millions de blocs /32 pour des fournisseurs d'accès à Internet, et 245, soit 35milliards de réseaux d'entreprise.
Voici un exemple de passage d'une adresse IPv4 vers une adresse IPv6 (le détail du 6to4 est détaillé
dans la partie D).
Le plan d’adressage global. L’adresse IPv6 est subdivisée comme suit :
Le Global Routing Prefix est attribué par un organisme officiel et identifie le site. Ce préfixe est, en général, de longueur 48 bits pour un site final. La partie suivante de l’adresse est de la responsabilité du site. La partie subnet ID offre la possibilité de subdiviser le site en autant de sous réseau que le permettent les 16 bits attribués à ce champ (soient 65534 sous réseaux). La dernière partie, en général sur 64 bits, est l’identifiant d’interface et permet d’identifier la machine dans un réseau donné. Elle identifie plus exactement une interface d’un équipement.

Identifiant d’interface :
Il est codé sur 64 bits et facilite l’autoconfiguration. Cet identifiant d’interface ou EUI-64 est créé à partir d’une adresse MAC (48 bits, définis par l’IEEE) selon le mécanisme suivant :
• Les 3 premiers octets de l'adresse MAC identifient le constructeur et les 3 derniers le matériel.
• On insère FFFE (notation hexadécimale) entre l’identifiant constructeur et l’identifiant matériel. Le « Universal/Local-Bit » (U/L-bit) est positionné à 1 et indique un identifiant d’interface globalement unique conformément à la norme IEEE (EUI-64). Si ce bit est positionné à 0, cela signifie que l’adresse n’est pas globalement unique et a pu être générée par un algorithme.
Par exemple :
Les adresses réseaux locales sont composées ainsi:
FE80:: puis une composition en fonction de l'adresse MAC.
Une machine ayant comme adresse MAC
00:0F:3D:2A:32:15 devient
00:0F:3D:FFFE:2A:32:15 puis (forçage à 1 du bit 2 de l'octet de poids fort de l'adresse MAC)
02:0F:3D:FF:FE:2A:32:15
Enfin
FE80:0000:0000:0000:020F:3DFF:FE2A:3215
Soit
FE80::20F:3DFF:FE2A:3215
C/ Processus de traduction entre IPv4 et IPv6 :
Il n'est pas toujours possible d'avoir un réseau IPv6 de bout en bout. Cependant, les trame
IPv6 doivent pouvoir être transmises, même si un réseau intermédiaire ne supporte qu'IPv4.
Plusieurs solutions sont disponibles, pour former un tunnel : les paquets IPv6 transitent alors encapsulés dans IPv4, ce qui s'appelle autrement un tunnel IPv4. Nous distinguons les tunnels statiques et les tunnels automatiques.
Les tunnels statiques :
La solution la moins souple consiste à établir un tunnel par le protocole GRE23, comme cela se fait déjà sous IPv4 pour d'autres protocoles. Le tunnel est statique, et il faut alors effectuer des modifications aux deux extrémités du tunnel. Il n'y a par ailleurs aucune garantie de sécurité (authentification, chiffrement, etc.).
Au lieu de configurer manuellement chaque extrémité des tunnels, il est aussi possible d'automatiser un peu la procédure, tout en maintenant la structure statique du tunnel. Des serveurs, nommés IP Tunnel Brokers servent pour la transition. Il faut se connecter à l'un d'eux en IPv4 pour obtenir une adresse et accéder à la configuration du tunnel vers un réseau IPv6. Ce procédé est bien statique (ou semi-dynamique), dans la mesure où il nécessite de connaître et de configurer correctement IPv4 au niveau du Tunnel Broker. Ce dernier se charge du routage et des configurations des extrémités des tunnels : il reste un point vulnérable dans la mesure où tout le transport du trafic repose sur lui.
Exemple de tunnel statique sous la tutelle du Tunnel Broker
Tunnels automatiques :
Dans le cas d'un tunnel automatique, une liaison fixe point à point est établie entre les machines impliquées (des routeurs par exemple). Ce tunnel formé fragmente les paquets selon IPv4, et met en oeuvre les mécanismes de découverte des voisins. Si une erreur survient au cours de l'acheminement
IPv4, un paquet ICMP24v4 est envoyé. Idéalement, le point à la source du tunnel devrait récupérer ce message, puis le traduire en un paquet ICMPv6 équivalent afin de le retourner vers la source du datagramme IPv6. Le transport de datagrammes IPv6 dans une trame IPv4.
Il existe à l'heure actuelle quatre mises en oeuvre majeures pour effectuer l'acheminement d'IPv6 sous IPv4.
E/ L’internet IPv6 :
Dans une première phase, les FAI utilisent des tunnels qui encapsulent les paquets IPv6 dans des paquets IPv4 (via 6in4 ou GRE) pour traverser les groupes de routeurs qui ne prennent pas en charge IPv6. Lorsque c'est possible, les échanges se font nativement, avec IPv4 et IPv6, qui coexistent sur les mêmes liaisons. Pour autant que les routeurs soient mis à jour pour la prise en charge d'IPv6, il n'est pas nécessaire de disposer d'une infrastructure séparée pour IPv6, les routeurs traitant à la fois le trafic IPv4 et IPv6.
Les protocoles TCP et UDP fonctionnent comme en IPv4. Le pseudo en-tête utilisé pour le calcul du code de contrôle est cependant modifié et inclut les adresses IPv6 source et destination.
6) Technologies de transition
Pour que le passage de l’IPv4 vers l’IPv6 se fasse en douceur, des technologies de transition telles que 6to4, ISATAP ou Teredo ont été mises en place. Elles permettront de travailler dans un environnement IPv4 avec une adresse IPv6.
6-1 6to4
6to4 est un mécanisme de transition qui rend possible la communication en IPv6 au travers d’un réseau IPv4. Il existe deux types possibles d’utilisateurs de 6to4, une machine seule ou bien un réseau local entier :
- Si une machine utilise 6to4 seul, elle doit posséder une connexion ainsi qu'une adresse IPv4. Elle se charge elle-même de décapsuler et d’encapsuler les paquets IPv6 entrants et sortants.
- Si un réseau entier utilise 6to4, alors ce réseau ne nécessitera qu’une seule adresse IPv4 ainsi qu’une passerelle. L’intérieur du réseau se comportera similairement à un réseau IPv6.
Une adresse 6to4 est constituée d’un préfixe 2002: suivi de l’adresse convertie en hexadécimale. Par exemple, l’adresse IPv4 : 157.54.0.1 se convertira en hexadécimale : 9D36:1. Il en résultera ainsi une adresse 6to4 du type : 2002:9D36:1::.
6.2 ISATAP
ISATAP (Intra-Site Automatic Tunnel Addressing Protocol), est une technique de tunneling qui autorise la communication en IPv6 au travers d’un réseau IPv4 de deux machines entre elles, ou de deux routeurs entre eux, ou encore d’une machine et d’un routeur.
ISATAP sera utilisé lorsqu’il n'y a pas de connexion IPv6 native. Ce protocole définit une méthode pour générer une adresse à partir d’une adresse IPv4.
L’adresse est déterminée en concaténant [Préfixe de 64 bits]:0:5EFE: et les 32 bit de l’adresse IPv4 de la machine.
Le préfixe de 64 bits peut-être de type local, global ou encore 6to4. Il sera en général, annoncé par un routeur. Ainsi, une machine possédant une adresse 192.168.41.30 aura pour adresse ISATAP de lien local (après simplification des zéros) FE80::5EFE:192.168.41.30
6.3 Teredo
Le protocole Teredo a été développé par un français travaillant chez Microsoft, Christian Huitema. C’est une technique de tunneling offrant une connectivité IPv6 aux clients se trouvant derrière une NAT. Elle consiste à encapsuler des paquets IPv6 dans des messages UDP en IPv4. Cette technique permet d’utiliser IPv6 dans des réseaux IPv4 où 6to4 ne peut être utilisé à cause du NAT.
Il existe plusieurs types de dispositifs Teredo : un client, un serveur, un relais, et un relais spécifique à un client. Le client Teredo, est un hôte se connectant derrière une NAT, et qui utilise une connectivité IPv4. Il emploie alors Teredo pour se connecter à de l’IPv6; son adresse IPv6 possède un préfixe Teredo 2001:0000::/32.
6.4 Utilisation des technologies de transition
Un message de type « Router Advertisement » est une annonce faite par un routeur, elle contient un ou plusieurs préfixes autorisant ainsi l’auto-configuration des machines.
Si une machine reçoit un message de ce type, cela signifie que le réseau utilise de l’IPv6, la machine privilégiera alors une connectivité native IPv6 plutôt qu’une technologie de tunneling.
Si ce message est du type « Router Advertisement ISATAP», alors la machine se servira de la technologie ISATAP.
Si la machine possède une adresse IPv4 publique elle emploiera alors 6to4.
Si la machine possède une connectivité IPv4 privée et si elle se trouve derrière une NAT, elle utilisera Teredo
7) Configuration
r1(config)#ipv6 unicast-routing
.. .. ........#ipv6 router ospf 1
.............#exit
#int f0/0
#ipv6 enable
#ipv6 ospf 1 erea 0
#ipv6 add 2001:1111:0001:0000:: /64 eui-64
#no shut
#exit
#int s0/0/0
#ipv6 enable
#ipv6 add 2001:1111:0002:: /64 eui-64
#clock rate 64000
#ipv6 ospf 1 area 0
#no shut
#exit
-----------------------------------------------------------------
dhcp:
r2#ipv6 dhcp pool cisco
#prefix-delegation pool cisco-prefix-new
#int f0/0
#ipv6 dhcp server cisco
#exit
#ipv6 local pool client-prefix-pool 1234:5678:: /32 64
#exit

2 commentaires:

  1. Informalogique : Etude De Solution De Migration D’Ipv4 Vers Ipv6 >>>>> Download Now

    >>>>> Download Full

    Informalogique : Etude De Solution De Migration D’Ipv4 Vers Ipv6 >>>>> Download LINK

    >>>>> Download Now

    Informalogique : Etude De Solution De Migration D’Ipv4 Vers Ipv6 >>>>> Download Full

    >>>>> Download LINK

    RépondreSupprimer