MOOC:Compagnon Act16
From Livre IPv6
Activité 16 : Construction d'un plan d'adressage
Nécessité d'organiser un plan d'adressage
Comme nous l'avons vu dans les activités précédentes, l'espace d'adressage IPv6 est « astronomiquement » grand. Le plan d'adressage unicast global agrégé adopté aujourd'hui sur l'Internet public est organisé hiérarchiquement. A l'instar du réseau téléphonique historique, où les appels sont routés en fonction d'un préfixe national (exemple le +33 pour les appels vers la France), les réseaux IP sont bâtis selon une organisation hiérarchique. Cependant cette hiérarchie n'est pas d'ordre géographique mais plutôt administrative et organisée en « régions » (Amérique du nord, Asie Pacifique, Europe,...), gérées par les registres Internet régionaux (RIR Regional Internet Registry). Cela permet d'acheminer efficacement les datagrammes. Les opérateurs du cœur de l'internet routent (aiguillent) les datagrammes sur les préfixes les plus courts. Les registres régionaux leur attribuent des préfixes courts, car le rôle de ces opérateurs internationaux est d'acheminer les datagrammes vers les grandes zones régionales de l'Internet. Ces opérateurs délèguent ensuite à leur clients, opérateurs locaux (LIR) ou grands comptes, des préfixes un peu plus longs, afin qu'eux même puissent déléguer des préfixes à leurs clients ou organisations utilisatrices pour acheminer les datagrammes vers leurs propres réseaux. Ainsi un utilisateur final : organisation, entreprise ou particulier se verra déléguer par son fournisseur d'accès Internet (FAI) un préfixe d'une longueur comprise, en général, entre 48 et 64 bits. Cette zone de l'adresse, comprise entre la longueur du préfixe alloué par l'opérateur et la limite du /64 des adresses unicast est parfois qualifiée de SID (Subnet ID). En effet elle permet à l'administrateur, d'adresser entre 1 unique réseau (cas où le client à obtenu un préfixe /64 de son FAI) et 65536 réseaux (cas où le client a obtenu délégation administrative sur un préfixe /48 : il dispose alors de 16 bits (entre 48 et 64) pour numéroter 2 puissance 16 réseaux). C'est cet espace de l'adressage, dont l'administrateur réseau a la responsabilité, qu'il s'agit d'organiser pour déployer efficacement les réseaux de son organisation. Nous allons au cours de cette activité, proposer différents modes d'organisations possibles, que nous compléterons par un cas d'école simple.
Politique d'assignation des adresses
Les spécifications primitives, (RFC3177) de 2001, d'assignation des adresses aux utilisateurs finaux recommandaient d'allouer :
- /48 (655536 sous réseaux) dans le cas général,
- /64 (un sous réseau unique) lorsqu'un et un seul réseau était nécessaire
- /128 (adresse unique) lorqu'il était absolument connu qu'un et un seul équipement était connecté
Le RFC6177, de 2011, également connu sous BCP157 (Best Current Practice), est venue remettre en cause les certitudes intiales et le /48 pour tout le monde n'est plus la recommandation officielle. La taille du préfixe est maintenant laissée à la discrétion du fournisseur avec la recommandation « floue » d'allouer un bloc d'adresses adapté aux besoins de l'utilisateur en évitant l'allocation d'un réseau unique. Ainsi si un /48 est adapté pour un réseau de campus il est, clairement, surdimensionné dans le cadre d'un usage domestique. Inversement le réseau unique en /64 est notablement insuffisant, les besoins actuels et futurs de le plupart des foyers nécessiteront sans doute quelques réseaux cloisonnés en fonction des usages : réseau général (accès internet, les réseaux sociaux, le multimédia,...), réseau domotique (machine à laver, sèche linge, réfrigérateur,...), réseau de commande périmétrique (volets, alarme, chauffage, aquarium,...), sans parler des promesses médiatiques de « l'Internet des objets » (IoT Internet of things),… Pour les utilisateurs dits « grand public » ou les sites de taille modeste un préfixe /56 ou /60 semble donc plus approprié.
Préfixes de sous Réseaux
Cas général
Les sous réseaux IPv6 devraient s'aligner sur les préfixes de longueur /64. Des tailles supérieures sont possibles, mais ne sont pas sans poser problèmes pour les mécanismes de contrôle tels que l'auto-configuration des adresses, couramment utilisée, et qui présupposent des préfixes des sous réseaux alignés sur 64 bits. Ces mécanismes d'auto-configuration seront abordés dans une séquence ultérieure.
Cas particulier des liaisons point à point
Les liaisons point à point, qu'elles soient concrètement louées auprès du service idoine d'un opérateur (liaison spécialisée, fibre noire,...) pour assurer l'interconnexion de deux sites géographiquement distants, ou qu'elles soient logiquement établies sous forme de tunnels (Ip dans IP, VPN MPLS, tunnel IPSec, …) constituent un cas particulier. Comme dans le cas général, on peut allouer un préfixe /64 à chacune des liaisons. Cependant sur des réseaux maillés où le nombre de liaisons point à point est quelconque, attribuer un /64 à chacune de ces liaisons n'est pas efficace. La caractéristique d'une liaison point à point est de relier uniquement une interface à chacune de ses extrémités, ne nécessitant, de fait, que deux identifiants distincts. De plus ces liaisons sont administrées et ne sont, en général, pas tributaires d'un mécanisme d'auto-configuration. Aussi attribuer un /64, offrant la possibilité d'adresser 2 puissance 64 interfaces, à un support limité à deux, et uniquement deux interfaces, conduit à la perte de ((2 puissance 64) - 2) adresses qui resteront non attribuées mais qui peuvent sur certains équipements, limités ou mal configurés, conduire à des situations de surcharge sous forme d'aller retour de datagrammes sur cette liaison (syndrome de la balle de ping pong), ou de tentatives de déni de service par attaque exhaustive de découverte de voisins. A défaut d'un /64, quel est le préfixe approprié pour ce type de liaison ?
- /127 : serait possible dans la mesure où IPv6 n'a pas d'adresse de diffusion (identifiant de host tout à 1 dans le cas d'IPv4). Cependant l'adresse tout à zéro de chaque sous réseau est réservé comme l'adresse anycast des routeurs (« all routers anycast address »), ce qui signifie que le plupart des routeurs sont susceptibles recevoir des datagrammes de service sur cette adresse.
- /126 évite le problème de l'adresse anycast tout à zéro. Cependant, les 128 adresses hautes de chaque sous réseaux sont également réservées pour diverses adresses de anycast (RFC2526). Bien que dans la pratique cela ne semble pas poser.
- /120 permet de s'affranchir des adresses anycast réservées.
- /112 permet de s'affranchir des adresses anycast réservées et a en plus l'avantage d'être facilement lisibles par les opérateurs humains, car aligné sur le mot de 16 bits final, (celui affiché après le dernier séparateur :, cf activité 12 « Notation d'une adresse IPv6 »)
Représentation des subdivisions
Dans la suite de cette activité, nous raisonnerons sur la base d'un préfixe de 48 bits (espace SID de 16 bits). Les exemples décrits sur la base d'adresses documentaires pourront ainsi illustrer aussi bien un contexte de réseaux publics (un préfixe /48 unicast global) qu'un réseau privatif (préfixe /48 d'adresse locale unique ULA). Cependant les règles d'ingénierie présentées pourront également se décliner de manière plus limitée sur des préfixes plus longs /56 ou /60 avec un espace SID réduit à 8 ou 4 bits. Nous supposons que le préfixe obtenu (soit par allocation de notre fournisseur d'accès dans le cadre d'un adressage unicast globale routable sur l'Internet public, soit par algorithme conforme RFC4193 dans la cadre d'un adressage privatif (ULA Unique Local Address) pour notre activité est 2001:db8:cafe::/64. Nous disposons donc d'une zone SID de 16 bits permettant de distinguer 65536 sous réseaux possibles en /64 (de 2001:db8:cafe:0000::/64 à 2001:db8:cafe:ffff::/64). Comme les 48 premiers bits sont administrativement fixés et que les 64 bits de poids faible sont réservé pour l'identification de l'interface, chaque référence de sous réseau sera portée par les bits 48 à 63 (L'IETF numérote les bits en démarrant de zéro de la gauche (most significant : poids fort) à la droite (least significant : poids faible). Dans cette présentation nous subdivisons les 16 bits en groupes distingués de la manière suivante :
- B : bits non défini et assignable
- L : bits assignés à la localisation du sous réseau
- T : bits assignés au type de sous réseau
Nous utiliserons la représentation suivante dans nos différents cas d'étude activite-16-img01 Chaque case du champ SID représente 1 bit. 4 cases successives représente un « nibble » (Un nibble (ou plus rarement nybble) est, en informatique, un agrégat de 4 bits, soit un demi octet. On trouve aussi les termes francisés semioctet ou quartet , source wikipédia). 1 nibble peut prendre une valeur entre 0 et 15 et peut se représenter par 1 chiffe héxadécimal (0..f). Ainsi dans l'exemple du schéma précédent produira des adresses du type 2001:db8:LTBB::/64 (inversement de type 2001:db8:TLBB::/64 si l'on choisi de positionner les bits de type de sous réseau sur le nibble de poids fort et les bits de localisation sur le nibble de poids faible).