IPv6
Les raisons de la
création d’IPv6 :
·
Problème de la taille de l ’Internet
·
Épuisement des adresses IPv4 - tables de routages énormes
·
Besoin d’un protocole plus fort, offrant plus de services que IPV4 (QOS, la
sécurité…)
·
Problème d’identification du type des données transportées
·
Pas de mécanisme de sécurité
Les Objectifs d’IPv6 :
Supporter des milliards
d’ordinateurs - la sécurité
- temps réel
Réduire la taille des tables
de routage - compatibilité avec IPv4
Router les data grammes plus
rapidement - Permettre une évolution future
Ajouter de nombreuses
fonctionnalités optionnelles d'IPv4 :
Auto
configuration - la Mobilité - Diffusion
Multicast - Sécurité (Authentification
et confidentialité)
Solution : IPV6 :
Adresse
sur 16 octets (128 bits)
La représentation s’effectue
par groupe de 16 bits sous la forme:
123
: FCBA : 1024 : AB23: 0 :0 : 24 : FEDC
Auto
configuration : une partie de l’adresse
peut être l’adresse MAC
Adressage
hiérarchique : allocation des adresses
Types d ’addresses (Unicast, Multicast, Anycast).
En-tête
simplifié (2 fois moins d’informations)
Extension d’en-tête:
–
options dans des en-têtes séparés
–
il s’agit des en-têtes qui se situent entre l’en-tête de la couche
transport et l’en-tête d e IPV6
–
la limitation de l’en-tête à 40 octets est levée
MultiCast inclus de base:
–
«scope » -> un meilleur routage
Mbone (Multicast backbone) n’a plus besoin d’exister
Le but du Mbone est de transmettre de façon efficace,
en temps réel et de manière symétrique, des flux de nombreux utilisateurs
répartis.
Plug and Play:
auto configuration
–
prise en compte de la mobilité
–
création des serveurs d’adresses (DHCP)
–
changement d’adresse plus facile
Gestion
de la Sécurité : confidentialité (en
option) – authentification - intégrité des données
Etiquette
de flot :
– Flux particuliers peuvent être prioritaires
– Application de Temps réel - QoS
Routage optimisé :
–
SDRP (Source
Demand Routing Protocol) -précision de la route dès l’début
–
IDRP (Inter
Domain Routing Protocol) …….dans le même domaine
Différence entre le Paquets IPv4 & v6
IPv6 : pas
d’chucksum (il va être ajuster par les routeurs)
Pas de TTL (pour les erreurs
on prend le risque car on utilise les câbles fibres optiques + on va les
corriger dans les couches sup…….)
Moins de champs que IPv4
Entête de taille fixe (plus
rapide) - plus de souplesse dans les options
Option de
l’entête IPv6
Version : est 6 pour IPv6 (sur 4 bits)
Priorité
sur
4 bits : les classes du trafic.
Etiquette
de flot: 24 bits indique les flux spéciaux
Longueur
des données utiles : longeur du paquet après l’en-tête
En-tête
suivant: indique le type d’en-tête après celui de IPv6
Nombre
max de sauts : limite la durée de vie
du paquet
Adresse
source: @ de l’émetteur
Adresse
de destination: @ du récepteur
Extensions
Ils sont plus souples que les
options v4 – ils sont traités que par les nœuds concernés
Il existe 5 types :
Proche en
proche (hop by hop): remplace
IPv4 - toujours la 1er
extension -
Analysé par chaque routeur
4 options :
Pad1 : bourrage (compléter les champs qui reste avec des
0) 1
octet (aligner sur 64 bits)
Padn : n octet (Idem)
Router alert : demande au routeur de prendre en compte les données (utile
pour ICMPv6 et RSVP (Resource Reservation Protocol) offrir une qualité de
service adaptée aux besoins de l'application
Jumbogramme
(pq de 64 ko) = adaptation des protocoles (TCP ou UDP)
Destination : traité seulement
par le destinataire
(pad1 et padn –
Mobilité – tunnel IPv6 – Jumbogramme)
Routage
Permet d’Imposer une route
différente de celle offerte – aller de routeur en routeur !
Le paquet est adapté à
l’émission par la MTU (1280 oct pour le tunnelage)
NFS par exemple suppose que
la fragmentation existe et produit des msg de grande taille
·
Path MTU
Discovery
MTU : taille maximale de
l’unité de transmission pouvant être transportée sans fragmentation
Path MTU = min des MTU sur
l’ensemble des liens du chemin !
Sécurité
La qualité de
Service (Qos)
Définition
Est la capacité à véhiculer
dans de bonnes conditions un type de trafic donné, en termes de disponibilité,
débit, délais de transmission, gigue
(variation de la latence
(délai dans les communications informatiques)
au fil du temps), taux de perte de paquets…
Il
est nécessaire de différencier/garantir certains flux.
Utilisation
des champs (champ priorité + champ « identifiant de
flux »)
Problèmes
à résoudre (mise en œuvre dans les routeurs + correspondance
avec QoS d ’ATM (asynchron
transfer mode) Protocole réseau qui transmet les données
par cellules
de 53 octets
Chaînage d'extensions
Option
Hop-by-Hop-Header : on examine sur chaque nœud le transport d’information
End-to-End-Header : le destinataire d’information examine le transport d’information
Routing Header : on route à partir de la source
- Les nœuds qui doivent être
visités
-Revers Bit:
•
on utilise
l’information de routage de retour (si = 1)
•
le destinataire
doit résoudre le routage
•
Fragment Header:
– possibilité d’envoyer les paquets > MTU
•
Max MTU : 1500
octets
•
Mini MTU : 576
octets
Privacy Header: on peut chiffrer des données à protéger
Authentification Header: authentification
et intégrité des données
L’Adressage IPv6
ORGANISMES REGIONAUX
DE GESTION D’ADRESSE (IANA)
Besoin d’adressage : voiIP – GPRS – UMTS – véhicules communicants ……
128 bits => 2^128 =
3.10^38 ou 6.10^22 @ par m2 sur terre (4 fois @IPv4) + (« 8 Mots » de 16
bits en hexadécimal)
Format d’une @ IPv6
L’@ est associée a un masque,
il sépare le num de réseau et l’ID de l’interface
/64 ou %64
REPRESENTATION DES ADRESSES IPv6
0208 = 208
0 :0 = :: (on applique ce truc q’une seul fois dans l’@)
Exemple
Les types d’adresses
–
Unicast
Identifier une interface
–
Multicast Identifie un
groupe d’interfaces (pq diffusé par tt le groupe)
–
Anycast Identifie une
interface dans un groupe
–
PORTEE D’UNE ADRESSE IPv6
Loopback : portée limité à la machine
Adresse lien local : limité au réseau local
Adresse globale : sortir vers Internet
Chaque machine peut avoir
plusieurs interfaces et chaque interface a plusieurs
Adresses :
@ Lien local et une/plusieurs @ globales (configurée
manuellement ou automatiquement)
·
Adresse Unicast
– Lien local (FE80::/64)
–
Site
local (FE0C::/64
ne st plus utilisées)
–
Adresses unicast globales 2001::/16
– Adresse de retour,
loopback (::1)
– Adresse
indéterminée (0:0:0:0:0:0:0:0)
Lien local FE80::/64
Site local (plus utilisé) FE0C ::/64
SLA
‘Site Level Agrégation’ sur 16 bits
Unicast globales 2001::/16
ALLOCATION DES ADRESSES IPv6
Exemple
La durée de vie d’une @ IPv6
Une @ IPv6 associée a une
interface = 30 jours par défaut
(prolongé ou portée a l’infini)
Les @ IPv6 vivent et changent
d’état au cours du temps
Adresses « IPv4 » (transition)
Les @ IPv4 mappée :
·
adresses Multicast
Scope
Les Groupes
Le flag = 0, il existe 2
groupes :
Adresses
Multicast prédéfinies
Adresses
Multicast sollicitées
Utilisée
pour la découverte de l’@ mac d’un voisin
-Avec
IPv4, on utilise l @ unicast IPv4 du
voisin et l@ mac de broadcast
-Avec IPv6 et ICMPv6, on
utilise l@ Multicast sollicitée du voisin
et l@mac
De groupe associé
Construite à partir d’une @
unicast en concaténant
-Le préfixe
FF02 ::1 :FF00 :0/14
-Au 24 dernier bits extraite
de celle-ci
« Dans le cas
d’une adresse de lien local ou plan agréges, il s’agit des 24 derniers bits
d’une @mac »
·
adresse anycast
-Identifier un ensemble de
machine
-L’information n’est envoyée
qu’a une des machines (serveur Web par exemple : au lieu de consulter tout
les serveurs web, on consulte seulement le plus proche ou le plus disponible……)
-désigne un service
(FTP-DNS….) plutôt qu’une machine
-non spécifiée et difficile à
mettre en œuvre avec IP
Exemple
Réservation
des adresses
Les adresses auto configurée
Le num de
réseau :
Préfixe global annoncé par
les routeurs
Préfixe local (le lien
local) FE80 ::/64
ID de
l’interface :
L’ID doit être unique - la machine le détermine de façon autonome –
se base sur l’@ mac de l’interface réseau
On insére FF : FE au milieu de l’@MAC
On inverse le 7éme bit du 1er
octet (bit U) : dans une @ mac ce
bit est toujours à 0 (U = 0 : configuration manuelle – U=1 : l’auto
configuration)
ICMPv6
ICMPv6 :
message classique d’erreurs comme ICMPv4 (destination inaccessible – paquet
trop grand- ping ….)
Intègre des
protocoles IPv4 non intégré dans
ICMPv4 : ARP, IGMP
+ La découverte
des voisins
Protocoles associés a IPv6
ND : découverte des voisins, il
s’appuie sur ICMPv6 et le Multicast local
2 mécanismes :
1-résolutions des
adresses – détermine les @mac des voisins (comme ARP dans IPv4) –
maintenir l’accessibilité des voisins et redirection vers eux
2-plug and play (l’auto configuration) :
préfixe réseau + masque + passerelle
La présence des équipements – localise les
équipements de routage
MLD (Multicast listner Discovery) :
gestion des groupes Multicast – basé sur IGMPv2 – MLDv2 équivalent à IGMPv3
d’IPv4
ICMPv6 : transporte les messages ND et MLD
– couvre les aspects ICMPv4
ND spécifie 5 types de
paquets ICMPv6:
RS (Router
Solicitation) : l’hote veut un RA
immédiatement (lors du démarrage par exemple)
RA (Router
Advertisement) : annonce périodique de la présence d’un routeur
Valeur du MTU – nombre des
sauts
NS (Neighbor
Solicitation) : permet de trouver l’adresse mac du voisin et son accessibilité – tester la
duplication des @ et l’inaccessibilité
NA (Neighbor
Advertisement) permet d’annoncer un changement d’adresse ou le meilleur chemin et de répondre à NS
- Les nœuds IPv6 sur un même
lien utilisent ND pour découvrir leur présence mutuelle et leur @ MAC, trouver
les routeurs et maintenir l’information
d’accessibilité vers les voisins.
Pas applicable aux
réseaux NBMA (non broadcast multiple access) car ND utilise
le Multicast
L’un des quatre types de réseau dans le protocole
OSPF. NBMA est utilisé pour modéliser avec précision X.25
et trame relaye
La
découverte des Voisins
Auto
configuration d’une machine (lien local) – obtenir le préfixe réseau et la passerelle
– configurer l@ global et la route par
défaut
La résolution des adresses
M veut envoyé un paquet IPv6 à D (FE80 ::1), L@ Mac est absente dans son cache, donc il va envoyé un NS en Multicast à D
D
reçoit la sollicitation, il va envoyé un
NA en unicast, M met à jour son cache
L’auto configuration
•
But : obtention automatique d’une adresse IP pour la
machine connectée
•
Configuration intra-liaison : sans routeur
•
Configuration inter-liaison : avec routeur
Seul
les routeurs doivent être configurée manuellement (DHCP), les hotes peuvent
obtenir les @ automatiquement mais ils ne sont pas enregistrés dans le DNS
(problème de mis à jour automatique du DNS) « configuration avec/sans
état »
L’auto configuration de l’@ du lien local
L’auto configuration de l’@ global
Détection de conflit d’@
Auto configuration stateless
L’équipement
s’attribue une @ lien local
•
Vérification de l’unicité de cette adresse
(Envoie
d’une trame ICMPv6 type 135 (sollicitation du voisin)) sur l@ du Multicast FF02 ::1
Aucune
réponse après une seconde = l @ est valide
Si
non retour d’un message ICMPv6 (type 136) le bit S annonce que l @ est déjà
utilisée
•
Envoie d’une trame ICMPv6 (type 133)
« sollicitation d’un routeur » sur l@ Multicast FF02 ::2
• Réception d’une trame ICMPv6 (annonce d’un routeur) type 134, le préfixe du site est retourné
DHCPv6
NTP (Network Time Protocol ou NTP) est un protocole qui permet de synchroniser, via un réseau informatique, l'horloge locale d'ordinateurs sur une référence d'heure.
Le
DHCP peut gérer plusieurs liens, un client DHCP converse soit directement avec
un serveur DHCP ou un Proxy DHCP.
Un
client est identifié par un DUID (DHCP
unique ID) généré et fonction avec de l’@ de lien local
Les
requêtes est envoyées sur UDP/547, les réponses : UDP/546
La
découverte d’un serveur DHCP : message Multicast à l@
FF02 ::1 :2
IPv6 et DNS
•
Extension pour supporter IPv6
Enregistrement AAAA (Quad A) associer une @ IPv6 à
un nom
Ex (Bind)
: ns2 IN AAAA
2001 :660: 2402: :2
Une fois
l@ auto configurée connue, il faut ajouter dans le DNS et si l’interface réseau
change, l@ IPv6 change également
IPv6 & Protocole de
routage
•
Transposition de ceux d ’IPv6:
–
Protocoles intérieurs: RIPng, OSPFng
–
Protocoles extérieurs:
IDRP:
abandonne et BGP4+: version modifiée de
BGP4 pour IPv4 adaptée au routage des data grammes IPv6 et à la gestion des
routes Mulicast IPv6 (mBGP)
IPV6 & Sécurité
IPv6 doit fournir 2 services :
Authentification de l’utilisateur / Intégrité des données
Confidentialité (cryptage) : Indépendance des algorithmes de
chiffrement
Authentification : résultat d’un calcul sur les données et
les champs d’en-tête qui ne changent
pas, avec une clé secrète
Un
protocole par défaut obligatoire sur les équipements IPv6 : MD5 (128 bits)
Confidentialité :
Inclut
intégrité et authentification - ESP (Encapsulating Security Payload)
2
stations de travail ou station / passerelle de sécurité ou passerelle /
passerelle
Pas
de protection contre l’analyse du trafic - Coûteux (baisse des performances)
IPv 4 et IPv6, Authentification, Intégrité, Confidentialité
La sécurité est indépendante des algorithmes de chiffrement
Champ SAID (Security Association Identifier): Type
de clé, durée de vie, algorithme,…Administration des clés: séparée
Les fonctions de sécurité sont optionnelles et
n’affectent pas les autres utilisateurs
|
•
En-tête
•
Next
Payload et Length (2 octets)
•
Reserved (2 octets)
•
SAID (4 octets)
•
Donnés d ’authenfication (n*4 octets)
•
Le calcul sur les donnés et les champs d’en-têtes
ne changent pas (hop count …exclus)
•
Par défaut:
–
MD5
(sur les stations IPv6 c’est obligatoire)
–
Utilisé en général entre stations origine
et destinataire
•
ESP: Encapsulation Security Payload
–
Intégrité et authentification
|
•
Chiffrement de toutes les parties du data gramme
(données)
•
Ajout d’en-têtes et chiffrement du reste:
–
En-têtes
IPv6, ESP, autres sont en clairs
–
Donnés chiffrées (même pour les données
initiaux)
•
Support d’au moins :
–
DES (Data Encryption Standard)
–
CBC (Cipher-Block Chainnig)
•
Pas de protection contre l’analyse de
trafic
•
Gestion des clés: entre utilisateurs/entre
stations
|
IPV6 & Protocoles de
transport
Modification
mineur de TCP et UDP
Checksum
obligatoire et porte sur pseudo en-tête
Prise en compte des jumbo grammes : l’en-tête TCP ou UDP contient un champ longueur trop petit => =0 pour UDP mais y’a un problème avec TCP ou plusieurs compteurs sont sur 16 bits (longueur des fenêtres)
IPv6 transition
1-Utilisation de la technique (Dual stack) et des tunnels automatiques ou manuels :
IPv4 > IPv6 < IPv4
IPv6 > IPv4 < IPv6
-par exemple un tunnel IPv6 dans IPv4 consiste à encapsuler
le paquet IPv6 dans un paquet IPv4 et de faire router le paquet IPv4 obtenu par
l'ensemble des routeurs IPv4 du chemin vers la destination jusqu’ au bout du tunnel
(router dual stack) qui décapsulera le paquet IPv6 et le fera suivre a la
destination
Dual stack (ipv4 & ipv6 sont activées), le choix de la
version basée sur le résultat de la requête DNS
Les tunnels c’est pour le déploiement Dual stack :
Manuel : GRE
Semi automatique :
tunnel broker
Automatique : 6rd,
ISATAP, 6to4
6to4 (mieux
adapté pour extranet et vpn) permet à un
réseau IPv6
isolé de communiquer en IPv6 avec un autre réseau IPv6 à travers un réseau IPv4 sans attendre que
leur FAI fournissent du transport ipv6. (Le paquet ipv6 encapsulé dans ipv4)
Tunnel broker :
service web en ipv4, basé sur des serveurs dédiés appelé (tunnel broker) il
gère automatiquement les demandes de
tunnel des utilisateurs (ipv6 >
(réseaux ipv4) < ipv6)
Utilise un protocole (Tunnel Setup Protocol)
ISATAP : LAN
qui ont pas un routeur IPv6, l’intégration de l@ ipv4 dans l’ID interface (64
dernier bits)
2- traduction au niveau IP ou utilisation des Proxy (la
transition)
IPv4 > IPv6
IPv6 > IPv4 (la transition : pur ipv6 communique avec pur
ipv4)
DSTM: Dual Stack Transition Mechanism :
destiné que pour les réseaux IPv6 qui sont
besoin occasionnellement d'échanger d'information directement avec
d'autres machines ou applications IPv4.
Teredo est un Proxy
qui offre un service de permettre aux machines qui utilisent le NAT d’obtenir une connectivité IPv6 en créant un tunnel des paquets sur UDP
Les translateurs sont des équipements capables d’assurer la
translation ipv4 vers ipv6 ou ipv6 vers ipv4 (élimination de doubles piles –
besoin de DNS ALG – NAT – PT)
Exercice + correction