MOOC:Compagnon Act11-s7
From Livre IPv6
Activité 11 : Qu'est ce qu'une adresse IP ?
Introduction à l'adressage
Le format et la représentation des adresses sont les éléments les plus directement visibles, de la nouvelle version du protocole, pour l'utilisateur et l'administrateur réseau. La pénurie des adresses IPv4 étant le premier élément qui a motivé la création d'une nouvelle version du protocole, la définition du nouveau format d'adressage a conditionné certains choix techniques pour IPv6. Bien que les principes de base soient dérivés de ceux employés en IPv4, cet adressage apparaît de prime abord plus complexe. Il est important de se familiariser avec les règles et les principes de représentation et d'attribution avant d'aborder le nouveau protocole.
Fonctions d'une adresse réseau
Dans une architecture IP, une adresse sert en fait à deux fonctions distinctes:
- L'identification : Une adresse de niveau réseau identifie de manière unique la machine parmi les « N » machines du réseau, « N » pouvant être arbitrairement grand, dans l'Internet par exemple. L'identification permet à deux interlocuteurs de se reconnaître pendant un connexion. Cette vérification est mise en oeuvre dans les pseudo entêtes d'une connexion TCP ou dans les associations de sécurité IPSec.
- La localisation : La localisation est utilisée pour décider de la remise directe ou de la recherche d'un intermédiaire qui saura délivrer les datagrammes, selon le principe du routage en saut par saut . En fait elle ne varie qu'en cas de changement de prestataire IP ou de réorganisation de site. La localisation est découpée en deux parties : localisation globale, identifiant le réseau et localisation locale distinguant les machines sur un même réseau. Ces deux niveaux de localisation auront une influence déterminante dans la structuration du format des adresses, que nous verrons ultérieurement.
Lors des études initiales IPv6, il avait été envisagé de séparer les deux fonctions pour faciliter la résolution des problèmes liés à la renumérotation, la mobilité ou la multi-domiciliation. Pour l'instant, la séparation des fonctions est encore à l'état de recherche[1], et les premiers plans d'adressage IPv6 continuent, comme en IPv4, à lier les deux fonctions. De même, comme en IPv4, on considérera qu'une adresse est associée à une interface. Une machine peut posséder plusieurs interfaces. De même une interface peut supporter plusieurs adresses. [2] [3]
Question de taille
Une adresse IPv6 est un mot de 128 bits (16 octets). Cette taille de 128 bits semble techniquement bien adaptée aux mots manipulés par les processeurs d'aujourd'hui. Les processeurs 32 bits et 64 bits sont aujourd'hui banalisés. Le quadruplement, comparativement à la version précédente d'IP, de la longueur binaire de l'adresse fait apparaître l'adressage IPv6 comme plus "ardu". Cette complexité n'est qu' apparente, elle traduit la nécessaire adaptation au changement, pour laquelle la plupart d'entre nous montrons naturellement une réticence initiale. Certes la représentation des adresses de 16 octets a nécessité l'abandon de la notation décimale pointée pour une nouvelle notation hexadécimale (cf séquence suivante), qui est un compromis raisonnable pour la manipulation des adresses par les administrateurs réseau. Pour le commun des utilisateurs l'auto-configuration et la banalisation des services de nommage (DNS Domain Name Service) et des annuaires réseaux suppléeront, comme pour IPV4, la nécessité d'avoir à manipuler directement les adresses.
Les principes de structuration de cet adressage dérivent des techniques déjà utilisées en IPv4, à savoir une classification de divers plans d'adressage sur les parties hautes de l'adresse (c'est à dire sur les préfixes les plus courts), associée à une agrégation des tables de routage généralisant la méthode dite CIDR (Classless Inter Domain Routing) dans laquelle l'usage de divers masques de taille « élastique » permet une certaine souplesse dans la définition et l'attribution des préfixes, une optimisation de l'espace d'adressage limitant le gaspillage des larges portions d'adresses, comparativement à IPv4, ainsi qu'une optimisation du routage en facilitant sa hiérarchisation (les équipements des opérateurs de coeur de l'internet prennent leur décision de routage sur des préfixes courts, les « grandes directions », alors que les équipements de routage des opérateurs de distribution, en périphérie du réseau, routent sur des préfixes plus longs, ce qui a pour effet de contenir la taille des tables de routage de cœur du réseau dans des proportions raisonnables.
Toutefois, en IPv4, l'amélioration induite par CIDR semble limitée du fait que les adresses de 32 bits sont trop courtes pour permettre une bonne structuration et qu'il faut assumer le coût du passé où les adresses ont été allouées sans préoccupation d'organisation d'ordre hiérarchique ou géographique. Malgré ces limitations l'adressage IPv6 s'appuie de facto sur CIDR. La gestion des tables de routage, dans le cœur du réseau s'en trouvera quand même améliorée car :
- dès le début le plan d'adressage est hiérarchisé, éliminant les longs préfixes,
- les sites multi-domiciliés posséderont autant d'adresses que de fournisseurs de service,
- des mécanismes de renumérotation automatique faciliteront le changement de préfixes, lors du changement de fournisseur d'accès ou de basculement sur un nouveau plan d'adressage.
Le nombre de combinaisons possibles sur 128 bits (2 à la puissance 128) est "astronomique", il dépasse les 3.4 x 10 puissance 38:
- 340 milliards de milliards de milliards de milliards
- Précisément : 340 282 366 920 938 463 463 374 607 431 701 211 156
Certaines estimations encadrent le nombre d'adresses disponibles par mètre carré de la surface terrestre, océans compris, entre 1 564 et 3 911 873 538 269 506 102 adresses au m2.
1 564 < @ au mètre carré océans compris < 3 911 873 538 269 506 102
Une citation de Jean Michel Cornu tente de nous en donner une représentation palpable: Si on recouvrait la surface de la terre d’une couche de sable de 50 km d’épaisseur (jusqu’en haut de la stratosphère), et que l’on attribue une adresse IPv6 à chaque grain de sable, on n’utiliserait qu’environ deux cent milliardième des adresses disponibles. [4]
Sans tomber dans l'optimisme béat de ces grandeurs, ni le pessimisme primitif rappelant qu'au début d'Arpanet (réseau ancêtre d'internet dans les années 1960) les 4 milliards d'adresses possibles d'IPv4 (2 puissance 32) paraissaient également une limite matériellement inaccessible ; force est de constater que l'adressage IPv6 est largement dimensionné et qu'une organisation raisonnée de cet espace devrait lui offrir une certaine pérennité. Il est toutefois difficile de prévoir l'utilisation des adresses dans le futur. Ainsi, par exemple, le plan d'adressage actuellement mis en oeuvre utilise un identifiant d'équipement de 64 bits, c'est à dire la moitié de la taille de l'adresse. En fait ce genre de calcul n'est qu'un argument pour justifier l'usage de préfixes d'adresses de taille fixe, qui simplifie le traitement de l'en-tête des datagrammes.
Durée de vie d'une adresse
IPv6 généralisant le plan d'adressage CIDR, les préfixes restent dans tous les cas la propriété des opérateurs. Il ne peuvent plus être attribués "à vie" aux équipements. Les adresses IPv6 sont donc « prêtées » aux interfaces des équipements. L'attribution d'une adresse à une interface est faite temporairement. Une durée de vie est associée à l'adresse qui indique le temps pendant lequel l'interface est dépositaire de l'adresse. Cela facilite la renumérotation des machines. Quand la durée de vie est épuisée, l'adresse devient invalide, elle est supprimée de l'interface et devient potentiellement assignable à une autre interface. Une adresse invalide ne doit jamais être utilisée comme adresse de communication. La valeur par défaut est de 30 jours, mais cette durée peut être étendue, voire portée à l'infinie (valeur réservée tous bits à 1). L'adresse lien-local a une durée de vie illimitée.
La renumérotation de l'interface d'un équipement consiste à passer d'une adresse à une autre. Lors de cette opération, il n'est pas souhaitable de changer brusquement d'adresse, sinon toutes les connexions TCP en cours, qui l'utilisent comme identificateur, seraient brutalement coupées. Ceci pourrait entraîner des perturbations applicatives. Pour faciliter cette transition, un mécanisme d'obsolescence est mis en place pour invalider progressivement une adresse. Ce mécanisme s'appuie sur la capacité d'affectation de plusieurs adresses valides à une même interface. Un état est associé à chaque adresse. Il intervient dans la sélection de l'adresse à utiliser. Cet état indique dans quelle phase de sa durée de vie une adresse se situe vis à vis de l'interface. Une première phase consiste à vérifier l'unicité de l'adresse sur le lien à l'aide de l'algorithme de détection de duplication (DAD Duplicate Address Detection). En cas de succès de l'algorithme, l'adresse est effectivement allouée à l'interface. Durant cette phase de test l'adresse ne peut être utilisée pour communiquer (cf découverte des voisins).
Après l'allocation de l'adresse à l'interface, le premier des états est qualifié de préféré : l'utilisation de l'adresse n'est alors pas restreinte. Peu avant sont invalidation l'adresse passe dans un état dit déprécié. Son utilisation est déconseillée mais pas interdite. Elle ne doit plus être utilisée comme adresse source pour de nouvelles communications (établissement de connexions TCP par exemple). Par contre elle peut encore servir d'adresse source pour les connexions existantes. Les datagrammes reçus à une adresse dépréciées continuent à être remis normalement. A la durée de validité, il est également associé une durée de son état préféré.
Références bibliographiques
- ↑ Bortzmeyer,S. Création du groupe de travail IETF sur LISP.
- ↑ Le blog de Stéphane Bortzmeyer 21/4/2008 Séparation de l'identificateur et du localisateur dans Internet
- ↑ Le blog de Stéphane Bortzmeyer 28/4/2009 Création du groupe de travail IETF sur LISP
- ↑ Le blog de Jean-Michel Cornu, 2001. AFING: Fondation Internet Nouvelle Génération http://www.cornu.eu.org/texts/ipv6-et-adressage
Pour aller plus loin
Le lecteur intéressé par l'état des travaux sur la séparation des fonctions d'identification et de localisation des adresses, pourra consulter les références suivantes :
- Séparation de l'identificateur et du localisateur dans Internet, Blog S.Bortzmeyer
- Création du groupe de travail IETF sur LISP, Blog S.Bortzmeyer
- RFC 7215 Locator/Identifier Separation Protocol (LISP) Network Element Deployment Considerations (analyse)
- ,Le blog de Jean-Michel Cornu -Copyright © AFING