Académique Documents
Professionnel Documents
Culture Documents
Cyril Rabat
cyril.rabat@univ-reims.fr
Licence 3 MI - Info0503 - Introduction aux réseaux informatiques
2010-2011
Cours n◦ 9
Présentation du protocole IPv6 et comparaison avec IPv4
1 Historique
2 L’en-tête IPv6
3 L’adressage IPv6
4 Mobilité IPv6
5 De IPv4 à IPv6
6 Conclusion
1 Historique
La fin d’IPv4
Mesures d’urgences
Naissance d’IPv6
2 L’en-tête IPv6
3 L’adressage IPv6
4 Mobilité IPv6
5 De IPv4 à IPv6
6 Conclusion
Un peu d’histoire
Avant le CIDR
Description
IPv4 possède à la base un plan d’adressage à plat :
֒→ Nécessité de connaître précisément l’endroit des différents réseaux
Certains routeurs d’Internet possèdent plusieurs dizaines de milliers
d’entrées dans leur table de routage !
L’adressage en classe :
Nombre limité de réseaux de chaque classe
Gâchis d’adresses IP
֒→ Rappel : 3 × 28 − 2 adresses dans un réseau de classe A
CIDR a permis de résoudre ces problèmes
Le NAT
Rappels
Le NAT apporte des avantages :
Il réduit le besoin d’adresses IPv4
Il facilite le plan d’adressage
Il est transparent pour certaines applications
Il peut apporter une certaine sécurité
Les applications et le déploiement de nouveaux réseaux sont fortement
limités par le NAT :
La traduction est complexe (problèmes avec certains protocoles)
Problème de la mise à l’échelle (puissance de calcul nécessaire)
Fin du paradigme end-to-end (certaines machines inaccessibles)
Survie d’IPv4
Ces mesures ont permis de repousser l’échéance
Mais les adresses IPv4 deviennent rares :
֒→ Rappel : 232 = 4294967296 adresses seulement
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 7 / 56
Historique Naissance d’IPv6
La naissance d’IPv6
Description
Des travaux sont lancés au début des années 90 pour améliorer IPv4
֒→ IPng (IP new generation) (RFC 1752)
Milieu des années 90 : IPv6 est retenu comme nouvelle version
Adoption fin des années 90 (RFC 1883 rendue obsolète par 2460)
Résout le problème des adresses mais pas seulement :
֒→ Apporte des solutions aux lacunes d’IPv4
Plusieurs améliorations :
Format des adresses sur 128 bits (16 octets)
Format fixe pour l’en-tête
Auto-configuration
Gestion de la mobilité
Sécurité . . .
1 Historique
2 L’en-tête IPv6
Champs de l’en-tête
Extensions
La fragmentation
La sécurité
3 L’adressage IPv6
4 Mobilité IPv6
5 De IPv4 à IPv6
6 Conclusion
L’en-tête IPv4
0 4 8 12 15
Version (4 bits) LH (4 bits) Type de service (8 bits)
Longueur totale (16 bits)
Identification (16 bits)
Flags (3 bits) Position du fragment (13 bits)
Durée de vie (TTL) (8 bits) Protocole (8 bits)
Somme de contrôle (16 bits)
Options
Bourrage (max. 7 bits)
L’en-tête IPv6
L’en-tête IPv6
0 8 16 24 31
Version Traffic class Flow label
Payload length Next header Hop limit
Les champs
Description
Version (4 bits) : la version du protocole (ici 6)
Traffic class (8 bits) : la classe de priorité
Flow label (20 bits) : référence le contexte de la communication
(qualité de service)
Payload length (16 bits) : la longueur des données en octets
֒→ Si la longueur des données est supérieure à 65536 octets :
=⇒ Payload length = 0 et longueur spécifiée en option
Next header (8 bits) : indique l’en-tête suivant celui d’IPv6
֒→ Mêmes valeurs que pour IPv4 (TCP=6, UDP=17, ICMP=1)
Hop limit (8 bits) : correspond au TTL (Time To Live)
֒→ Décrémenté de 1 à chaque équipement rencontré
=⇒ Paquet détruit s’il arrive à 0 (et émission d’un message ICMP)
Adresse source et adresse destination (2 × 128 bits)
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 12 / 56
L’en-tête IPv6 Champs de l’en-tête
Description
Abandon de la somme de contrôle :
֒→ Ce sont les protocoles de transport qui doivent la mettre en place
En-tête de taille fixe : plus grande rapidité de traitement
Disparition du champ LH (longueur de l’en-tête)
Options sous forme d’extensions
Les champs concernant la fragmentation ont été supprimés :
Position
Flags MF et DF
Identification du paquet IP
֒→ Extension spéciale pour la fragmentation
Alignement des champs sur 64 bits :
֒→ Optimisation pour les architectures 64 bits
Description
Les options sont sous la forme d’extensions
Ces extensions sont situées entre l’en-tête IPv6 et les données
Généralement, elles ne sont pas traitées par les nœuds intermédiaires
Exemple d’extensions
En−tête IPv6 En−tête TCP +
Prochain en−tête :
TCP données
Procédure
Les extensions forment une liste chaînée, le champ Next Header
permet de connaître l’extension suivante
Les valeurs :
Celles d’IPv4 pour les protocoles
TCP → 6
UDP → 17
IPv6 → 41
ICMPv6 → 58
Ajouts : un numéro correspondant à chaque extension IPv6
Proche en proche → 0
Routage → 43
Fragmentation → 44
Confidentialité → 50
Authentification → 51
Fin des en-têtes → 59
Destination → 60
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 15 / 56
L’en-tête IPv6 Extensions
Action
Description
Certaines extensions contiennent un nombre variable d’options
Ces options sont du format : Type-Longueur-Valeur
Elles sont traitées les unes après les autres
Les bits de poids fort du type de l’option spécifient le comportement à
suivre lorsque l’option est inconnue :
00 : l’option peut être ignorée (la suivante est traitée)
01 : le paquet doit être détruit
10 : destruction du paquet + émission message ICMP
11 : idem sauf si l’adresse de destination est une adresse multicast
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 17 / 56
L’en-tête IPv6 Extensions
Description
Identifiée par le code 60 (dans Next header)
Traitée uniquement par le destinataire
Description
Identifiée par le code 43
Routage à partir de la source
Type−specific data
La fragmentation
La fragmentation en IPv6
La fragmentation en IPv6 est réalisée uniquement par la source
֒→ Le but est d’alléger le travail des routeurs
La taille des paquets ne doit pas dépasser la MTU maximum
rencontrée sur le chemin du paquet :
֒→ On parle alors de PMTU pour Path Maximum Transfert Unit
Exemple
Segment TCP
Fragments IPv6
taille = min(X,Y,Z)
Illustration
partie non partie
fragmentable fragmentable
paquet original
fragments
fragments
Extension fragment
Description
IPv6 impose que tous les liens d’Internet doivent avoir une MTU
minimum de 1280 octets
La fragmentation existe mais elle est déconseillée :
֒→ En particulier si l’application est en mesure de limiter elle-même la
taille des segments (donc des paquets)
Par défaut, une implémentation d’IPv6 implique la création de paquets
de 1280 octets :
֒→ Pour exploiter des MTU supérieures, utilisation de l’algorithme
Path MTU Discovery (RFC 1981)
Explications
L’émetteur envoie le paquet IPv6 selon la MTU de son sous-réseau
Si un routeur détecte que le paquet est trop grand, un message
ICMPv6 est envoyé à l’émetteur :
֒→ Le message ICMPv6 indique la bonne MTU
L’émetteur fragmente alors les données du paquet et le ré-émet
Si un autre routeur détecte que le paquet est trop grand, un nouveau
message ICMPv6 est envoyé
Et ainsi de suite jusqu’au transfert réussi du paquet
La sécurité en IPv6
Description
IPsec est un mécanisme de sécurité pour IP
Optionnel pour IPv4 mais obligatoire pour IPv6
Deux extensions IPv6 concernant la sécurité :
Authentification (Authentication) :
Authentification de l’émetteur
֒→ S’assurer que c’est le bon émetteur du message
Contrôle de l’intégrité
֒→ Personne n’a modifié le message
Confidentialité (Privacy) :
Chiffrage des paquets (total ou uniquement partie transport)
Détection des replay (ou rejeux)
Garantie de la confidentialité du flux
Description
Définie dans la RFC 2406
Chiffrement des données à protéger
Apporte :
Confidentialité
L’intégrité des données
Un service anti-retransmission (anti-replay ou anti-rejeu)
1 Historique
2 L’en-tête IPv6
3 L’adressage IPv6
Format des adresses
Plan d’adressage global
Adresses particulières
4 Mobilité IPv6
5 De IPv4 à IPv6
6 Conclusion
Les adresses
Adresses particulières
bouclage → 0:0:0:0:0:0:0:1 ou ::1
indéterminée (absence d’adresse) → 0:0:0:0:0:0:0:0 ou ::
Plus d’adresse de broadcast !
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 30 / 56
L’adressage IPv6 Format des adresses
Les préfixes
Auto-configuration
Seuls les routeurs sont configurés manuellement
Les hôtes obtiennent leur adresse automatiquement :
Construction d’une adresse globale à partir de l’adresse MAC . . .
. . . Et des annonces faites par les routeurs
Format de l’adresse
n bits 64−n bits 64 bits
Identifiant d’interface
Permet d’identifier une interface connectée sur un lien (64 bits)
Peut être construit à partir de l’adresse MAC (48 bits) :
3 premiers octets (24 bits)
Ajout de FFFE au milieu (16 bits)
3 derniers octets (24 bits)
֒→ Adresse unique au niveau mondial
Si pas d’adresse MAC → nombre aléatoire (ou saisi manuellement)
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 32 / 56
L’adressage IPv6 Adresses particulières
Adresse locale
Format de l’adresse
10 bits 54 bits 64 bits
1111111010 00...00 identifiant interface
Adresse multicast
Adresses multicast
Commencent par FF
Flags (4 bits) : 0 R P T
T = 0 : adresse permanente (gérée par l’IANA)
T = 1 : adresse temporaire
P = 1 : dérivée du préfixe unicast
R = 1 : point de rendez-vous
Scope (4 bits) → 0 : réservé, 1 : nœud, 2 : lien, E : global . . .
Adresses prédéfinies :
FF02::1 : tous les nœuds IPv6 sur le même lien local
FF05::2 : tous les routeurs IPv6 du site
Format de l’adresse
8 bits 4 bits 4 bits 112 bits
11111111 Flag Scope identifiant groupe
1 Historique
2 L’en-tête IPv6
3 L’adressage IPv6
4 Mobilité IPv6
Description
Le tunneling
5 De IPv4 à IPv6
6 Conclusion
Principe général
Description
IPv6 supporte la mobilité en standard
Idée :
Permettre à un mobile de se connecter à un réseau distant . . .
. . . tout en restant accessible à partir de son adresse IP
À chaque mobile est associée une adresse IPv6 globale et unique
֒→ Permet d’identifier le mobile par ses correspondants
L’agent mère
Routeur présent dans le réseau mère du mobile
Il intercepte les paquets à destination du mobile
֒→ Tunneling jusqu’au mobile
Configuration du mobile
Description
Le mobile possède son adresse IPv6 globale
Il possède aussi une adresse temporaire (auto-configuration) qui lui est
attribuée en fonction de ses déplacements
Lorsque le mobile se déplace :
Détection du mouvement grâce à la découverte des voisins
Construction d’une adresse temporaire
Récupération du préfixe grâce aux émissions du routeur local
Concaténation avec son adresse MAC
Avertissement de l’agent mère de sa nouvelle adresse temporaire
Le mobile fournit son adresse temporaire à ses correspondants :
֒→ Cette adresse a une durée de vie limitée (sécurité)
Le mobile maintient une liste des correspondants auxquels il a envoyé
son adresse
Exemple de mobilité
Exemple de déplacement
Agent mère
MA
Internet
Réseau mère
MA du mobile
Correspondant
Données MA
Mobile
Explications
Le mobile avertit son agent mère de sa nouvelle adresse
Il avertit aussi ses correspondants
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 38 / 56
Mobilité IPv6 Le tunneling
Principe du tunneling
Description
Si un correspondant n’est pas averti du déplacement du mobile, des
données sont envoyées dans le réseau mère
Ses paquets sont interceptés par l’agent mère qui peut les transférer
au mobile
Les paquets IPv6 sont encapsulés dans un paquet IPv6
Encapsulation
Adresse de Adresse temp. Prochain Adresse du Adresse principale
l’agent mère du mobile en−tête : IPv6 correspondant du mobile Données
Source Destination Source Destination
Exemple de tunneling
Envoi de données à destination du mobile
Agent mère
Données
Internet
Réseau mère
du mobile
Correspondant Tunnel
MA
Mobile
Explications
Le mobile reçoit des données dans son réseau mère
L’agent mère détecte ces paquets et les envoie au mobile
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 40 / 56
Mobilité IPv6 Le tunneling
Internet
Correspondant Tunnel
MA
Mobile
Explications
Le mobile avertit son correspondant de son changement de réseau
La communication est directe entre le mobile et son correspondant
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 41 / 56
De IPv4 à IPv6
1 Historique
2 L’en-tête IPv6
3 L’adressage IPv6
4 Mobilité IPv6
5 De IPv4 à IPv6
Les différentes techniques
La double pile
Le tunneling
6to4 et TEREDO
6 Conclusion
Problématique
Le protocole IPv4 est largement déployé au niveau mondial
Impossible de basculer totalement de IPv4 à IPv6
Description
Chaque hôte possède la pile IPv4 et la pile IPv6
Chaque interface possède une adresse IPv4 et une IPv6
Les applications IPv4 utilisent IPv4
Les applications IPv6 interrogent le DNS pour savoir si le destinataire
est aussi IPv6 :
Si oui, utilisation de IPv6
Si non, utilisation de IPv4
Inconvénients
Nécessité d’utiliser différentes applications pour chaque version
Le besoin d’adresses n’est pas résolu
Tunnel
Routeur Routeur
IPv4/IPv6 IPv4/IPv6
Encapsulation dans IPv4
Tunnel Broker
Description
Utilisation d’un serveur Web IPv4 qui permet la création d’un tunnel
automatiquement
L’utilisateur interroge le serveur Web :
Configuration du tunnel par le serveur Web
Envoi des informations à l’utilisateur
Utilisation du protocole TSP (Tunnel Setup Protocol) :
֒→ Négociation automatisée des paramètres du tunnel
6to4 (1/2)
Description
Mécanisme utilisé entre sites IPv6 sans tunneling (RFC 3056)
Communications à travers des passerelles 6to4 (appelées relais 6to4)
Création de l’adresse IPv6 à partir de l’adresse IPv4 :
Une seule adresse publique requise : 2002::/16
Suivie de l’adresse IPv4
Préfixe anycast IPv4 assigné aux relais 6to4 : 192.88.99.0/24
6to4 (2/2)
Relais 6to4
Relais 6to4 Relais 6to4
45
2.
.1
1.
5.
2.
4.
19
3
IPv6 IPv4 IPv6
A B
Procédure
Pour envoyer un paquet IPv6 de l’hôte A à B :
֒→ Adresse destination 2002:2D0F:0403::. . .
Le paquet IPv6 est encapsulé dans le paquet IPv4 :
֒→ Adresse destination 45.15.4.3 (en hexadécimal 2D 0F 04 03)
Le relais décapsule le paquet IPv6 et le transfert à B
֒→ Utilisation de l’identifiant d’interface
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 48 / 56
De IPv4 à IPv6 6to4 et TEREDO
6rd (1/2)
Description
Proposé à la base par Free comme alternative à 6to4
Le but : permettre le déploiement rapide d’IPv6 sur l’infrastructure
IPv4 des FAI
֒→ rd pour Rapid Deployment (ou pour Rémi Després)
Problèmes liés à 6to4 : difficile à mettre en place
Ce qu’apporte 6rd :
Il n’opère qu’au sein du réseau du FAI
Chaque FAI utilise un préfixe différent
Description : RFC 5569 (proposée par Free) puis RFC 5969
6rd (2/2)
Fonctionnement général
Réseau FAI
Ilot IPv6 IPv6/IPv4
IPv4 Passerelle 6rd
TEREDO
Description
Idée : permettre à un hôte derrière un NAT d’accéder à l’Internet IPv6
(impossible avec 6to4)
Utilisation d’un serveur et d’un relais TEREDO
Les paquets IPv6 sont encapsulés dans un segment UDP, encapsulé
dans un paquet IP
Ces paquet IPv4 peuvent traverser le réseau IPv4 et les serveurs NAT
Encapsulation TEREDO
Problèmes
Complexe + nombre limité de relais TEREDO dans l’Internet
Cyril Rabat (Licence 3 MI / Info0503) Introduction à IPv6 2010-2011 51 / 56
Conclusion
1 Historique
2 L’en-tête IPv6
3 L’adressage IPv6
4 Mobilité IPv6
5 De IPv4 à IPv6
6 Conclusion
IPv4 et IPv6
Différences
Adresses : 128 bits pour IPv6 au lieu de 32 bits pour IPv4
En-tête + principe d’extensions pour IPv6 (mais toujours une taille
d’en-tête fixe)
Pas de fragmentation intermédiaire
Nouvelles fonctionnalités (découverte du voisinage, mobilité. . . )
Bibliographie / ressources
Bibliographie
Réseaux & Télécoms, Claude Servin, Dunod
Réseaux, Andrew Tanenbaum, Pearson Education
Ressources
IPv6 : RFC 1883 et RFC 2460
Extension Authentification : RFC 2402
Extension Privacy : RFC 2406
Adressage IPv6 global : RFC 3587
6to4 : RFC 3056
6rd : RFC 5969