Difference between revisions of "MOOC:Compagnon Act11-s7"
From Livre IPv6
(→Question de taille) |
(→Pour aller plus loin) |
||
(46 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | = Activité 11 : Qu'est ce qu'une adresse IP ? = | + | <!-- |
− | + | = Activité 11 : Qu'est ce qu'une adresse IP ? 🎓 = | |
+ | --> | ||
+ | <!-- = Activité 11 : Qu'est ce qu'une adresse IP ? = --> | ||
+ | = Activité 11 : Fonctions d'une adresse IPv6 = | ||
+ | |||
+ | <!-- {{Decouverte}} --> | ||
+ | |||
== Introduction à l'adressage == | == Introduction à l'adressage == | ||
− | |||
Le format et la représentation des adresses sont les éléments | Le format et la représentation des adresses sont les éléments | ||
les plus directement visibles de la nouvelle version du protocole, | les plus directement visibles de la nouvelle version du protocole, | ||
Line 18: | Line 23: | ||
== Fonctions d'une adresse réseau == | == Fonctions d'une adresse réseau == | ||
+ | Dans une architecture IP, une adresse sert à deux | ||
+ | fonctions distinctes : l'identification et la localisation | ||
− | + | <!--* 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 une 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 : elle 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 ont une influence déterminante dans la structuration du format des adresses, que nous verrons ultérieurement.--> | |
− | + | * 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. Par exemple, lorsqu'un télétravailleur 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. | |
− | * 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 | + | |
− | * La localisation : elle 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 ont une influence déterminante dans la structuration du format des adresses, que nous verrons ultérieurement. | + | * 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. | |
− | Lors des études initiales d'IPv6, il avait été envisagé de | + | ** 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 de sa politique de déploiement des équipements. |
− | séparer les deux fonctions pour faciliter la résolution des | + | |
− | problèmes liés à la renumérotation, la mobilité ou la | + | 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<ref> Bortzmeyer, S. (2009) [http://www.bortzmeyer.org/lisp-wg Création du groupe de travail IETF sur LISP.]</ref>, 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. |
− | multi-domiciliation. Pour l'instant, la séparation des fonctions est | + | |
− | encore à l'état | + | |
== Question de taille == | == Question de taille == | ||
− | |||
Une adresse IPv6 est un mot de 128 bits (16 octets). Cette 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 | de 128 bits semble techniquement bien adaptée aux mots manipulés | ||
Line 44: | Line 48: | ||
représentation des adresses de 16 octets a nécessité l'abandon de | représentation des adresses de 16 octets a nécessité l'abandon de | ||
la notation décimale pointée pour une nouvelle notation | la notation décimale pointée pour une nouvelle notation | ||
− | hexadécimale (cf. | + | hexadécimale (cf. activité suivante), qui est un compromis |
raisonnable pour la manipulation des adresses par les administrateurs | raisonnable pour la manipulation des adresses par les administrateurs | ||
− | "réseau". Pour | + | "réseau". Pour la plupart des utilisateurs, l'auto-configuration et la |
− | banalisation des services de nommage (DNS Domain Name Service) et des | + | banalisation des services de nommage (DNS - ''Domain Name Service'') et des |
− | annuaires "réseaux" suppléeront, comme pour IPV4, la nécessité | + | annuaires "réseaux" suppléeront, comme pour IPV4, la nécessité d'avoir à manipuler directement les adresses. |
− | d'avoir à manipuler directement les adresses. | + | |
Les principes de structuration de cet adressage dérivent des | Les principes de structuration de cet adressage dérivent des | ||
− | techniques déjà utilisées en IPv4 | + | 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) | + | 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 |
− | des tables de routage, généralisant la méthode dite CIDR | + | 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 cœur 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 maintenir la taille des tables de routage de cœur du réseau dans des proportions raisonnables. |
− | 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 | + | |
− | opérateurs de | + | |
− | 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 | + | |
− | 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 | 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 | + | 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 ; | * dès le début, le plan d'adressage est hiérarchisé, éliminant les longs préfixes ; | ||
Line 92: | Line 83: | ||
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. | 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. | ||
<ref> | <ref> | ||
− | Cornu, Jean-Michel (2001) AFING: Fondation Internet Nouvelle Génération <br>[http:// | + | Cornu, Jean-Michel (2001) AFING: Fondation Internet Nouvelle Génération <br>[http://cornu.viabloga.com/texts/ipv6-et-adressage#exemple_ce_que_represente_le_nombre_d_adresses_ipv6]</ref> |
Sans tomber dans l'optimisme béat de ces grandeurs, ni le pessimisme primitif | Sans tomber dans l'optimisme béat de ces grandeurs, ni le pessimisme primitif | ||
Line 102: | Line 93: | ||
espace devrait lui offrir une certaine pérennité. Il est toutefois | espace devrait lui offrir une certaine pérennité. Il est toutefois | ||
difficile de prévoir l'utilisation des adresses dans le futur. | difficile de prévoir l'utilisation des adresses dans le futur. | ||
− | Ainsi, par exemple, le plan d'adressage actuellement mis en | + | Ainsi, par exemple, le plan d'adressage actuellement mis en œuvre |
utilise un identifiant d'équipement de 64 bits, c'est-à-dire la | 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 | moitié de la taille de l'adresse. En fait, ce genre de calcul n'est | ||
Line 108: | Line 99: | ||
taille fixe, qui simplifie le traitement de l'en-tête des | taille fixe, qui simplifie le traitement de l'en-tête des | ||
datagrammes. | datagrammes. | ||
+ | |||
+ | == Allocation d'adresses == | ||
+ | Un équipement peut posséder plusieurs interfaces de communication. Ainsi, un routeur dispose d'interfaces multiples le connectant à plusieurs réseaux sur lesquels il aiguillera les paquets. De même, nos équipements numériques du quotidien disposent de manière banalisée de diverses interfaces de communication telles que wifi, 5G, bluetooth, USB, ou Ethernet. De plus, '''en IPv6, il est important de noter que chacune de ces interfaces supporte généralement plusieurs adresses distinctes simultanément'''. | ||
+ | |||
+ | L'allocation des adresses IPv6 à ces interfaces est assurée à la configuration de l'équipement par l'administrateur du réseau, soit manuellement, soit automatiquement. Un ensemble de fonctions de gestion regroupées sous le terme générique anglo-saxon IPAM, signifiant ''IP Address Management'', facilite la cohérence de ces allocations. Des mécanismes d'auto-configuration des interfaces peuvent également automatiser l'allocation dynamique des adresses. Ils seront présentés dans une prochaine séquence consacrée à la mise en opération d'un réseau IPv6. | ||
== Durée de vie d'une adresse == | == 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 (quelquefois 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 les bits à 1). L'adresse "lien-local" a une durée de vie illimitée. | |
− | 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 | + | |
− | Les adresses IPv6 sont donc | + | |
− | des équipements. L'attribution d'une adresse à une interface est | + | |
− | faite temporairement. | + | |
− | utilisée comme adresse | + | |
− | de 30 jours mais cette durée peut être | + | |
− | 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 à | + | 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à. |
− | passer d'une adresse à une autre. Lors de cette opération, il n'est | + | |
− | pas souhaitable de changer brusquement d'adresse, | + | |
− | connexions TCP en cours, qui l' | + | |
− | seraient brutalement coupées. Ceci pourrait entraîner des | + | |
− | perturbations | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | 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. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <center>[[Image: | + | * 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. <br> | ||
+ | * 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é. | ||
+ | <center> | ||
+ | [[Image:A11-fig2b.jpg|400px|center|thumb|Figure 2 : États successifs d'une adresse sur une interface.]] | ||
</center> | </center> | ||
− | == Conclusion | + | == 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. --> | |
− | + | ||
− | + | L'adresse est un élément essentiel dans un réseau de communication. Cette activité nous a montré qu'une adresse IP n'est pas qu'un simple paramètre numérique abstrait d'un équipement. L'adresse assure un véritable support fonctionnel d'identification et d'aboutissement des communications. Dans les prochaines activités, nous aborderons le format standard de représentation de l'adresse, reconnu par l'ensemble de l'écosystème IP, ainsi que sa structure distinguant plusieurs catégories d'adresses associées aux différents types de communication. | |
− | D'autres aspects vont être | + | |
− | * la notation des adresses IPv6 | + | D'autres aspects vont être développés dans les prochaines activités, notamment : |
− | * les différents types d'adresses | + | * la notation des adresses IPv6 ; |
− | * l'utilisation des adresses | + | * les différents types d'adresses ; |
+ | * l'utilisation des adresses. | ||
== Références bibliographiques == | == Références bibliographiques == | ||
Line 168: | Line 136: | ||
== Pour aller plus loin== | == Pour aller plus loin== | ||
+ | |||
+ | <!-- RFC et leur analyse par S. Bortzmeyer : | ||
+ | |||
+ | * RFC 4291 IP Version 6 Addressing Architecture [http://www.bortzmeyer.org/4291.html Analyse] | ||
+ | |||
+ | --> | ||
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). |
− | + | ||
* 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 6830 Locator/ID Separation Protocol (LISP) [https://www.bortzmeyer.org/6830.html analyse], dépréciée par RFC 9300 The Locator/ID Separation Protocol (LISP) et RFC 9301 Locator/ID Separation Protocol (LISP) Control Plane | ||
+ | * 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 9299 An Architectural Introduction to the Locator/ID Separation Protocol (LISP) [https://www.bortzmeyer.org/9299.html analyse] |
Latest revision as of 22:50, 8 January 2023
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. Par exemple, lorsqu'un télétravailleur 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 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 de 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 la plupart 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 cœur 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 maintenir 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
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 œuvre 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.
Allocation d'adresses
Un équipement peut posséder plusieurs interfaces de communication. Ainsi, un routeur dispose d'interfaces multiples le connectant à plusieurs réseaux sur lesquels il aiguillera les paquets. De même, nos équipements numériques du quotidien disposent de manière banalisée de diverses interfaces de communication telles que wifi, 5G, bluetooth, USB, ou Ethernet. De plus, en IPv6, il est important de noter que chacune de ces interfaces supporte généralement plusieurs adresses distinctes simultanément.
L'allocation des adresses IPv6 à ces interfaces est assurée à la configuration de l'équipement par l'administrateur du réseau, soit manuellement, soit automatiquement. Un ensemble de fonctions de gestion regroupées sous le terme générique anglo-saxon IPAM, signifiant IP Address Management, facilite la cohérence de ces allocations. Des mécanismes d'auto-configuration des interfaces peuvent également automatiser l'allocation dynamique des adresses. Ils seront présentés dans une prochaine séquence consacrée à la mise en opération d'un réseau IPv6.
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 (quelquefois 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 les 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é.
Conclusion
L'adresse est un élément essentiel dans un réseau de communication. Cette activité nous a montré qu'une adresse IP n'est pas qu'un simple paramètre numérique abstrait d'un équipement. L'adresse assure un véritable support fonctionnel d'identification et d'aboutissement des communications. Dans les prochaines activités, nous aborderons le format standard de représentation de l'adresse, reconnu par l'ensemble de l'écosystème IP, ainsi que sa structure distinguant plusieurs catégories d'adresses associées aux différents types de communication.
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
- ↑ Bortzmeyer, S. (2009) Création du groupe de travail IETF sur LISP.
- ↑
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 :
- Bortzmeyer, S. Séparation de l'identificateur et du localisateur dans Internet
- Meyer, D. (2008). Cisco Internet Protocol Journal, Vol. 11, No. 1.
The Locator Identifier Separation Protocol (LISP). - Gurtov, A. and Komu, M. (2009). Internet Protocol Journal, Vol. 12, No. 1. page 27
Host Identity Protocol: Identifier/Locator Split for Host Mobility and Multihoming. - RFC 6830 Locator/ID Separation Protocol (LISP) analyse, dépréciée par RFC 9300 The Locator/ID Separation Protocol (LISP) et RFC 9301 Locator/ID Separation Protocol (LISP) Control Plane
- RFC 7215 Locator/Identifier Separation Protocol (LISP) Network Element Deployment analyse
- RFC 9063 Host Identity Protocol Architecture analyse
- RFC 9299 An Architectural Introduction to the Locator/ID Separation Protocol (LISP) analyse