Vous êtes sur la page 1sur 51

Autoconfiguration IPv6

ICMPv6 & NDP

Afifa HARIZ FRIKHA


Autoconfiguration IPv6 & NDP

PLAN

Autoconfiguration IPv6

ICMPv6


NDP

A. Hariz Frikha 2
Autoconfiguration IPv6

Objectifs
L'autoconfiguration IPv6 consiste à l'autoconfiguration des
adresses. Celle-ci a pour objectifs :


l'acquisition d'une adresse quand une machine est attachée à
un réseau pour la première fois ;

l'obtention de la nouvelle adresse suite à la renumérotation des
machines du site après un changement d'opérateur. L'opération
de renumérotation revient concrètement à changer la partie
haute de l'adresse. L'autoconfiguration d'adresses va servir de
vecteur dans l'attribution du nouveau préfixe.
A. Hariz Frikha 3
Autoconfiguration IPv6

Processus d’autoconfiguration

Le processus d'autoconfiguration d'adresse d'IPv6


comprend:

la création d'une adresse lien-local


la vérification de son unicité


la détermination d'adresses unicast globales.
A. Hariz Frikha 4
Autoconfiguration IPv6

Processus d’autoconfiguration

Le rôle du routeur est important dans l'autoconfiguration.


Il dicte à la machine, par des bits (cf. Annonce du
routeur) de l'en-tête du message d'annonce de routeurs,
la méthode à retenir et fournit éventuellement les
informations nécessaires à sa configuration.

A. Hariz Frikha 5
Autoconfiguration IPv6
Processus d’autoconfiguration

Les messages d'annonce de routeur peuvent contenir une des trois options
suivantes :

SLAAC uniquement : pour utiliser les informations contenues dans le
message d'annonce de routeur

SLAAC et DHCPv6 (DHCP sans état): pour utiliser les informations
contenues dans le message d'annonce de routeur et obtenir d'autres
informations par le serveur DHCPv6, DHCPv6 sans état (exemple info :
DNS)

DHCPv6 uniquement : le périphérique ne doit pas utiliser les informations
de l'annonce de routeur (DHCPv6 avec état)

Les routeurs envoient des messages d'annonce ICMPv6 RA (soit


A. Hariz Frikha 6
périodiquement, soit en réponse à un RS) en utilisant l'adresse link-local
Autoconfiguration IPv6

Processus d’autoconfiguration

L'algorithme de la procédure d'autoconfiguration d'adresse se


décompose de la manière suivante :

La toute première étape consiste à créer l'adresse lien-local.

Une fois l'unicité de cette adresse vérifiée, la machine est en
mesure de communiquer avec les autres machines du lien.

La machine doit chercher à acquérir un message d'annonce du
routeur pour déterminer la méthode d'obtention de l'adresse
unicast globale
A. Hariz Frikha 7
Autoconfiguration IPv6

Processus d’autoconfiguration

S'il y a un routeur sur le lien, la machine doit appliquer la
méthode indiquée par le message d'annonce de routeurs.

En l'absence de routeur sur le lien, la machine doit essayer
d'acquérir l'adresse unicast globale par la méthode
d'autoconfiguration avec état.

Si la tentative échoue, c'est terminé. Les communications se
feront uniquement sur le lien avec l'adresse lien-local. La
machine n'a pas une adresse avec une portée qui l'autorise à
communiquer avec des machines autres que celles du lien.

A. Hariz Frikha 8
Autoconfiguration IPv6

Processus d’autoconfiguration


Le bit M (Managed address configuration) mis à 1 indique que
l'équipement ne doit pas construire lui-même l'adresse à partir
de son identifiant d'interface et des préfixes reçus, mais doit
explicitement demander son adresse auprès d'une application
d'un serveur d'adresses.

Le bit O (Other stateful configuration) indique que
l'équipement doit interroger le serveur de configuration pour
obtenir des paramètres autre que l'adresse.
A. Hariz Frikha 9
Autoconfiguration IPv6
La création de l’adresse link local


À l'initialisation de son interface, la machine construit un
identifiant pour l'interface qui doit être unique au lien.
Le principe de base de la création d'adresse IPv6 est de marier
un préfixe avec l'identifiant.

L'adresse ainsi constituée est encore interdite d'usage. Elle
possède un état provisoire car la machine doit vérifier l'unicité
de cette adresse sur le lien au moyen de la procédure de
détection d'adresse dupliquée.

A. Hariz Frikha 10
Autoconfiguration IPv6
La création de l’adresse link local


Si la machine détermine l'adresse lien-local n'est pas unique,
l'autoconfiguration s'arrête et une intervention manuelle est
nécessaire.


Une fois que l'assurance sur l'unicité de l'adresse lien-local est
obtenue, l'adresse provisoire devient une adresse valide pour
l'interface. La première phase de l'autoconfiguration est
achevée.

A. Hariz Frikha 11
Autoconfiguration IPv6
La détection de duplication d’adresses

Pour vérifier l'unicité des adresses lien-local ou unicast, les machines
doivent exécuter un algorithme de Détection d'Adresse Dupliquée (DAD)
avant de les utiliser.

L'algorithme utilise les messages ICMPv6 sollicitation d'un voisin et
annonce d'un voisin.

Si une adresse déjà en service est découverte, elle ne pourra être
attribuée à l'interface. L'autoconfiguration s'arrête et une intervention
humaine devient obligatoire.

Une adresse est qualifiée de "provisoire" pendant l'exécution de
l'algorithme DAD et ce jusqu'à la confirmation de son unicité.

Une adresse provisoire est assignée à une interface uniquement pour
recevoir les messages de sollicitation et d'annonce d'un voisin. Les autres
messages reçus sont ignorés. A. Hariz Frikha 12


Autoconfiguration IPv6

La détection de duplication d’adresses

L'algorithme DAD consiste à envoyer un message sollicitation


d'un voisin avec dans le champ adresse de la cible l'adresse
provisoire. Afin de distinguer l'algorithme DAD de celui de
découverte des voisins, le paquet IPv6 contenant un message
de sollicitation d'un voisin a comme adresse de source
l'adresse indéterminée.

A. Hariz Frikha 13
Autoconfiguration IPv6

Pour le DAD, trois cas se présentent :



Un message annonce d'un voisin est reçu : l'adresse
provisoire est utilisée comme adresse valide par une autre
machine. L'adresse provisoire n'est pas unique et ne peut
être retenue.

Un message sollicitation d'un voisin est reçu dans le cadre
d'une procédure DAD; l'adresse provisoire est également
une adresse provisoire pour une autre machine. L'adresse
provisoire ne peut être utilisée par aucune des machines.

Rien n'est reçu au bout d'une seconde (valeur par défaut) :
l'adresse provisoire est unique, elle passe de l'état de
provisoire à celle de valide etFrikha
A. Hariz elle est assignée à l'interface. 14
Autoconfiguration IPv6

Configuration dynamique d'une adresse de


monodiffusion globale avec la méthode SLAAC

Configuration automatique des adresses sans état (SLAAC)


• Méthode permettant à un périphérique d'obtenir son préfixe, sa longueur
de préfixe et sa passerelle par défaut auprès d'un routeur IPv6

• Aucun serveur DHCPv6 n'est nécessaire

• Repose sur les messages d'annonce de routeur ICMPv6

A. Hariz Frikha 15
Autoconfiguration IPv6
Configuration dynamique d'une adresse globale avec la méthode SLAAC

A. Hariz Frikha 16
Autoconfiguration IPv6
Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
 Similaire à IPv4

 Réception automatique des informations d'adressage comprenant une


adresse de monodiffusion globale, la longueur du préfixe, l'adresse de la
passerelle par défaut et les adresses des serveurs DNS via les services d'un
serveur DHCPv6

 Le périphérique peut recevoir une partie ou la totalité des informations


d'adressage IPv6 en provenance d'un serveur DHCPv6 selon que l'option 2
(SLAAC et DHCPv6) ou l'option 3 (DHCPv6 uniquement) est spécifiée dans
le message d'annonce de routeurA.ICMPv6
Hariz Frikha 17
Le Protocole ICMPv6 & Neighbor Discovery d’IPv6
Le protocoleICMPv6
En IPv6, ICMPv6 est une composante obligatoire.
Le protocoleICMPv6
I


ICMPv6 est un nouveau protocole formalisé par le
RFC 4443


ICMPv6 permet de faire fonctionner IPv6 sur les hôtes en
communication locale en toute autonomie, sans état,
autorisant une communication indépendante de la nature
de l’infrastructure et des services disponibles.
Le protocoleICMPv6

On y trouve deux classes de message :


Messages d’erreur : “Destination Unreachable”, “Packet Too
Big”, “Time Exceeded”, et “Parameters Problems”.


Messages informatifs : messages de diagnostic (“echos”),
messages pour la gestion des groupes multicast, et
messages de découverte de voisinage Neighbor Discovery
(ND) (RFC 4861) et Secure Neighbor Discovery SEND (
RFC 3971).
Le protocoleICMPv6

Exemple de message d’erreur: Packet Too Big



Les routeurs ne fragmentant plus le trafic, cette fonction
est laissée obligatoirement aux hôtes terminaux.

Ils utilisent des paquets ICMPv6 “Packet Too Big” (Type 2)
pour indiquer à l’hôte d’origine (source du message à
fragmenter) la taille adéquate des paquets.

On l’appelle la procédure “Path MTU Discovery”.
Le protocoleICMPv6

Le paquet ICMPv6 est encampsulé dans un paquet IPv6 avec une


valeur du next header=58
Le protocoleICMPv6


Le champ type code la nature du message ICMPv6. , les valeurs
inférieures à 127 sont réservées aux messages d'erreur. Les autres
valeurs sont réservées aux messages d'information, parmi lesquels se
trouvent ceux utilisés par le protocole  ND (neighbor discovery) pour la
configuration automatique des équipements.


Le champ  code  précise la cause du message ICMPv6.


Le champ  checksum  permet de vérifier l”integrité du paquet ICMP

Le champ option contient des données selon le type de message. Par
exemplee, dans le cas d’un message d”erreur, ce champ contient le paquet
IPv6 ayant provoqué l'erreur
Le protocole ND


Neighbor Discovery” est un sous-protocole ICMPv6 (types
133 à 137). C’est à dire que l’usage de ces messages est
formalisé dans une procédure Neighbor Discovery (ND) du
RFC 4861.

ND remplit notamment la fonction de résolution d’adresses
(assurée par ARP en IPv4) qui est désormais appelée
fonction de découverte de voisins. On ne parle plus alors de
table ARP comme en IPv4 mais de table de voisinage.
voisinage

La découverte de voisinage participe au mécanisme d’auto-
configuration automatique sans état (SLAAC).
Le protocole ND

Les messages de découverte de voisinage Neighbor Discovery (ND)


sont les messages ICMPv6 d’un type nouveau (par rapport à IPv4)


ND est le Protocole clé sur lequel dépend la plupart des fonctionnalités
d’IPv6

Utilisé par les hôtes et les routeurs

Se compose d'un ensemble de messages ICMPv6, il fonctionne donc
sous ICMPv6

Fonctionne à la couche réseau

Échanges de différents messages et offrent des fonctionnalités
différentes
Le protocole ND

IPv4
ND ≈ ARP + IRDP + Redirect + NUD

Pour découvrir la Nouveau dans IPv6,


présence d’un routeur détermine qu’un hôte
n’est plus accessible
Le protocole ND

NUD:
NUD Détection d'inaccessibilité des voisins ou NUD (Neighbor
Unreachability Detection). Cette fonction n'existe pas en IPv4. Elle
permet d'effacer des tables de configuration d'un équipement les
voisins qui sont devenus inaccessibles (panne, changement
d'adresse,...). Si un routeur devient inaccessible, la table de routage
peut être modifiée pour prendre en compte une autre route.
Le protocole ND

 ICMPv6 inclut quatre nouveaux messages dans le cadre du protocole Neighbor Discovery
Protocol (ND ou NDP) :
• Message de sollicitation de routeu (RS)r
• Message d'annonce de routeur (RA)
• Message de sollicitation de voisin (NS)
• Message d'annonce de voisin (NA)
 Messages de sollicitation et d'annonce de routeur : échangés entre les hôtes et les
routeurs
 Messages de sollicitation de routeur : envoyés sous forme de message de
multidiffusion « tous routeurs » IPv6
 Messages d'annonce de routeur : envoyés par les routeurs pour fournir les informations
d'adressage
ND définit et utilise 5 messages ICMPv6

Neighbor
Router Solicitation
Solicitation

Redirect

Neighbor Router
Advertisement Advertisement

learn.afrinic.net | slide 30
Le Router Solicitation (RS)

Envoyé par Un hôte IPv6

But Trouver les routeurs présents sur le lien en vue d’obtenir les
paramètres du réseau

Adresse
Source  IP de l’interface qui fait la requête si il en existe
 Adresse indéterminé (::) si l’équipement ne connait pas encore son
adresse source

Adresse de FF02::2 (all-routers)


Destination

Remarques ICMP type 133, ICMP code 0

learn.afrinic.net | slide 31
Format d’un paquet RS

Le champ option contient normalement l'adresse physique de


l'équipement.

learn.afrinic.net | slide 32
Exemple de capture d’un paquet RS

learn.afrinic.net | slide 33
Le Router Advertisement (RA)

Envoyé par Un router IPv6

But  Annoncer sa présence, les préfixes, MTU, hop limits


 Envoyer périodiquement ou en réponse à un RS

Adresse L’adresse lien-local de l’interface qui l’envoie


Source

Adresse de  [Diffusion périodique] FF02::1


Destination  [Sollicité] L’adresse source du noeud qui envoie le RS

Remarques ICMP type 134, ICMP code 0

learn.afrinic.net | slide 34
Format d’un paquet (RA)


Le bit  M indique qu'une adresse de l'équipement doit être obtenue avec un protocole de
configuration (DHCPv6).

Le bit O indique aussi la présence d'un service de configuration mais pour la récupération
d'informations autres que l'adresse.

Si l'adresse ne peut être obtenue d'un serveur, l'équipement procède à  une configuration sans
état en concaténant aux préfixes qu'il connait son identifiant d'interface.

Le bit H indique que le routeur peut être utilisé comme agent mère pour un noeud mobile (cf.  
learn.afrinic.net | slide 35
Avertissement de l'agent mère
Exemple de capture d’un RA (1/2)

learn.afrinic.net | slide 36
capture d’un RA (2/2)
Configurer un RA sur IOS de Cisco

Définir l'intervalle des retransmission du RA


(config-if)#ipv6 nd ra interval { max [min]}
(config-if)#ipv6 nd ra interval {msec max [min]}

Définir la durée de vie du messages RA

(config-if)#ipv6 nd ra lifetime <secs>

Supprimer les messages RA de l’interface connectée


(config-if)#[no] ipv6 nd ra suppress [all]

learn.afrinic.net | slide 38
Le Neighbour Solicitation (NS)
Envoyé par Un hôte IPv6

But  Déterminer l’adresse L2 des voisins


 Duplicate address detection (DAD)
 Vérifier qu’un voisin est accessible

Adresse  IP de l’interface qui fait la requête si il en existe ou l’adresse du lien local


Source  Adresse indéterminé (::) s’il n'y a pas encore d’adresse

Adresse de  L’adresse du voisin si elle est connue


Destination  L’adresse multicast de sollicitation de noeud de la cible (adresse recherchée)
 oit l'adresse de l'équipement (dans le cas d'une détection d'inaccessibilité
des voisins, NUD )

Remarques ICMP type 135, ICMP code 0

learn.afrinic.net | slide 39
Format du paquet NS


Le message peut lui être explicitement envoyé ou émis sur une adresse de diffusion


Le champ adresse de la cible contient l'adresse IPv6 de l'équipement cherché. Le
champ option contient en général l'adresse physique de la source.
learn.afrinic.net | slide 40
Le Neighbour Solicitation (NA)

Envoyé par Un hôte IPv6

But  Répondre à un neighbour solicitation (NS)


 Sinon, annoncer des mises à jour a ses voisins ( exemple:
une information de changement d'adresse physique, ou
de statut «routeur»)

Adresse Toute adresse sur l'interface d'origine.


Source

Adresse de
Destinatio  L’adresse IP du noeud qui émet le NA.
n  FF02::1 pour des diffusions périodiques

Remarques ICMP type 136, ICMP code 0

learn.afrinic.net | slide 41
Format d’un paquet NA

learn.afrinic.net | slide 42
Format d’un paquet NA

Le bit  R est mis   1 si l'émetteur est un routeur. Ce bit est utilisé pour permettre la détection
d'un routeur qui redevient un équipement ordinaire.


Le bit R est mis à 1 si l'émetteur est un routeur. Ce bit est utilisé pour permettre la détection
d'un routeur qui redevient un équipement ordinaire.


Le bit O mis à 1 indique que cette annonce doit effacer les informations précédentes qui se
trouvent dans les caches des autres équipements, en particulier la table contenant les
adresses physiques.

Le champ adresse de la cible contient, si le bit S est à 1, la valeur du champ adresse de la
cible de la sollicitation auquel ce message répond. Si le bit S est à 0, ce champ contient
l'adresse IPv6 lien-local de l'équipement émetteur.


L'option adresse physique de la ciblelearn.afrinic.net
contient l'adresse
| slide 43 physique de l'émetteur.
Exemple d’un NA sollicité par un router

learn.afrinic.net | slide 44
Exemple d’un NA sollicité par un hôte

learn.afrinic.net | slide 45
Le message redirect

Envoyé par Router IPv6

But Informer un noeud du meilleur next-hop.pour une destination

Adresse Adresse Lien-local du routeur


Source

Adresse de Adresse IP du nœud qui fait la requête


Destination

Remarques ICMP type 137, ICMP code 0

Sample packet at http://j.mp/v6redirect


learn.afrinic.net | slide 46
Le Duplicate Address Detection (DAD)
2001:db8:c001::10

ICMPv6 Type I35 (NS)

source :: N2
destination ff02::1:ff00:0010

target 2001:db8:c001::10

ICMPv6 Type I36 (NA)

source 2001:db8:c001::10

destination ff02::1

N1 target 2001:db8:c001::10

2001:db8:c001::10 learn.afrinic.net | slide 47


Plus de détails sur le DAD

 Le DAD est effectué pour TOUT adresse unicast


 Le DAD n’est JAMAIS effectué pour:
 Les adresses anycast
 Des adresses spécifiques
 En cas d’échec du DAD
 Cette adresse ne peut être assignée à une interface.
 Tout adresse utilisant cet IID n’est donc pas unique
 Une erreur system doit être enregistrée

learn.afrinic.net | slide 48
Exemple de paquet NS pour un DAD

learn.afrinic.net | slide 49
Configurer DAD sur IOS de Cisco

Définir le nombre de NS envoyé pendant DAD


(config-if)#[no]ipv6 nd dad attempts <value>

Définir l’intervalle de retransmission du NS pour le DAD


(config-if)#[no] ipv6 nd dad time [millisecs]

learn.afrinic.net | slide 50
Le Neighbour Unreachability Detection (NUD)

 Les Nœuds vérifient activement l'état des voisins avec qui ils communiquent:
 Déterminer si le voisin est inaccessible
 Déterminer si la route vers le voisin est toujours valide
 Le Voisin doit confirmer qu'il reçoit et traite les paquets IP en:
• Envoyant un indice de protocole de couche supérieure ex: TCP ACK
• Sollicitant un NA du voisin en utilisant une sonde unicast (NS)

learn.afrinic.net | slide 51

Vous aimerez peut-être aussi