Documente Academic
Documente Profesional
Documente Cultură
fr/ipv6-les-differentes-adresses/
La longueur du prfixe est une valeur entire indiquant la partie rseau de ladresse. Par exemple,
considrons ladresse IPv6 suivante:
2001:0DB8:1234:5678::1/64
La figure ci-dessous illustre comment la longueur de prfix (note /64) permet didentifier le prfixe
(que lon peut aussi appeler la partie rseau de ladresse). Cela laisse 64 bits sur la partie droite
qui est ce que lon appelle lidentifiant de linterface (Interface ID) qui correspond la partie hte
dune adresse IPv4.
Contrairement ce que lon fait en IPv4, lespace dadressage IPv6 est suffisamment grand pour
ne pas devoir manipuler des prfixes en /63 ou /65: on utilise des multiples de 4. Cela simplifie la
manipulation des adresses IPv6.
Dailleurs, il est presque habituel de se voir attribuer des prfixes en /48 ce qui permet de garder
un hextet entier pour coder un sous-rseau tout en gardant 64 bits pour lidentifiant
dinterface. Dans lexemple pris dans cet article, le prfix serait alors 2001:0DB8:1234, le sousrseau serait 5678 et lidentifiant de linterface serait inchang (::1).
De mme, pour un rseau domestique, un prfixe en /56 est largement suffisant !
Mais, notez que dans un systme terminal, le prfixe qui se voit attribu une machine a toujours
une longueur de 64 bits (not /64).
une interface bien dtermine (pour les communications entre un client et un serveur, en un-pourun ) cest une adresse unicast ;
une interface parmi un groupe prdfini dinterfaces: cest une adresse anycast.
Larchitecture de ladressage IPv6 est dcrit dans le RFC 4291 (initialement publi en 2006, il a t
mis jour depuis). Il y est indiqu (section 2.4 Address Type Identification) que le type dadresse
est identifi par les premiers bits de ladresse. Exactement comme la dfinition des classes
dadresses en environnement IPv4 (relire larticle sur ce sujet ici).
Il y a donc 6 types dadresses unicast IPv6 diffrentes et nous allons prsenter les 3 plus
importantes:
pour identifier la passerelle par dfaut dune interface (on utilise la Link-Local adresse du routeur),
pour lchange des informations de routage par les routeurs (protocoles dynamiques).
Ce dernier point est trs intressant. Dsormais, un routeur peut router du traffic IPv6 sans
avoir lui mme une adresse IPv6 routable: cest une amlioration vidente de la scurisation
des infrastructures.
Le protocole ICMP a t port en environnement IPV6. Effectivement, lors de larticle sur les
diffrentes adresses IP, nous avons mme utilis loutil ping alors que ladresse destination tait
une adresse IPv6: aucun problme, cela marchait !
Mais, dans le monde IPv6, le protocole ICMP (appel ICMPv6) a t enrichi et tendu. Par
exemple, il a t complt avec le protocole Neighbor Discovery (ND ou ICMPv6 ND) qui est
lquivalent du ARP en IPv4 (le fonctionnement de ARP a t prsent dans un prcdent article,
relire ici) .
Le protocole Neighbor Discovery (que lon pourrait traduire par dcouverte des voisins) va plus loin
que le protocole ARP et ses requtes / rponses Mais, commenons par identifier les diffrents
types de messages dfinis par le protocole ICMPv6-ND.
Le PC tant abonn ces deux groupe, il va donc traiter les paquets IPv6 envoys destination
de ce groupe multicast.
ARP en IPv6 ?
Dans le dernier article sur IPv6, nous avions
constat ensemble que la rsolution dadresse ARP ntait pas utilise en IPv6 (relire larticle ici).
Pourtant, la problmatique reste prsente autant en IPv4 quen IPv6: alors, comment une adresse IPv6
destination est elle associe ladresse destination de la couche 2 ?
Le protocole Neighbor Discovery (que lon pourrait traduire par dcouverte des voisins) va plus loin que
le protocole ARP et ses requtes / rponses Mais, commenons par identifier les diffrents types de
messages dfinis par le protocole ICMPv6-ND.
Le PC tant abonn ces deux groupe, il va donc traiter les paquets IPv6 envoys destination de ce
groupe multicast.
lassociation [adresse MAC/ Adresse unicast IPv6] non pas tous les systmes du rseau (comme
cest le cas en IPv4) mais ladresse de groupe Solicited-Node (sachant quelle est drive de
ladresse unicast recherche !).
Ainsi, dans lexemple ci-dessous, le PC1 souhaite envoyer un paquet IPv6 vers PC2 pour lequel il ne
connait pas ladresse MAC. Il va utiliser le message ICMPv6 Neighbor Solicitation comme ceci :
La capture de ce message permet de mieux voir ce qui est effectivement envoy sur le rseau:
Vous relverez au passage que ladresse MAC destination de cette trame est une adresse
multicast. Ceci permet doptimiser le trafic galement sur linfrastructure Ethernet. En effet, chaque
groupe multicast IPv6 (et IPv4) se voit attribu un groupe multicast au niveau Ethernet. Dans cet
exemple, cest le groupe 33:33:ff:00:02:00
Aprs la rception de ce message, les PC1 et PC2 ont toutes les informations requises pour
changer des paquets IPv6. Et, comme en IPv4, ces informations sont stockes dans un cache:
le cache Neighbor (Neighbor Cache).
Cache Neighbor
Pour voir le contenu du cache Neighbor, sous Windows, il faut utiliser la commande:
netsh interface ipv6 show neighbor
http://www.stephan-robert.ch/wp-content/uploads/2015/07/Rapport-Final-S-DUNAND.pdf
1. Adresse
Ladresse IPv6 est forme de 128 bits, soit quatre fois plus longue que ladresse IPv4. Mais
pourquoi avoir choisi 128 bits ? Est-ce afin davoir un nombre dadresses tellement norme, que
lon peine se le reprsenter ? La raison est bien videmment ailleurs : ces 128 bits ont t choisis
afin dassurer de multiples niveaux de hirarchie et de flexibilit dans la conception dun plan de
routage et dadressage. Le routage et lattribution dadresse IPv6 est strictement hirarchique,
comme on peut le voir la Figure 4, ceci afin de pouvoir au mieux agrger les routes, pour limiter
au maximum la taille des tables de routage.
1.1 Syntaxe
1.2 Prfixe
Le prfixe est la partie de ladresse dont les bits ont une valeur fixe, dfinissent une
route ou un sousrseau. Un prfixe pour les sous-rseaux ou les routes agrges se note
de la mme manire quen notation CIDR en IPv4, avec une valeur de prfixe de 128 au
maximum : adresse ipv6/longueur du prfixe.
Exemple : 2001:4DA0:C01 ::/48 pour une route
2001:4DA0:C01:0030::/64 pour un sous-rseau.
2001:4DA0:C01:0030::1/128 pour une adresse loopback ou un noeud.
Il est important de prciser quil nexiste pas de masque de sous-rseau longueur
variable (VLSM) en IPv6. Chaque sous-rseau individuel est form dun prfixe de 64
bits, puis de ladresse de linterface de 64 bits de longueur ou dune adresse choisie par
ladministrateur rseau. Des exceptions sont acceptes pour les adresses loopback (/128)
et les adresses de liens point point (/126).
1.3 types dadresses
Il existe trois types dadresse IPv6 :
Unicast : une adresse unicast identifie une seule interface. Elle sert transmettre des
messages dun hte un autre hte (one-to-one).
Anycast : Une adresse anycast identifie plusieurs interfaces. Un paquet envoy une
adresse anycast sera dlivr une seule interface : la plus proche de ladresse source en
termes de mtrique de routage (one-to-one-of-many).
Multicast : une adresse multicast identifie zro ou plus interfaces sur le mme, ou sur
diffrents htes. Cela sert dlivrer les messages dune machine, vers toutes les
interfaces identifies par ladresse multicast (one-to-many).
Il est important de noter labsence dadresse de broadcast. En effet, le broadcast existant
en IPv4 est remplac par des adresses de multicast en IPv6.
1.4 Porte des adresses
Chaque adresse IPv6 a une porte. Chaque interface physique peut par consquent
possder plusieurs adresses, ayant chacune une porte diffrente. La notion de porte
quivaut la notion de validit gographique, comme on peut le voir la Figure 5. Les 4
portes existantes sont expliques ci dessous :
1.4.1 Nud-local
Une adresse de nud-local est utilise pour envoyer des paquets au mme nud. Cest
par exemple ladresse localhost ::1 , ou ladresse non spcifie :: .
1.4.2 Lien-local
Une adresse de liaison locale est utilise pour communiquer entre des htes sur le mme
lien, donc elle ne traverse aucun routeur. Les adresses de liaison locale sont toujours
configures automatiquement, mais ce nest pas de lauto-configuration via SLAAC.
Cette adresse est utilise par exemple pour dcouvrir les routeurs, grce au Neighbor
Discovery Protocol, qui sera tudi plus en dtail dans le chapitre consacr lICMPv6.
La cration de cette adresse se droule en ajoutant le prfixe fe80 ::/64 ladresse de
format EUI-64 identifiant linterface. On cre ladresse EUI-64 en prenant ladresse
MAC de linterface, de 48 bits de longueur. On insre fffe, soit 16 bits, entre le 24me et
le 25me bit, comme illustr la Figure 6. Enfin on change la valeur du 7me bit du
premier octet 1 si ladresse est unique, et 0 sinon.