top of page
Rechercher

Internet Protocol v6 ( IPv6 )RFC 2460

Dernière mise à jour : 20 sept. 2021

IPv6 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'adresse

unicast, 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 ).


La trame IPv6 est - plus longue à cause des longueurs d'adresses

- plus simple avec moins de champs



Champs IPv6:

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 ).


Next Header ( 8 bits ): Indique le contenu: Autre entête ou charge utile ( voir exemple suivant ).


L'en-tête IPv6 peut être suivie d'extensions. Elles se succèdent, chacune de leur en-tête indiquent la suivante ( valeurs identiques à 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 ).


Par comparaison: Entêtes IPv4 / IPv6


Adresses IPv6 RFC 2373 (IPv6 Addressing Architecture)

Elles passent de 4 octets en IPv4 à 16 octets en IPv6 = 128 bits => 2128 valeurs » 3*4 ´*10 puissance 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 IPv6, l'adresse IPv6 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 IPv6 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-bits


Rè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:CDEF


Notation réseau CIDR (Classless Inter-Domain Routing )

adresse / nb de bits du préfixe


Utilisation:


La RFC2732 définit l'écriture d'une URL avec adresse IPv6: L'adresse est entre crochets [ ]

Cela évite de confondre ":" de l'adresse IPv6 avec le séparateur entre adresse IP et numéro de port.

Adresse IPv6 = 2001:0:0:A1::1E2A via le port 8080

=> URL https://[2001:0:0:A1::1E2A]:7878/webpage.html


Cas particulier: Une adresse IPv4 s'écrit ::192.168.1.1 ou ::C0A8:101 en notation IPv6


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.




Adresses Unicast particulières


Valeurs associées :

IANA Mondial

RIR Regional Internet Registries

Afrique AfriNIC

Asie Pacifique APNIC

Amérique ARIN

Amérique latine et Caraïbes LACNIC

Europe: Réseaux IP Européens RIPE


NIR National


ISP Fournisseur d'accès à internet

LIR Local















IV) Evolution de la pile protocolaire

ICMP est plus important dans IPv6, 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 paquets

RS: 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 DHCPv6


ND Neighbour Discovery = Protocole de détection de voisin IPv6


Trames ICMPv6, Application à ND:


IPv6 é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: Redirection


La 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 )



Exemples:


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 2

Si type msg ND = 2, valeurs msg ND = adr Dst niv 2 = Target

Si type msg ND = 3, valeurs msg ND = Prefix Information


Résolution d'adresse = Sollicitation de Voisin ( Neighbor )


La résolution d'adresse en IPv6 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:


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 IPv6 = Identifiant d'interface


On distingue configuration manuelle et auto-configuration ( 3 procédés possibles selon présence des éléments et configuration des éléments ).


Configuration manuelle:

On entre la valeur d'adresse manuellement:

Adresse IP, Longueur du préfixe de sous-réseau, Passerelle par défaut.


Stateless Address Auto-configuration: SLAAC


La configuration Stateless se fait sans serveur centralisé qui mémorise l'état des clients contrairement au stateful = DHCP.


Il existe 2 méthodes d'auto-configuration stateless


Link Local dérivée EUI-64

Link Local dérivée de préfixe


a) Auto-configuration d'adresse Link Local dérivée EUI-64

Cette 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 bits

utilisés en firewire ( IEEE 1394 ) ou en

domotique ( IEEE 802.15.4 ).

L'IEEE décrit les règles pour passer

des 48 bits de l'adresse MAC aux 64

bits de l'EUI-64.

( voir schéma )

On ajoute ensuite le préfixe link local

64 bits = F800 0000 0000 0000



Exemple: Adr MAC 34:ED:48:A6:35:B4 => adresse IPv6 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) Auto-configuration d'adresse Link Local utilisant un préfixe


Un routeur fournit un préfixe de réseau qui identifie le lien ou le site.

Le client envoie une requête RS = ICMP type 133

avec adresse src=:: et destination = multicast de tous les routeurs FF02::2, query = demande de RA.

Un routeur répond RA = ICMP type 134

avec 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 ).


3- DHCPv6 ( RFC3315 ) = Stateful Auto-configuration

Utilisation d'adresse multicast pour DHCPv6:


Le client envoie sur les adresses multicast DHCP link ou

site 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


4- Processus de détermination de la méthode


VII) Outils de test IPv6:

Les logiciels intégrant encore IPv4, on distingue les outils IPv4 et IPv6.


Pour être sûr que l'on est sur un réseau IPv6, on peut utiliser comme destinataire du test l'hôte ipv6.google.com

10 vues0 commentaire

Posts récents

Voir tout
Post: Blog2 Post
bottom of page