MOOC:Compagnon Act03-f

From Livre IPv6

Revision as of 17:06, 29 June 2021 by Panelli (Talk | contribs) (Conclusion)

Activité 03 : Évolution de l'Internet

Vous suivez une activité de découverteGrad cap.png

Introduction

IPv4 à l'origine de l'Internet

Au début des années 1980, alors que s'opérait l'interconnexion de différents réseaux informatiques pour créer l'Internet que nous connaissons aujourd'hui, IP s'est imposé comme le protocole standard de l'Internet. L'organisme de standardisation IETF spécifie la version 4 du protocole IP (IPv4) dans le document RFC 791, daté de 1981. En 1983, le réseau étasunien ARPANET choisit la pile TCP/IPv4 comme le standard de communication pour les équipements et les réseaux souhaitant se connecter. Ce choix s'est ensuite imposé sur l'ensemble des réseaux et des systèmes de ce qui allait devenir ensuite l'Internet.

Le protocole IPv4 a été un élément décisif dans le passage à l'échelle de l'Internet. Ses spécifications généralisent les propriétés importantes de connectivité globale et de contrôle de bout en bout. Elles définissent pour les adresses IP une longueur fixe de 32 bits. IPv4 permet ainsi de définir un nombre important d'adresses (232 soit plus de 4,3 milliards), donc autant d'identifiants attribués à chaque équipement connecté. Au moment où ont été définies ces spécifications, le réseau ARPANET comptait quelques centaines d'équipements. En 1987, ce nombre dépassa les 10 000 puis 160 000 à la fin de l'année 1989 [1]. La capacité d'adressage d'IPv4 semblait alors suffisante pour pouvoir répondre au besoin de nouvelles connexions, même si celui-ci augmentait rapidement.

Au début des années 1990, le réseau précurseur ARPANET a laissé sa place à l'interconnexion des réseaux que nous appelons aujourd'hui l'Internet. Au même moment est apparue une nouvelle application utilisant les capacités de communication de l'Internet : le World Wide Web. Très simple d'utilisation, permettant de consulter des contenus de plus en plus riches, le Web a vite créé un nouveau besoin de connexion à l'Internet, notamment chez les particuliers qui s'équipaient alors massivement avec des ordinateurs personnels. L'Internet devint alors mondial, se structurant par l'interconnexion des opérateurs publics et privés des différents pays. En 1992, le nombre d'équipements connectés à l'Internet dépasse le million.


Où en est IPv4 ?

L'Internet vit depuis des années en situation de pénurie d'adresses. Cette pénurie d'adresses a été prédite dès le milieu des années 1990, peu après la naissance du Web. Des mesures palliatives ont été prises pour ralentir la consommation des adresses et ralentir l'apparition de la pénurie complète des adresses IPv4. La première mesure a été de retenir une méthode plus efficace d'attribution des adresses IPv4 en s'appuyant sur des longueurs de préfixe réseau de taille variable. Ce changement connu sous le nom de CIDR (Classless Inter-Domain Routing) n'était pas suffisant. Il fallait toujours une adresse IP par nœud se connectant à l'Internet. La seconde mesure a été de restreindre l'attribution des adresses aux nœuds par une allocation temporaire et non plus permanente. Ceci revient plus exactement à partager, dans le temps, une adresse IP entre plusieurs nœuds. Ce partage des adresses a validé le constat qu'il y a bien une pénurie d'adresses dans l'Internet. En pratique, le partage des adresses IPv4 a été possible avec l'introduction de la fonction de NAT (Network Address Translation) [RFC 2663] dans le routeur et le recours à l'adressage privé [RFC 1918], comme le préfixe 192.168.0.0/16 largement utilisé dans les accès des particuliers.

Plan d'adressage privé IPv4 RFC1918

Le plan d'adressage privé [RFC 1918] réserve des préfixes pour des réseaux de différentes tailles qui sont dans l'ordre décroissant : 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. Ces préfixes sont non routables sur l'Internet public, mais les réseaux issus de ces préfixes peuvent être routés sur des topologies privatives (réseaux de campus, réseaux d'entreprise, réseaux domestiques...).

Un ensemble de nœuds derrière le NAT et identifié par l'adressage privé (routable sur une topologie privative) se partage une ou plusieurs adresses IP globales (aussi appelés adresses publiques, routables sur l'Internet public). Le NAT est une fonction de la "box" (routeur résidentiel) que chacun utilise à domicile pour accéder à Internet. Le NAT remplace dynamiquement les adresses privées par des adresses globales dans un sens et inversement dans l'autre sens. Lorsque qu'il n'y a qu'une simple adresse IP globale de disponible, à partager entre plusieurs machines d'adresse privée, la mise en correspondance avec cette adresse globale nécessite d'utiliser le numéro de port. Dans ce cas, en plus de traduire l'adresse, le NAT change aussi le numéro de port, on parle alors de NAPT (Network Address and Port Translation).

La figure 1 représente le cumul des adresses IPv4 consommées et l'effet des mesures de réduction de consommation des adresses.[2]. Les adresses IPv4 sont exprimées par le préfixe de longueur 8 bits. Cette figure montre bien une diminution du taux de consommation des adresses IPv4. Du temps était ainsi gagné pour promouvoir une solution définitive. Mais le développement de l'Internet dans la téléphonie mobile et la banalisation des accès ADSL ont accéléré la pénurie. Le graphique (b) de la figure 1 montre que, depuis 2011, la pénurie est aigüe par cette chute du taux de consommation des adresses.

41-fig1-v1.png
(a)
41-fig27I.png
(b)

Figure 1 : Cumul de consommation des adresses IPv4 et taux de consommation.

Notation "/8"

Dans les diagrammes montrant l'usage des adresses IPv4, celles-ci sont agrégées par "/8". Comme l'espace d'adressage IPv4 est un champ de 32 bits, il y a 4 294 967 296 valeurs uniques représentées dans ce contexte par une séquence de 256 "/8" bits où chaque "/8" correspond à 16 777 216 adresses uniques.

Cependant, la solution du NAT rend la connectivité Internet coûteuse et complexe. Le code réseau des applications devient de plus en plus complexe et donc coûteux à développer du fait des techniques de contournement à mettre en œuvre pour que les applications retrouvent une connectivité globale (à savoir, pouvoir être appelées ou appelantes). De plus, le NAT introduit un état dans le réseau qui fragilise la robustesse du système de communication. Il convient ici de ne pas oublier qu'un principe fondateur de l'Internet est de rendre le fonctionnement de l'infrastructure de communication indépendante du fonctionnement des producteurs et consommateurs de données. Ce principe connu sous le nom de "bout en bout" a conduit à définir le service réseau en mode "non connecté". Aucune marque ou état, issu d'une communication, ne se matérialise dans le réseau : tout est indiqué dans le paquet. On parle d'unité de transfert auto-descriptive. L'en-tête du paquet comporte toutes les informations pour aller de la source à la destination. Le NAT est en complète contradiction avec ce principe. Le paquet n'est plus auto-descriptif de la source à la destination car chaque passerelle NAT traversée modifie les informations de l'acheminement du paquet. On peut considérer que chaque NAT traversé conduit à constituer un tronçon du chemin pour atteindre la destination. C'est cette succession de tronçons qui devient le chemin de la source à la destination. On peut voir que, d'une infrastructure de communication de bout en bout, l'Internet a évolué vers une infrastructure de communication devant gérer des changements de tronçons. Or, ces changements de tronçons demandent des états complexes à gérer en mode "non connecté", ce qui rend le système fragile. En effet, une panne d'un NAT suffit à interrompre toutes les communications le traversant, ce qui n'est pas le cas quand cela arrive à un routeur. Certes, des solutions existent, à base de redondances de NAT, pour maintenir la disponibilité de ce dispositif. Ces solutions sont coûteuses et complexes à mettre en œuvre et ne constituent pas le cas courant.

L'introduction du NAT a changé l'architecture de l'Internet : il n'y a plus de bout en bout [RFC 2993]. La conséquence est que déployer des nouveaux services ou des nouveaux protocoles de transport est devenu quasi impossible. Car, non seulement NAT change l'adresse IP, mais il modifie souvent aussi le numéro de port situé au niveau de la couche de transport, ce qui a pour conséquence de figer les protocoles de transport actuels. L'ajout d'un nouveau protocole de transport nécessite de mettre à jour le code de tous les NAT en activité, ce qui représente une opération quasi impossible du fait de la diversité des NAT et de leur nombre. Cette idée de rigidification de l'Internet est nommée par le terme d'"ossification". Devant cet état de fait, des réflexions sont menées dans les instances de la gouvernance Internet pour essayer de sortir de cette impasse [RFC 7663].

Le modèle d'interaction se trouve aussi, d'une certaine manière, rigidifié. Dans le modèle d'interaction client-serveur, les clients qui sont derrière le NAT peuvent s'accommoder de partager une simple adresse IP. Il en est tout autrement pour les serveurs qui ont besoin d'une adresse IP qui leur soit propre afin d'être contactés. Ainsi, ce changement architectural de l'Internet l'a transformé petit à petit en un système minimaliste à l'image des services télématiques utilisés à l'époque du minitel. Il est composé de clients et de serveurs. Les possédants d'un adressage public ont ainsi un avantage pour promouvoir leur service. Une certaine forme de contrôle des services est ainsi donnée aux hébergeurs et opérateurs. La conséquence de cette évolution est qu'il est très difficile pour un utilisateur derrière un NAT d'offrir un service. Il en est de même pour les applications de type "pair à pair" (comme la téléphonie sur IP, les jeux répartis...) qui sont devenues terriblement complexes pour contourner les difficultés introduites par le NAT pour les connexions entrantes [RFC 5128]. De fait, l'innovation dans ce type d'application est d'une certaine manière réduite. Le NAT est le composant qui participe à limiter l'apparition de nouveaux acteurs et à maintenir une certaine forme de rente pour les acteurs en place.

Enfin, certains ont vu dans le NAT un élément de sécurité d'un réseau local, dans la mesure où le NAT agit comme un filtre en bloquant les paquets entrants non sollicités. Les attaques sont de nos jours dans le contenu, au niveau de l'application, comme les chevaux de Troie ou les codes malveillants (malware) dans les pages Web. Le NAT n'améliore donc pas la sécurité car il n'apporte aucune protection contre ces attaques [3]. Le RFC 4864 montre comment avoir le même niveau de sécurité qu'un NAT en IPv6 sans en reprendre les inconvénients.

La pénurie d'adresses ne faisant que s'aggraver avec le temps, on en arrive à la situation que les adresses publiques ne sont plus suffisantes pour être attribuées aux opérateurs eux-mêmes. C'est ce que montre la figure 2[4]. Cette figure représente, sous forme d'un histogramme, l'état des allocations et donc la situation de l'adressage dans l'Internet IPv4. L'histogramme est composé de 256 barres indiquées par la valeur du premier octet de l'adresse d'IPv4 (notée ici "/8"). Pour la même valeur du premier octet, est alors indiqué l'état de l'usage des 3 autres octets. Cette figure montre qu'il ne reste quasiment plus rien à allouer (en vert). Les RIR (Regional Internet Registries) sont sur leur réserve. Ils allouent maintenant les dernières adresses publiques sous des conditions draconiennes et donc, le plus souvent, n'allouent plus d'adresses publiques.

Figure 2 : État du plan d'adressage IPv4 en 2015.

Aussi, certains opérateurs, par manque d'adresses publiques, ont recours au NAT444, encore appelée technique du "double NAT" ou CGN (Carrier Grade Nat) RFC 6888. Le réseau de l'opérateur est, lui-même, en adressage privé. Ainsi, le client de l'opérateur n'a même plus une adresse publique. Le NAT du client final se retrouve à faire un passage d'un adressage privé à un autre adressage privé. D'un point de vue de la terminologie, le NAT du client est dorénavant qualifié de NAT44 pour un changement d'adressage de derrière (le coté client) à devant (le coté opérateur) cet équipement.

Un NAT ou des NAT ?

La traduction, qui se veut une solution provisoire, s'est intégrée dans l'architecture de l'Internet comme une technique classique. À tel point qu'elle se décline en différents usages. Stéphane Bortmeyer parle du "zoo des sytèmes de traduction d'adresse IP"[5] lorsqu'il en recense les différentes évolutions.

Le déploiement des super NAT, ou NAT444, pose de nombreux problèmes. Par exemple, il était complexe pour un client d'un opérateur d'héberger un serveur derrière un NAT44, mais ceci devient maintenant impossible derrière un NAT444. Les RFC 5684 et RFC 7021 dressent d'ailleurs une liste des ennuis apparus par l'introduction des NAT444. La seule solution a toutes ces complexités réside dans le passage à IPv6 pour sortir enfin de la pénurie.

Motivations pour IPv6

C'est en partant du constat des limitations et des problèmes induits par l'utilisation d'IPv4 que les motivations en faveur de l'adoption d'IPv6 apparaissent. Il faut aujourd'hui un grand espace d'adressage. Les nouveaux usages de l'Internet avec les nouveaux objets connectés demandent énormément d'adresses. Dépasser la pénurie d'adresses, c'est ouvrir la voie à de nouveaux services, c'est laisser la porte ouverte à de nouveaux acteurs innovants, c'est pouvoir créer de nouveaux marchés pour de nouveaux besoins. Le passage à IPv6 devient une nécessité car, en attribuant une adresse à chaque nœud du réseau, la connectivité en IPv6 retrouve les principes qui ont fait le succès du fonctionnement de l'Internet, et notamment celui du "bout-en-bout". La technologie de l'infrastructure de communication retrouve sa simplicité originelle. Il n'est pas soutenable que la croissance du réseau s'effectue avec une complexité croissante comme avec IPv4. Tout ceci est bien connu et cette évolution est qualifiée par "non passage au facteur d'échelle" (not scalable). Ainsi, avec cette simplicité retrouvée, de nouveaux champs d'application s'ouvrent à l'Internet en IPv6. Le RFC 7368 en donne une illustration avec la domotique.

En plus de la simplicité retrouvée, IPv6 apporte de nouvelles fonctionalités, comme la configuration automatique d'un réseau. Avec IPv6, le réseau peut se gérer uniquement au niveau des routeurs, les stations construisant leurs adresses automatiquement, alors qu'avec IPv4, chaque équipement doit se voir attribuer une adresse et obtenir sa configuration depuis un serveur qui reste à gérer. Pour les réseaux avec un grand parc de machines, c'est d'autant plus intéressant.

Geof Huston dans l'article[6] ajoute un autre argument lié à la sécurité dans l'Internet des objets. Comme un balayage de l'espace d'adressage IPv4 prend 5 minutes, un objet peut être victime d'une action "pirate". En IPv6, l'espace d'adressage est si grand qu'il est impossible de balayer tout un réseau pour trouver les adresses utilisées, ce qui rend les nœuds quasiment indétectables. En effet, il faut 41 000 ans en IPv6 pour balayer exhaustivement un préfixe /64. Cette caractéristique sur la taille rend IPv6 indispensable pour l'Internet des objets car elle rend les objets indétectables par un simple sondage, tout en les laissant accessibles. En pratique, le RFC 7707 montre que cette affirmation n'est pas si vraie. Les adresses IPv6 peuvent être attribuées selon des conventions d'adressage comme "utiliser l'identifiant 1 pour le routeur". Des stratégies de balayage "malin" peuvent débusquer les nœuds dans un réseau. La connaissance à priori du constructeur des interfaces réseaux, donc de son identifiant OUI (Organisationnally Unique Identifier) réduira l'espace des identifiants d'interface (IID) de 64 à 24 bits, par exemple. Dissimuler les adresses IP des nœuds devient de la sécurité par l'obscurité : cela peut ralentir l'attaquant, mais cela ne doit certainement pas être utilisé comme unique moyen de défense car, tôt ou tard, l'attaquant trouvera ces adresses. Il n'en reste pas moins que le balayage est bien plus facile et rapide en IPv4 qu'en IPv6.

Où en est IPv6 ?

Depuis le premier RFC sur IPv6 publié en décembre 1995, la version IPv6 a quitté les laboratoires. L'étape de standardisation des protocoles de base de IPv6 (core specs) est achevée depuis le début des années 2000.

Une adresse IP s'utilise dans l'infrastructure de communication mais également dans les applications des systèmes d'extrémités. Dans la communication, l'adresse IP a un double rôle : localisation et identification. Comme la pénurie d'adresses IPv4 est prévue depuis longtemps, et puisque IPv6 a été conçu très tôt dans cette phase de pénurie, les fabricants et développeurs ont eu le temps de fournir des matériels compatibles IPv6. Si bien, qu'aujourd'hui, tous les équipements informatiques comportent IPv6. Les systèmes d'exploitation de tous les équipements terminaux (PC, stations de travail, imprimantes, etc.), comme ceux des périphériques intermédiaires (commutateurs, routeurs, etc.) disposent d'une pile IPv6 aisément configurable. Ceux-ci s'intègrent à un Internet v6 comme les équipements IPv4 ont pu s'intégrer à leur époque dans l'Internet v4. Il n'y a pas de réelle difficulté à faire fonctionner des équipements en IPv6 comme le note le RFC 6586. Tant qu'il s'agit d'acheminer des paquets en utilisant les adresses IPv6, il a été démontré que les traitements de niveau réseau fonctionnent sans problème. Les difficultés commencent à apparaître quand d'autres fonctions, comme la sécurité, ou dans la couche applicative, utilisent des adresses IP comme un identificateur codé sur 32 bits. Les fabricants n'ont pas toujours appliqué des procédures de test complètes, ni pu valider les équipements en IPv6. Cela est dû à un marché encore de taille modeste bien qu'en croissance. Cela devient plus compliqué pour les logiciels propriétaires ou pour les logiciels anciens dont le code source n'est pas disponible. Tout ceci n'est pas un gros problème en soi, mais c'est le risque de multiplication qui va rendre la tâche de migration délicate. C'est actuellement un facteur bloquant pour le déploiement massif d'IPv6.

En 2015, l'usage d'IPv6 vu par les serveurs de Google est proche de 7 %. La figure 3 montre l'évolution des usages[7]. Cette courbe montre un doublement de l'adoption d'IPv6 tous les ans depuis 2010. Les utilisateurs de Google peuvent émettre des requêtes en IPv6 s'ils ont un accès IPv6 offert par leur fournisseur d'accès à Internet. En aout 2016, aux USA, IPv6 représente plus de la moitié du trafic mobile vers Facebook[8].

Figure 3 : Évolution du pourcentage de requêtes reçues en IPv6 par Google.

Le figure 4[9] montre le pourcentage des organisations annonçant un préfixe IPv6. L'Europe, de manière générale, est active dans le déploiement d'IPv6 et la Belgique en particulier [10]. Pour suivre l'évolution de l'adoption d'IPv6, la page web de world ipv6 launch référence les mesures faites par différents opérateurs[11].


Figure 4 : Évolution du pourcentage d'organisations annonçant au moins un préfixe IPv6 par région.


L'adoption d'IPv6 est aussi une question de formation. Le protocole IPv6 n'est plus au stade expérimental ; il est indispensable pour un fonctionnement normal de l'Internet. Nous entendons par "normal", un fonctionnement respectant les principes fondateurs de l'Internet, dont celui du "bout en bout". Si les principes de ces deux versions d'IP sont très similaires, IPv4, nous venons de le voir, adopte de plus en plus des principes non conventionnels pour continuer à fonctionner. L'apprentissage du fonctionnement de l'Internet doit se faire de nos jours principalement avec IPv6, et accessoirement avec IPv4. Il faut rendre banale la nouvelle version du protocole IP. Dans un article[12], Geof Huston dresse une liste de fausses assertions et de rumeurs pour justifier de ne pas commencer le travail de migration vers IPv6. Si ces fausses assertions circulent, elles démontrent à quel point le besoin de formation et d'information sur la situation de l'Internet est nécessaire. Nous espérons que ce cours contribuera à combler ce manque.

Bien qu'IPv6 soit une technologie mature, le déploiement de l'Internet v6 reste encore limité. Néanmoins, son usage devient de plus en plus pressant. Non seulement l'Internet continue de grandir, mais de nouveaux usages et de nouveaux équipements apparaissent, ne faisant qu'accélérer sa croissance. Cela a été écrit : IPv4 n'est pas capable de répondre à ce défi. Et pourtant, le principal frein au passage à IPv6 est de se satisfaire de la situation présente. Le coût du passage à IPv6 constitue un investissement qui, comme tout investissement, s'amortit dans le temps et fournit un retour. Maintenir IPv4 ne produit qu'une dépense, sans aucun espoir de retour. Pire, continuer à déployer des systèmes IPv4 rend la nécessaire migration vers IPv6 plus lente et plus coûteuse. Comment procéder pour réaliser cet investissement ? C'est ce que nous allons étudier par la suite.


Conclusion

TODO: inclure Note

Note



Anciennement

Apparition des premières limitations et mesures d'urgence

L'Internet n'avait pas été prévu pour supporter une telle croissance. Chaque nouveau foyer, entreprise ou établissement se raccordant à Internet crée de nouvelles demandes en adresses IP. De plus, la topologie du réseau se complexifie avec la multiplication des sites et des opérateurs. Des projections ont alors montré que les politiques de gestion de l'Internet alors en vigueur risquaient d'entrainer une pénurie très rapide.

Les organismes régulateurs de l’Internet ont donc modifié les politiques d'attribution des adresses afin d’éviter tout gaspillage de cette ressource limitée et ainsi maintenir le développement des réseaux IPv4. Le premier changement a concerné les opérateurs. Ceux-ci se sont vu imposé de nouvelles règles dans l'attribution des blocs d'adresses [13]

Une adresse codée sur 32 bits permet théoriquement d'adresser 2^32 machines, soit à peu près 4 milliards. Ce nombre pourrait paraître au premier abord très élevé, mais les ordinateurs ne sont pas numérotés séquentiellement. Ils sont regroupés par réseaux. À chaque réseau est affecté un numéro qui est codé sur une partie des 32 bits de l'adresse des machines. On s'aperçoit alors que le nombre d'adresses "réseaux" disponibles n'est pas si important que cela et conduit à une pénurie. La tendance actuelle consiste à freiner au maximum l'allocation des adresses réseaux. Ce n'est pas un problème pour les sites déjà équipés disposant déjà de larges plages d'adresses. Cette contrainte est déjà forte pour les nouveaux sites dans les pays dits "développés" pour lesquels un grand nombre d'adresses a été réservé mais se révèle être un problème majeur pour les pays émergents où parfois moins de 10 réseaux de 250 machines ont été attribués pour l'ensemble du pays.

Les équipements d'interconnexion des réseaux, orientant les paquets vers leur destination finale, sont des routeurs. Pour prendre leurs décisions, ils consultent une table dite de routage. Le nombre de réseaux dans l'Internet croissant de manière vertigineuse, ces tables de routage deviennent de plus en plus volumineuses et difficiles à maintenir. Pour pallier ce problème, une solution d'adressage hiérarchique permettant de réunir un ensemble de numéros de réseaux contigus en un seul préfixe a été conçue (CIDR : Classless Inter Domain Routing). En plus de la réduction des tables de routage, CIDR permet aussi de réduire la surallocation d'adresses aux sites terminaux, réduisant quelque peu la pénurie d'adresses. Avec CIDR, le propriétaire de l'adresse est modifié. Dans les plans d'adressage initiaux, le site était propriétaire de son préfixe ; avec CIDR le préfixe devient la propriété de son opérateur, rendant la renumérotation du réseau nécessaire si le site change d'opérateur. Cet adressage hiérarchique a montré son efficacité opérationnelle et les règles d'adressage actuelles pour IPv6 généralisent ce principe.

Nouveaux besoins d’adressage

L’Internet a créé de nouveaux usages. Il a fait naitre aussi de nouveaux besoins de communication. De nouveaux objets communicants apparaissent aussi bien dans le domaine domestique que dans l’industrie, dans les transports, dans le milieu médical... Les 4,3 milliards d’adresses (232) du protocole IPv4 s’avèrent aujourd’hui insuffisantes pour les nouveaux usages d'Internet. Tandis que les supports de transmission et les équipements ont évolué, le protocole IPv4 a gardé des fonctionnalités historiques devenues obsolètes aujourd'hui. En plus d'une capacité d'adressage accrue, le protocole IPv6 est un retour aux principes qui ont fait le succès d'IP, garantissant efficacité, résilience et perspectives d’évolution.

Nous avons décrit une analogie de l'acheminement des données dans l'Internet avec celui du courrier dans le système postal. Un élément fondamental dans ce système est que chaque maison, pour recevoir du courrier, doit posséder une boîte aux lettres. Cette boîte est identifiée de manière unique par une adresse postale qui est renseignée sur chaque enveloppe devant être distribuée dans cette même boîte. De la même manière, une adresse postale sert à identifier de manière unique l’expéditeur de la lettre. Par analogie, on peut rapprocher les notions dans le système postal de boîte aux lettres et d’adresse postale à celles, dans l’Internet, d’interface de communication et d’adresse IP. Les paquets IP sont émis et reçus à travers l’interface de communication. Ils sont acheminés à travers l’Internet vers la destination désignée par l’adresse IP contenue dans l’en-tête de chaque paquet.

À la fin de la décennie 2010, les opérateurs de l’Internet ont commencé à ressentir sévèrement les effets de la pénurie des adresses IPv4 amorcée dès le milieu des années 1990. La prise de conscience de ce phénomène s’est amplifiée alors que les effets ont commencé à toucher le grand public, clients de ces opérateurs.

Reprenons l’analogie avec le système postal pour mieux comprendre ce problème de pénurie d’adresses IPv4. Les opérateurs de l’Internet font face à un besoin croissant de raccordements à l’Internet, notamment aujourd'hui avec la multiplication des centres de données et le développement de nouveaux usages à travers les objets connectés. Un scénario similaire serait celui d’un système postal devant s’adapter à une urbanisation effrénée. Chaque nouvelle habitation installe sa boîte aux lettres à laquelle il faut assigner une adresse postale. La contrainte, dans le cas de l’Internet, est que le stock d’adresses disponibles est limité. On est dans la situation où la numérotation des boîtes aux lettres d'une même rue serait codée uniquement sur deux chiffres (de 0 à 99 par exemple). Alors que le nombre de ces boîtes augmentent, le système ne pourra plus assigner de nouvelles adresses lorsque la limite sera atteinte. De la même façon, confrontés à la limitation du nombre d’adresses IPv4 disponibles, les opérateurs de l’Internet ont des difficultés pour attribuer des adresses IP à chaque nouveau raccordement.

Contourner la pénurie

Bien sûr, des solutions ont été trouvées pour contourner un problème qui aurait autrement signifié l’arrêt de l’expansion de l’Internet. En réalité, l’Internet a déjà connu un tel risque de pénurie au début des années 1990, lors de l’émergence de l’Internet commercial. Le nombre d’adresses IPv4 disponibles (4 milliards) semblait à ce moment suffisant.

Le second changement a porté sur l'attribution des adresses aux systèmes terminaux. L'idée a été le partage des adresses. Un système ne possède plus une adresse mais doit utiliser une adresse partagée avec d'autres systèmes. Pour mettre ce nouveau mode d'attribution des adresses IP, des dispositifs techniques ont été introduits et des plages d'adresses ont été réservées pour leur mise en œuvre. L'adresse IP à partager est attribuée à ce dispositif ; charge à lui de la partager avec les systèmes d'extrémités qui lui sont connectés. La connectivité entre cet équipement et les systèmes d'extrémités est réalisé par un réseau privé ayant une plage d'adresses spécifiques (RFC 1918).

Afin d'assurer l'interconnexion des réseaux privés avec l'Internet, ces équipements effectuent une traduction d’adresses : l'adresse privée est remplacée par l'adresse publique à partager. Techniquement, ces équipements sont appelés des NAT (Network Address Translation) et se trouvent dans les box Internet que nous avons à notre domicile. Ces équipements sont intrusifs et modifient en profondeur le mécanisme d’acheminement des paquets sur l’Internet car ils exploitent des informations au delà de l’en-tête IP. C’est un peu comme si, dans le système postal, le facteur était obligé d’ouvrir l’enveloppe du courrier et de lire le contenu de la lettre pour en connaître le destinataire. Et comme le facteur ne connait pas toutes les langues, il jèterait les lettres dont il n'est pas capable de déchiffrer le contenu. Vous en conviendrez : le service postal serait "moyen" - si on peut dire ! Dans le cas de l'Internet, cela signifie qu'un nouveau protocole inconnu d'un NAT ne peut pas le franchir. Ces paquets sont jetés par le NAT dans la mesure où il ne les comprend pas. Ce comportement est très fâcheux car il bloque l'innovation sur l'Internet. Ce phénomène connu porte le barbarisme "d'ossification". C'est la conséquence du nom respect du principe de bout en bout. Ce principe dicte une règle de distribution des fonctions qui est central dans l'architecture du réseau Internet. Il énonce que « plutôt que d’installer l’intelligence au cœur du réseau, il faut la situer aux extrémités : les nœuds au sein du réseau n’ont à exécuter que les fonctions très simples qui sont nécessaires pour les applications les plus diverses, alors que les fonctions qui sont requises par certaines applications spécifiques seulement doivent être exécutées en bordure de réseau. Ainsi, la complexité et l’intelligence du réseau sont repoussées vers ses lisières. Des réseaux simples pour des applications intelligentes. » [14] La première conclusion que nous pouvons tirer de la mise en place de cette solution à base de traduction d'adresses est que le principe fondateur de l'Internet est non respecté, ayant pour conséquence d'empêcher son évolution.

L'autre effet de ce nouveau mode d'attribution des adresses est la complexité pour pouvoir joindre un système d'extrémité qui n'a pas d'adresse propre (on parle d'adresse publique). Traditionnellement, l'interaction des applications communicantes se fait à l'initiative d'un client. Ce dernier contacte un serveur. Dans ce cas, un client peut s'accommoder de ne pas avoir d'adresse publique. Il en est tout différemment pour un serveur. Pour être contacté par le client, il doit avoir une adresse qui l'identifie sans ambigüité. Il lui faut donc une adresse publique. Le nouveau dispositif de partage d'adresses n'est pas utilisable pour un serveur. Il s'ensuit que les systèmes d'extrémités ne sont plus équivalents vis-à-vis de l'adressage. La conséquence est que, selon la façon dont il est connecté à Internet, le système d'extrémité est limité dans son rôle. Soit il ne peut être que client, soit il peut avoir un rôle de client ou de serveur. Avec le développement de la domotique, de l'internet des objets, des applications de téléphonie ou de visioconférence, il est nécessaire d'avoir des adresses publiques. L'utilisation de ces services, dans le contexte des dispositifs de partage de l'adresse publique, rend énormément compliqué leur accès et leur utilisation depuis un téléphone portable (Ceux qui ont installé une caméra IP dans leur domicile peuvent en témoigner). La seconde conséquence de l'introduction d'une connectivité à base d'un dispositif de traduction est l'impossibilité d'héberger simplement des serveurs avec des adresses privées.

A défaut d’autres solutions, ces dispositifs se sont généralisés dans l’Internet et sont aujourd’hui nécessaires pour permettre de continuer l’acheminement des paquets IPv4.

Cette séparation créée entre réseaux privés et réseaux publics pénalise la capacité de communiquer entre n'importe quel équipement connecté à l'Internet, qui était à l'origine une propriété importante de l'Internet. Elle limite aussi l'introduction de nouvelles applications ou d'installer des serveurs simplement.

Au moment de cette prise de conscience de la pénurie d’IPv4, l’IETF, organisme responsable de la standardisation des protocoles utilisés sur Internet, a lancé des travaux pour définir une nouvelle version du protocole IP, travaux qui ont abouti en 1996 au standard IPv6 (RFC 8200). Cette nouvelle version du protocole IP offre notamment une capacité d’adressage quasi-infinie, ce qui permet d’écarter le risque de pénurie. Il est donc possible grâce à la capacité d'IPv6 de déployer de nouveaux réseaux sans avoir besoin des dispositifs de translation d'adresses. La capacité d'adressage d'IPv6 permet d'attribuer aux équipements des adresses joignables directement, rendant ainsi de nouveau possible les communications de bout en bout. Le rétablissement de cette propriété est indispensable pour les nouveaux usages de l'Internet que sont les objets communicants, la santé, l'agriculture connectée, les villes intelligentes...

La bonne solution n'est pas simple à déployer

Cependant, par conception, le protocole IPv6 n’est pas compatible avec IPv4 et ces deux versions de protocole devront cohabiter le temps de la transition de l’ensemble de l’Internet vers IPv6. Par analogie, l’ancien système postal qui ne permet pas directement d’adresser les nouvelles habitations sera amené à être remplacé par un nouveau système ayant ses propres boites aux lettres, adresses et format d’enveloppe. Les deux systèmes n’étant pas compatibles, il est toujours nécessaire pour envoyer et recevoir du courrier d’une habitation dans l’ancien ou le nouveau système de posséder une boite aux lettres pour chacun de ces systèmes. Les anciennes boites aux lettres ne seront plus utiles seulement lorsque l’ensemble des correspondants n’utiliseront plus l’ancien système. S’il peut être envisagé dans un système postal de remplacer unilatéralement une version par une autre à une date choisie, il n’en va pas de même avec l’Internet qui est un système multi-acteurs faiblement coordonné. Chaque opérateur choisi indépendamment sa stratégie pour le passage à IPv6. Même si les incitations à accélérer la transition sont nombreuses, cette période de cohabitation entre les deux protocoles peut potentiellement durer encore des années. Nous reviendrons sur ce problème de la cohabitation entre les deux versions du protocole IP dans la suite de ce cours.

Références bibliographiques

  1. Internet History of 80s, https://www.computerhistory.org/internethistory/1980s/
  2. Huston, G (2013). APNIC Labs. A Primer on IPv4, IPv6 and Transition
  3. Bortzmeyer, S. (2012) La traduction d'adresses (NAT) apporte-t-elle vraiment de la sécurité ?
  4. Huston, G. IPv4 Address Report
  5. Bortzmeyer, S. (2010), "Le zoo des systèmes de traduction d'adresse IP"
  6. Huston, G. (2015) The ISP Column. The Internet of Stupid Things
  7. Google. Statistics. IPv6 Adoption
  8. Col P. (2016) ZDNet. IPv6 représente plus de la moitié du trafic mobile vers Facebook aux USA
  9. RIPE NCC. IPv6 Enabled Networks
  10. Cole, P. (2016). ZDnet. La Belgique championne du monde d'IPv6, bien loin devant la France !
  11. World IPv6 Launch IPv6 Measurements
  12. Huston, G. (2011). Cisco Internet Protocol Journal, Vol. 14, No. 1, pp. 14-21, March. Transitional Myths
  13. Wikipedia, Classless Inter-Domain Routing.
  14. Lawrence Lessig, L'Avenir des idées, 2005, Presses universitaires de Lyon, 1re partie, paragraphe 75 dans l'édition numérique des Presses.

Pour aller plus loin

RFC et leur analyse par S. Bortzmeyer :

Personal tools