Beruflich Dokumente
Kultur Dokumente
IPv6 : PLAN
Historique et normalisation Objectifs et principes du nouveau protocole IP ? Nouvelles fonctionalits de IP version 6 Structure du datagramme IPv6 Formats des adresses Autoconfiguration (Neighbor discovery) Qualit de service
Bibliographie
Internet, Multimdia et Temps rel, Jean-Franois Susbielle, Eyrolles, 2000 IPv6, Thorie et Pratique, Gizele Cizault, OReilly, 3eme dition , 2002 IPv6 clearly Explained, Peter Loshin, AP Professional, 1999 Implementing IPv6, Mark A. Miler, IDG Books Worldwide, 2000 et tous Internet-drafts et RFC (Request For Comments) www.ietf.org
IPv6 : objectifs
Rsoudre en premier lieu : la pnurie d'adresses d'IPv4 les problmes de dimensionnement des tables de routage Inclure de nouvelles fonctionnalits : le multipoint la scurit La configuration automatique des stations La mobilit etc
IPv6 : Principes
Tenir compte de l'exprience et des avantages d'IPv4 Principe du Principe du bout en bout best effort
mode non connect, routage adaptatif (robustesse), Avec des amliorations : Accroitre le nombre de bit d'adressage des datagrammes, Adressage hirarchique, Simplifier len-tte des paquets (14 8 champs), la scurit (cryptage des donnes et/ou en-tte),
IPng : normalisation
1983 : 100 rseaux TCP/IP dans le monde 1992 : Utilisation commerciale et explosion de la demande dadresses IP Juillet 1994 : Prise de conscience du risque de pnurie et cration des groupes de travail IPNG (IP Next Generation) et NGTRANS (IPng Transition) Dcembre 1994 : Evaluation des propositions et choix de SIPP (Simple Internet Protocol Plus) renomm IPv6 [RFC 2460]. Juin 1995 : premires implmentations de IPv6 et tests dinteroprabilit 1996-1997 : dploiement du 6BONE rseaux IPv6 de test mondial Dcembre 1998 : le plan dadressage est slectionn Juillet 1999 : dbut de lallocation des prefixes IPv6 par lIANA 1999 - : Elaboration des schmas de migration et dintgration de IPv4-IPv6 Fin 2001 : UMTS adopte IPv6
Ahmed Mehaoua 2002 - page 6
Mesures durgence
1. Allouer des adresses de classes B : pour limiter le nombre dadresses de classes C alloues 2. Utiliser CIDR : agregation des routes 3. Utiliser NAT : adressage priv
Pool dadresses routable
Protocole Path MTU discovery (pMTU) [RFC 1981] Rduire la fragmentation des paquets par les routeurs pMTU compris entre 1280 et maxMTU Exploite un message derreurs ICMPv6 envoy par les routeurs sur le chemin Paquet Trop grand
3. Routage Multipoint (multicast) inclus en natif Pour les routeurs et les clients, Champ scope (4 bits) dans adresse multicast pour limiter la diffusion, Plus besoin du MBONE (routeurs) ni de lapplication mrouted (stations),
20 octets
IPv6 : datagramme
16 bits
Version (4 bits) Traffic class (8 bits) Payload length (16 bits)
16 bits
Flow label (20 bits) Next header Hop limit (8 bits)
40 octets
IPv6 : Extensions
Next header (8 bits) Indique le TYPE de l'en-tte encasul, et lexistence dEXTENSIONS IPv4 utilise les OPTIONS qui sont analyses par tous les routeurs le TYPE peut correspondre un protocole de niveau 3 ou 4 TCP (6), UDP (17), ICMPv6 (58), ou IPv6 (41) ou une ou plusieurs Extensions chanes (taille multiple de 8 octets) : Information de Routage par la source (RH) = 43 Info. dauthentification (AH) = 51 Info. de confidentialit (ESP Encapsulating Security Payload) = 50 Info. de fragmentation (FH) = 44 Extension traite par chaque n ud travers (hop-by-hop) (HHH) = 0 Extension traite par la destination finale uniquement (end-to-end) = 60
Header Type
Type Option
Lg. Option
N x 8 octets
Options
4 options dfinies : 1. 2. 3. 4. Option de bourrage (1 octet de bourrage) (Type = 0) Option de bourrage (plus de 2 octet de bourrage) (Type = 1) Option de JumboGramme (Type = 194) Option Router Alert (Type = 5) tous les routeurs doivent analyser le contenu du paquet RSVP, Multicast Listener, Rseaux actifs
IPv6 : CheckSum
Tous les protocoles de niveaux suprieurs doivent mettre en uvre un contrle sur les champs adresses sources et adresses destinations. Par exemples : Le checksum UDP devient obligatoire avec IPv6 Le checksum de ICMPv6 inclus les champs adresses IPv6
IPv6 vs IPv4
Modifications : en-tte de taille variable devient fixe (40 octets) nombre de champs d'entte rduit de moiti (14 8) IHL, Fragment offset, Header Checksum supprims, Type of Service devient Flow Label et Traffic Class TTL devient Hop Limit Protocol devient Next Header les options deviennent des extensions Taille des extensions non limites 40 octets Taille adresse passe de 4 octets 16 octets Plus de Contrle CheckSum sur len-tte,
IPv6 : adressage
Passage de 4 16 octets pour l'adressage 2 128 6x10 (RFC 2373):
$
22
Plan dadressage agrg : Adressage hirarchique (RFC 2374) Diminution taille des tables de routage / temps de traitement des paquets En pratique : 10 33 adresses (d la hirarchie) 3x10 18 adresses par mtre carr sur la terre 3 niveaux de hirarchie : 1. Une topologie publique (48 bits) 2. Une topologie de site (16 bits) 3. Un identifiant dinterface (64 bits)
: TLA Top Level Aggregator : SLA Site Level Aggregator : IID Interface Identifier
IPv6 : adressage
3 types dadresses IPv6 : 1. Unicast (globale ou locale) 2. Multicast 3. Anycast (nouveau)
Adresses Anycast identifient un groupe dinterfaces mais un paquet ne sera achemin que vers une seule de ces interfaces par les routeurs (par exemple le plus proche de la source) Adresse de broadcast nexiste plus Pour viter de saturer un rseau constitu de commutateurs Remplac par des adresses multicast
Adresses Unicast
une adresse unicast identifie une seule interface Peut tre de 3 types : 1. globales (utilisation du plan agrge), 2. site local ou link local, etc (adresses prives) 3. compatible IPv4 ou adresse "mappe"
Adresses particulires
Bouclage ou loopback ::1 quivalent de ladresse 127.0.0.1 utilise pour envoyer un datagramme en local (test) non spcifie :: utilise comme adresse source lors dune initialisation
Top Level Aggregator (13 bits) identifie les fournisseurs/oprateurs internat. Reserved (8 bits) pour utilisation future (entre TLA et NLA) Next Level Aggregator (24 bits) identifie les fournisseurs/oprateurs rgionaux ainsi que lidentifiant du site (dcomposition et allocation sous la responsabilit du TLA) Site Level Aggregator (16 bits) identifie les sous-rseaux dans le site (sous la responsabilit de ladministrateur du site)
Ahmed Mehaoua 2002 - page 28
identifie le terminal
conversion de l'adresse MAC (48 bits) adresse MAC : 02:A0:24:E3:FA:4B adresse IID : 02A0:24FF:FEE3:FA4B
Dbut 2000 : 124 TLA ont dj t attribus au niveau international. Un TLA peut allouer plus de 68,7 millions de prfixes rseaux IPv6
Configuration automatique lors du boot de la machine par lajout du prfixe FE80::0/64 lidentifiant de linterface (IID)
F E 8 0 IID
1111 1110 10
(10 bits)
0
(54 bits)
Identifiant Interface
(64 bits)
Utilise par les protocoles dautoconfiguration des adresses globales Neighbor Discovery et Router Discovery
Ahmed Mehaoua 2002 - page 31
Concatnation du prfixe FEC0::0/48, dun identifiant de sousrseaux sur 16 bits (SLA), et de lidentifiant de linterface (IID)
F E C 0 IID
1111 1110 11
(10 bits)
0
(38 bits)
SLA
(16 bits)
Identifiant Interface
(64 bits)
0
(80 bits)
1
(16 bits)
0
(96 bits)
Avec un paquet IP Multicast, les cartes rseaux des machines non membre du groupe rejtent immdiatement les paquets
FF 1111 1111
(8 bits)
scope
(4 bits)
Groupe ID
(112 bits)
TYPE
CODE
Donnes ICMP . . .
TYPE
CODE CHECKSUM
8 bits Prcise la nature du message valeur < 128 : messages derreurs valeur > 128 : autres messages (Autoconfiguration, mobilit, multicast ) 8 bits Prcise la cause du message ICMP 16 bits Champ de contrle derreurs
Destination inaccessible
- aucune route vers la destination (dans les tables) - communication avec la destination administrativement interdite (Firewall) - hors de porte de ladresse source (adresse link local) - adresse inaccessible (adresse locale donc non routable) - numro de port inaccessible (mis par la destination)
Temps dpass
- limite nombre de sauts atteinte (Traceroute) - temps de rassemblage dpass
Erreur de paramtres
- champ den-tte non reconnu - champ den-tte suivant non reconnu - option non reconnue
Tests (Ping)
128 129 - ECHO Request - ECHO Reply
Gestion de la mobilit
150 151 152 153 Ahmed Mehaoua 2002 - page 39 0 0 0 0 - Home Agent Address Discovery Request Message - Home Agent Address Discovery Reply Message - Mobile prefix Solicitation Message - Mobile prefix Advertisement Message
ND : 4 fonctions
permet de : 1. Rsoudre les adresses (style ARP)
Construction de table de correspondance adresses IPv6 / Physiques Pas de ncessit dutiliser un protocole spcifique et le broadcast
3. un routeur dindiquer un meilleur chemin vers une destination Configuration automatique des tables de routage des clients 4. Configurer automatiquement une machine
localiser les routeurs sur le lien local, dcouvrir le ou les prfixes du rseau dcouvrir les paramtres du rseau (MTU, Max Hop Limit, etc) dtecter les duplications d'adresses IPv6 seul les routeurs doivent tre configurs manuellement
Ahmed Mehaoua 2002 - page 43
ND : 5 messages ICMPv6
1. Router Solicitation (RS) demande d'une annonce de routeur de la part dun quipement du rseau qui sinitialise (3 sollicitations successives max toutes les 4 secondes) Message ICMP de type = 133 sur adresse multicast tous les routeurs du lien local (FF02::2), avec adresse IPv6 source (::) et adresse physique du client dans le champ Option 2. Router Advertisement (RA) annonce (priodique toute les 3 secondes) de la prsence d'un routeur ou suite une sollicitation (RS) dun client. Message ICMPv6 de type = 134 sur adresse multicast toutes les stations du lien (FF02::01) ou adresse unicast de la station qui a mit le RS Contient : MTU du lien, Max Hop Limit, adresse physique de la source, Un ou plusieurs prfixe utiliss sur le rseau (SAA) Prsence dun serveur DHCPv6, dun Home Agent (Mobilit),
Ahmed Mehaoua 2002 - page 44
ND : 5 messages ICMPv6
3. Neighbor Solicitation (NS)
Pour dterminer l'adresse Physique dun voisin, Vrifier laccessibilit dune machine ou une duplication d'adresse; Message ICMPv6 de type = 135
4. Neighbor Advertisement
En rponse une NS Neighbor Sollicitation ou pour annoncer un changement d'adresse physique, Ou un changement de statut (station devient un routeur ou linverse) Message ICMPv6 de type = 136
5. Redirect
Utilis par un des routeurs sur le lien pour annoncer une meilleure route vers une destination autre que celle passant par le routeur par dfaut. Permet la mise jour automatique des tables de routage des clients Message ICMPv6 de type = 137
ND : Autoconfiguration
3 procdures possibles dautoconfiguration dune interface : 1. Cration dune adresse Lien-locale
Combiner le prfixe FE80::/64 et ladresse MAC de la machine, Vrifier lunicit de ladresse au moyen des messages ICMPv6 Sollicitation dun voisin et Annonce dun voisin
IPv6 et DNS
Correspondance entre noms et adresses IP reposent sur : 1. Les fichiers /etc/hosts 2. Sur le service DNS (Domain Name System) Plusieurs problmes sont poss par IPv6 (en cours de rsolution) : 1. Ajout dun nouveau type denregistrement AAAA [RFC 1886] 2. Ajout de nouveaux domaines ip6.int et ip6.arpa 3. Mise jour dynamique du DNS (mcanismes dautoconfiguration IPv6) : Protocole Dynamic Update [RFC 2136] Notification [RFC1996] et Transfert Incrmental [RFC1995] Exemple denregistrement dans un DNS : www6 www6
Ahmed Mehaoua 2002 - page 47
IN IN
A AAAA
129.88.45.23 2001:550:145:1:55
IPv6 et Ethernet
(6 octets) (6 octets) (2 octets) (e 1500 octets) (4 octets)
DA MAC
SA MAC
86DD
Paquet IPv6
CRC
uu-vv-ww-xx-yy-zz Adresse MAC unicast uu-vv-ww- FF-EE-xx-yy-zz Identifiant Interface IID FE8O::uu-vv-ww- FF-EE-xx-yy-zz Adresse IPv6 lien locale
Header IPv6
(40 octets)
Payload IPv6
IPv6 et QoS
Besoin de diffrentier / garantir certains trafics Utilisation des champs : Traffic Class (8 bits), et Flow Label (20 bits) Problme ouvert Chaque architecture Internet pour le contrle de la QoS propose une exploitation de ces champs, Doit tre compatibilt avec le champ TOS de IPv4
IPv6 et Routage
Les algorithmes de routage nont pas chang avec IPv6, juste prises en charge des adresses au format IPv6 : RIPng [RFC 2080] sur UDP port 521 Mcanisme dauthentification issue de RIPv2 supprim [RFC 2858]
OSPFv3 [RFC 2740] BGP4+ Service de routage Multicast IPv6 globale constitu de 3 niveaux : Protocole de Gestion de groupes multicast : MLD ICMPv6 Protocole de routage multicast interne : PIM (Protocol Independent Multicast) Protocole de routage multicast externe : BGMP (Border Gateway Multicast Protocol)
Services de Scurit
Les services de scurit sont : 1. Confidentialit des donnes : chiffrement des donnes par cl publique 2. Authentification de lorigine des donnes : adjoindre aux donnes mises une signature numrique calcule sur les donnes au moyen de la cl prive de lmetteur. 3. Authentification mutuelle : permet 2 entits de se prouver mutuellement leur identit : change de message dauthentification impliquant un dialogue 4. Intgrit des donnes : garantie que les donnes reues nont subit aucune modification 5. La non rpudiation : qui permet de prouver en cas de litige, que des donnes ont bien t mises ou reues par des entits.
Attaques IP classiques
1. IP SNIFFING : consiste pour un intrus couter le trafic en transit sur un rseau Intrus situ sur le rseau (un lien Ethernet) Intrus lexterieur du rseau mais plac un analyseur de trafic dans le rseau linsu des administrateurs (Cheval de Troie) 2. IP FLOODING : envoyer une multitude de paquets IP vers la mme destination (routeur, serveur) empchant le traitement de paquets IP lgitime (Dnie de service) TCP SYN flooding (serveur) Paquets IP (Routeur) 3. IP SPOOFING : usurper lidentit dun autre terminal : Modification de ladresse physique de la station de lintrus Envoi de message ICMP REDIRECT pour changer les tables de routage et rorienter le trafic vers un intrus Attaque DNS pour rediriger les requtes dapplications Attaque par numros de squence des paquets TCP pour sinsrer dans une session de communication en cours
Ahmed Mehaoua 2002 - page 52
IPv6 et la Scurit
IPv6 met en uvre des mcanismes de scurit regroups sous lappellation IPSEC pour contrer les attaques de type IP SPOOFING et IP SNIFFING (IP FLOODING trs difficile contrer) IPSEC est en ralit commun IPv4 et IPv6, intgrs au niveau 3 et offrant un moyen de protection unique aux applications : Toutes les implmentations de IPv6 doivent intgrer IPSEC (optionnel pour IPv4). Les services de scurit offerts par IPSEC sont : Confidentialit des donnes Intgrit des donnes Authentification de lorigine des donnes
IPSEC
IPSEC propose 2 nouvelles extensions IP [RFC 1752]: 1. Authentification Header (AH) : authentification et intgrit 2. Encapsulating Security Payload (ESP) : confidentialit, intgrit, authentification Et deux modes de protection : 1. Le mode Transport : protger la charge utile du paquet IP 2. Le mode Tunnel : protection de tous le paquet (encapsulation) 2 mcanismes au lieu dun seul pour tenir compte des lgislations de chaque pays concernant lutilisation de la cryptographie. Exemple de la France : Juillet 1996 : utilisation possible de la crypto pour lintgrit et lauthentification Mars 1999 : utilisation possible de cls de moins de 128 bits pour la confidentialit
Windows XP en natif
MacOS 10.1 et MacOS X IBM AIX 4.3 et suprieure Compaq True64 UNIX et OpenVMS v5.1 et suprieure, HP-UX 11i et suprieure Linux 2.4 et suprieure (RedHat 7.1 Mandrake 8.0) FreeBSD 4.0 et suprieure
IPv6 et Programmation
Les applications IPv4 existantes doivent tre mise jour pour fonctionner sur un terminal IPv6-only, Linterface de programmation (API) sous Unix (Socket) et sous Windows (WinSock) sest enrichie de : 1. Nouvelles structures de donnes adresses 2. Nouveaux types de donnes 3. Nouvelles fonctions de conversions dadresses 4. Nouvelles primitives de conversion entre noms et adresses
IPv6 et Programmation
Nouvelles dclarations de types et protocoles :
# define PF_INET6 AF_INET6 sock = socket (PF_INET6, SOCK_DGRAM, 0);
Les sockets
Protocole Applicatif
Application cliente Application : serveur
API Socket
API Socket
UDP
TCP
UDP
TCP
IP
IP
Physique
Physique
Serveur
socket() bind() listen() accept()
Attachement de la socket Ouverture du service tat dattente effective (bloquant)
connect() write()
tablissement de la connexion
envoi requte
Fermeture de la socket
close()
IPv6 : Conclusions
Raisons pour ladoption de IPv6 : 1. Trouver une Killer application (exemple du Web pour ladoption de TCP/IP) 2. 3. Tlphonie mobile (GPRS, UMTS) Domotique Applications peer-to-peer (jeux rparties, voix sur IP) Le rveil des pays de la zone Asie Pacifique Grands parcs de machines
Raisons qui freinent ladoption dIPv6 : 1. 2. 3. 4. 5. Disponibilt du code IPv6 dans les terminaux et routeurs Manque dapplications compatibles IPv6 (rgles de programmation non intgres) Clients nadoptent pas IPv6 car Oprateurs noffrent pas dinterconnexion IPv6, mais oprateurs noffrent pas daccs IPv6 car pas de demandes de clients Le principal march (Amrique du Nord) ne pousse pas vers la migration Frein psychologique : Complexit apparente des nouveaux protocoles