Difference between revisions of "MOOC:Compagnon Act03-f"
From Livre IPv6
(→Activité 03 : Prise en main de la plateforme des activités pratiques) |
(→Mesure 2 : NAT (Network Address Translation)) |
||
(102 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | __NOTOC__ | + | __NOTOC__ |
− | = | + | = Activité 03 : Évolution de l'Internet = |
+ | <!-- {{Decouverte}} --> | ||
− | + | == Introduction == | |
+ | En 40 ans, Internet a connu une croissance exponentielle en termes de nombre de réseaux connectés et de nombre d’hôtes connectés. Internet connecte aujourd'hui 4,8 milliards d’utilisateurs soit 59 % de la population mondiale. A travers des graphiques et l'histoire récente des technologies associées, nous allons voir comment cette évolution s’est produite. | ||
− | == | + | <!--{{nouvelle version}}--> |
+ | |||
+ | == Les différentes phases de l’évolution d’Internet == | ||
+ | La figure 1 reprend le graphique de Peter Magnusson <ref> The Internet Revolution – History and Significance https://petersmagnusson.org/2010/06/06/the-internet-revolution-history-and-significance/ </ref> | ||
+ | qui présente des années 70 à 2000, une croissance en 3 phases, pour arriver à environ 100 millions d'hôtes connectés. | ||
− | |||
<center> | <center> | ||
− | [[ | + | [[Image:03-fig1.png|300px|center|thumb|Figure 1: Internet Evolution (Internet Society). |
+ | ]] | ||
</center> | </center> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | === La première phase : expérimentale === | |
+ | La première phase est dite expérimentale et court de 1969 à 1986 | ||
+ | <ref>Internet Society: Brief History of the Internet https://www.internetsociety.org/internet/history-internet/brief-history-internet/</ref>, environ. En pleine guerre froide, le DARPA (Département de la Défense Américaine) souhaite interconnecter différents sites avec un contrôle décentralisé afin d’éviter une attaque du centre de contrôle qui pourrait affecter le fonctionnement de tout le réseau et des autres sites. Sur la figure 2, on voit le plan du réseau ARPANET en 1973. En 1971, ce réseau comprend 23 nœuds et 111 nœuds en 1977. | ||
− | |||
<center> | <center> | ||
− | [[ | + | [[Image:03-fig2.jpg|400px|center|thumb|Figure 2: Carte d’ARPANET en 1973. |
+ | ]] | ||
</center> | </center> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | === Les fondements : intelligence répartie et mode non connecté === |
− | L' | + | L'intelligence répartie sur tous les éléments est le principe fondateur de l'Internet. Ce qui est révolutionnaire pour l’époque où tous les réseaux de télécommunication mais aussi les sytèmes informatiques étaient bâti sur un contrôle centralisé. Dans ces réseaux centralisés, le centre de contrôle gérait tout le fonctionnement du réseau, notamment pour construire les tables de routage utilisées par les noeuds, mais aussi pour établir une connexion entre deux utilisateurs afin de transférer des données (en mode connecté). Le mode réparti va donc être décliné dans les premiers protocoles développés. Contrairement au routage centralisé, tous les noeuds du réseau participent au routage en s'envoyant des informations de connectivité afin que chaque routeur construise sa table de routage. |
− | + | === IPv4 === | |
− | + | ||
− | + | ||
− | + | ||
− | ''' | + | 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 (Internet Protocol) 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. Ce RFC définit d'une part, l'adresse sur 32 bits et son format en 2 champs de longueur variable et d'autre part, le paquet, son unité de données de transfert. |
+ | 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 (2<sup>32</sup> 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 <ref>Internet History of 80s, https://www.computerhistory.org/internethistory/1980s/</ref>. 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. | ||
− | + | === La seconde phase : l’expansion === | |
− | + | En 1983, le réseau Arpanet a été séparé du réseau militaire pour rester utilisé par des écoles et des universités américaines. L'intégration par l'Université de Berkeley des protocoles TCP/IP dans le noyau du système d'exploitation Unix est un événement très important qui va accélérer la diffusion des protocoles de l'Internet et son adhésion par le plus grand nombre. | |
− | + | Les années 80 voient la généralisation des stations de travail sous Unix autonomes mais avec des capacités limitées en termes de puissance de calcul et de capacité de stockage disque. Ces stations ont besoin de communiquer entre elles pour l'accès à des ressources partagées comme le système de fichiers ou les imprimantes. La pile TCP/IP va être massivement utilisée pour ces communications locales puis mondiales. | |
− | + | <!--Elles utilisent le système UNIX, un système évolutif et multi-tâches qui est le premier système non propriétaire programmé en langage C.--> | |
− | + | En effet, les protocoles Internet proposent des applications de communication inter-personnelle comme le mail, le transfert de fichiers, ou les news. Très vite, les chercheurs et les ingénieurs vont les adopter pour échanger des informations scientifiques entre collègues du monde entier. Ces utilisateurs experts <!-- qui ne sont pas rebutés par des lignes de commandes et parlent couramment anglais--> vont réaliser des tests en vraie grandeur de l'Internet. | |
− | + | ||
− | + | === La troisième phase : l’universalité === | |
− | + | ||
− | + | ||
− | + | 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. 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. | |
+ | En parallèle, dans les années 90, la micro-informatique se développe dans les entreprises et chez les particuliers qui commencent à s'équiper d'ordinateurs personnels assez basiques mais très économiques. Et grâce à la technologie ADSL, dès la fin des années 90, le débit d'accès va être dopé en utilisant toute la capacité des paires téléphoniques. Une autre avancée technologique vient de la généralisation des interfaces graphiques qui va simplifier l'accès des utilisateurs aux informations et aux commandes du système. Ainsi, grâce à la souris, aux fenêtres, boutons et autres barres de défilement, l’utilisateur n’a plus besoin de connaître les commandes Unix ! | ||
− | + | Les informations contiennent toujours des textes mais sont aussi enrichies par des images, des sons et des vidéos. Dès cette époque, dans l'Internet se pose le problème de la recherche d'informations dans ce réseau mondial avec des contenus toujours plus nombreux. Les premiers moteurs de recherche font leur apparition [ref sur moteurs] . Mais le progrès le plus significatif a été le développement de l'application Web, connu aussi sous le nom ''World Wide Web''. Cette application, dite client-serveur, se compose d'un navigateur, programme qui s’exécute sur le terminal de l’utilisateur et d’un serveur Web qui gère des contenus. La communication entre navigateur et serveur se fait à travers l’Internet. | |
+ | Le serveur Web propose des contenus tels que des pages HTML, des sons, des images ou des vidéos. Un fichier HTML est une description de la page Web à afficher et des objets qu’elle contient. Le navigateur envoie des requêtes au serveur pour obtenir cette page et ses objets. En réponse, le serveur lui envoie le fichier HTML et les objets. Le navigateur réalise le formattage des contenus reçus pour les afficher sur le terminal de l’utilisateur. | ||
+ | Dans cette page, des éléments sont mis en évidence et peuvent être ‘’cliqués’’ pour accéder directement à une nouvelle page. Grâce aux liens ‘hypertexte’ qui chaînent les pages entre elles, les contenus sont faciles à trouver. Au fur et à mesure, les contenus se sont enrichis dans toutes les langues et dans tous les pays du monde, rendant le Web plus proche et plus attractif pour les particuliers. | ||
− | + | === La quatrième phase : l’explosion === | |
− | ''' | + | Dès les années 2010, la croissance a continué de manière exponentielle pour arriver à 4,5 milliards d'utilisateurs soit 59% de la population mondiale. La 4ème phase que nous vivons actuellement pourrait s’appeler l’explosion ! |
+ | Quatre phénomènes expliquent cette croissance sans précédent. | ||
+ | * D'abord, le nombre d'hôtes utilisant Internet a augmenté car les consoles de jeux, les tablettes ou les télévisions sont maintenant connectés à Internet . Il y a désormais 4 à 5 terminaux ou ‘’écrans’’ par personne. <!-- : smartphone, tablette, PC entreprise, PC portable, ou la console de jeux. --> | ||
+ | <!-- : On parle ''d'écrans'' car souvent l'utilisateur se contentent de regarder une vidéo.--> | ||
+ | * Les 3èmes et 4èmes générations des réseaux mobiles permettent désormais à des terminaux intelligents comme les smartphones, de transférer non seulement de la voix mais aussi des données, des images et des vidéos. | ||
+ | Comme on le constate sur ce schéma qui représente une minute d'utilisation d'Internet, de nouvelles applications sont massivement utilisées par les internautes comme la vidéo à la demande et le streaming, les réseaux sociaux, le pair-à-pair ou les jeux. Les communications inter-personnelles vidéo se généralisent. | ||
+ | * Enfin, ces 20 dernières années, de nombreux pays émergents, en Asie, en Amérique du Sud ou en Afrique, ont connu un développement économique sans précédent. Il s'est accompagné de leur développement technologique conduisant à leur adhésion massive à l'Internet. | ||
+ | * De nouveaux usages ont dopé la demande de débit sur Internet. Ainsi la figure 3 représente une minute d'utilisation d'Internet. On constate ainsi que les nouvelles applications, telles que la vidéo à la demande et le streaming, les réseaux sociaux, le pair-à-pair ou les jeux sont massivement utilisées par les internautes. De même, les communications inter-personnelles vidéo se généralisent. | ||
<center> | <center> | ||
− | [[ | + | [[Image:03-fig3.jpg|300px|center|thumb|Figure 3:</ref This is what happens in An Internet Minute [ ]/ref>. |
+ | ]] | ||
</center> | </center> | ||
− | |||
− | + | Sur le graphique de la figure 4(a), on voit la forte progression du nombre d’utilisateurs d’Internet entre 2000 et 2010, pour chaque région du monde. Le développement économique de l’Asie lui a donné la croissance la plus forte. Le nombre d’utilisateurs a été multiplié par 7 pour prendre la tête du nombre d’internautes, à la place de l’Europe et des Etats-Unis. En fait, le nombre d’utilisateurs de l’Internet augmente plus vite que la croissance de la population mondiale (voir Fig.5). | |
− | + | <center> | |
− | + | {| border="0" cellspacing="4" | |
− | == | + | ! [[Image:03-fig4-penetration.png|300px]] <br>(a) |
− | + | ! [[Image:03-fig5.png|300px]] <br>(b) | |
− | + | |} | |
− | + | Figure 4: (a) Nombre d’internautes en 2000 et 2010, par régions du monde[Internet World Stats: www.pingdom.com]. | |
− | + | (b) Croissance de la population et du nombre depuis 1985. . | |
− | < | + | |
− | [[ | + | |
</center> | </center> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Le nombre d’internautes en 2020 est d’environ 4,8 milliards et représente 59% de la population mondiale. L'Internet n'avait pas été prévu pour supporter une telle croissance. La capacité d'adressage des 32 bits d'adresse, en théorie 4,3 milliards, est donc largement dépassée. | |
− | == | + | == Mesures d’urgence pour lutter contre la pénurie d’adresses == |
− | + | 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. | |
− | = | + | === Mesure 1 : CIDR (Classless Inter Domain Routing) === |
− | + | Comme on l’a vu sur la figure 4, l'accroissement du nombre d'hôtes date du début des années 90 ce qui a alerté les instances de l'Internet qui ont pris plusieurs mesures d'urgence. La première mesure a consisté à abandonner le système de classes d'adresses. En effet, les classes d’adresse utilisent une granularité d'allocation trop grossière menant à un gaspillage excessif. Un deuxième inconvénient était une représentation trop importante des très grands réseaux aux détriments des petits réseaux, qui étaient les plus nombreux. | |
+ | La méthode sans classe ou <ref> Classless Inter-Domain Routing (CIDR) [https://datatracker.ietf.org/doc/html/rfc1817] </ref>, a été mise au point en 1993, de sorte que la totalité de l'espace d'adressage unicast soit disponible. La longueur du préfixe réseau qui est variable, comme on l'a vu, est spécifiée pour chaque adresse en ajoutant à la fin "/x" où x est le nombre de bits dans le préfixe réseau. | ||
+ | Par exemple, si un FAI a besoin de 8000 adresses, avec les classes, on lui aurait allouer une classe B qui dispose de 65536 adresses d'où un énorme gaspillage ! Sans classe, on peut allouer à ce FAI un bloc /19 soit 8192 adresses ce qui est proche de son besoin. | ||
− | + | === Mesure 2 : NAT (Network Address Translation) === | |
− | + | La deuxième mesure, appelée NAT ou Network Address Translation, consiste à translater en sortie de réseau, une adresse privée vers une adresse publique. Cela permet d’économiser les adresses publiques en combinant un adressage privé dans le sous-réseau, et le partage de l'adresse publique entre les hôtes en sortie du sous-réseau. Cette translation est effectuée sur tous les paquets traversant les routeurs et les box. L’adressage privé est défini dans la <ref> RFC 1918 [https://datatracker.ietf.org/doc/html/rfc1918 ] </ref>, et permet d’utiliser 3 plages d’adresses réservées à cet usage et donc non routables : 10.0.0.0/8, 172.16.0.0/12, et 192.168.0.0/16. | |
− | + | Par exemple, sur la figure 8(a), Alice doit connecter 5 machines à la maison et son FAI lui a donc distribué 5 adresses : 123.45.67.2, 123.45.67.3, 123.45.67.4, 123.45.67.5, 123.45.67.6. | |
+ | Cependant, le FAI ne dispose pas d’un bloc d’adresses suffisant pour distribuer autant d’adresses que demandées par ses clients. En effet, les FAI ne proposent qu’une seule adresse publique dans leur forfait standard d’abonnement à Internet. En utilisant NAT, le fournisseur d’Alice ne lui alloue plus qu’une seule adresse routable et Alice a affecté à ses hôtes une adresse privée. Dans la figure 8(b), les 5 hôtes d’Alice dispose respectivement des adresses : 192.168.0.2, 192.168.0.3, 192.168.0.4, 192.168.0.5, 192.168.0.6. | ||
− | + | <center> | |
− | + | {| border="0" cellspacing="12" | |
− | + | ! [[Image:03-fig8-a.png|300px]] <br>(a) | |
+ | ! [[Image:03-fig8-b.png|300px]] <br>(b) | ||
+ | |} | ||
+ | Figure 8 : (a) Plan d'adressage sans NAT. (b) Plan d'adressage privé et NAT | ||
+ | </center> | ||
− | Le | + | Le mécanisme NAT a été ajouté aux fonctions classiques du routeur. Il consiste à translater les adresses privées internes au réseau vers l’adresse publique, routable sur l’Internet. A chaque fois qu’un paquet IP sort vers l’Internet, le routeur effectue la translation de l’adresse source de ce paquet en l’adresse publique attribuée à cet abonné. Comme plus d’une machine est connectée sur le réseau, il faut utiliser un autre champ de l’en-tête pour distinguer les hôtes sources. On utilise le port source qui est dans l’en-tête TCP ou UDP. Une table de translation NAT est maintenue par le routeur qui mémorise ainsi 4 informations : adresse IP source, numéro de port source, adresse IP translatée, numéro de port translaté. En sortie, il translate (adresse IP source, numéro de port source) vers (adresse IP translatée, numéro de port translaté) c’est-à-dire qu’il réécrit les adresse et port source dans les en-têtes IP et TCP du paquet. Quand un paquet de réponse arrive en entrée du routeur, la translation inverse est effectuée avec toujours réécriture de l’adresse et du port. |
− | + | Le mécanisme NAT engendre donc des opérations supplémentaires pour le routeur qui doit les faire pour chaque paquet. | |
− | + | ||
− | == | + | <!-- |
+ | == 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 <tt>192.168.0.0/16 </tt>largement utilisé dans les accès des particuliers. | |
− | + | {{HorsTexte|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 9 représente le cumul des adresses IPv4 consommées et l'effet des différentes mesures de réduction de consommation des adresses. <ref>Huston, G (2013). APNIC Labs. [http://labs.apnic.net/?p=335 A Primer on IPv4, IPv6 and Transition] </ref>. 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. Ce qui a permis de gagner du temps avant de passer à 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 9 montre que, depuis 2011, la pénurie est aigüe par cette chute du taux de consommation des adresses. | |
− | + | <center> | |
− | + | {| border="0" cellspacing="2" | |
− | + | ! [[Image:41-fig1-v1.png|290px]] <br> (a) | |
− | + | ! [[Image:41-fig27I.png|300px]] <br>(b) | |
− | = | + | |} |
− | + | Figure 9 : Cumul de consommation des adresses IPv4 et taux de consommation. | |
− | + | ||
− | + | ||
− | + | ||
− | < | + | |
− | [[ | + | |
</center> | </center> | ||
− | |||
− | = | + | {{HorsTexte|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.}} |
+ | <!-- | ||
+ | {| style="border-style: solid; border-width: 1px; background-color:#ededed" | ||
+ | |- | ||
+ | | 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. | ||
+ | |- | ||
+ | |} | ||
+ | --> | ||
− | + | == Limites des mesures d'urgence == | |
− | + | === Fin du bout-en-bout === | |
− | + | Cependant, la solution NAT rend la connectivité Internet coûteuse et complexe. Les serveurs qui sont dans un réseau avec adressage privé et NAT ne sont plus atteignables et des techniques de contournement ont dû être mise 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, n'est mémorisé 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 donc changé l'architecture de l'Internet, supprimant la propriété 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]. | |
− | + | === Complexité accrue === | |
− | ''' | + | Le routeur doit effectuer plus d'opérations pour chaque paquet à relayer mais NAT a aussi des conséquences sur les applications notamment client-serveur. 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. |
− | + | ||
− | + | ||
− | + | === NAT et la sécurité === | |
− | + | ||
− | + | 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 <ref>Bortzmeyer, S. (2012) [http://www.bortzmeyer.org/nat-et-securite.html La traduction d'adresses (NAT) apporte-t-elle vraiment de la sécurité ?] </ref>. Le RFC 4864 montre comment avoir le même niveau de sécurité qu'un NAT en IPv6 sans en reprendre les inconvénients. | |
− | + | === Double-NAT === | |
− | + | ||
− | + | 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 10<ref>Huston, G. [http://www.potaroo.net/tools/ipv4/ IPv4 Address Report]</ref>. 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. | |
− | + | ||
− | + | <center> | |
− | + | [[File:Fig05.png|thumb|center|400px|Figure 10 : État du plan d'adressage IPv4 en 2015.]] | |
− | + | </center> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | 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. | |
− | + | {{HorsTexte|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"<ref>Bortzmeyer, S. (2010), [http://www.bortzmeyer.org/nats.html "Le zoo des systèmes de traduction d'adresse IP"] </ref> 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. | |
− | + | <!-- | |
− | + | Partie IPV6 Déplacée dans Act04 | |
− | + | --> | |
− | + | == Conclusion == | |
− | + | La demande d'adresses va exploser avec l'Internet des objets et l'industrie 4.0. Dans un rapport en 2020, CISCO recense environ 20 milliards d'objets connectés, avec environ 200 objets par personne. Ce nombre pourrait augmenter jusqu'à 50 milliards à terme. Il est à relativiser car le plus souvent, seulement une passerelle qui connecte les objets, accèdera à Internet.Mais même si on divise 50 milliards par 100 ou 1000, c'est colossal ! | |
− | + | ||
− | + | ||
− | + | Le protocole IPv6 en donnant une capacité d'adressage immense va permettre d'intégrer ces nouveaux usages et de redonner sa simplicité au réseau. Les institutions de la gouvernance de l'Internet ne cessent d'ailleurs d'avertir et de demander d'accélérer le passage à IPv6. Par exemple, en mai 2016, le président du RIPE a lancé un avertissement solennel sur l'épuisement des ressources en adressage IPv4 et l’impérieuse nécessité de passer sans délai à IPv6 <ref> Col, P. (2016). ZDNet. | |
+ | ''IPv6 : avertissement solennel du RIPE''. | ||
− | + | http://www.zdnet.fr/actualites/ipv6-avertissement-solennel-du-ripe-39837614.htm</ref> | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | + | <!-- | |
+ | {{TODO|inclure Note}} | ||
+ | [[Compagnon_Act02|Note]] | ||
+ | --> | ||
− | + | == Références bibliographiques == | |
− | + | ||
− | + | ||
− | + | <references /> | |
− | + | ||
− | + | == Pour aller plus loin == | |
− | + | ||
− | + | RFC et leur analyse par S. Bortzmeyer : | |
+ | * RFC 1918 Address Allocation for Private Internets [https://www.bortzmeyer.org/1918.html Analyse] | ||
− | |||
− | |||
− | + | ---- | |
− | + |
Latest revision as of 08:28, 2 March 2022
Activité 03 : Évolution de l'Internet
Introduction
En 40 ans, Internet a connu une croissance exponentielle en termes de nombre de réseaux connectés et de nombre d’hôtes connectés. Internet connecte aujourd'hui 4,8 milliards d’utilisateurs soit 59 % de la population mondiale. A travers des graphiques et l'histoire récente des technologies associées, nous allons voir comment cette évolution s’est produite.
Les différentes phases de l’évolution d’Internet
La figure 1 reprend le graphique de Peter Magnusson [1] qui présente des années 70 à 2000, une croissance en 3 phases, pour arriver à environ 100 millions d'hôtes connectés.
La première phase : expérimentale
La première phase est dite expérimentale et court de 1969 à 1986 [2], environ. En pleine guerre froide, le DARPA (Département de la Défense Américaine) souhaite interconnecter différents sites avec un contrôle décentralisé afin d’éviter une attaque du centre de contrôle qui pourrait affecter le fonctionnement de tout le réseau et des autres sites. Sur la figure 2, on voit le plan du réseau ARPANET en 1973. En 1971, ce réseau comprend 23 nœuds et 111 nœuds en 1977.
Les fondements : intelligence répartie et mode non connecté
L'intelligence répartie sur tous les éléments est le principe fondateur de l'Internet. Ce qui est révolutionnaire pour l’époque où tous les réseaux de télécommunication mais aussi les sytèmes informatiques étaient bâti sur un contrôle centralisé. Dans ces réseaux centralisés, le centre de contrôle gérait tout le fonctionnement du réseau, notamment pour construire les tables de routage utilisées par les noeuds, mais aussi pour établir une connexion entre deux utilisateurs afin de transférer des données (en mode connecté). Le mode réparti va donc être décliné dans les premiers protocoles développés. Contrairement au routage centralisé, tous les noeuds du réseau participent au routage en s'envoyant des informations de connectivité afin que chaque routeur construise sa table de routage.
IPv4
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 (Internet Protocol) 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. Ce RFC définit d'une part, l'adresse sur 32 bits et son format en 2 champs de longueur variable et d'autre part, le paquet, son unité de données de transfert. 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 [3]. 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.
La seconde phase : l’expansion
En 1983, le réseau Arpanet a été séparé du réseau militaire pour rester utilisé par des écoles et des universités américaines. L'intégration par l'Université de Berkeley des protocoles TCP/IP dans le noyau du système d'exploitation Unix est un événement très important qui va accélérer la diffusion des protocoles de l'Internet et son adhésion par le plus grand nombre.
Les années 80 voient la généralisation des stations de travail sous Unix autonomes mais avec des capacités limitées en termes de puissance de calcul et de capacité de stockage disque. Ces stations ont besoin de communiquer entre elles pour l'accès à des ressources partagées comme le système de fichiers ou les imprimantes. La pile TCP/IP va être massivement utilisée pour ces communications locales puis mondiales.
En effet, les protocoles Internet proposent des applications de communication inter-personnelle comme le mail, le transfert de fichiers, ou les news. Très vite, les chercheurs et les ingénieurs vont les adopter pour échanger des informations scientifiques entre collègues du monde entier. Ces utilisateurs experts vont réaliser des tests en vraie grandeur de l'Internet.
La troisième phase : l’universalité
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. 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. En parallèle, dans les années 90, la micro-informatique se développe dans les entreprises et chez les particuliers qui commencent à s'équiper d'ordinateurs personnels assez basiques mais très économiques. Et grâce à la technologie ADSL, dès la fin des années 90, le débit d'accès va être dopé en utilisant toute la capacité des paires téléphoniques. Une autre avancée technologique vient de la généralisation des interfaces graphiques qui va simplifier l'accès des utilisateurs aux informations et aux commandes du système. Ainsi, grâce à la souris, aux fenêtres, boutons et autres barres de défilement, l’utilisateur n’a plus besoin de connaître les commandes Unix !
Les informations contiennent toujours des textes mais sont aussi enrichies par des images, des sons et des vidéos. Dès cette époque, dans l'Internet se pose le problème de la recherche d'informations dans ce réseau mondial avec des contenus toujours plus nombreux. Les premiers moteurs de recherche font leur apparition [ref sur moteurs] . Mais le progrès le plus significatif a été le développement de l'application Web, connu aussi sous le nom World Wide Web. Cette application, dite client-serveur, se compose d'un navigateur, programme qui s’exécute sur le terminal de l’utilisateur et d’un serveur Web qui gère des contenus. La communication entre navigateur et serveur se fait à travers l’Internet. Le serveur Web propose des contenus tels que des pages HTML, des sons, des images ou des vidéos. Un fichier HTML est une description de la page Web à afficher et des objets qu’elle contient. Le navigateur envoie des requêtes au serveur pour obtenir cette page et ses objets. En réponse, le serveur lui envoie le fichier HTML et les objets. Le navigateur réalise le formattage des contenus reçus pour les afficher sur le terminal de l’utilisateur. Dans cette page, des éléments sont mis en évidence et peuvent être ‘’cliqués’’ pour accéder directement à une nouvelle page. Grâce aux liens ‘hypertexte’ qui chaînent les pages entre elles, les contenus sont faciles à trouver. Au fur et à mesure, les contenus se sont enrichis dans toutes les langues et dans tous les pays du monde, rendant le Web plus proche et plus attractif pour les particuliers.
La quatrième phase : l’explosion
Dès les années 2010, la croissance a continué de manière exponentielle pour arriver à 4,5 milliards d'utilisateurs soit 59% de la population mondiale. La 4ème phase que nous vivons actuellement pourrait s’appeler l’explosion ! Quatre phénomènes expliquent cette croissance sans précédent.
- D'abord, le nombre d'hôtes utilisant Internet a augmenté car les consoles de jeux, les tablettes ou les télévisions sont maintenant connectés à Internet . Il y a désormais 4 à 5 terminaux ou ‘’écrans’’ par personne.
- Les 3èmes et 4èmes générations des réseaux mobiles permettent désormais à des terminaux intelligents comme les smartphones, de transférer non seulement de la voix mais aussi des données, des images et des vidéos.
Comme on le constate sur ce schéma qui représente une minute d'utilisation d'Internet, de nouvelles applications sont massivement utilisées par les internautes comme la vidéo à la demande et le streaming, les réseaux sociaux, le pair-à-pair ou les jeux. Les communications inter-personnelles vidéo se généralisent.
- Enfin, ces 20 dernières années, de nombreux pays émergents, en Asie, en Amérique du Sud ou en Afrique, ont connu un développement économique sans précédent. Il s'est accompagné de leur développement technologique conduisant à leur adhésion massive à l'Internet.
- De nouveaux usages ont dopé la demande de débit sur Internet. Ainsi la figure 3 représente une minute d'utilisation d'Internet. On constate ainsi que les nouvelles applications, telles que la vidéo à la demande et le streaming, les réseaux sociaux, le pair-à-pair ou les jeux sont massivement utilisées par les internautes. De même, les communications inter-personnelles vidéo se généralisent.
Sur le graphique de la figure 4(a), on voit la forte progression du nombre d’utilisateurs d’Internet entre 2000 et 2010, pour chaque région du monde. Le développement économique de l’Asie lui a donné la croissance la plus forte. Le nombre d’utilisateurs a été multiplié par 7 pour prendre la tête du nombre d’internautes, à la place de l’Europe et des Etats-Unis. En fait, le nombre d’utilisateurs de l’Internet augmente plus vite que la croissance de la population mondiale (voir Fig.5).
(a) |
(b) |
---|
Figure 4: (a) Nombre d’internautes en 2000 et 2010, par régions du monde[Internet World Stats: www.pingdom.com]. (b) Croissance de la population et du nombre depuis 1985. .
Le nombre d’internautes en 2020 est d’environ 4,8 milliards et représente 59% de la population mondiale. L'Internet n'avait pas été prévu pour supporter une telle croissance. La capacité d'adressage des 32 bits d'adresse, en théorie 4,3 milliards, est donc largement dépassée.
Mesures d’urgence pour lutter contre la pénurie d’adresses
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.
Mesure 1 : CIDR (Classless Inter Domain Routing)
Comme on l’a vu sur la figure 4, l'accroissement du nombre d'hôtes date du début des années 90 ce qui a alerté les instances de l'Internet qui ont pris plusieurs mesures d'urgence. La première mesure a consisté à abandonner le système de classes d'adresses. En effet, les classes d’adresse utilisent une granularité d'allocation trop grossière menant à un gaspillage excessif. Un deuxième inconvénient était une représentation trop importante des très grands réseaux aux détriments des petits réseaux, qui étaient les plus nombreux. La méthode sans classe ou [4], a été mise au point en 1993, de sorte que la totalité de l'espace d'adressage unicast soit disponible. La longueur du préfixe réseau qui est variable, comme on l'a vu, est spécifiée pour chaque adresse en ajoutant à la fin "/x" où x est le nombre de bits dans le préfixe réseau. Par exemple, si un FAI a besoin de 8000 adresses, avec les classes, on lui aurait allouer une classe B qui dispose de 65536 adresses d'où un énorme gaspillage ! Sans classe, on peut allouer à ce FAI un bloc /19 soit 8192 adresses ce qui est proche de son besoin.
Mesure 2 : NAT (Network Address Translation)
La deuxième mesure, appelée NAT ou Network Address Translation, consiste à translater en sortie de réseau, une adresse privée vers une adresse publique. Cela permet d’économiser les adresses publiques en combinant un adressage privé dans le sous-réseau, et le partage de l'adresse publique entre les hôtes en sortie du sous-réseau. Cette translation est effectuée sur tous les paquets traversant les routeurs et les box. L’adressage privé est défini dans la [5], et permet d’utiliser 3 plages d’adresses réservées à cet usage et donc non routables : 10.0.0.0/8, 172.16.0.0/12, et 192.168.0.0/16.
Par exemple, sur la figure 8(a), Alice doit connecter 5 machines à la maison et son FAI lui a donc distribué 5 adresses : 123.45.67.2, 123.45.67.3, 123.45.67.4, 123.45.67.5, 123.45.67.6. Cependant, le FAI ne dispose pas d’un bloc d’adresses suffisant pour distribuer autant d’adresses que demandées par ses clients. En effet, les FAI ne proposent qu’une seule adresse publique dans leur forfait standard d’abonnement à Internet. En utilisant NAT, le fournisseur d’Alice ne lui alloue plus qu’une seule adresse routable et Alice a affecté à ses hôtes une adresse privée. Dans la figure 8(b), les 5 hôtes d’Alice dispose respectivement des adresses : 192.168.0.2, 192.168.0.3, 192.168.0.4, 192.168.0.5, 192.168.0.6.
(a) |
(b) |
---|
Figure 8 : (a) Plan d'adressage sans NAT. (b) Plan d'adressage privé et NAT
Le mécanisme NAT a été ajouté aux fonctions classiques du routeur. Il consiste à translater les adresses privées internes au réseau vers l’adresse publique, routable sur l’Internet. A chaque fois qu’un paquet IP sort vers l’Internet, le routeur effectue la translation de l’adresse source de ce paquet en l’adresse publique attribuée à cet abonné. Comme plus d’une machine est connectée sur le réseau, il faut utiliser un autre champ de l’en-tête pour distinguer les hôtes sources. On utilise le port source qui est dans l’en-tête TCP ou UDP. Une table de translation NAT est maintenue par le routeur qui mémorise ainsi 4 informations : adresse IP source, numéro de port source, adresse IP translatée, numéro de port translaté. En sortie, il translate (adresse IP source, numéro de port source) vers (adresse IP translatée, numéro de port translaté) c’est-à-dire qu’il réécrit les adresse et port source dans les en-têtes IP et TCP du paquet. Quand un paquet de réponse arrive en entrée du routeur, la translation inverse est effectuée avec toujours réécriture de l’adresse et du port. Le mécanisme NAT engendre donc des opérations supplémentaires pour le routeur qui doit les faire pour chaque paquet.
La figure 9 représente le cumul des adresses IPv4 consommées et l'effet des différentes mesures de réduction de consommation des adresses. [6]. 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. Ce qui a permis de gagner du temps avant de passer à 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 9 montre que, depuis 2011, la pénurie est aigüe par cette chute du taux de consommation des adresses.
(a) |
(b) |
---|
Figure 9 : 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.
Limites des mesures d'urgence
Fin du bout-en-bout
Cependant, la solution NAT rend la connectivité Internet coûteuse et complexe. Les serveurs qui sont dans un réseau avec adressage privé et NAT ne sont plus atteignables et des techniques de contournement ont dû être mise 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, n'est mémorisé 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 donc changé l'architecture de l'Internet, supprimant la propriété 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].
Complexité accrue
Le routeur doit effectuer plus d'opérations pour chaque paquet à relayer mais NAT a aussi des conséquences sur les applications notamment client-serveur. 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.
NAT et la sécurité
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 [7]. Le RFC 4864 montre comment avoir le même niveau de sécurité qu'un NAT en IPv6 sans en reprendre les inconvénients.
Double-NAT
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 10[8]. 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.
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"[9] 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.
Conclusion
La demande d'adresses va exploser avec l'Internet des objets et l'industrie 4.0. Dans un rapport en 2020, CISCO recense environ 20 milliards d'objets connectés, avec environ 200 objets par personne. Ce nombre pourrait augmenter jusqu'à 50 milliards à terme. Il est à relativiser car le plus souvent, seulement une passerelle qui connecte les objets, accèdera à Internet.Mais même si on divise 50 milliards par 100 ou 1000, c'est colossal !
Le protocole IPv6 en donnant une capacité d'adressage immense va permettre d'intégrer ces nouveaux usages et de redonner sa simplicité au réseau. Les institutions de la gouvernance de l'Internet ne cessent d'ailleurs d'avertir et de demander d'accélérer le passage à IPv6. Par exemple, en mai 2016, le président du RIPE a lancé un avertissement solennel sur l'épuisement des ressources en adressage IPv4 et l’impérieuse nécessité de passer sans délai à IPv6 [10]
Références bibliographiques
- ↑ The Internet Revolution – History and Significance https://petersmagnusson.org/2010/06/06/the-internet-revolution-history-and-significance/
- ↑ Internet Society: Brief History of the Internet https://www.internetsociety.org/internet/history-internet/brief-history-internet/
- ↑ Internet History of 80s, https://www.computerhistory.org/internethistory/1980s/
- ↑ Classless Inter-Domain Routing (CIDR) [1]
- ↑ RFC 1918 [2]
- ↑ Huston, G (2013). APNIC Labs. A Primer on IPv4, IPv6 and Transition
- ↑ Bortzmeyer, S. (2012) La traduction d'adresses (NAT) apporte-t-elle vraiment de la sécurité ?
- ↑ Huston, G. IPv4 Address Report
- ↑ Bortzmeyer, S. (2010), "Le zoo des systèmes de traduction d'adresse IP"
- ↑ Col, P. (2016). ZDNet. IPv6 : avertissement solennel du RIPE. http://www.zdnet.fr/actualites/ipv6-avertissement-solennel-du-ripe-39837614.htm
Pour aller plus loin
RFC et leur analyse par S. Bortzmeyer :