Difference between revisions of "MOOC:Compagnon Act11-s7"

From Livre IPv6

(Fonctions d'une adresse réseau)
(Pour aller plus loin)
Line 144: Line 144:
 
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 :
 
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 :
 
* Bortzmeyer, S. [http://www.bortzmeyer.org/separation-identificateur-localisateur.html Séparation de l'identificateur et du localisateur dans Internet]  
 
* Bortzmeyer, S. [http://www.bortzmeyer.org/separation-identificateur-localisateur.html Séparation de l'identificateur et du localisateur dans Internet]  
* Meyer, D. (2008). Cisco Internet Protocol Journal, Vol. 11, No. 1. <br>The Locator Identifier Separation Protocol (LISP).
+
* Meyer, D. (2008). Cisco Internet Protocol Journal, Vol. 11, No. 1. <br>The Locator Identifier Separation Protocol (LISP).  
Considerations ([http://www.bortzmeyer.org/7215.html analyse])
+
 
* Gurtov, A. and Komu, M. (2009). Internet Protocol Journal, Vol. 12, No. 1. page 27<br>[http://ipj.dreamhosters.com/wp-content/uploads/issues/2009/ipj12-1.pdf Host Identity Protocol: Identifier/Locator Split for Host Mobility and Multihoming].
 
* Gurtov, A. and Komu, M. (2009). Internet Protocol Journal, Vol. 12, No. 1. page 27<br>[http://ipj.dreamhosters.com/wp-content/uploads/issues/2009/ipj12-1.pdf Host Identity Protocol: Identifier/Locator Split for Host Mobility and Multihoming].
 
* RFC 7215 Locator/Identifier Separation Protocol (LISP) Network Element Deployment [https://www.bortzmeyer.org/7215.html analyse]
 
* RFC 7215 Locator/Identifier Separation Protocol (LISP) Network Element Deployment [https://www.bortzmeyer.org/7215.html analyse]
 
* RFC 9063 Host Identity Protocol Architecture [https://www.bortzmeyer.org/9063.html analyse]
 
* RFC 9063 Host Identity Protocol Architecture [https://www.bortzmeyer.org/9063.html analyse]

Revision as of 10:29, 20 July 2021


Activité 11  : Fonctions d'une adresse IPv6

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 à deux fonctions distinctes : l'identification et la localisation

  • La fonction d'identification assure qu'une adresse réseau identifie de manière unique une interface ou une machine parmi les "n" machines du réseau. Ce nombre "n" pouvant être arbitrairement grand dans le réseau global Internet par exemple. L’identification permet à deux interlocuteurs de se reconnaître pendant une connexion. Cette vérification est mise en œuvre dans les pseudo en-têtes d'une connexion TCP ou dans les associations de sécurité IPSec par exemple. Il s'agit d'une identification technique de l'interface, restreinte à un contexte de communication. Elle n'est pas permanente et peut varier lorsque l'interface change de liaison. Ainsi, en situation de nomadisme, l'adresse IP varie. Lorsqu'un télétravailleur, par exemple, passe de son réseau d'entreprise, à un réseau sans fil invité ou au réseau de son domicile; chacun de ces réseaux ayant un préfixe d'identification distinct, l'adresse IP de son ordinateur ou de sa tablette change. Les connexions applicatives qu'il avait établies dans le contexte de son bureau professionnel ne sont plus maintenues et doivent être réinitialisées avec sa nouvelle adresse.
  • La deuxième fonction, la localisation, est nécessaire à la fonction de routage pour l'acheminement des paquets. L'algorithme du protocole de routage, sur la base de l'information de localisation, assure la remise directe du paquet ou la recherche du prochain relai intermédiaire sur le chemin vers le destinataire. La localisation ne varie qu'en cas de changement de prestataire IP ou de réorganisation du site. Elle est structurée en deux parties : globale et locale.
    • la partie globale de la localisation identifie le réseau parmi les autres réseaux de la topologie. Portée sur la partie haute de l'adresse, elle constitue le préfixe. Elle est significative pour l'acheminement des paquets à travers le réseau. Ainsi, les routeurs du réseau aiguillent les paquets en sélectionnant le prochain routeur relai vers la destination identifiée par le préfixe de l'adresse du destinataire.
    • la partie locale, quant à elle distingue les interfaces partageant une même liaison ou domaine de diffusion. Elle est portée sur la partie basse de l'adresse. Dans la procédure d'acheminement, elle est significative sur le dernier segment du chemin pour la remise directe du paquet à l'interface de destination. Ainsi sur un réseau ethernet ou un réseau wifi, le nombre d'interfaces partageant le domaine de diffusion est quelconque. Chaque interface se distingue de ses voisines, sur la base de cet identifiant local et peut ainsi se reconnaître destinatrice du paquet. La gestion de cette partie locale est assurée par l'administrateur en fonction sa politique de déploiement des équipements.

Lors des études initiales d'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 d'expérimentation[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.

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. activité 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). L'usage de divers masques de taille « élastique » permet d'une part, 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 ; et d'autre part, 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 ». 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 des adresses de 32 bits trop courtes pour permettre une bonne structuration, et du fait qu'il faut assumer le coût du passé : 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 surface terrestre, océans compris, entre 1 564 et 3 911 873 538 269 506 102.

1 564 < @ au mètre carré, océans compris < 3 911 873 538 269 506 102

Figure 1 : Estimation de la densité des adresses IPv6 par mètre carré de surface terrestre.

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èmes des adresses disponibles. [2]

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. La durée du prêt (quelque fois appelée durée de vie : lifetime) associée à l'adresse, indique la durée pendant laquelle l'interface est dépositaire de l'adresse. 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 dans des communications. La valeur par défaut de la durée de vie d'une adresse est de 30 jours, mais cette durée peut être prolongée, voire portée à l'infinie (valeur réservée avec tous bits à 1). L'adresse "lien-local" a une durée de vie illimitée.

Ce système de prêt d'adresse vise à faciliter la renumérotation. 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 utilisent l'adresse comme identificateur de connexion, seraient brutalement coupées. Ceci pourrait entraîner des perturbations importantes au niveau des applications utilisant TCP à ce moment-là.

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. Pour effectuer le choix de l'adresse à utiliser, un état est associé à chaque adresse. Cet état indique dans quelle phase de sa durée de vie une adresse se situe vis-à-vis de l'interface. La figure 2 représente les différents états que prend une adresse depuis sa création. En voici la description.

  • Le premier de ces états est qualifié de provisoire (tentative). L'adresse a été créée par l'auto-configuration mais son unicité sur le lien n'a pas encore été réalisée. Tant que l'adresse est dans l'état provisoire, elle ne peut être utilisée pour communiquer.
  • Une fois que l'unicité a été vérifiée par une procédure dédiée, l'adresse devient valide(valid). Elle est effectivement allouée à l'interface.
  • Après l'allocation de l'adresse à l'interface, le premier des états valides est qualifié de préféré (preferred). L'utilisation de l'adresse n'est aucunement restreinte.
  • Peu avant son invalidation, l'adresse passe dans un second état valide dit déprécié (deprecated). Son utilisation est déconseillée, mais pas interdite. L'adresse 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ée continuent à être remis normalement. À la durée de validité, il est également associé une durée de son état préféré.
  • Quand l'adresse atteint l'état invalide (invalid), elle ne doit plus être utilisée du tout. Le délai du prêt est expiré.
Figure 2 : États successifs d'une adresse sur une interface.

Conclusion

L'adresse est un élément essentiel dans un réseau de communication. L'adresse se doit d'être unique. Elle identifie un nœud dans le réseau. Dans le cas de l'Internet, elle a une fonction supplémentaire, elle sert à le localiser. L'adresse est un nombre codé en binaire. Le nombre de bits utilisés pour le codage de ce nombre détermine le nombre maximum d'adresses disponibles. L'adresse utilisée en IPv4 comportait 32 bits. En IPv6, ce nombre a été passé à 128 bits soit une taille 4 fois plus grande pour le codage. L'espace d'adressage a ainsi grandi d'une magnitude de 10 puissance 30. D'autres aspects vont être développés dans les prochaines activités, notamment :

  • la notation des adresses IPv6 ;
  • les différents types d'adresses ;
  • l'utilisation des adresses.

Références bibliographiques

  1. Bortzmeyer, S. (2009) Création du groupe de travail IETF sur LISP.
  2. Cornu, Jean-Michel (2001) AFING: Fondation Internet Nouvelle Génération
    [1]

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 :

Personal tools