Outils pour utilisateurs

Outils du site


Ceci est une ancienne révision du document !


Structure et usage de l'adresse

Divers types

Il est défini trois grand groupes d'adresses:

  1. les adresses «unicast». Une telle adresse est attachée à une unique interface.
  2. les adresses «multicast». Une telle adresse est commune à plusieurs interfaces. La notion existe également en IPv4. Lorsqu'un paquet est envoyé à une telle adresse, tous les nœuds qui disposent de cette adresse reçoivent le paquet.
  3. les adresses «anycast». Une telle adresse peut, comme la précédente, être attribuée à plusieurs interfaces, mais un paquet émis à cette adresse ne sera reçu que par le nœud «le plus proche». Dans la pratique, ce type d'adresse n'est utilisé que par les routeurs.

Dans les adresses «unicast», nous verrons les adresses de type:

  • lien local, ces adresses ne passent pas les routeurs et ne servent que pour communiquer au sein du même réseau.
  • global. Celles-ci sont routables.

Le type que nous étudierons particulièrement est le type unicast celui qui est utilisé lorsque deux partenaires veulent communiquer entre eux.

Les adresses unicast

Avec IPv4, nous avons vu que le procédé le plus efficace pour configurer les nœuds d'un réseau local consiste à faire appel à un serveur DHCP. Nous en avons rapidement mis un en œuvre, mais pour le grand public, les diverses «box» proposées par les F.A.I embarquent cette fonctionnalité.

Avec IPv6, le moyen le plus simple est l'auto-configuration appelé «stateless» (sans état), c'est ce qui est retenu lorsque le F.A.I propose des adresses IPv6 à ses clients. Votre serviteur étant un abonné de très longue date chez Free, nous ne pourrons considérer que ce que ce F.A.I propose.

Notons tout de suite que la configuration manuelle reste utile dans certains cas particuliers, de même que DHCP existe toujours en IPv6. Dans ce contexte, l'adresse est alors dite «stateful».

Sa structure

Alors qu'en IPv4, la «box» récupère côté internet une et une seule adresse IP publique, qu'elle fournit des configurations IPv4 aux nœuds du LAN avec des adresses IPv4 privées et assure le «masquerade» entre le LAN et l'internet, en IPv6, elle va transmettre aux nœuds du LAN un préfixe de 64 bits et les interfaces dans les nœuds du LAN vont se calculer leur propre jeton, c'est-à-dire les 64 bits de poids le plus faible de leur(s) adresse(s) IPv6 en s'inspirant de leur adresse MAC, réputée unique sur le LAN.

Les petits malins vont me dire «oui, mais une adresse MAC ne fait que 48 bits (6 octets), il va en manquer 16… et ils auront raison, mais les concepteurs d'IPv6 y ont pensé (ils sont malins), alors voici comment ils règlent la question: IPv6 unicast auto-configurée L'intégration d'une constante entre les deux membres de l'adresse MAC donne toujours une valeur unique dans le LAN et les 64 bits sont bien présents dans le jeton. L'IEEE a défini cette façon de faire sous l’appellation EUI-64 (Extended Unique Identifier 64 bits).

Un petit utilitaire que l'on peut installer sur toute bonne distribution GNU/Linux permet de calculer et d'afficher proprement le résultat. Il se nomme ipv6calc.

Soir une interface Ethernet ayant l'adresse MAC 52:54:00:56:52:92. En utilisant ipv6calc de la façon suivante:

ipv6calc --action geneui64 --in mac  --out eui64 52:54:00:56:52:92

5054:ff:fe56:5292
Si l'on écrit ce jeton sous sa forme étendue:
5054:00ff:fe56:5292
Nous retrouvons bien la structure décrite plus haut. Nous disposons désormais du jeton attaché à cette interface

Si IPv6 est activé sue le nœud disposant de cette interface, nous pouvons alors observer ceci :

ip -6 addr ls enp1s0

2: enp1s0:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet6 2a01:e0a:875:b1d0:5054:ff:fe56:5292/64 scope global dynamic mngtmpaddr 
       valid_lft 86262sec preferred_lft 86262sec
    inet6 fe80::5054:ff:fe56:5292/64 scope link 
       valid_lft forever preferred_lft forever
Nous trouvons deux adresses v6:

  1. 2a01:e0a:875:b1d0:5054:ff:fe56:5292/64 scope global. C'est cette adresse qui est routable sur l'internet. Le préfixe sur fond gris est attribué par le F.A.I et il sera le même dans tout le réseau local. Sa durée de vie (valid_lft) est limitée à un peu moins de 24 heures. Dans la pratique, lorsque l'adresse est construite, elle est valable 24 heure. C'est une durée de vie, elle diminue donc au cours du temps.
  2. fe80::5054:ff:fe56:5292/64 scope link Cette adresse est locale, elle n'est pas routable et n'est utilisée que pour joindre un nœud du même LAN. Cette adresse a une durée de vie infinie. C'est logique, il n'y a aucune raison qu'elle change au cours du temps aussi longtemps que le LAN existera. Le préfixe sur fond marron fe80:: est spécifique aux adresses de type «link» et sera donc le même sur toutes les interfaces de tous les LAN du monde sans créer de trouble puisque ces adresses ne sont pas routées.

Le préfixe de l'adresse globale

L'outil whois est bien utile pour découvrir quelques informations:

whois 2a01:e0a:875:b1d0:5054:ff:fe56:5292

inet6num:       2a01:e00::/26
netname:        FR-PROXAD-20080121
country:        FR
org:            ORG-PISP1-RIPE
admin-c:        ACP23-RIPE
tech-c:         TCP8-RIPE
status:         ALLOCATED-BY-RIR
mnt-by:         RIPE-NCC-HM-MNT
mnt-by:         PROXAD-MNT
mnt-routes:     PROXAD-MNT
mnt-domains:    PROXAD-MNT
created:        2008-01-21T14:17:01Z
last-modified:  2018-02-14T01:51:58Z
source:         RIPE # Filtered
Nous découvrons que le réseau 2a01:e00::/26 a été «ALLOCATED-BY-RIR1)» à PROXAD (Free SAS). Le préfixe reçu est donc bien dans le réseau Proxad.

Les plus curieux pourront consulter https://stat.ripe.net/ pour vérifier la visibilité du préfixe du FAI.

Le préfixe de l'adresse locale

fe80:: identique sur tous les LANs. Pour une interface donnée, le jeton reste le même. ce que nous avons pu constater plus haut.

L'utilité d'une telle adresse apparaîtra plus clairement dans la suite.

Les adresses multicast

Lorsqu'un nœud démarre, nous savons qu'avec IPv4 il va généralement commencer par rechercher un serveur DHCP pour obtenir sa configuration IP:

  • Adresse IPv4;
  • masque de réseau;
  • passerelle par défaut (au minimum);
  • adresse d'au moins un serveur DNS;
  • éventuellement d'autres paramètres.

Avec IPv6, même si les adresses sont construites en mode «sans état», il faudra tout de même obtenir au minimum:

  • le préfixe IPv6;
  • une passerelle par défaut (toujours au minimum)
  • l'adresse d'un serveur DNS.

En IPv4 la séquence commençait par un broadcast ARP. En IPv6, le broadcast n'existe plus, remplacé par le multicast, ARP n'existe également plus, c'est ICMP qui prend le relais.

Les adresses multicast sont définies dans la RFC4291 et la RFC3306. Format IPv6 milticast

  • Elles commencent toutes par ff;
  • Les 4 bits suivants sont des «flags». La RFC3513 indique en substabce qu'ils sont généralement égaux à 0;

le «scope» définit la portée du groupe multicast. Tout ceci étant bien compliqué, nous retiendrons pour l'instant que les adresses qui commencent par ff01:: ou ff02:: sont des adresses multicast.

Vérifications

Observons avec Wireshark ce qu'il se passe en ICMPv6 lorsqu'une station démarre sur le réseau. Pour mieux suivre, notons que cette station dispose 'une interface Ethernet d'adresse MAC 52:54:00:b7:66:81, ce qui va nous donner le jeton 5054:ff:feb7:6681

No.  Source    Destination           Protocol  Info
 1   ::        ff02::1:ffb7:6681     ICMPv6    Neighbor Solicitation for fe80::5054:ff:feb7:6681
La découverte des voisins. L'adresse unicast de portée locale du demandeur est fe80::5054:ff:feb7:6681. Sachant comment cette adresse est constituée, nous reconnaissons immédiatement la station qui démarre.

L'adresse de destination ff02::1:ffb7:6681 est clairement une adresse multicast. Reconstituons-la sous sa forme entière: ff02:0000:0000:0000:0000:0001:ffb7:6681. Nous pouvons en déduire que les bits O,R,P et T sont nuls, que le «scope» vaut 2. C'est même une adresse multicast «well-known» de la forme ff02:0:0:0:0:1:ff00::/104, construite comme stipulé dans la RFC4291 au paragraphe 2.7.1 :

«Solicited-Node multicast address are computed as a function of a node's unicast and anycast addresses. A Solicited-Node multicast address is formed by taking the low-order 24 bits of an address (unicast or anycast) and appending those bits to the prefix FF02:0:0:0:0:1:FF00::/104 resulting in a multicast address in the range FF02:0:0:0:0:1:FF00:0000 to FF02:0:0:0:0:1:FFFF:FFFF»

De fait, les 24 bits de poids faible de l'adresse MAC étant bien b7:6681.

Bien. Continuons…

No.  Source                   Destination           Protocol  Info
 2   fe80::5054:ff:feb7:6681  ff02::2               ICMPv6    Router Solicitation from 52:54:00:b7:66:81
ff02::2 est encore une adresse multicast

Structure et usage de l'adresse: Dernière modification le: 28/02/2025 à 15:36 par prof