Outils pour utilisateurs

Outils du site


Ceci est une ancienne révision du document !


ICMPv6, multicast, NDP...

ICMPv6

Ce protocole, qui ressemble beaucoup à l'ICMP du monde IPv4, a été enrichi de nouveaux messages, c'est lui qui sert à véhiculer les informations de configuration, dans le cas qui nous intéresse. En effet, nous n'allons maintenant plus tarder à voir que ce sont des messages ICMP qui contiennent les questions et les réponses que nous avons obtenues avec l'outil rdisc6, exactement de la même manière que lors du démarrage de la pile IPv6 sur une interface réseau.

Multicast

Contrairement à IPv4, IPv6 n'utilise pas le broadcast au profit du multicast, plus restrictif. Certaines adresses multicast sont définies pour répondre à des requêtes bien précises, et les équipements du réseau qui sont sensés disposer des réponses à ces requêtes écoutent sur ces adresses multicast.

Comme nous les avons déjà rencontrées dans les pages précédentes:

  • ff02::2 est une adresse multicast destinée à recevoir des requêtes du type « router discovery (Sollicitation d'un routeur) ». Tous les routeurs accessibles dans le voisinage le seront par cette adresse multicast. C'est ce que fait notre commande rdisc6 sur la page précédente ;
  • ff02::1 est une autre adresse multicast, qui sert dans l'autre sens. Toutes les stations d'un réseau doivent être capables d'écouter sur cette adresse ce que les routeurs ont à leur dire.

NDP

« Neighbor Discovery Protocol (découverte des voisins) ». Ce protocole permet aux nœuds d'un résau de découvrir leur voisinage. Pour ce qui nous intéresse principalement ici, c'est grâce à lui qu'une station qui démarre découvre les routeurs qui lui sont accessibles et que ceux-ci lui communiquent les paramètres nécessaires à sa configuration IPv6. Car vous l'avez deviné, ce sont les routeurs qui transmettent ces informations que nous avons mises en évidence grâce à rdisc6.

NDP utilise des messages ICMPv6 et les adresses multicast ff02::1 et ff02::2.

Capture du protocole

Nous allons lancer notre wireshark favori à l'écoute d'ICMPv6 sur enp1s0 et refaire un rdisc6 enp1s0 sur notre station expérimentale pour voir…

No.  Source                     Destination             Protocol Info
 1   fe80::5054:ff:fe37:3649    ff02::2                 ICMPv6   Router Solicitation
 2   fe80::6aa3:78ff:fe86:ec02  fe80::5054:ff:fe37:3649 ICMPv6   Router Advertisement from 68:a3:78:86:ec:02

  1. Notre station (fe80::5054:ff:fe37:3649) envoie un « Router solicitation (sollicitation de routeurs) » sur l'adresse multicast ff02::2 ;
  2. un routeur dont l'adresse lien-local est fe80::6aa3:78ff:fe86:ec02 lui répond.

Analyse de l'échange

La question

Elle est assez simple, nous allons tronquer un peu le détail, pour ne garder que ce qu'il y a de plus intéressant :

Frame 1 (62 bytes on wire, 62 bytes captured)
...
Ethernet II, Src: 00:1b:11:52:bf:ab (00:1b:11:52:bf:ab), Dst: 33:33:00:00:00:02 (33:33:00:00:00:02)
    Destination: 33:33:00:00:00:02 (33:33:00:00:00:02)
        Address: 33:33:00:00:00:02 (33:33:00:00:00:02)
        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
    Source: 00:1b:11:52:bf:ab (00:1b:11:52:bf:ab)
        Address: 00:1b:11:52:bf:ab (00:1b:11:52:bf:ab)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Type: IPv6 (0x86dd)
Internet Protocol Version 6
...
    Source: fe80::21b:11ff:fe52:bfab (fe80::21b:11ff:fe52:bfab)
    Destination: ff02::2 (ff02::2)
Internet Control Message Protocol v6
    Type: 133 (Router solicitation)
    Code: 0
    Checksum: 0xab1e [correct]

Notez, sur la couche Ethernet, les adresses multicast utilisées.

Pour le reste, nous découvrons bien sur ICMPv6 un message de type 133 (Router solicitation).

La réponse

Ça va être un peu plus copieux ici.

Frame 2 (158 bytes on wire, 158 bytes captured)
...
Ethernet II, Src: 00:07:cb:1f:0f:5a (00:07:cb:1f:0f:5a), Dst: 33:33:00:00:00:01 (33:33:00:00:00:01)
    Destination: 33:33:00:00:00:01 (33:33:00:00:00:01)
        Address: 33:33:00:00:00:01 (33:33:00:00:00:01)
        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)
        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
    Source: 00:07:cb:1f:0f:5a (00:07:cb:1f:0f:5a)
        Address: 00:07:cb:1f:0f:5a (00:07:cb:1f:0f:5a)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Type: IPv6 (0x86dd)
Internet Protocol Version 6
...
    Source: fe80::207:cbff:fe1f:f5a (fe80::207:cbff:fe1f:f5a)
    Destination: ff02::1 (ff02::1)
Internet Control Message Protocol v6
    Type: 134 (Router advertisement)
    Code: 0
    Checksum: 0xfc50 [correct]
    Cur hop limit: 64
    Flags: 0x00
        0... .... = Not managed
        .0.. .... = Not other
        ..0. .... = Not Home Agent
        ...0 0... = Router preference: Medium
    Router lifetime: 1800
    Reachable time: 0
    Retrans timer: 0

    ICMPv6 Option (Prefix information)
        Type: Prefix information (3)
        Length: 32
        Prefix length: 64
        Flags: 0xc0
            1... .... = Onlink
            .1.. .... = Auto
            ..0. .... = Not router address
            ...0 .... = Not site prefix
        Valid lifetime: 86400
        Preferred lifetime: 86400
        Prefix: 2a01:5d8:52f3:500d::

    ICMPv6 Option (Recursive DNS Server)
        Type: Recursive DNS Server (25)
        Length: 40
        Reserved
        Lifetime: 600
        Recursive DNS Servers: 2a01:5d8:e0ff::2 (2a01:5d8:e0ff::2)
        Recursive DNS Servers: 2a01:5d8:e0ff::1 (2a01:5d8:e0ff::1)

    ICMPv6 Option (MTU)
        Type: MTU (5)
        Length: 8
        MTU: 1480

    ICMPv6 Option (Source link-layer address)
        Type: Source link-layer address (1)
        Length: 8
        Link-layer address: 00:07:cb:1f:0f:5a

Tout est dit dans un seul paquet ICMP. Notez que ce message « Neighbor advertisement » est périodiquement émis par les routeurs, même s'il n' pas été sollicité par un nœud du réseau., ce qui permet si nécessaire de reconfigurer dynamiquement les hôtes.

ICMPv6, multicast, NDP...: Dernière modification le: 04/03/2025 à 09:05 par prof