Types d'adresses IPv6 : Global, Link-Local, Multicast expliqués
Découvrez les différents types d'adresses IPv6 : unicast global pour Internet, link-local pour les LAN, multicast pour les groupes, et plus encore.
Les adresses IPv6 fonctionnent différemment d'IPv4 dans leur façon de délivrer les paquets. Comprendre ces différences est important quand vous déboguez des problèmes réseau ou concevez des systèmes.
TL;DR - Résumé rapide
Points clés :
- IPv6 utilise unicast (un-à-un), multicast (un-à-plusieurs) et anycast (un-au-plus-proche) — pas de broadcast
- Unicast global (2xxx/3xxx) pour Internet, link-local (fe80::) pour les segments locaux, ULA (fd00::) pour les réseaux privés
- Multicast (ffxx::) remplace le broadcast ; le multicast de nœud sollicité rend la découverte de voisins efficace
- Les adresses link-local nécessitent des ID de zone comme
fe80::1%eth0pour spécifier l'interface
Aller à : Unicast global | Multicast | Référence rapide
Trois modes de livraison#
IPv6 utilise trois modèles de livraison fondamentaux :
- Unicast : Un émetteur vers un récepteur. La façon standard de communiquer avec un hôte spécifique.
- Multicast : Un émetteur vers plusieurs récepteurs. Efficace pour la communication de groupe.
- Anycast : Un émetteur vers le récepteur le plus proche dans un groupe. Utilisé pour l'équilibrage de charge et la redondance.
Pas de broadcast en IPv6
IPv6 élimine complètement le broadcast. Là où IPv4 diffuserait à tous les hôtes (comme les requêtes ARP inondant votre réseau), IPv6 utilise du multicast ciblé. Cela réduit le trafic inutile et améliore l'efficacité du réseau.
Adresses unicast#
Chaque adresse unicast identifie exactement une interface réseau. Envoyez un paquet à cette adresse, et exactement un hôte le reçoit.
Adresses unicast globales (2000::/3)#
Ce sont vos adresses IPv6 publiques, routables sur tout Internet. Si une adresse commence par 2 ou 3, c'est une adresse unicast globale.
2001:0db8:85a3:0000:0000:8a2e:0370:7334
│ │ │ │
│ │ │ └─ ID d'interface (64 bits)
│ │ └──────────────── ID de sous-réseau (16 bits)
│ └────────────────────────── Préfixe de site (48 bits)
└──────────────────────────────────── Préfixe de routage globalLa structure typique divise une allocation /48 ainsi :
| Bits | Composant | Objectif |
|---|---|---|
| 0-47 | Préfixe de routage global | Votre allocation de votre FAI ou RIR |
| 48-63 | ID de sous-réseau | 65 536 sous-réseaux par site |
| 64-127 | ID d'interface | Généré depuis l'adresse MAC ou aléatoire |
Les vrais fournisseurs assignent généralement un /48 aux sites, un /56 aux petites entreprises, ou un /64 aux utilisateurs résidentiels. Chaque sous-réseau /64 contient 18 quintillions d'adresses, c'est pourquoi vous découpez sur des limites /64.
Adresses de documentation
Le préfixe 2001:db8::/32 existe uniquement pour la documentation et les exemples. N'utilisez pas ces adresses en production. Chaque exemple dans les RFC utilise 2001:db8 pour une raison — ils n'entreront pas en conflit avec de vrais réseaux.
Adresses link-local (fe80::/10)#
Chaque interface IPv6 génère automatiquement une adresse link-local quand vous activez IPv6. Ces adresses ne fonctionnent que sur le segment réseau local et ne sont jamais routées.
fe80::1
fe80::a1b2:c3d4:e5f6:7890Les adresses link-local sont obligatoires pour qu'IPv6 fonctionne. La découverte de voisins, la sollicitation de routeur et d'autres protocoles de base en ont besoin. Votre interface peut ne pas avoir d'adresse globale, mais elle aura toujours une adresse link-local.
ID de zone : spécifier l'interface#
Comme fe80::1 peut exister sur chaque interface, vous devez spécifier quelle interface vous voulez dire :
ping6 fe80::1%eth0 # Linux
ping6 fe80::1%en0 # macOS
ping fe80::1%12 # Windows (utiliser l'index d'interface)Le symbole % précède l'ID de zone. Sur Linux et macOS, utilisez le nom de l'interface. Sur Windows, utilisez l'index d'interface de netsh interface ipv6 show interface.
Adresses locales uniques (fc00::/7)#
Considérez-les comme la version IPv6 des adresses privées RFC 1918. Elles ne sont pas routables globalement, ce qui les rend adaptées aux réseaux internes.
En pratique, vous verrez des adresses fd00::/8 car la plage fc00::/8 nécessite une allocation centrale qui n'a jamais été implémentée. Générez l'ID global de 40 bits aléatoirement :
fd 3a:c7b1:29f4 :0001:0000:0000:0000:0001
│ └──────────┘ │ └──────────────────┘
│ │ │ │
│ │ │ └─ ID d'interface (64 bits)
│ │ └─────────────── ID de sous-réseau (16 bits)
│ └──────────────────────── ID global aléatoire (40 bits)
└──────────────────────────────── Préfixe ULA (fd = assigné localement)Quand vous générez cet identifiant de 40 bits aléatoirement, vous minimisez le risque de collision si deux réseaux fusionnent plus tard. N'utilisez pas simplement fd00::1 partout.
Adresses spéciales#
Deux adresses ont des objectifs uniques :
Loopback (::1) : Envoyez des paquets à vous-même. L'équivalent IPv6 de 127.0.0.1. Le trafic vers ::1 ne quitte jamais l'hôte.
Non spécifiée (::) : Représente l'absence d'adresse. Les hôtes utilisent :: comme adresse source pendant DHCPv6 ou quand ils n'ont pas configuré d'adresse. Vous ne pouvez pas envoyer de paquets vers ::.
Adresses multicast (ff00::/8)#
Chaque adresse commençant par ff est multicast. Le paquet va à chaque interface qui a rejoint ce groupe multicast.
Structure d'adresse#
ff 0 2 : 0000:0000:0000:0000:0001
│ │ │ └──────────────────────┘
│ │ │ │
│ │ │ └─ ID de groupe (112 bits)
│ │ └──────────────── Portée (4 bits)
│ └─────────────────── Drapeaux (4 bits)
└────────────────────── Préfixe multicastLe champ de portée détermine jusqu'où le paquet multicast voyage :
| Portée | Valeur | Plage |
|---|---|---|
| Interface-locale | 1 | Cette interface uniquement |
| Link-locale | 2 | Segment réseau local |
| Admin-locale | 4 | Limite administrative |
| Site-locale | 5 | Site de l'organisation |
| Organisation-locale | 8 | Plusieurs sites dans l'org |
| Globale | e | Internet entier |
Groupes multicast essentiels#
Plusieurs adresses multicast servent des fonctions critiques :
| Adresse | Objectif |
|---|---|
ff02::1 | Tous les nœuds sur le lien (remplace le broadcast IPv4) |
ff02::2 | Tous les routeurs sur le lien |
ff02::5 | Tous les routeurs OSPF |
ff02::6 | Tous les routeurs désignés OSPF |
ff02::9 | Tous les routeurs RIP |
ff02::1:2 | Tous les serveurs/relais DHCPv6 |
ff02::fb | mDNSv6 (DNS multicast) |
Multicast de nœud sollicité#
Ce mécanisme rend la découverte de voisins efficace. Au lieu de demander à chaque hôte « qui a cette IP ? » (comme ARP), IPv6 demande à un petit groupe multicast.
Chaque adresse unicast génère automatiquement une adresse multicast de nœud sollicité correspondante :
Unicast : 2001:db8:1234:5678::abcd:ef12:3456
└────┬─────┘
│
(24 derniers bits)
│
Nœud sollicité : ff02::1:ff12:3456 ────────┘Quand un hôte doit résoudre 2001:db8:1234:5678::abcd:ef12:3456, il envoie une sollicitation de voisin à ff02::1:ff12:3456. Seuls les hôtes avec des adresses se terminant par 12:3456 traitent la requête. Cela réduit considérablement la charge multicast comparé à la diffusion à tous les hôtes.
Adresses anycast#
Les adresses anycast semblent identiques aux adresses unicast — il n'y a pas de préfixe spécial. La différence est la configuration : vous assignez la même adresse à plusieurs interfaces, et le routage délivre les paquets à celle qui est topologiquement la plus proche.
Cas d'usage courants#
Serveurs racine DNS : Les 13 lettres de serveurs racine (a.root-servers.net à m.root-servers.net) utilisent anycast. Les mêmes adresses IP existent à des centaines d'endroits dans le monde. Votre requête atteint le serveur racine le plus proche.
Serveurs périphériques CDN : Les réseaux de distribution de contenu utilisent anycast pour router les utilisateurs vers les serveurs cache proches. Même adresse, emplacements géographiques différents.
Routeurs relais 6to4 : L'adresse 192.88.99.1 (IPv4) et 2002:c058:6301:: (IPv6) sont des adresses anycast pour les relais 6to4.
Anycast sous-réseau-routeur#
Chaque sous-réseau a automatiquement une adresse anycast réservée avec l'identifiant d'interface mis à zéro :
Sous-réseau : 2001:db8:1234:5678::/64
Sous-réseau-routeur : 2001:db8:1234:5678::Les routeurs sur ce sous-réseau devraient répondre à cette adresse. En pratique, elle est rarement utilisée.
Référence rapide : identifier les types d'adresses#
Regardez les premiers caractères pour identifier n'importe quelle adresse IPv6 :
| Commence par | Type | Portée |
|---|---|---|
::1 | Loopback | Hôte-local |
:: | Non spécifiée | N/A |
fe80: | Unicast link-local | Link-local |
fc00: ou fd00: | Unicast local unique | Privé |
ff00: à ffff: | Multicast | Variable (vérifier 2e chiffre) |
2... ou 3... | Unicast global | Internet |
Tout le reste est soit réservé soit pas encore assigné.
Vérifier vos adresses#
Voyez quelles adresses votre système a configurées :
Linux :
ip -6 addr showmacOS :
ifconfig | grep inet6Windows :
netsh interface ipv6 show addressesVous verrez généralement :
- Plusieurs adresses link-local (
fe80::), une par interface - Une ou plusieurs adresses unicast globales si vous avez de la connectivité IPv6
- L'adresse loopback
::1sur l'interface loopback - Plusieurs appartenances à des groupes multicast (généralement pas affichées par défaut)
Tester le multicast#
Envoyez une requête d'écho ICMPv6 à tous les nœuds sur votre lien local :
# Remplacez eth0 par le nom de votre interface
ping6 ff02::1%eth0Vous obtiendrez des réponses de chaque appareil IPv6 activé sur ce segment réseau. C'est utile pour la découverte mais peut être bruyant sur de grands réseaux.
Vérifiez si des routeurs sont présents :
ping6 ff02::2%eth0Seuls les routeurs devraient répondre.
Validez les types d'adresses
Utilisez le Validateur IPv6 pour vérifier n'importe quelle adresse. Entrez une adresse et voyez instantanément son type, sa portée et si elle est valide. Utile lors du dépannage de configurations.
Implications pratiques#
Les différents types d'adresses affectent la façon dont vous concevez les réseaux et déboguez les problèmes :
Politiques de sécurité : Filtrez l'unicast global à votre pare-feu, mais le link-local doit passer pour la découverte de voisins. Bloquer fe80::/10 casse complètement IPv6.
Liaison d'application : Les serveurs qui se lient à :: écoutent sur toutes les adresses (comme 0.0.0.0 en IPv4). Se lier à ::1 restreint à localhost uniquement.
Tables de routage : Les adresses link-local apparaissent comme next-hops dans les tables de routage, ce qui déroute les gens habitués à IPv4. C'est normal — les routeurs utilisent des adresses link-local pour la stabilité car elles ne changent jamais.
DNS : Publiez uniquement les adresses unicast globales dans le DNS. Ne publiez jamais d'adresses link-local ou locales uniques dans les zones DNS publiques.
Comprendre ces types d'adresses n'est pas académique — c'est nécessaire pour configurer les pare-feu, déboguer la connectivité et concevoir des réseaux qui fonctionnent vraiment.
Articles connexes#
- Fondamentaux IPv6 - Comprendre les bases de l'adressage IPv6 et pourquoi c'est important
- Guide du découpage IPv6 - Apprenez à diviser efficacement votre espace d'adresses IPv6
- Bonnes pratiques de sécurité IPv6 - Sécurisez votre réseau IPv6 contre les menaces et vulnérabilités courantes
Validez les types d'adresses
Utilisez le Validateur IPv6 pour vérifier n'importe quelle adresse. Entrez une adresse et voyez instantanément son type, sa portée et si elle est valide. Utile lors du dépannage de configurations.