M1 Informatique Réseaux Cours 5 Le Futur d Internet - IPv6 Notes de Cours DEPUIS PLUS DE DIX ANS, LA VERSION AMELIOREE DU PROTOCOLE IP A ETE standardisée. Le déploiement de cet Internet version 6 est en cours. Cependant, sa diffusion est loin d être complète, et par un "effet réseau" bien connu, de nombreuses entités préfèrent attendre que tout le monde ait basculé avant de le faire elles-mêmes. 1 Introduction 1.a "Vous êtes Ici" 7 OSI Application TCP/IP Application 6 5 Presentation Session Not present in the model 4 3 2 1 Transport Network Data link Physical Transport Internet Host-to-network 1.b Limitations de IPv4 Malgré le succès d internet, certains problèmes demeurent sécurité trop peu d adresses (épuisées chez l IANA depuis 2011) E. Godard http://www.lif.univ-mrs.fr/~egodard/ens/reseaux/
=> adresses privées et NAT => rupture du pair-à-pair 1.c Historique dès les années 90, la pénurie d adresses menace 1993 début d un groupe de travail IETF 1995 première version IPv6 (RFC 1883) 1998 finalisation (RFC 2460) 1.d IPv6 en (Très) Bref 1. IPv6 (RFC 2373 et 2460) : pourquoi? attribuer plus d adresses 128 bits au lieu de 32 en IPv4 => meilleure organisation => routage facilité sécurité mobilité transition?... 2. Points clefs : adresses et allocation des préfixes (id interface) découverte des voisins (attribution d adresse + routage) format de datagramme simplifié 2 Espace de Noms IPv6 2.a Adressage Beaucoup plus d adresse disponibles : 2 128 => 667 millions de milliards d adresses IP disponibles par mm 2 de la surface de la Terre ; 2.b Notation Plus de notation pointée mais uniquement de l hexadécimal exemple 2001:0db8:0000:85a3:0000:0000:ac1f:8001 possibilité de supprimer les 0 non significatifs par groupes de 1 à 3 2001:db8:0:85a3:0:0:ac1f:8001 voire par blocs entiers de 4 2001:db8:0:85a3::ac1f:8001 2
2.c Particularités Cohabitation avec les ports de TCP/UDP http://[2002:400:2a41:378::34a2:36]:8080 2.d Notation CIDR On conserve la notation CIDR : adresse/taille <=> préfixe de l ensemble d adresses considérées exemple 2001:db8:1f89::/48 en salle de TP : 2001:660:5402:100::/64 2.e Type d adresses IPv6 2.f Adresses Réservées Préfixe Description ::/8 Adresses réservées 2000::/3 Adresses unicast routables sur Internet fc00::/7 Adresses locales uniques fe80::/10 Adresses liens locaux ff00::/8 Adresses multicast :: adresse non spécifiée (début de configuration...) ::1/128 adresse localhost (comme 127.0.0.1 en IPv4) adresses permanentes 2001::/16 adresses réservables par blocs /12 à /23 depuis 1999. 2001::/32 est utilisé pour le protocole de tunnel Teredo 2002::/16 est utilisé par 6to4 2.g Fonctionnement "Rien de changé" (juste 96 bits de plus) Entête simplifié taille fixe routage et aggrégation de routes simplifié auto-configuration simplifié (plusieurs adresses par interfaces) 3
2.h Entête IPv6 32 Bits Version Traffic class Flow label Payload length Next header Hop limit Source address (16 bytes) Destination address (16 bytes) 2.i Entête IPv6 La signification des champs est la suivante : Version (4 bits) : fixé à la valeur du numéro de protocole internet, 6 Traffic Class (8 bits) : utilisé dans la qualité de service. Flow Label (20 bits) : permet le marquage d un flux pour un traitement différencié dans le réseau. Payload length (16 bits) : taille de la charge utile en octets. Next Header (8 bits) : identifie le type de header qui suit immédiatement selon la même convention qu IPv4. Hop Limit (8 bits) : décrémenté de 1 par chaque routeur, le paquet est détruit si ce champ atteint 0 en transit. Source Address (128 bits) : adresse source Destination Address (128 bits) : adresse destination. pas de CRC 2.j Fragmentation 1. Problèmes de la fragmentation coûteuse pour les routeurs 4
limites les taux de transfert problème de la perte d un seul fragment 2. En IPv6, pas de fragmentation => moins de travail pour les routeurs les routeurs intermédiaires renvoient un paquet ICMPv6 Packet Too Big l émetteur doit fragmenter lui même utilisation du Path MTU discovery recommandé 2.k Taille des Paquets MTU minimale autorisée 1 280 octets (contre 68 pour l IPv4) taille maximale d un paquet (hors en-tête) 65535 octets comme IPv4 option jumbogram (RFC 2675) => taille maximale d un paquet 4 Go 2.l Neighbor Discovery Protocol. Ce protocole agrège les propriétés de ARP et ICMP pour IPv4 Permet de découvrir 1. les adresses MAC des hôtes voisins 2. les routeurs voisins pour une route donnée automatiquement redirection 3. des paramètres utiles comme le MTU 2.m ICMPv6 Toute la gestion est réalisé grâce à ce type de paquet. Destination Unreachable Packet Too Big Time Exceeded Echo Request Echo Reply Router Solicitation Router Advertisement Neighbor Solicitation Neighbor Advertisement Redirect... 5
2.n Attribution des adresses IPv6 1. Manuellement adresse + longueur du préfixe de sous-réseau (facultatif) passerelle par défaut 2.o Attribution Automatique 1. Automatiquement! autoconfiguration sans état basée sur l adresse MAC et NDP prefix64:adressemac => problème de protection de la vie privée car le 64 derniers bits seront les mêmes même en changeant de FAI... autoconfiguration avec tirage pseudo aléatoire (RFC 4941), => vérification par Neighbor Solicitation pour savoir si l adresse est déjà prise. utilisation d adresses générées cryptographiquement à partir de la clef publique du client (RFC 3972), attribution par un serveur DHCPv6 (RFC 3315) 2.p Routage Le routage est similaire à IPv4 commutation de paquets => tables l amélioration est l automaticité pour certains paramétrages des hôtes 2.q Détails pour le Routage 1. Recherche de l adresse Mac d un voisin (RFC 4861) requête paquet ICMPv6 Neighbour Solicitation réponse paquet ICMPv6 Neighbour Advertisement les adresses utilisées sont les adresses locales : fe80::/10 ou de multicast, comme ff00::1 pour l ensemble des hôtes sur le réseau local comme ff00::2 pour l ensemble des routeurs sur le réseau local 2. Passerelle par défaut un routeur peut publier les routes et ainsi permettre à un hôte de se configurer automatiquement. RFC 4862 paquet ICMPv6 Router Solicitation et réponse 2.r Autoconfiguration vs DHCPv6 Lors de la rédaction du procotole IPv6, DHCP n était pas aussi répandu (ni même complètement standardisé), par conséquent, le protocole SLAAC (RFC 4862) a été écrite. On a donc en général 6
SLAAC : passerelle par défaut mais pas de DNS DHCPv6 : DNS mais pas de passerelle par défaut => ajout RDNSS (Recursive DNS Solver) dans SLAAC. Il est clair que le DNS n appartient pas vraiment à la couche Réseau mais c est un service indispensable à la couche application, qui est en général configuré avec le réseau. A noter : SLAAC : sans état DHCPv6 : avec état (conservation des durée de validité des attributions ) 2.s Routage IPv6 Pas de changement de protocole. OSPFv6 BGPv6 2.t Mobilité : Principes Le but est de permettre à un hôte mobile de maintenir une connexion pendant ses déplacements de son réseau "initial" à un réseau "étranger". adresse maison (home address) adresse de mobilité (care of address) obtenue par la configuration automatique dans le réseau étranger. Le réseau "maison" maintient une correspondance entre l adresse "maison" et l adresse de mobilité, reroute les paquets destinés à l adresse "maison" vers l adresse de mobilité. 7
3 Déploiement 3.a Etendue du Déploiement à comparer aux 43000 AS sur l internet IPv4 3.b Prise en charge d IPv6 par le DNS pas de changement de l espace de noms => champs d enregistrement supplémentaire www.ipv6.ripe.net. IN AAAA 2001:610:240:22::c100:68b Evolution 2004 : possibilité d intégrer des serveurs de noms en IPv6 2008 : la moitié des serveurs racines ont une adresse IPv6 2010 : 228/283 des domaines de premier niveau ont un serveur en IPv6 problème de la taille des paquets UDP (seulement 512 octets max pour le DNS) 3.c Double Pile et Résolution DNS En cas de double pile, la connexion UDP pour la résolution DNS se fait en général en IPv4. De plus, l appel getaddrinfo() va retourner une liste d adresses avec qui peut comporter des adresses IPv4, mais en général les IPv6 sont en tête. 3.d Prise en Charge d IPv6 Système d exploitation tous les systèmes disposent d une double pile 8
Logiciels la plupart des logiciels orientés Internet sont prêts 3.e Et en France?... 1. Renater a commencé à expérimenter IPv6 depuis 1996 IPv6 effectif depuis 2002 2. FAI mars 2003 nerim décembre 2007 free novembre 2008 FDN 2009 SFR et Orange (pour les professionnels seulement) => prévu pour 2013 2015 pour l ensemble de leurs clients OVH : 2012 3.f Freins au Déploiement Bénéfices surévalués? Pas de contenus nouveaux sur Internetv6 pas tout-à-fait vrai : l accès en NAT pour les terminaux mobiles est limité Problème de l accès en cas de double pile : 1. tentative en IPv6 2. échec! car pas de connectivité IPv6 de bout-en-bout. 3. connexion en IPv4 => grande lenteur => désactivation d IPv6 4 Sécurité 4.a Architectures Sécurisées architecture fermées peu d acteurs (banques) ou structure autonome (une entreprise) chiffrement symétrique + distribution des clés à la main => Kerberos, IPSec architecture hiérarchisée de nombreux acteurs avec des autorités de confiance peu nombreuses => PKI à base d authentification X509 : IPSec, SSL architecture décentralisée de nombreux acteurs certifiants leurs connaissances de proche en proche => PGP/GnuPG, réseau P2P/F2F crypté,... 4.b Références IPSec RFCs : 2401 (IPSec), 2402 (AH), 2403, 2404, 2405 (détails des algorithmes cryptographiques d IPSec), 2406 (ESP), 2408 (ISAKMP), 2409 (IKE). 9
4.c Aperçu IPSec est un ensemble de protocoles permettant de mettre en oeuvre une ou plusieurs des propriétés cryptographiques précédentes pour des datagrammes IP. AH : intégrité et authentification (sans confidentialité). ESP : confidentialité (+authentification) Ces mécanismes sont compatibles IPv4 intégrés à IPv6 4.d Configurations d Utilisation 4.e Mécanisme AH (Authentication Header) Ce mécanisme a vocation d authentifier un datagramme IP sans le chiffrer. Authenticated IP header AH TCP header Payload + padding 32 Bits Next header Payload len (Reserved) Security parameters index Sequence number Authentication data (HMAC) 4.f Mécanisme ESP (Encapsulating Security Payload) Ce mécanisme a vocation à chiffrer un datagramme IP. Deux modes : mode transport 10
mode tunnel (typiquement entre deux passerelles de sécurité) Authenticated (a) IP header ESP header TCP header Payload + padding Authentication (HMAC) Encrypted Authenticated (b) New IP header ESP header Old IP header TCP header Payload + padding Authentication (HMAC) Encrypted 5 Transition 5.a Avertissement Les adresses IPv4 et IPv6 ne sont pas compatibles Toute transition technologique est délicate, la transition complète de IPv4 à IPv6 sera très délicate. 5.b Technologies de transition technique de double pile pour pouvoir utiliser IPv4 et IPv6 simultanément puisque IPv6 n est souvent pas utilisable nativement => tunnels en IPv4 statiques automatiques passerelles applicatives Il est toujours préférable d avoir un accès natif. 5.c Tunnels Statiques 11
5.d Tunnels Automatiques : 6to4 6to4 est le principal protocole de tunnel sur IPv4 pour les IPs publiques IPv6. Le protocole 6to4 se situe au niveau 3 OSI (et possède le code 41). Une correspondance est établi entre adresses IPv4 et IPv6 : 5.e Adresses relais l adresse 192.88.99.1 est une adresse anycast comme du multicast => ensemble d adresses mais la diffusion s arrête dès qu un membre de l ensemble a reçu le messages 5.f Un protocole de Transition Le protocole 6to4 est un protocole de transition permettant à un hôte IPv6 de communiquer à un autre hôte IPv6 via le nuage IPv4. 1. Assignation d un bloc d adresses IPv6 à tout hôte ou réseau qui dispose d une adresse IPv4 2. Encapsulation des paquets IPv6 à l intérieur de paquets IPv4 Un entête IPv4 (avec protocole 41) est ajouté 3. Gère le transit du trafic entre 6to4 et les réseaux IPv6 «natifs» 5.g Tunnels Automatiques : 6to4 12
Pour permettre la communication vers des hôtes IPv6 «natifs», on utilise des routeurs relais. Ceux-ci apparaissent sur Internet v4 avec l adresse anycast 192.88.99.1. Lorsqu un hôte 6to4 envoie un paquet vers un hôte IPv6 «natif», celui-ci est d abord routé jusqu au routeur 6to4. Puis soit la destination est une autre "île IPv6" dont l adresse IPv4 est connue via le mécanisme de correspondance. Alors le paquet est encapsulé en IPv4 puis transmis à ce routeur. soit la destination est dans Internet v6, alors le paquet est transmis en anycast jusqu à un relai 6to4 d adresse IPv4 192.88.99.1. En sens inverse, un paquet peut ne pas utiliser le même relai. Dans tous les cas, la correspondance avec les octets 3 à 6 est utilisée pour router le paquet au travers d IPv4. 5.h Des Limitations Certaines On rencontre cependant quelques problèmes avec cette architecture : les adresses IPv4 doivent être publiques en terme de routage IPv6 : il est difficile de contrôle qui utilise un relai donné en terme de qualité d accès : si le relai est loin du routeur 6to4 alors la qualité de la connexion peut être très mauvaise. De même, sur le chemin retour. en terme de compatibilité avec d éventuels parefeux avec une FAIbox typique. 5.i De 6to4 à 6rd Il a effectivement été constaté en 2010 qu environ 15% des connexions IPv6 qui échouent sont des connexions 6to4. Il a donc été proposé à l IETF une extension le protocole 6rd (IPv6 rapid deployment) sous l impulsion du français Rémi Desprès. La principale, et importante différente, est que le relai se situe désormais nécessairement dans le réseau du fournisseur d accès. 5.j Protocole 6rd Dans 6rd (rapid deployment), les relais 6to4 se situent à proximité du routeur 6to4, chez le fournisseur d accès. La correspondance s effectue vers des adresses IPv6 appartenant bien à celui-ci (en général des réseaux /32, avec un encodage qui peut utiliser moins de 32 bits car le routeur appartient nécessairement au réseau IPv4 du FAI). 13
5.k Tunnels Automatiques et NAT : Teredo La méthode précédente fonctionne mal avec les NATs : un autre protocole est proposé 1. Teredo (vers) RFC 4380 2. un protocole utilisable dans un réseau d adresses IPv4 privées, relié à Internet via un routeur assurant une traduction d adresses NAT. 3. implémentation windows UNIX : miredo 6 Crédits Figures Wikimedia Commons (c) CC-SA 14