Les concepteurs ont défini certains types d'adresse et laissé un vaste champ libre à de futures définitions, telles que l'émergence de nouvelles exigences encore aujourd'hui inconnues. L'architecture d'adressage IPv6 (RFC 2373 de juillet 1998) définit le schéma d'adressage actuel, mais il y a déjà un nouveau brouillon disponible: draft-ietf-ipngwg-addr-arch-*.txt.
Jetons maintenant un coup d'oeil aux différents types de préfixe (et par conséquent aux différents types d'adresse IPv6):
Ce sont des adresses particulières qui n'auront de validité que sur le lien d'une interface. En utilisant cette adresse comme adresse de destination le paquet ne devrait jamais franchir un routeur. C'est utile pour des communications sur un lien telles que:
Y a-t-il quelqu'un d'autre sur ce lien?
Y a-t-il quelqu'un d'autre sur ce lien ayant une adresse spéciale (on cherche par exemple à détecter la présence d'un routeur)?
Elles commencent par (où “x” est n'importe quel caractère hexadécimal, couramment “0”)
fe8x: <- actuellement le seul en usage. fe9x: feax: febx:
Ce type d'adresse se trouve sur chaque interface disposant d'IPv6 après une auto-configuration sans état (ce qui est couramment le cas).
Ces adresses sont similaires à ce que le RFC 1918 (RFC 1918 / Address Allocation for Private Internets) définit aujourd'hui pour IPv4, avec en plus l'avantage que celui qui utilise ce type d'adresse a la capacité d'utiliser les 16 bits fournis pour un maximum de 65536 sous-réseaux. Comparable au 10.0.0.0/8 aujourd'hui en IPv4.
Autre avantage: parce qu'il est possible avec IPv6 d'assigner plus d'une seule adresse par interface, vous pouvez assigner une telle adresse site-local en plus de l'adresse globale.
Il commence par:
fecx: <- le plus couramment utilisé. fedx: feex: fefx:
(où “x” est n'importe quel caractère hexadécimal, couramment “0”)
Notez que des discussions sont en cours concernant la dépréciation de ce type d'adresse en raison de nombreux problèmes. Pour en savoir plus, lire: draft-ietf-ipv6-deprecate-site-local-XY.txt.
Pour des tests en laboratoire, de telles adresses restent un bon choix, à mon humble avis.
Aujourd'hui, il y a un type d'adresse globale de défini (la première conception, appelée “basée sur le fournisseur” a été abandonnée il y a déjà quelques années (RFC 1884 / IP Version 6 Addressing Architecture [obsolete]), vous en trouverez des traces dans des sources anciennes du noyau Linux).
Il commence par (les x étant des caractères hexadécimaux)
2xxx: 3xxx:
Note: la dénomination “agrégeable” est abandonnée dans les brouillons actuels. Il y a quelques sous-types définis en plus, ci-dessous:
Elles ont été les premières adresses globales à être définies et mises en usage. Elles commencent toutes par
3ffe:
Exemple:
3ffe:ffff:100:f102::1
Une adresse spéciale de test 6bone, qui ne sera jamais globalement unique, commence par
3ffe:ffff:
Elle est quasiment toujours montrée dans les exemples, car si des adresses réelles sont montrées, il est possible à quelqu'un de les copier/coller dans ses propres fichiers de configuration. Ce type d'inadvertance cause des duplications d'adresse globalement unique. Cela pose de graves problèmes à l'hôte d'origine (par exemple recevoir des paquets en réponse de requêtes qu'il n'a pas émises). Vous pouvez encore réclamer un de ces préfixes, voir ici comment rejoindre 6bone. Certains fournisseurs de tunnel distribuent encore des préfixes de test 6bone.
Ce type d'adresse, conçu pour un mécanisme précis de tunnelage (RFC 3056 / Connection of IPv6 Domains via IPv4 Clouds et RFC 2893 / Transition Mechanisms for IPv6 Hosts and Routers), encode une adresse IPv4 donnée et un sous-réseau possible. Il commence par
2002:
Par exemple, pour représenter 92.168.1.1/5:
2002:c0a8:0101:5::1
Une petite ligne de commande peut vous aider à générer une telle adresse à partir d'une adresse IPv4 donnée:
ipv4="1.2.3.4"; sla="5"; printf "2002:%02x%02x:%02x%02x:%04x::1" `echo $ipv4 ¬ | tr "." " "` $sla
Voir aussi le tunnelage utilisant 6to4 et information concernant le relayage de 6to4 par les routeurs.
Ces adresses sont déléguées aux fournisseurs de services Internet (Internet service providers, ou ISP) et commencent par
2001:
Les préfixes fournis aux ISP les plus importants (propriétaires de backbone) sont délégués par les centres locaux d'enregistrement de noms de domaine (registries) et ils leur assignent actuellement un préfixe d'une longueur de 35.
Les ISP les plus importants délèguent aux ISP qui le sont moins un préfixe d'une longueur de 48.
Actuellement, deux blocs d'adresses sont réservés aux exemples et à la documentation:
3ffe:ffff::/32 2001:0DB8::/32 EXAMPLENET-WF
Ces blocs d'adresses ne devraient être ni routés ni filtrés (à partir des adresses sources) par les routeurs en bordure d'Internet, si possible.
Les adresses multicast sont utilisées pour les services y afférents.
Elles commencent par (xx est la valeur de la portée)
ffxy:
Elles se répartissent en différentes portées et types:
La portée multicast est un paramètre spécifiant la distance maximale qu'un paquet multicast peut prendre vis-à-vis de son entité émettrice.
Actuellement, les régions suivantes (portées) sont définies:
ffx1: noeud-local, ces paquets ne quittent jamais le noeud.
ffx2: lien-local, ces paquets ne sont jamais transmis par les routeurs, ils ne quittent par conséquent jamais le lien spécifié.
ffx5: site-local, ces paquets ne quittent jamais le site.
ffx8: organisation-locale, ces paquets ne quittent jamais l'organisation (pas si simple à implémenter, cela doit être par le protocole de routage).
ffxe: portée globale.
les autres sont réservées.
Il y a déjà de nombreux types définis/réservés (voir le RFC 2373 / IP Version 6 Addressing Architecture pour les détails). Quelques exemples en sont:
Adresse de tous les noeuds: ID = 1h, correspond aux adresses de tous les hôtes présents sur le noeud local (ff01:0:0:0:0:0:0:1) ou au lien connecté (ff02:0:0:0:0:0:0:1).
Adresse de tous les routeurs: ID = 2h, correspond aux adresses de tous les routeurs présents sur le noeud local (ff01:0:0:0:0:0:0:2), sur le lien connecté (ff02:0:0:0:0:0:0:2), ou encore sur le site local (ff05:0:0:0:0:0:0:2).
Adresse multicast spéciale utilisée comme adresse de destination dans la découverte de voisinage, car à la différence d'IPv4, ARP n'existe plus dans IPv6.
Un exemple de cette adresse ressemble à ceci
ff02::1:ff00:1234
Le préfixe utilisé montre qu'il s'agit d'une adresse multicast lien-local. Le suffixe est généré à partir de l'adresse de destination. Dans cet exemple, un paquet devrait être envoyé à l'adresse “fe80::1234”, mais la pile réseau ne connaît pas l'actuelle adresse MAC de la couche 2. Elle remplace les 104 bits supérieurs par “ff02:0:0:0:0:1:ff00::/104” et laisse les 24 bits inférieurs inchangés. Cette adresse est maintenant utilisée 'sur le lien' afin de trouver le noeud correspondant, lequel va devoir émettre une réponse contenant son adresse MAC de couche 2.
Les adresses anycast sont des adresses spéciales utilisées pour couvrir des besoins tels que déterminer le serveur DNS le plus proche, le serveur DHCP le plus proche, ou tout groupe dynamique similaire. Les adresses sont prises dans l'espace d'adressage unicast (agrégeable ou site-local pour le moment). Le mécanisme anycast (au regard du client) sera pris en compte par un protocole de routage dynamique.
Note: Les adresses anycast ne peuvent être utilisées comme adresse source, elles sont utilisables uniquement comme adresse de destination.
Un simple exemple d'une adresse anycast est celle d'un routeur de sous-réseau. Soit un noeud avec l'adresse IPv6 suivante assignée:
3ffe:ffff:100:f101:210:a4ff:fee3:9566/64 <- L'adresse du noeud
L'adresse anycast de routeur de sous-réseau sera créée en laissant totalement blanc le suffixe (les 64 bits inférieurs):
3ffe:ffff:100:f101::/64 <- l'adresse anycast de routeur de sous-réseau
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:36