Vous êtes sur la page 1sur 16

http://www.iplogos.

fr/ipv6-les-differentes-adresses/

IPv6: les diffrentes adresses


Cest la pnurie dadresses IPv4 qui a conduit les instances normatives rflchir un nouveau protocole.
Mais, ils ne se sont pas contents de dfinir un paquet identique avec des champs adressages plus grands.
Ils ont galement cherch amliorer le protocole. Cet article prsente les diffrentes adresses IPv6 unicast
que lon rencontre: cest aussi le moyen de toucher du doigt les volutions du protocole !

IPv6: longueur du prfixe


En environnement IPv6, nous ne parlons plus de masque de sous-rseau mais nous allons
identifier ce que lon va appeler le prfixe.
Le prfixe dune adresse IPv6 correspond la partie rseau de ladresse IP. Il est not comme
cela:
adresse-IPv6/LongueurDuPrfixe

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

Les diffrents types dadresses IPv6


Commenons, une fois nest pas coutume, par le rsum de cet article:

La reprsentation ci-dessus montre donc quune adresse IP peut identifier:

une interface bien dtermine (pour les communications entre un client et un serveur, en un-pourun ) cest une adresse unicast ;

un groupe dinterfaces ou de systmes: cest une adresse multicast;

une interface parmi un groupe prdfini dinterfaces: cest une adresse anycast.

Au passage, le concept dadresse de diffusion (broadcast) a disparu: cest en environnement


IPv6 un cas particulier dune adresse de groupe (cest un groupe multicast part entire).
Chose nouvelle galement qui apparait dans la reprsentation: il y a 6 types dadresses unicast
IPv6 diffrentes. Si ladresse de loopback est dj connue dans le monde IPv4, les autres
types correspondent de nouveaux concepts introduits conjointement IPv6.

Identification du type dadresses IPv6

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:

IPV6 Global Unicast Addresses,

IPv6 Link Local Addresses,

IPv6 Site Local Addresses.

Adresses IPv6 Global Unicast


Dun point de vue formel, toutes les adresses spcifiques non dfinies sont des adresses globales
unicast. En pratique, lorganisme dattribution des adresses (IANA) alloue actuellement les
adresses qui commencent par2000::/3
Ce sont des adresses routables (quivalentes des adresses publiques en IPv4) qui doivent donc
tre uniques dans le monde Internet IPv6.

Adresses IPv6 Link Local


On pourrait traduire par ladresse IPv6 de lien local. bof bof. Mais ce nest pas grave:
regardons le concept.
Une adresse de ce type commence toujours par FE80::/10 (donc les premiers bits sont 1111 1110
10). Quont elles de particulier ces adresses? elle ne sont pas routables sur le rseau ! Elle ne
sont valables que sur le lien considr et cest tout !
Un routeur qui reoit un paquet destin une adresse Link-Local: soit cest pour lui et il traite le
paquet , sinon, il jette ! Pas de routage de ces adresses IPv6.
Par contre, toute interface avec IPv6 activ doit disposer dau moins une adresse IPv6 link-local.
Cela va permettre tout systme de pouvoir communiquer sur son rseau local mme sil na
pas dadresse IP routable configure. Souvenez-vous, javais indiqu dans larticle introduisant la
technologie IPv6 ( relire si ncessaire) que celle-ci vise tre Plug-and-Play: vous commencez
maintenant entrevoir comment cela est possible !
Une adresse IPv6 Link-Local est donc utilise dans les cas suivants:

avant lobtention dune adresse IPv6 routable,

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.

Adresses IPv6 Unique Local


Ces adresses sont dfinies dans le RFC 4193 ( Unique Local IPv6 Unicast Adresses ) et
correspondent aux adresses prives que lon avait en IPv4 (10.0.0.0/8, 172.16.0.0/12 et
192.168.0.0/16).
Comme pour les autres types dadresses, elles sont identifies par les premiers bits qui la
composent. Une adresse IPv6 Unique Local commence par FC00::/7 (donc les premiers bits
sont 1111 110).

ARP en environnement IPv6 ?


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 ?

ICMPv6 ND: lquivalent de ARP


Le procotole ICMP vous connaissez ? CMP, cest un peu comme une signalisation associe au
protocole IP: il sert indiquer quil y a des erreurs ou pour changer des informations entre
couches IP

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.

Messages ICMPv6 Neighbor Discovery


Les deux messages qui sont les quivalents des messages ARP Request et ARP Reply
sont les messagesNeighbor Solicitation (NS) et Neighbor Advertisement (NA).
Dans le RFC Neighbor Discovery, on retrouve galement les messages Redirect qui sont utiliss
pour demander un systme dutiliser une autre route, plus optimise. Enfin, Neighbor
Discovery dfinit galement des messages qui nont pas dquivalents dans le monde IPv4: ce
sont les messages Router Solicitation (RS) et Router Advertisement (RA).
Cest galement grce ce protocole quun systme va pouvoir vrifier que ladresse IP (la
partie didentifiant de linterface) quil sest octroy est bien unique (en utilisant un nouveau
protocole appel DAD pour Duplicate Address Detection).

Mcanisme de Rsolution dadresses en


environnement IPv6
Donc, on vient de le voir, la rsolution dadresses utilise des messages ICMPv6 (NS et NA) qui
sont des quivalents des messages IPv4 ARP Request et ARP Reply . Nous reviendrons
dans le dtail mais l, priori, les choses ont lair simple.
Sauf que ICMPv6 sappuie sur IPv6. a veut donc dire que le message de recherche
(lquivalent de ARP Request) doit tre envoy dans un paquet IPv6 Mais quelle adresse de
destination ? Souvenons nous quen environnement IPv4, la requte ARP est envoye ladresse
de diffusion Ethernet

Solicited Node Multicast


Dans le monde IPv6, lorsquune adresse IPv6 est affecte une interface, alors cette interface est
automatiquement abonne un groupe multicast: un groupe appel Solicited Node .
Ladresse du groupe Solicited Node est directement drive de ladresse unicast. Cette adresse
multicast est construite en associant une partie fixe (FF02:0:0:0:0:1:FF00::/104) et une partie qui
correspond exactement aux24 derniers bits de ladresse unicast.
Dans lexemple illustr ci-dessous, le PC dispose de 2 adresses IPv6 unicast: une adresse globale
(donc routable) et une adresse (link-local) qui ne lui permet deffectuer des changes sur le seul
LAN auquel il est raccord.
A partir de la rgle indique prcdemment, on voit que le PC est alors automatiquement abonn
deux groupes multicast (groupe Solicited-Node ).

Le PC tant abonn ces deux groupe, il va donc traiter les paquets IPv6 envoys destination
de ce groupe multicast.

Envoi des messages Neighbor Solicitation


Puisque tous les systmes IPv6 sont abonns aux groupes Solicited-Node en fonction de leur
adresse IPv6 unicast, il devient alors pertinent denvoyer le message qui demande
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 :

ARP en environnement IPv6 ?


B Y I P L O G O S C C N A : A D D R E S S A G E I P C C N A : F O N D A M E N TA U X I P V 6 1 2 F V
2 0 1 5 PA S D E C O M M E N TA I R E

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 ?

ICMPv6 ND: lquivalent de ARP


Le procotole ICMP vous connaissez ? Mais, si: souvenez vous, on a fait une vido sur loutil PING qui
expliquait que ping exploitait le protocole ICMP (retrouvez cette vido ici)! ICMP, cest un peu
comme une signalisation associe au protocole IP: il sert indiquer quil y a des erreurs ou pour
changer des informations entre couches IP
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.

Messages ICMPv6 Neighbor Discovery


Les deux messages qui sont les quivalents des messages ARP Request et ARP Reply sont
les messagesNeighbor Solicitation (NS) et Neighbor Advertisement (NA).
Dans le RFC Neighbor Discovery, on retrouve galement les messages Redirect qui sont utiliss pour
demander un systme dutiliser une autre route, plus optimise. Enfin, Neighbor Discovery dfinit
galement des messages qui nont pas dquivalents dans le monde IPv4: ce sont les
messages Router Solicitation (RS) et Router Advertisement (RA).
Cest galement grce ce protocole quun systme va pouvoir vrifier que ladresse IP (la
partie didentifiant de linterface) quil sest octroy est bien unique (en utilisant un nouveau protocole
appel DAD pour Duplicate Address Detection).

Mcanisme de Rsolution dadresses en


environnement IPv6
Donc, on vient de le voir, la rsolution dadresses utilise des messages ICMPv6 (NS et NA) qui sont
des quivalents des messages IPv4 ARP Request et ARP Reply . Nous reviendrons dans le
dtail mais l, priori, les choses ont lair simple.
Sauf que ICMPv6 sappuie sur IPv6. a veut donc dire que le message de recherche (lquivalent de
ARP Request) doit tre envoy dans un paquet IPv6 Mais quelle adresse de
destination ? Souvenons nous quen environnement IPv4, la requte ARP est envoye ladresse de
diffusion Ethernet

Solicited Node Multicast


Dans le monde IPv6, lorsquune adresse IPv6 est affecte une interface, alors cette interface est
automatiquement abonne un groupe multicast: un groupe appel Solicited Node .
Ladresse du groupe Solicited Node est directement drive de ladresse unicast. Cette adresse
multicast est construite en associant une partie fixe (FF02:0:0:0:0:1:FF00::/104) et une partie qui
correspond exactement aux24 derniers bits de ladresse unicast.
Dans lexemple illustr ci-dessous, le PC dispose de 2 adresses IPv6 unicast: une adresse globale
(donc routable) et une adresse (link-local) qui ne lui permet deffectuer des changes sur le seul LAN
auquel il est raccord.
A partir de la rgle indique prcdemment, on voit que le PC est alors automatiquement abonn
deux groupes multicast (groupe Solicited-Node ).

Le PC tant abonn ces deux groupe, il va donc traiter les paquets IPv6 envoys destination de ce
groupe multicast.

Envoi des messages Neighbor Solicitation


Puisque tous les systmes IPv6 sont abonns aux groupes Solicited-Node en fonction de leur
adresse IPv6 unicast, il devient alors pertinent denvoyer le message qui demande

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

Rponse: le message Neighbor Advertisement


Aprs rception de la demande, le PC2 va donc mettre une rponse. Dans ce sens tout est plus
simple puisque le PC2 dispose de toutes les informations lui permettant de rpondre au PC1.

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.

Ladresse de liaison locale cre avec lexemple de la Figure 6 sera alors


fe80::290:27ff:fe17:fc0f Il faut encore noter que Cisco et Microsoft Windows 5 (2003 &
XP) utilisent le format EUI-64 pour la cration dadresses de liaison locale. Ds
Microsoft Windows 6 (2008 & Vista) et plus rcent, les adresses de liaison locale sont
formes de manire alatoire, afin dviter le scan dadresse et la localisation, due
lutilisation perptuelle de la mme adresse de liaison locale.
1.4.3 Site-local deprecated par RFC 3879
Une adresse de site-local tait prvue la base pour tre utilise selon le mme principe
que les adresses prives en IPv4, savoir lintrieur dun intranet nayant pas de
connexion internet. Le prfixe des adresses de site-local pouvant tre rutilis dans
plusieurs sites diffrents dune mme organisation, cela augmenta la complexit et la
difficult autant pour les administrateurs rseau que pour les routeurs. Cest pour cela
que ce nest plus utilis, mais les implmentations existantes peuvent perdurer. Le
prfixe dune adresse site-local est fec0 ::/10.
1.4.4 Unique-local
Ladresse unique-local (ULA) a t cre pour remplacer ladresse de site local, qui
pouvait ne pas tre unique. Elle doit seulement tre utilise lintrieur dun site, bien
quelle ait une porte globale. Cest donc la topologie de routage et les filtres mis en
place sur les routeurs connects internet qui devront veiller respecter cette rgle. Le
prfixe dune adresse unique-local est fc00::/7. 4.2.4.5 Global Une adresse globale est
quivalente une adresse IPv4 publique. Elle est donc routable et atteignable sur le
rseau internet IPv6. Contrairement au rseau IPv4, qui est un mlange de routage
hirarchique et plat, le routage hirarchique est une des composantes de base du rseau
IPv6. Une adresse globale se compose du prfixe 2001 ::/3, puis de 45 bits de prfixe de

routage global, de 16 bits didentification de sous-rseau, et enfin de 64 bits


didentification de linterface.