Académique Documents
Professionnel Documents
Culture Documents
modifi le 02/09/2008
Plan
Ressources bibliographiques
IPv6 Thorie et pratique 4ed, G. Cizault, O'Reilly 2005 (version en ligne avec mises jour sur livre.point6.net) IPv6: Theory, Protocol, and Practice, 2 ed, P. Loshin, Elsevier, 2004
nd
Le 6bone
Rseau exprimental cr pour tester le dploiement de l'IPv6. Il s'tend en Asie, Amrique, Australie et en Europe. Juin 1998: ouverture du 6bone. adresses IPv6 utilises par ce rseau sont regroupes par leur prfixe commun 3ffe.
Janvier 2004: arrt d'attribution des adresses en 3ffe. Dsormais, on obtient des adresses dfinitives, commenant par 2001.
Historique
En 1992, constat de
En 1995, RFC 1883: Internet Protocol version 6 Depuis, de nombreuses modifications et normes complmentaires
Objectifs
Adresses
IANA (Internet Assigned Numbers Authority, voir iana.org) + 5 RIR (Regional Internet Registry)
AfriNIC (African Region) APNIC (Asia/Pacific Region) ARIN (North America and Sub-Sahara Africa) LACNIC (Latin America and some Caribbean Islands) RIPE NCC (Europe, the Middle East, Central Asia, and African countries located north of the equator)
Adresses
Sur 128 bits: 8 mots de 16 bits spars par des : Ex: 3201:001A:12FF:0000:0000:0000:FFFE:8ABC :: pour abrger plusieurs mots nuls conscutifs Ex: 3201:1A:12FF::FFFE:8ABC 3 types d'adresses: unicast, anycast, multicast => plus de broadcast! Utilisent les principes de CIDR: adresse/longueur_prfixe Ex: 2001:660:3003::/48
TLA (Top Level Agregator): grand oprateur international NLA (Next Level Agregator): oprateur intermdiaire SLA (Site Level Agregator): site => Plan abandonn au profit du plan d'adressage global utilis pour tests au sein du 6bone avec TLA=1FFE
Par exemple:
3 001 45 prfixe 16 Sous-rseau 64 Ident_interface
Identifiant d'interface
Identifiant sur 64 bits pour dsigner une interface connecte sur un lien Peut tre construit partir de l'adresse de niveau 2 de l'interface rseau: Pour les rseaux Ethernet/FDDI: partir d'une adresse MAC IEEE 802 (48bits), ajout de FFFE au milieu et inversion du 7ieme bit => identifiant unique au niveau mondial Si pas d'adresse de niveau 2=> nombre au hasard ou saisie manuelle
Adresses locales
Adresses lien local (link local): adresses dont la validit est restreinte un lien Forme: FE80::+ident_interface
1111111010 0..............0 ident_interface
Utilises par les protocoles de configuration d'adresse globale, de dcouverte de voisins (neighbor discovery) et de dcouverte de routeurs (router discovery). Le protocole de dtection de duplication d'adresse (DaD) permet de s'assurer de l'unicit au niveau du lien. Pas forwardes par les routeurs => usage local au lien 10 54 64
Adresses locales
Adresses site local (site local): adresses dont la validit tait restreinte un site => gnralisait la notion d'adresse prive d'IPv4 FEC0:+ident_sous_rseau+ident_interface
1111111011 ident_ss_rs ident_interface
10 54 64
Adresses locales
Adresses unique local (ULA: unique local address): Pour utilisation au sein d'une zone limite (site ou entre un nombre limit de sites) FC00::/7:+ident_global+ident_sous_rseau+ident_interface
11111101 ident_global ident_ss_rs ident_interface
8 40 16 64
Adresses multicast
Commencent par FF....
11111111 flag scope ident_groupe
8 4 4 112
Scope (tendue):
0: rserv Flag bits: 0 R P T 1: noeud T=0 => adresse permanente (gre par IANA) 2: lien T=1 adr temporaire 4: administration P=1 => drive du prfixe unicast 5: site R=1 => point de rendez-vous 8: organisation E: global F: rserv
Adresses prdfinies
Adresses spciales adr indtermine: 0:0:0:0:0:0:0:0 ou bien :: adr de bouclage: ::1 Pour transition IPv4/v6: adr Ipv4 mappes: ::FFFF:a.b.c.d o a.b.c.d est une adr Ipv4 adr Ipv4 compatibles: ::a.b.c.d => dprcies (cf. RFC 4291) Adresses multicast prdfinies: FF02::1 => tous les noeuds Ipv6 sur le mme lien local FF05::2 => tous les routeurs Ipv6 du site FF0E::101 => tous les serveurs NTP sur l'Internet
Adresses anycast
Une adresse anycast identifie un ensemble d'interfaces: un paquet destination d'une adr anycast doit tre achemin par le systme vers l'une des interfaces (la plus proche) => implmentation dlicate, rserves pour les routeurs Ex: serveurs FTP avec adresse gnrique Ne peut tre distingue d'une adresse unicast (mme plage d'adresses) Adr anycast d'un sous-rseau: prfixe rseau+ 0...0 => un paquet transmis cette adresse doit tre trait par l'un des routeurs du rseau
lo
sit0
Remarques
Plus de champs Checksum car devait tre ajust par chaque routeur en raison du champ TTL modifi => les protocoles de niveau sup doivent mettre en place un ctrl d'erreur sur l'en-tte (tendue aux adr IP) Champs aligns sur mots de 64bits => optimis pour architecture 64bits Moins de champs que dans Ipv4 Entte de taille fixe => plus rapide Plus de souplesse dans les options
Extensions
Plus souples que les options d'IPv4, elles peuvent tre chanes entre elles et sont traites seulement par les noeuds concerns 5 types d'extensions: Proche en proche (hop-by-hop) - toujours la premire extension - remplace l'option Ipv4 - analyse par chaque routeur Destination (traite seulement par le destinataire) Routage Fragmentation Scurit
Chanage d'extensions
En-tte Ipv6 Entte Routage En-tte Fragment En-tte TCP Entte suivant = Entte suivant = En-tte suivant = + routage fragment TCP Donnes
Champ En-tte suivant: Proche en proche 0 Routage 43 Fragmentation 44 Confidentialit 50 Authentification 51 Fin des enttes 59 Destination 60
6 17 41 58
Proche en proche
4 options diffrencies par le champ type (1 octet) - Pad1 (bourrage 1 octet), utile pour aligner sur 64bits - Padn (bourrage n octets), idem - router alert: demande au routeur de prendre en compte les donnes (utile pour ICMPv6 ou RSVP) - Jumbogramme (paquet de taille > 64Ko) => taille prcise dans l'option Les 2 bits de poids fort du type indiquent le comportement du routeur s'il ne traite pas l'option
Destination
Options : - bourrage (Pad1, Padn), utile pour aligner sur 64bits - mobilit - tunnelage dans paquet Ipv6: limite du niveau d'encapsulation
Routage
Permet d'imposer une route diffrente de celle offerte Routage libral (Loose source routing): on indique une liste de routeurs traverser, les tables de routage peuvent tre utilises pour aller de routeur en routeur
A A->R1 Routage B R1 A->B
Fragmentation
En principe la taille du paquet est adapte l'mission par un algorithme de dcouverte du PMTU (MTU du chemin). En gnral il est prvu un MTU de 1280octets (pour tunnelage). Mais certains protocoles (NFS par ex.) supposent que la fragmentation existe et produisent des messages de grande taille Seule la source peut fragmenter un paquet (contrairement IPv4)
PMTU
Le protocole Path MTU Discovery permet de calculer le MTU maximum disponible vers une destination. Il utilise les messages ICMPv6 Paquet trop grand: Un routeur cr un tel message quand il reoit un paquet trop grand pour traverser le rseau sur le chemin Le nouveau MTU utiliser est spcifi dans le message ICMP L'hote envoi son paquet en utilisant le MTU du lien. S'il reoit un message ICMPv6 Paquet trop grand, il renvoie un paquet de la taille spcifie dans le message et ainsi de suite
ICMPv6
Deux classes de messages (suivant le champs type): de 0 127 Messages d'erreur de 128 255 Messages d'information Messages d'erreur les plus courants: Destination inaccessible (1) Paquet trop grand (2) Temps dpass (3) Paramtre non reconnu (4)
Neighbor Discovery
Les noeuds Ipv6 sur un mme lien utilisent ND pour: - dcouvrir leur prsence mutuelle - dterminer l'adr de niveau liaison du voisin - trouver les routeurs - maintenir les infos sur l'accessibilit des voisins (NUD)
=> pas applicable aux rseaux NBMA (ATM, Frame Relay, ..) car ND utilise le multicast Synthse de ARP, R-Disc, ICMP redirect
Neighbor Discovery
5 types de paquets ICMP: Router Advertisement (RA): annonce priodique qui contient - liste des prfixes utiliss sur le lien - valeur possible du nombre de sauts - valeur du MTU
Router Solicitation (RS): l'hte veut un RA immdiatement Neighbor Solicitation (NS): - pour dterminer l'adr liaison d'un voisin - ou pour tester inaccessibilit - aussi pour tester duplication d'adr (DaD)
Neighbor Discovery
Neighbor Advertisement (NA): - rponse un paquet NS - avertir le changement d'une adresse physique
Redirect: utilis par un routeur pour informer un hte d'une meilleure route
Rsolution d'adresse
Au boot, l'hte doit adhrer 2 groupes multicast: ff02::1 <=> tous les noeuds sur le lien ff02::1:ffxx:xxxx adr de multicast sollicit (xxxxxx=24bits de poids faible de l'adr IPv6) Rsolution d'adresse: 1. Envoi paquet NS en multicast sollicit 2. L'hte concern rpond par un message NA
Multicast sollicit
Concatnation du prfixe ff02::1:ff00:0/104 avec les 24 derniers bits de l'adr IPv6 Ex: @DST Ipv6 Mult sol Ethernet
Auto-configuration
Seuls les routeurs doivent tre configurs manuellement, les htes peuvent obtenir leurs adresses automatiquement: - Configuration sans tat: la machine construit automatiquement ses adresses IPv6 en fonction d'informations qu'elle reoit des routeurs - Configuration avec tat (contrle de l'attribution des adresses): DHCPv6 (intrt?)
Protocoles de transport
Modifications mineures de TCP et UDP: Checksum obligatoire et porte sur pseudo en-tte incluant des champs de l'en-tte du paquet IPv6
Prise en compte des jumbogrammes: l'en-tte TCP ou UDP contient un champ longueur trop petit => =0 pour UDP mais problme avec TCP o plusieurs compteurs sont sur 16bits (longueurs des fentres)
DNS
Les deux aspects du DNS: BDD et application client/serveur doivent supporter IPv6 Taille limite des messages DNS en UDP: transport des messages DNS par UDP et TCP (port 53).
requtes/rponses DNS en UDP sauf si taille > 512 transferts de zones en TCP et requtes trop longues
Adresses des serveurs racine publies dans le DNS sont en IPv4 => utiliser un serveur forwarder en double pile IPv4/IPv6. Adresses des TLD sont presque toutes en IPv4 (IANA autorise depuis 2004 les glues IPv6; .fr, .jp et .kr ont t les premiers)
Mobilit IPv6
Base sur MobileIPv4, mais tire partie des mcanismes d'IPv6 (configuration automatique, extensions destination,...):
Plusieurs adresses IPv6 pour le mobile Noeud agent mre dans chaque rseau qui relaie les donnes au mobile Mcanisme de table des associations pour permettre communication directe
Scurit
IPsec: mcanismes de scurit pour IP (v4 ou v6) optionnel pour IPv4, obligatoire pour IPv6
L'extension d'authentification (AH : Authentication Header): - s'assurer que l'metteur du msg est bien celui qu'il prtend tre - contrle d'intgrit pour garantir au rcepteur que personne n'a modifi le contenu d'un message lors de son transfert sur le rseau L'extension ESP (Encapsulating Security Payload): - chiffrer l'ensemble des paquets ou leur partie transport et de garantir l'authentification et l'intgrit de ces paquets - dtecter les rejeux - garantir (de faon limite) la confidentialit du flux.
Mcanismes de transition
A diffrents niveaux:
NAT-PT: traduire les en-ttes des paquets IPv6 en IPv4 Relais applicatifs: pour applications courantes
L'hte inclue les deux protocoles (IPv4 et IPv6) et chaque interface possde la fois une adr IPv4 et une (ou plusieurs) adr IPv6 Les applications fonctionnant avec IPv4 seulement utilisent IPv4, Les applications supportant IPv6 interrogent le DNS pour savoir si la destination possde une adr IPv6: si oui, l'hte communique en IPv6; si non, IPv4 est utilis => Facile mettre en place mais ne rduit pas le besoin d'adresses et les deux types de rseaux sont compltement spars
Tunnel IPv6-dans-IPv4
Les paquets IPv6 encapsuls dans des paquets IPv4 l'entre du tunnel en ajoutant un en-tte IPv4 (avec champ PROTOCOLE=41) et dcapsuls et traits comme s'ils provenaient du rseau IPv6 la sortie du tunnel En-tte IPv4 Paquet IPv6
Les routeurs (ou htes) d'entre et sortie du tunnel doivent tre double pile Pour la couche v6: le tunnel est vu comme un une liaison v6 (un seul saut) et le rseau v4 comme une couche de niveau 2
Tunnel Broker
Service web en IPv4 qui aide l'utilisateur crer un tunnel v6/v4 avec un de ses routeurs:
L'utilisateur est identifi Le tunnel broker configure sa partie du tunnel et envoie les paramtres l'utilisateur pour qu'il configure l'autre partie du tunnel sur sa machine hte
Utilise le protocole TSP (Tunnel Setup Protocol): ngociation automatise des diffrents paramtres du tunnel
TEREDO (1/2)
Protocole de tunnelage permettant un hte derrire un NAT d'accder l'Internet IPv6 par le biais d'un serveur et de relais Teredo En-tte IPv4 En-t En-t te te En-tte Paquet IPv6 UDP IPv4UDP
Les paquets IPv6 sont encapsuls dans des paquets UDP (euxmme encapsuls dans des paquets IPv4) pour traverser le rseau IPv4 et les serveurs NAT
TEREDO (2/2)
@v4 serveur
Complexe Ne fonctionne pas avec tous les types de NAT Nombre limit de relais Teredo dans l'Internet
6to4
Le mcanisme 6to4 permet d'interconnecter entre eux des sites IPv6 isols en crant des tunnels automatiques IPv6 dans IPv4 en fonction du destinataire des donnes. Utilise 2 entits:
le routeur de bordure, encapsule les paquets IPv6 dans des paquets IPv4, est connect IPv4 et IPv6 le relais 6to4: quipement rseau dont l'adresse est bien connue (adresse anycast). Il assure la connexion l'Internetv6. 16 bits 32 bits 16 bits @ IPv4 du routeur ss-rs de bordure 64 bits ident_interface
Dploiement: applications
Peu de modifications sont en gnral ncessaires (sauf si l'application utilise les adresses) - nouveau type de sockets en C: AF_INET6 au lieu de AF_INET - pas de modification en Java grce aux objets Une liste de serveurs web IPv6: http://www.ipv6.org/v6-www.html
Dploiement: systmes
Dploiement: Rseau
Routeurs (Cisco, juniper, 6wind ...): OK depuis plusieurs annes (aprs mise jour de l'IOS) Rseau: le coeur de l'Internet est compatible IPv6 SFINX: point d'change Internet franais gr par Renater intgre IPv6 depuis 2002
Dploiement: ISP
Les plus frileux pour l'instant!
Nerim: connexion ADSL IPv6 depuis 2003 Wanadoo: exprimentation depuis 2005 Free: propos depuis dcembre 2007 Google possde un bloc de 296 adresses IPv6 (2001:4860::/32)
Conclusion