Objectifs de certification

CCNA 200-301

  • 1.8 Configurer et vérifier l’adressage et les préfixes IPv6

  • 1.9 Comparer les types d’adresses IPv6

    • 1.9.a Global unicast
    • 1.9.b Unique local
    • 1.9.c Link local
    • 1.9.d Anycast
    • 1.9.e Multicast
    • 1.9.f Modified EUI 64
  • 1.10 Vérifier les paramètres IP des OS clients (Windows, Mac OS, Linux)


Gestion des adresses IPv6

Les solutions de gestion des adresses a été considérablement améliorée en IPv6. Ce chapitre expose les principes de Neigbor Discovery, les mécanismes d’auto-configuration automatique sans état en IPv6, les messages ICMPv6 type 134 Router Advertisements et le protocole DHCPv6 notamment à partir de l’environnement Cisco IOS.

1. Protocoles IPAM

IPAM signifie “IP Adresses Management” qui correspond à des solutions de planification, de gestion et de contrôle des adresses IP utilisées et distribuées au sein de réseaux maîtrisés (Les centres de données, les environnements virtualisés, …). Ce type solution peut aider à la transition IPv6 et peut faire jouer les protocoles envisagés dans ce chapitre (DNS, DHCP, etc.).

Les sujets qui nous occupent dans ce document sont Neighbor Discovery ND (ICMPv6) et DHCPv6. En résumé :

  1. Neighbor Discovery ND (ICMPv6).

    Les “Router Adverisements” (RA) annoncent le routeur lui-même comme passerelle ainsi que la méthode de configuration que les hôtes du réseau utilisent, le préfixe utilisé pour l’autoconfiguration automatique sans état (SLAAC), le serveur DNS à utiliser, etc.

  2. DHCPv6.

    DHCPv6 est une nouvelle version du protocole réécrite pour IPv6. Les ports UDP 547 (Serveur) / UDP 546 (Client) sont ceux du protocole. Il existe en deux variantes : “Stateful” et “Stateless”.

La gestion d’un réseau IPv6 pose plusieurs questions techniques :

  • Comment distribuer un préfixe global ?
  • Comment distribuer des options telles que les serveurs de noms (DNS) IPv6 ?
  • Quand et comment utiliser l’adressage Unique Local (ULA) privé ?
  • Comment identifier le trafic de gestion et profiter du Multicast ?
  • Comment re-numéroter de sites en IPv6 ?
  • Que choisir ? L’auto-configuration automatique sans état ou DHCPv6 ?
  • Comment fonctionne SLAAC (Stateless Automatic Autoconfiguration) ?

2. Neighbor Discovery ND (ICMPv6)

2.1. ICMPv6 et IPv6

En IPv6, ICMPv6 est une composante obligatoire.

IPv6 et ICMPv6 dans la couche 3 (L3)

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.

ICMPv6 est un nouveau protocole formalisé par le RFC 4443.

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

Les messages de découverte de voisinage Neighbor Discovery (ND) sont les messages ICMPv6 d’un type nouveau (par rapport à IPv4) qui nous intéressent.

“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. La découverte de voisinage participe au mécanisme d’auto-configuration automatique sans état (SLAAC).

Les routeurs configurent automatiquement l’adressage IPv6 par des “Router Advertisements” (RA) autonomes qu’ils envoient pérodiquement sur les liaisons pour lesquelles ils remplissent le rôle de passerelle ou bien par des RA sollicités par des messages “Router Solicitation” (échange de messages ND types 134/133) en guise de réponse.

Aussi, bien que cela ne soit pas en rapport direct avec ND, 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”.

Enfin, on remarquera que les messages ICMPv6 sont eux-mêmes embarqués dans IPv6.

IPv6 et ICMPv6 sont donc inter-dépendants. Mais on peut considérer que IPv6 se suffit à lui-même.

2.2. Neighbor Discovery

En IPv6, l’usage d’ARP disparaît (comme celui du Broadcast). C’est ND (Neighbor Discovery) qui reprend cette fonction. ND est encapsulé dans des paquets ICMPv6 eux-mêmes encapsulés dans de un en-tête IPv6. En ce sens, pour cette fonction, IPv6 se suffit à lui-même, contrairement à IPv4 qui a besoin d’un protocole tiers comme ARP.

Neighbor Discovery est standardisé dans le RFC 4861.

ND embarque des fonctions nouvelles (“NUD”, “DAD”, “SLAAC”, “validité des adresses”) et d’autres messages d’un type nouveau (“NS”/”NA”, “RA”/”RS”).

Un voisin (“neighbor”) est l’interface d’un hôte qui est attachée au même lien, soit une interface attachée au sein d’un même environnement commuté, sur un même switch Ethernet par exemple ou appartenant au même VLAN.

2.3. Utilité de Neighbor Discovery

  • Les noeuds IPv6 (hôtes terminaux et routeurs) utilisent Neighbor Discovery pour découvrir l’adresse L2 de leurs voisins (sur un même lien) et pour éliminer les informations de voisinage invalides.
  • Les hôtes terminaux utilisent Neighbor Discovery pour trouver les routeurs voisins qui prendrent en charge le trafic pour d’autres destinations IPv6.
  • Les noeuds utilisent Neighbor Discovery pour vérifier les voisins joignables (“reachable”) de ceux qui ne le sont pas et pour détecter les adresses L2 qui ont changé. Quand un routeur ou un chemin vers un routeur tombe, l’hôte cherche activement des alternatives.

2.4. Cinq types de messages ICMPv6 Neighbor Discovery

TypeDénomination
1. Type ICMPv6 133Router Solicitation (RS)
2. Type ICMPv6 134Router Advertisement (RA)
3. Type ICMPv6 135Neighbor Solicitation (NS)
4. Type ICMPv6 136Neighbor Advertisement (NA)
5. Type ICMPv6 137Redirect

2.5. Mécanismes Neighbor Discovery

  • Address Autoconfiguration : assignation automatique d’adresse sans état,
  • Address Resolution : établissement de la correspondance entre adresse IP et adresse MAC,
  • Next-hop Determination : détermination du routeur pour une destination spécifique,
  • Neighbor Unreachability Detection : détermine qu’un hôte n’est plus accessible,
  • Duplicate Address Detection : détermine si un autre hôte utilise la même adresse IP,
  • Router Discovery : les hôtes peuvent détecter les routeurs sur les liens auxquels ils sont connectés,
  • Prefix Discovery : les hôtes peuvent découvrir les préfixes sur les liens,
  • Parameter Discovery : découverte de paramètres comme le MTU, le serveur DNS, NTP, SIP, etc.
  • Redirect : information qu’un autre routeur sur le lien fournit un meilleur next hop.

3. Découverte et maintien de voisinage IPv6

Des nouveaux messages ICMPv6 embarquent des fonctions de découverte de voisinage :

  1. “Neighbor Solicitation” (NS), ICMPv6 type 135 : destination en Solicited-Node Multicast ou en Unicast
  2. “Neighbor Advertisment” (NA), ICMPv6 type 136 : destination en Unicast ou All-nodes Multicast (FF02::1)

Les noeuds IPv6 maintiennent des tables de voisinage à l’instar de la table ARP en IPv4 grâce à de nouveaux mécanismes comme DAD et NUD .

Voici un exemple d’échange NA/NS : https://www.cloudshark.org/captures/905d563decac.

3.1. Résolution d’adresse en IPv6

Découverte de voisinage sollicitée :

Neigbor Solicitation en Multicast et réponse Neigbor Advertisment en Unicast

3.2. Adresse Solicited-Node Multicast

Une adresse Solicited-Node Multicast est jointe en destination dans des messages “NS” de découverte de voisin.

Cette adresse est construite :

  • en prenant les 24 dernier bits de l’adresse IPv6 connue (unicast)
  • et en lui ajoutant le préfixe ff02:0:0:0:0:1:ff00::/104

Par exemple

  • fd00::1/64 sera joint par ff02::1:ff00:1.
  • fe80::2aa:ff:fe28:9c5a sera joint par ff02::1:ff28:9c5a.

Un hôte doit joindre une adresse “Solicited-Node Multicast” pour chaque adresses “Unicast” ou “Anycast” configurée.

Ce mécanisme remplace le “Broadcast” de couche 2 (L2) du protocole ARP.

3.3. Diagnostic et commandes Neighbor Discovery

  • Table de voisinage (sous Windows) : netsh interface ipv6 show neighbors
  • Voyez les inscriptions aux groupes multicast : netsh interface ipv6 show joins
OSVoir le cache NDEffacer une entréeVider le cache ND
IOSshow ipv6 neighbors-clear ipv6 neighbors
Windowsnetsh interface ipv6 show neighbors-netsh interface ipv6 delete neighbors
JunOSshow ipv6 neighbors-clear ipv6 neighbors
Linuxip -6 neigh show-ip -6 neigh flush
Mac OS Xndp -andp -dndp -c
FreeBSDndp -andp -dndp -c
Vyattashow ipv6 neighbors-clear ipv6 neighbors

3.4. NUD (Neighbor Unreachability Detection)

“NUD” (Neighbor Unreachability Detection) est un algorithme défini dans le RFC4861, section 7.3 qui met en jeu des échanges “NS”/”NA” et leur délai.

“NUD” définit cinq états du cache de voisinage parmi lesquels :

  • “Incomplete” : la résolution d’adresse est en train de se dérouler. Un NS vers une adresse solicited-node multicast est envoyé mais le NA de retour correspondant n’est toujours pas arrivé.
  • “Reachable” : Une confirmation positive a été reçue. L’hôte de destination est joignable dans le délai “ReachableTime milliseconds”.
  • “Stale” : L’hôte de destination n’est pas joignable dans le délai “ReachableTime milliseconds”. Entre dans cet état lors d’un message NA non sollicité.
  • “Delay” : Le voisin n’est plus considéré comme joignable et des messages lui ont été envoyés récemment, délai avant d’envoyer des messages de sonde.
  • “Probe” : Le voisin n’est plus considéré comme joignable et des messages de sondes “Neighbor Solicitation” sont envoyés en Unicast pour vérifier la joignabilité.

4. Router Advertisements

Une nouveauté d’IPv6 parmi d’autres sont les échanges Neighbor Discovery (ND) “Router Solicitation” (RS ICMPv6 type 133) et “Router Advertisement” (RA ICMPv6 type 134).

Ces paquets configurent le réseau en fournissant sur demande ou en annonce gratuite les paramètres de configuration des interfaces.

4.1. Le routeur configure le réseau

Les routeurs Cisco activés en IPv6 (ipv6 unicast-routing) envoient systématiquement des RA pour chacun des préfixes qui correspondent aux adresses configurées sur les interfaces.

Pour désactiver ce comportement, on se place en configuration d’interface ((config-if)#) et on applique la commande ipv6 nd ra suppress comme dans cet exemple :

(config)#int g0/1
(config-if)#ipv6 nd ra suppress

4.2. Paramètres Router Advertisement

Les Router Advertisements sont des messages ICMPv6 type 134 disposant d’un en-tête IPv6 et d’un en-tête de couche 2 (Ethernet par exemple).

Ces paquets contiennent principalement, a priori, un champ de drapeaux (Flags) qui indique l’usage de DHCP “stateful” et/ou “stateless” et une valeur de préférence de routeur et des options. Les options peuvent être parmi beaucoup d’autres ;

  • Un préfixe avec son masque
  • Le MTU que l’interface doit prendre
  • L’adresse source de couche 2 du message
  • Éventuellement, l’adresse d’un serveur DNS récursif, un cache (RDNSS). Cette option est peu supportée.

4.3. Champs des messages ICMPv6 Router Advertisements

  • Type : 134, code : 0
  • Drapeaux : M, O, Prf
  • Options : MTU, adresse source L2 et préfixe
  • L’adresse source du message DOIT être l’adresse Link-Local de l’interface qui envoie le message
  • L’adresse de destination est habituellement l’adresse source du routeur sollicité (Router Solicitation) ou l’adresse All-Nodes Multicast (FF02::1)

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |     Code      |          Checksum             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Cur Hop Limit |M|O|H|Prf|Resvd|       Router Lifetime         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Reachable Time                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          Retrans Timer                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Options ...
      +-+-+-+-+-+-+-+-+-+-+-+-

RFC4191 màj Neighbor Discovery RFC 4861 Section 4.2 et RFC 6275 Section 7.1

4.4. Router Advertisement : Flags et Options

Ethernet II, Src: Globalsc_01:df:95 (f0:ad:4e:01:df:95), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01)
Internet Protocol Version 6, Src: fe80::f2ad:4eff:fe01:df95 (fe80::f2ad:4eff:fe01:df95), Dst: ff02::1 (ff02::1)
Internet Control Message Protocol v6
    Type: Router Advertisement (134)
    Code: 0
    Checksum: 0x1bc0 [correct]
    Cur hop limit: 64
    Flags: 0xc0
    Router lifetime (s): 1800
    Reachable time (ms): 0
    Retrans timer (ms): 0
    ICMPv6 Option (Prefix information : 2001:db8:ffff::/64)
    ICMPv6 Option (MTU : 1500)
    ICMPv6 Option (Source link-layer address : f0:ad:4e:01:df:95)
    ICMPv6 Option (Recursive DNS Server fe80::f2ad:4eff:fe01:df95)

Champs Flags et Options :

  • Managed address configuration: Flag M : DHCPv6 Stateful assignation d’adresse dynamique
  • Other configuration : Flag O :DHCPv6 Stateless demande d’options supplémentaires
  • Home Agent: Mobilité IPv6
  • Prf (Default Router Preference): valorisation du RA par rapport à un autre (3 valeurs, 2 bits)
  • Reserved: Pour un usage futur

Le champ Prf donne une préférence au routeur codée sur 2 bits : 01(High), 00 (Medium par default), 11 (Low).

4.5. Quatre méthodes de configuration IPv6

Ces quatre méthodes peuvent se combiner au choix et servir à la gestion de l’adressage IPv6 ainsi qu’à la re-numérotation IPv6. Elles sont indiquées dans le champ Flags :

-ConfigurationFlag MFlag O
1)Configuration statique ou nulle00
2)Stateless Automatic Autoconfiguration (SLAAC) seul00
3)DHCPv6 (Stateful) avec ou sans SLAAC11
4)DHCPv6 Stateless avec SLAAC01

4.6. Option Prefix Information

L’option “Prefix Information” liste chaque préfixe IPv6 annoncé avec une série d’informations :

  • Le drapeau “L” “on-link” (OnLinkFlag).
  • La valeur de durée de vie de validité
  • Le drapeau “A” “Autonomous address configuration” qui indique que l’interface utilise SLAAC avec ce préfixe.
  • La valeur de durée de vie de préférée

4.7. Exemple Option Type 3

Quelle que soit la position du drapeau M ou O, ce sont les champs L (“On-link”) et A (“Autonomous address-configuration”) d’une Option Type 3 “Prefix information” qui indiquent l’usage de l’autoconfiguration automatique sans état (SLAAC).

Cela signifie qu’une interface pourrait disposer pour chaque préfixe annoncé d’une adresse attribuée par DHCPv6 et une ou plusieurs adresses SLAAC.

ICMPv6 Option (Prefix information : 2001:db8:ffff::/64)
        Type: Prefix information (3)
        Length: 4 (32 bytes)
        Prefix Length: 64
        Flag: 0xc0
            1... .... = On-link flag(L): Set
            .1.. .... = Autonomous address-configuration flag(A): Set
            ..0. .... = Router address flag(R): Not set
            ...0 0000 = Reserved: 0
        Valid Lifetime: 3600
        Preferred Lifetime: 3600
        Reserved
        Prefix: 2001:db8:ffff:: (2001:db8:ffff::)

4.8. Configuration des annonces de préfixes

(config-if)#ipv6 nd prefix default ?
  <0-4294967295>  Valid Lifetime (secs)
  at              Expire prefix at a specific time/date
  infinite        Infinite Valid Lifetime
  no-advertise    Do not advertise prefix
  <cr>

4.9. Option 25 Recursive DNS Server (RDNSS)

Les RA peuvent aussi transporter une informations concernant un serveur DNS récursif (RDNSS) sous forme d’option ICMPv6 25.

Faut-il encore que les hôtes soient capables de comprendre cette information.

On la configure comme ceci en Cisco IOS :

(config)#int g0/0
R1(config-if)#ipv6 nd ra dns server fe80::1

4.10. Scénarios Router Advertisement

Flags :

-SLAAC Autonomous (option Prefix Information)“ManagedFlag”“OtherConfigFlag”Scénario
1 SLAAC100Assignation : sans état, Passerelle : sans état, DNS : RDNSS ou autre
2 Stateless DHCPv6101Assignation : sans état, Passerelle : sans état, DNS : DHCPv6
3 Statefull DHCPv6011Assignation : DHCPv6, Passerelle : sans état, DNS : DHCPv6
4 Statefull DHCPv6 + SLAAC111Assignation : DHCPv6 + SLAAC, Passerelle : sans état, DNS : DHCPv6

Le flag O pour Other config se configure sur l’interface :

(config-if)#ipv6 nd other-config-flag

Le flag M pour “Managed” se configure sur l’interface :

(config-if)#ipv6 nd managed-config-flag

5. Auto-configuration automatique ans état (SLAAC)

5.1. Mécanisme Stateless Automatic Auto Configuration (SLAAC)

L’auto-configuration sans état est formalisée dans le RFC 4862.

L’autoconfiguration sans état, Stateless Automatic Auto Configuration (SLAAC) :

  • Méthode par défaut de configuration IPv6 dans un environnement routé pour les routeurs et les noeuds.
  • Le routeur (RAs) donne toute une série de paramètres :
    • préfixe(s) avec le Flag A activé, MTU, préférence, passerelle, Flags M et O
  • L’interface construit elle-même son identifiant d’interface selon différentes méthodes
    • MAC EUI 64
    • de manière aléatoire

Autoconfiguration automatique

  • Toute interface activée en IPv6 génère une adresse Lien Local, automatiquement.
  • Si un routeur voici est activé en IPv6, l’interface se configure automatiquement avec une ou plusieurs adresses globales ou privées (par défaut)
  • L’interface vérifie chaque adresse automatique avant de l’utiliser (DAD) et vérifie régulièrement l’existence de ses voisins (NUD).

Sans état

  • Pas de maintien de relations (non fiable, non orienté-connexion).
  • La charge est placée sur les noeuds
  • Mode crédule
  • Importance du filtrage L2/L3

5.2. DAD (Duplicate Address Detection)

DAD (Duplicate Address Detection) est un mécanisme qui permet vérifier l’unicité d’une adresse auto-configurée sur un réseau (RFC 4862, section 5.4)

Dans cette procédure, l’interface IPv6 va envoyer un NS (Neighbor Solicitation) à destination de l’adresse solicited-node multicast correspondant à son adresse de tentative. L’adresse source est non spécifiée (::/128). En cas de réponse (NA), l’adresse n’est pas unique !

Dans cet exemple, http://www.cloudshark.org/captures/0423a2ed75a8, une interface Windows qui démarre génère trois NS. Veuillez examiner :

  • L’adresse IP source
  • L’adresse IP destination
  • L’adresse IP contenue dans la charge

Pourquoi trois paquets dans ce cas ?

No Source Destination        Info
1  ::     ff02::1:ff7e:4a1e  NS for fe80::1816:c126:507e:4a1e
2  ::     ff02::1:ff7e:4a1e  NS for 2001:470:cbf7:1ab:1816:c126:507e:4a1e
3  ::     ff02::1:ff0c:66ce  NS for 2001:470:cbf7:1ab:83c:9e7e:2f0c:66ce

5.3. Illustration du mécanisme SLAAC

  1. Toute interface activée en IPv6 génère une adresse “Link Local” avec le préfixe FE80::/10 suivi d’un identifiant d’interface.
  2. Elle vérifie l’existence de l’adresse générée via un mécanisme appelé DAD (Duplicate Address Detection).
  3. Sans réponse, elle peut utiliser cette adresse sur le lien local.
  4. Elle sollicite un routeur en Multicast.
  5. S’il est présent sur le réseau, le routeur IPv6 répond avec des paramètres de configuration RA et Options.
  6. L’interface élabore son ou ses adresses selon ce qu’indique le routeur. Elle installe sa passerelle par défaut.
  7. Régulièrement, l’interface va vérifier l’existence des noeuds voisins appris par processus ND (NUD).
Mécanisme Stateless Automatic Auto Configuration (SLAAC)

5.4. SLAAC : adresses générées

!!!!

Avec des RA dont les drapeaux sont placés M=1, O=1, L=1 et A=1 (sur le préfixe), cette interface pourra prendre quatre adresses, soit une DHCPv6, deux SLAAC et une Link-Local :

… (à compléter)

et ses trois groupes Multicast joints

… (à compléter)

6. Choix et durée des adresses IP

6.1. Durée de vie des adresses IPv6

Les adresses IPv6 associées à une interface ont une durée de vie déterminée. La durée de vie est en général infinie, mais on peut configurer :

  • une durée de vie préférée
  • et une durée de vie de validité.

Ces durées de vie sont configurées dans les routeurs qui fournissent les préfixes pour la configuration automatique (RA, Router Advertisement).

En combinaison avec un changement DNS correspondant, ces durées de vie permettent une transition progressive vers une nouvelle adresse IPv6 (appartenant à un nouveau fournisseur de service par exemple) sans interruption de service.

Quand la durée d’utilisation d’une adresse dépasse la durée préférée, elle n’est plus utilisée pour les nouvelles connexions. Quand sa période de validité est atteinte, elle est supprimée de la configuration de l’interface.

6.2. Dépréciation d’une adresse IPv6

En effet, une interface pourrait recevoir du trafic entre sa durée préférée et son invalidité.

Dépréciation d'une adresse

Source de l’image : http://livre.g6.asso.fr/index.php/Protocole_de_D%C3%A9couverte_des_voisins#Cycle_de_vie_d.27une_adresse

6.3. La sélection d’adresses IPv6

Le RFC 6274 fournit deux algorithmes à suivre pour que la sélection d’adresse source et destination par défaut soit prévisible.

C’est utile quand une interface (source) dispose de plus d’une adresse IPv6, ce qui ne sera pas rare. Quid quand la destination dispose d’une adresse IPv4 et d’une IPv6 (AAAA) ? Ce RFC 6274 remplace le RFC 3484.

Une adresse IPv6 est préférée à une adresse IPv4.

Pour des adresses IPv6 concurrentes, si on veut résumer les deux algorithmes utilisés, on peut dire qu’ils préfèrent former des couples source/destination où les deux adresses ont

  • la même portée,
  • ont la portée la plus étroite possible,
  • sont des adresses préservant la vie privée (ULA),
  • et, en fin de compte, partagent le plus de bits de préfixe possibles.

Source : Stéphane Bortzmeyer, RFC 6724

6.4. Choix entre IPv4 et IPv6

“Happy Eyeballs” (Fast Fallback) est une algorithme proposé par le RFC 8305 afin de rendre l’expérience utilisateur “dual-stack” IPv4/IPv6 plus fluide. Il est utile en cas de faiblesse dans la connectivité IPv6 dans un contexte IPv4 encore dominant. Il s’implémente au niveau des navigateur et ne concerne donc que l’expérience des utilisateurs finaux. Ceci dit, il est supporté par le célèvre outil en ligne de commande cURL.

Une application “Happy Eyeballs” choisit le protocole entre IPv4 et IPv6 qui répond le premier suite à un test de connectivité. Cet algorithme est disponible dans les navigateurs Google Chrome, Opera 12.10, Firefox version 13, and Mac OS X Lion et versions supérieures. (Wikipedia)

7. DHCPv6

DHCPv6 est un nouveau protocole. Il utilise le port UDP numéro 546 sur les clients et le port UDP numéro 547 sur les serveurs.

Une interface contacte un serveur DHCPv6 avec l’adresse Multicast FF02::1:2. DHCPv6 utilise les adresses Link-Local (FE80::/10) :

  • Le serveur assigne le préfixe et l’identifiant d’interface et des paramètres optionnels (DHCPv6 Stateful) : RFC 3315
  • Le serveur assigne seulement des paramètres optionnels (DHCPv6 Stateless) : RFC 3736
  • Le serveur délègue l’assignation d’un préfixe (DHCPv6 Prefix Delegation) : RFC 6603 (pas traité ici)

7.1. DHCPv6 et RA

Dans tous les cas c’est le routeur qui prend en charge le trafic vers l’internet, automatiquement grâce aux annonces de passerelles embarquées dans les RA.

Les champs drapeaux (flags) “Managed” et “Other” et autres paramètres des messages “Router Advertisement” (RA) sont gérés et configurées à partir du routeur !

Il est inutile de chercher le paramètre de la passerelle par défaut dans les services DHCPv6 à déployer.

7.2. DHCPv6 Stateless

“DHCPv6 Stateless” fonctionne en mode DHCPv6 sans état :

  • utilise un échange de messages “Information-request”/”Reply” ;
  • ne fournit que des informations optionnelles : serveur DNS, NTP, SIP, etc. ;
  • ne donne aucune adresse, elles sont générées par SLAAC ou attribuées ;
  • ne maintient aucun état dynamique des clients qui le sollicitent ;
  • Le RA flags sont notés M=0/1 et O=1 selon le déploiement choisi.

7.3. Option DNS DHCPv6

ipv6 dhcp pool DHCPv6-OPTION-POOL
 dns-server 2001:DB8:20::2
!
interface G0/0
 ipv6 nd other-config-flag
 ipv6 dhcp server DHCPv6-OPTION-POOL rapid-commit

7.4. DHCPv6 mode Stateful

Le serveur assigne l’adresse complète et des paramètres optionnels (Flags activés dans l’en-tête des RA M=1 et O=1).

Ce mode est appelé DHCPv6 Stateful. Il est similaire à ce que DHCP IPv4 peut utilement fournir sur un réseau administré.

Le serveur maintient une base de données des liens (des baux) en 4 échanges ou en 2 échanges (rapid commit).

En quatre messages :

  1. Solicit
  2. Advertise
  3. Request
  4. Reply

ou deux messages (rapid commit) :

  1. Solicit
  2. Reply

Par exemple, en admettant que l’adresse lien-local du serveur est fe80::0011:22ff:fe33:5566/64 et que l’adresse lien-local du client est fe80::aabb:ccff:fedd:eeff/64,

  1. le client DHCPv6 envoie un Solicit de [fe80::aabb:ccff:fedd:eeff]:546 à [ff02::1:2]:547.
  2. le serveur DHCPv6 répond avec un Advertise (annonce) de [fe80::0011:22ff:fe33:5566]:547 à [fe80::aabb:ccff:fedd:eeff]:546.
  3. le client DHCPv6 répond avec un Request de [fe80::aabb:ccff:fedd:eeff]:546 à [ff02::1:2]:547.
  4. le serveur DHCPv6 termine avec un Reply de [fe80::0011:22ff:fe33:5566]:547 à [fe80::aabb:ccff:fedd:eeff]:546.

7.5. DUID (DHCPv6 Unique Identifier)

Selon la section 9 du RFC 3315, les serveurs DHCP utilisent les DUIDs pour identifier les clients dans la sélection de paramètres et dans la sélection de son IA. Un IA (Identity Association) est une collection d’adresses assignée au client.

Le DUID doit être unique dans l’environnement et il est créé par le client. Parce que certains périphériques ne peuvent pas garder en mémoire cette information, il y a trois moyens de générer un DUID :

  • L’adresse de couche 2 + horodatage
  • “Vendor-assigned unique ID” basé sur un “Enterprise Number”
  • L’adresse de couche 2

Cette nouvelle fonctionnalité vise notamment à identifier autrement que par une adresse MAC un client DHCPv6.

7.6. Messages DHCPv6

  • 1-> SOLICIT
    • 2<- ADVERTISE
    • 3-> REQUEST
      • CONFIRM
      • RENEW
      • REBIND
  • 4<- REPLY
    • RELEASE
    • DECLINE
    • RECONFIGURE
  • 1-> INFORMATION-REQUEST
    • 2<- REPLY
    • RELAY-FORW
    • RELAY-REPL

7.7. DHCPv6 Stateful Cisco

ipv6 dhcp pool DHCPv6-POOL
 address prefix 2001:DB8:10::/64 lifetime infinite infinite
 dns-server 2001:DB8:10FE:100::15
 domain-name example.com
!
interface G0/0
 ipv6 address 2001:DB8:10::2/64
 ipv6 dhcp server DHCPv6-POOL rapid-commit
 ipv6 nd other-config-flag
 ipv6 nd managed-config-flag

7.8. DHCPv6 Conclusion

DHCPv6 est un outil puissant de configuration du réseau, conçu pour des topologies très larges :

  • combiné au SLAAC,
  • avec DHCP relay,
  • et la délégation de préfixe.

8. Notes à compléter

Configuration de SLAAC

Configuration des interfaces

  • Configuration statique des interfaces
  • Configuration automatique des interfaces
  • Configuration dynamique des interfaces