12.07.2015 Views

Cours IPv6

Cours IPv6

Cours IPv6

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Internet Protocol v6 ( <strong>IPv6</strong> )RFC 2460I) Objectifs<strong>IPv6</strong> apporte-> plus d'adresses publiques: 128 bits = 16 octets( IPv4 en 32 bits épuisées )->un routage plus simple( En IPv4, les tailles des tables de routage augmentent trop malgré CIDR pour un gestion facile )->des éléments de gestion de la QoS: Qualité de service( TOS de IPv4 mal exploité, Diffserv pas assez implémenté )->la gestion du multicast intégrée d'origine côté réseau et client (réplication de flux )-> des moyens de reconnaitre un type de flux par l'adresseunicast, multicast, anycast, il n'y a plus de broadcast.-> une simplification de l'entête ( moitié des champs de IPv4 )-> une possibilité d'évolution: les options en fin d'entête ( plus limitées à 40 octets ).II) Trame <strong>IPv6</strong>La trame <strong>IPv6</strong> est- plus longue à cause des longueurs d'adresses- plus simple avec moins de champsChamps <strong>IPv6</strong>: - Version ( 4 bits ): 6- Traffic Class ( 8 bits ): Qualité de service- Flow Label ( 20 bits ): Marquage d'un flux pour traitement différencié par le réseau- Payload Length ( 16 bits ): Longueur de la charge utile en octets.- Next Header ( 8 bits ): Indique le contenu: Autre entête ou charge utile ( voir exemple suivant ).- Hop Limit ( 8 bits ): Décrémenté de 1 à chaque routeur comme TTL en Ipv4.L'en-tête <strong>IPv6</strong> peut être suivie d'extensions. Elles se succèdent, chacune de leur en-tête indiquent la suivante ( valeursidentiques à IPv4 ). Voir RFC2460.A ce jour, 6 types d’extension d’entête sont définies ( Hop by Hop = infos pour routeurs, Authentification de l’émetteur,Routage, Fragmentation, Paramètres de cryptage, Destination = infos sur le destinataire ).Exemple :Entête <strong>IPv6</strong>AvecEntête suivant = RoutageEntête RoutageAvecEntête suivant = TCPNiveau 4 = Entête TCP + Données TCP 1


Par comparaison: Entêtes IPv4 / <strong>IPv6</strong>III) Adresses <strong>IPv6</strong> RFC 2373 (<strong>IPv6</strong> Addressing Architecture)Elles passent de 4 octets en IPv4 à 16 octets en <strong>IPv6</strong> = 128 bits => 2 128 valeurs ≈ 3,4 × 10 38 .Règle d'écriture:- En IPv4, on a des valeurs en décimal séparées par un point: 192.168.1.1- En <strong>IPv6</strong>, l'adresse <strong>IPv6</strong> est en hexadécimal ( 1 caractère hexa = 4 bits ) avec séparateur ":" entre groupes de 2 octets= 4 codes hexa par groupe = 16 bits par groupe.=> 8 groupes de 4 codes hexa par adresse <strong>IPv6</strong> Ex: FE80:0000:0000:0000:0209:6A5B:AC50:23FB- Pour un réseau, on utilise la notation CIDR: adresse-ipv6-code hexa / longueur-du-préfixe-réseau-en-bitsRègles de simplification:- On élimine les 0 de gauche dans chaque groupe de 4 codes hexa entre les ":". :009B: -> :9B:- On supprime les groupes consécutifs de 0. :0000:0000:0000: -> ::Elle n'est applicable qu'une fois par adresse pour qu'il n'y ait pas d'ambiguïté -> Ecriture unique=> On ne trouve :: qu'une fois par adresse.Ex: 8000:0000:0000:0000:0123:4567:89AB:CDEF-> 8000::123:4567:89AB:CDEFNotation réseau CIDR (Classless Inter-Domain Routing )adresse / nb de bits du préfixeUtilisation:La RFC2732 définit l'écriture d'une URL avec adresse <strong>IPv6</strong>: L'adresse est entre crochets [ ]Cela évite de confondre ":" de l'adresse <strong>IPv6</strong> avec le séparateur entre adresse IP et numéro de port.Adresse <strong>IPv6</strong> = 2001:0:0:A1::1E2A via le port 8080=> URL https://[2001:0:0:A1::1E2A]:7878/webpage.htmlCas particulier: Une adresse IPv4 s'écrit ::192.168.1.1 ou ::C0A8:101 en notation <strong>IPv6</strong>Types d'adresses- Il n'y a plus de broadcast car ces fonctions sont intégrées au multicast.- On ne parle plus de publique/privée mais globale/locale.- La portée ( Scope ) des adresses locales change: Adresse de Lien ( Link Local ) ou adresse de Site ( Site Local ).Lien = interfaces directement connectées sans routeur. Pour usage limité temporaire.- Pour reconnaitre le type d'adresse, on analyse le préfixe = début de l'adresse. 2


AdresseUNICAST( adressed'uneinterface )Globales( préfixe lié à lagéographie )Un paquet envoyé à une adresse unicast va seulement à l'interface qui a cette adresse.2000::/3Mondial ( IANA ): 2001::/16, transition 6to4: 2002::/16Europe ( Ripe.net ): 2003::/16, 2A00:0000::/21, 2A01:0000::/23Asie ( Apnic ): 2400:0000::/19, 2400:2000::/19, 2400:4000::/21...LocalesUn paquet envoyé à une adresse unicast va seulement à l'interface qui a cette adresse.Adresse Link-Local: FE80::/10 commençant par les bits 1111 1110 10Utilisée pour un lien unique, pas pour l'ensemble d'un site.=> pour usages limités: configuration d'adresse automatique, découverte de voisin ousi on n'utilise aucun routeur.=> Un routeur ne propage pas des paquets contenant une IP Link LocalAdresse Site-Local: appelée ULA ( Unique Local Address ):FC00::/7 adresse unique localecas particulier FD00::/8 adresse unique locale attribuée manuellementAdresse MULTICAST( adresse de plusieursinterfaces )Un paquet envoyé en anycast va à TOUTES ces interfaces.8 bits à 1, 4 bits = flags, 4 bis = scope => Commencent par FF.Adresse multicast du groupe de tous les noeudsFF01::1 = scope à 1 = Interface localFF02::1 = scope à 2 = Link localAdresse multicast du groupe de tous les routeursFF01::2 = scope à 1 = Interface localFF02::2 = scope à 2 = Link localFF05::2 = scope à 5 = Site localAdresse multicast de sollicitation de noeud ( Solicited Node ) utilisé en résolution d'adresseFF02::1:FFxx:xxxx où xxxxxx = 24 derniers bits de l'adresse unicast ou anycast recherchéeServeur DHCP ou agents relais DHCP: ( RFC 3315 )FF02::1:2 Link localFF05::1:3 Site LocalAdresse ANYCAST( adresse de plusieursinterfaces )Un paquet envoyé en anycast va à UNE des interfaces du groupe,celle qui répond en premier pour le groupe.Anycast sert à introduire de la redondance ou du partage de charge ( comme pour serveur DNS,serveur web,... )Si on utilise plusieurs fois une adresse Unicast, elle devient une adresse Anycast ( RFC3513 ).La RFC 2526 définit cependant des adresses réservées = adresse finissant par 0 à 7E.En particulier une adresse finissant par 0 = adresse anycast de routeurs du sous réseau.Adresses Unicast particulièresType d'adresse particulièreAdresse <strong>IPv6</strong>Adresse non spécifiée :: = 0000:0000:0000:0000: 0000:0000:0000:0000Interface locale ( bouclage, loopback ) ::1 = 0000:0000:0000:0000: 0000:0000:0000:0001( équivalent du 127.0.0.1 d'IPv4 )Adresse IPv4 compatible <strong>IPv6</strong>::A.B.C.D où A.B.C.D = adr IPv4 en décimalAdresse IPv4 mappée <strong>IPv6</strong>::FFFF:A.B.C.D où A.B.C.D = adr IPv4 en décimal 3


Valeurs associéesIANA MondialRIR Regional Internet RegistriesAfrique AfriNICAsie Pacifique APNICAmérique ARINAmérique latine et Caraïbes LACNICEurope: Réseaux IP Européens RIPENIR NationalISP Fournisseur d'accès à internetLIR LocalIV) Evolution de la pile protocolaire ICMP est plus important dans <strong>IPv6</strong>, c'est plus que le ping: Il y a de nombreux types de paquets ICMP- Contrôles comme en IPv4 dont Demande d'écho / réponse d'écho- Sous-ensemble ND ( Neighbor Discovery ) = 5 types de paquetsRS: Sollicitation de routeur ( Router Sollicitation RS )RA: Annonce de routeur ( Router Advertisement RA )NS: Sollicitation du voisin ( Neighbor Sollicitation NS )NA: Annonce du voisin ( Neighbor Advertisement NA )--: Indication de redirection... DHCP évolue en DHCPv6V) ND Neighbour Discovery = Protocole de détection de voisin <strong>IPv6</strong> Trames ICMPv6, Application à ND<strong>IPv6</strong> étend l'utilisation de ICMP ( Internet Control Message Protocol ).On y retrouve les contrôles de IPv4 mais on ajoute le protocole de découverte de voisin = Neighbor Discovery.On reconnait un message ND avec le type ICMP dans l'entête ICMPv6:133: RS Router Sollicitation: Requête pour recevoir des informations par message RA venant des routeurs du réseau.134: RA Router Advertisement: Réponse d'un routeur à un requête RS donnant des informations sur le réseau.135: NS Neighbor Sollicitation: Requête pour recevoir un réponse d'un noeud destinataire.136: NA Neighbor Advertisement: Réponse du noeud destinataire à une requête RS.137: Redirect: RedirectionLa principale utilisation de NS, NA est la résolution d'adresse:Le protocole IP joint 2 adresses IP = niveau 3 modèle OSI.Pour envoyer le message, il faut un niveau 2, ethernet par exemple.Pour associer une adresse de niveau 2 au niveau 3, Ipv4 utilise le mécanisme de résolution d'adresse ARP.( si IP dest dans le même réseau, requête ARP en BROADCAST d'IP dest, sinon ARP d'IP passerelle ) 4


Entête <strong>IPv6</strong>Next Header=58( ICMPv6 )message ICMPv6 Entête ICMPv6 Données du message ICMPv6Type ICMP1 octCode1 octChecksum2octType msgND 1 octLg msg1 octValeurs msg NDExemples:Si type = 128, 129, on a des messages ICMP d'écho ( Echo Request, Echo Reply ) = Ping.Si type ICMP = 133 (RS), 134 (RA), 135 (NS), 136 (NA), 137 (Redirect), le message ICMP est un message ND.Exemples msg ND: Si type msg ND = 1, valeurs msg ND = adr Src niv 2Si type msg ND = 2, valeurs msg ND = adr Dst niv 2 = TargetSi type msg ND = 3, valeurs msg ND = Prefix Information... Résolution d'adresse = Sollicitation de Voisin ( Neighbor )La résolution d'adresse en <strong>IPv6</strong> utilise 2 messages ICMPv6:- NS Neighbor Sollicitation = Requête contenant l'IP cible, envoyée vers le groupe multicast de sollicitation de noeud.L’adresse IP dest multicast est FF02::1:stuv:wxyz = adr multicast terminée par les 32 derniers bits de l’adresse de la station recherchée.- NA Neighbor Advertisement = Réponse de la cible contenant l'adresse niveau 2 de l'IP demandée.Remarque: L'équivalent de arp –a pour voir les voisins montre 2 adresses unicast pour une machine -> Adresse globale-> Adresse locale de lien( show ipv6 neighbor = cisco, netsh interface ipv6 show neighbors = Microsoft, ip -6 neigh show = linux )Par comparaison: résolution d'adresse v4 - L'émetteur qui connait IP dest recherche l'adresse MAC correspondante par protocole ARP= requête en broadcast ethernet ou proxy ARP- Le destinataire qui reconnait son adresse IP dans la requête ARP répond en indiquant son adresse MAC. Sollicitation de Routeur ( Router )La recherche d'information sur le réseau utilise 2 messages ICMPv6 vers le ou les routeurs: 5


- RS Router Sollicitation = Requête envoyée vers le groupe multicast de sollicitation de routeur- RA Router Advertisement = Réponse de la cible contenant l'adresse niveau 2 du routeur.VI) Attribution d'adresse <strong>IPv6</strong> = Identifiant d'interfaceOn distingue configuration manuelle et autoconfiguration ( 3 procédés possibles selon présence des éléments et configuration des éléments ). Configuration manuelleOn entre la valeur d'adresse manuellement:Adresse IP, Longueur du préfixe de sous-réseau, Passerelle par défaut. Stateless Address Autoconfiguration: SLAACLa configuration Stateless se fait sans serveur centralisé qui mémorise l'état des clients contrairement au stateful = DHCP.Il existe 2 méthodes d'autoconfiguration stateless: - Link Local dérivée EUI-64- Link Local dérivée de préfixea) Autoconfiguration d'adresse Link Local dérivée EUI-64Cette configuration automatique utilise l'adresse MAC pour définir une adresse link locale.Elle sera utilisée pour débuter la configuration et on utilisera ensuite une autre méthode.EUI-64 est un identifiant de 64 bitsutilisés en firewire ( IEEE 1394 ) ou endomotique ( IEEE 802.15.4 ).L'IEEE décrit les règles pour passerdes 48 bits de l'adresse MAC aux 64bits de l'EUI-64.( voir schéma )On ajoute ensuite le préfixe link local64 bits = F800 0000 0000 0000 6


Exemple: Adr MAC 34:ED:48:A6:35:B4 => adresse <strong>IPv6</strong> Link-locale FE80::36:ED:48:FF:FE: A6:35:B4=> L'adresse multicast de sollicitation de noeud pour envoi de requête NS sera FF02:0:0:0:0:1FFA6:35B4( préfixe multicast de sollicitation de noeud Link-Local FF02:0:0:0:0:1FF00:0/104 puis 24 bits poids faible adr source)b) Autoconfiguration d'adresse Link Local utilisant un préfixeUn routeur fournit un préfixe de réseau qui identifie le lien ou le site.- Le client envoie une requête RS = ICMP type 133avec adresse src=:: et destination = multicast de tous les routeurs FF02::2, query = demande de RA.- Un routeur répond RA = ICMP type 134avec adr src = adr link locale du routeur, adr dest = adr multicast de tous les noeuds, contenu = infos sur le réseau dont le préfixe- Le client ajoute au préfixe qu'on lui donne avec le message RA un identifiant d'interface.L'identifiant d'interface est soit EUI-64 ( voir avant ),soit un nombre aléatoire.Le client fera un test pour vérifier que l'adresse n'est pas déjà utilisée ( Sollicitation de noeud ). DHCPv6 ( RFC3315 ) = Stateful AutoconfigurationUn client sait s'il peut utiliser DHCPv6 si un routeur de rattachement le lui indique dans le message RA par les bits O et M.Les bits O et M sont dans le message RA (Router Advertisement ):bit O: 'O’=1 => Le client utilise DHCPv6 pour récupérer les autres paramètres de configuration ( Other ) commel'adresse de DNS.bit M: ‘M’=1 => Le client utilise DHCPv6 pour récupérer une adresse <strong>IPv6</strong> ( Managed <strong>IPv6</strong> address ) depuis unserveur DHCPv6.Si un routeur qui envoie RA avec ‘O’=1 et ‘M’=0 => Le client fabrique son IP avec la méthode "Stateless AddressAutoconfiguration": SLAAC) puis utilise DHCPv6 pour récupérer les autres paramètres.On parle de "Stateless DHCPv6" car le serveur DHCPv6 ne garde pas de trace des adresses de client.Avec DHCPv6:Utilisation d'adresse multicast pour DHCPv6- Le client envoie sur les adresses multicast DHCP link ousite une requête = message “DHCP Solicit”= recherche de serveur DHCPv6.- Un serveur répond par un message "DHCP Advertise”- Le client demande une adresse à ce serveur= message “DHCP Request”.- Le serveur fournit l'adresse à ce client= message "DHCP Reply”DHCPv6 utilise les ports 546 and 547.Par comparaison: DHCP v4- Le client envoie en broadcast une requête cherchant un serveur DHCP: DHCPDISCOVER sur les ports UDP dst = 67 et src = 68( adr MAC dest FF:FF:FF:FF:FF:FF, adr IP dest 255.255.255.255, adr IP src 0.0.0.0 ).Si le serveur n'est pas sur le réseau, il faut un routeur avec un agent Relais DHCP.- Le serveur répond avec DHCPOFFER sur les ports UDP dst = 68 et src = 67( adr MAC dst = FF:FF:FF:FF:FF:FF, IP dst = 255.255.255.255 )- Le client envoie au serveur un requête demandant une adresse: DHCPREQUEST sur les ports UDP dst = 67 et src = 68( adr MAC dest FF:FF:FF:FF:FF:FF, adr IP dest 255.255.255.255, adr IP src 0.0.0.0 ).- Le serveur répond avec DHCPACK qui contient l'adresse IP à utiliser sur les ports UDP dst = 68 et src = 67( adr MAC dst = FF:FF:FF:FF:FF:FF, IP dst = 255.255.255.255 )- Le client peut vérifier qu'il est seul à avoir cette adresse IP en envoyant un requête ARP avec sa propre adresse = ARP gratuit. 7


Processus de détermination de la méthodeAssignation d'adresse Link-Locale- Le client fabrique une adresse Link-Locale dérivée EUI-64: FE80::[interface ID niv 2]- Il vérifie que l'adresse n'existe pas en envoyant NS Neighbor Sollicitation vers le Multicast des adressesLink-Locale dérivées.- Si une réponse NA ( Neighbor Advertisement ) reçue:Un autre client utilise l'adresse => Arrêt de l'autoconfiguration, configuration manuelle.Trouver un routeur- Sans réponse NA, l'adresse Link-local dérivée est unique et validée:+ Initialiser l'adresse Link-Local+ Envoyer RS ( Router Sollicitation ) vers l'adresse multicast de routeur = ICMP Type 133+ Sans réponse RA: Réseau isolé, Utilisation de DHCP.+ Avec réponse RA: Analyse des bits 'M' et 'O' de la réponse RA.'M'=0 et 'O'=0 : Réseau sans DHCP=> Les clients utilisent RA pour avoir définir une adresse autre que link-local.La configuration des autres paramètres (DNS ) est manuelle.'M'=1 et 'O'=1 : DHCP pour adresse et autres paramètres = DHCP Stateful'M'=0 et 'O'=1 : DHCP définit les autres paramètres,les routeurs voisins sont configurés pour fournir des préfixes pour adresses non link-local.Le client en dérivera une adresse ( méthode DHCPv6 stateless )'M'=1 et 'O'=0 : DHCPv6 est utilisé pour donner une adresse, pas pour les autres paramètres=> Utilisation non prévue.Remarque: Si le routeur dans sa réponse RA envoie des informations de préfixe, on utilisera une adresse Link-Locale dérivée depréfixe avant de traiter les valeurs des bits 'M' et 'O' de RA.VII) Outils de test <strong>IPv6</strong>Les logiciels intégrant encore IPv4, on distingue les outils IPv4 et <strong>IPv6</strong>.LinuxWindowsping6 adr_Ipv6 ou nom_hôte ping 6 ou ping –6traceroute6 tracert –6pathping –6Affiche les paramètres Ipv6:#ip -6 addr showConfiguration: "ifconfig" ou "ip -6"# ifconfig eth0 inet6 add 3ffe:ffff:0:f101::1/64ou # ip -6 add 3ffe:ffff:0:f101::1/64 dev eth0Voir les connexions précédentes (voisins )#ip -6 neigh showlien:http://www.linuxfrance.org/prj/edu/archinet/systeme/ch08.htmlAfficher la cache de voisinage ( arp –a de IPv4 )netsh interface ipv6 show neighbors• À l'invite de commandes, netsh, Entrée,? pour l'aide.• Netsh interface ipv6, Entrée, ? pour l'aide.• Netsh interface ipv6 show interface• Netsh interface ipv6 show addressPour être sûr que l'on est sur un réseau <strong>IPv6</strong>, on peut utiliser comme destinataire du test l'hôte ipv6.google.com 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!