Difference between revisions of "MOOC:Compagnon Act03-f"

From Livre IPv6

(Utilisation de GNS3)
(Mesure 2 : NAT (Network Address Translation))
 
(114 intermediate revisions by 6 users not shown)
Line 1: Line 1:
__NOTOC__
+
__NOTOC__  
= Activité 03 : Prise en main de la plateforme des activités pratiques =
+
= Activité 03 : Évolution de l'Internet =
Chaque séquence comporte une activité pratique qui vous permettra une mise en situation concrète sur une véritable maquette réseau représentative et complète.
+
<!-- {{Decouverte}} -->
L’objectif de ces activités est double :
+
* concrétiser les connaissances abordées durant la séquence par une mise en situation sur une maquette réseau réaliste ;
+
* vous donner des compétences opérationnelles dans le déploiement d’IPv6, ainsi que pour la résolution des problèmes que l’on peut rencontrer dans les premiers stades du déploiement.
+
  
== Pourquoi utiliser GNS3 ==
+
== Introduction ==
Certaines activités pratiques consisteront à la configuration d’un réseau IPv6 dans un outil émulant un réseau de manière très réaliste. La maquette de votre réseau est bâtie sur l'outil GNS3 qui vous permet de manipuler un réseau et ses équipements, de configurer les machines et de capturer le trafic réseau.  
+
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.
<center>
+
[[image:MoocSession5 gns3 act16 20190604.png|thumb|center|600px|Figure 1: Démarrage de GNS3]]
+
</center>
+
Chaque activité pratique propose de configurer différentes fonctions d’IPv6. A travers l’outil GNS3 vous mettrez en oeuvre, avec les privilèges d'administration, ces fonctions sur des équipements virtualisés mais fonctionnant de la même manière que des équipements réels.
+
Ces équipements communiquent à travers des liens exactement de la même façon que s’ils étaient reliés par des liens réels. Les captures réseau que vous observerez seront donc équivalentes à celles que vous pourriez faire sur un réseau réel.
+
  
== Contexte d'exécution des Travaux Pratiques ==
+
<!--{{nouvelle version}}-->
Afin d'assurer une homogéneité des contextes d'exécution, GNS3 et ses maquettes réseaux IPv6 sont empaquetés sous forme d'une image de machine virtuelle que vous pouvez exécuter, sur votre poste personnel, à travers l'outil commun de virtualisationn VirtualBox (''ou éventuellement KVM ou VMWare'').{{HorsTexte|Pourquoi les scnéarii GNS3 "Objectif IPv6" sont ils disponibles uniquement sous forme globale d'une VM ?|Les scnéarii GNS3 des TP du MOOC "Objectif IPv6" sont disponibles uniquement sous la forme d'une VM. Ils ne peuvent, pour le moment être importés nativement sous forme de projet portable dans une éventuelle installation de GNS3 sur votre poste. Les composants nécessaires (images QEMU, images des conteneurs, ''snapshots'', le paramétrage précis des conditions initiales de démarrage chaque TP...) et les dépendances aux contextes d'exécution de GNS3, ne nous permettent pas de garantir une exécution satisfaisante sur une éventuelle installation de GNS3 déjà présente sur votre poste. L'empaquetage dans une image de VM Virtualbox (exécutable éventuellement également sur les hyperviseurs KVM ou VMWare) nous offre de meilleures garanties d'exécution sur un panel plus large de postes ou systèmes individuels. }}
+
  
'''Attention : ''' ''La configuration minimale requise de votre poste de travail pour pouvoir confortablement travailler sur les activités pratiques est :''
+
== Les différentes phases de l’évolution d’Internet ==
* ''Processeur x86, 64bits, double cœurs, disposant des extensions matérielles à la virtualisation (*) ;''
+
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>
* ''RAM 2Go ;''
+
qui présente des années 70 à 2000, une croissance en 3 phases, pour arriver à environ 100 millions d'hôtes connectés.
* ''10 Go d'espace libre sur votre disque dur ;''
+
* ''Système d'exploitation 64 bits, (la VM étant une machine 64 bits, le système d'exploitation et le logiciel de virtualisation associé ne peuvent être 32 bits) ;''
+
* ''Logiciel de virtualisation : Si votre poste de travail ne comporte pas d'outil de virtualisation, nous vous conseillons d'installer l'outil VirtualBox . ''
+
''Afin de vérifier si la configuration de votre poste est suffisante, il est recommandé de tester le bon fonctionnement de la machine virtuelle et de l’outil d’émulation réseau une première fois avant le début des activités pratiques.''
+
{{HorsTexte|(*) Extensions matérielles à la virtualisation|Les extensions matérielles à la virtualisation sont intégrées par les constructeurs (Intel-VT  et AMD-V) sur la quasi totalité de leur gamme de processeurs. Elles améliorent significativement les performances des machines virtuelles exécutées sur un sytème. Elles se traduisent par des extensions au jeu d'instuctions du porcesseur (VMX chez Intel, SVM chez AMD). Elles sont aujourd'hui banalisées sur la quasi totalité des postes de travail, mais peuvent nécessiter une validation de leur activation dans le configuration matérielle (BIOS) de la machine. }}
+
  
== Installation de la plateforme ==
 
=== Etape 1 de l'installation ===
 
 
Si votre poste de travail ne comporte pas d'outil de virtualisation, nous vous conseillons d'installer l'outil VirtualBox. Le lien ci-dessous vous permet de récupérer ce logiciel avec la version adaptée à votre système.
 
 
<!-- [https://www.virtualbox.org/wiki/Downloads Télécharger VirtualBox] -->
 
[https://www.virtualbox.org/wiki/Downloads https://www.virtualbox.org/wiki/Downloads]
 
 
Lancez ensuite l'installation en mode administrateur, et accepter les réglages par défaut. '''Ne pas omettre d'installer le pack d'extensions invités''', en conformité avec la version installée. Un redémarrage de votre machine peut s'avérer nécessaire.
 
 
''' Nota : ''' ''Au préalable, assurez vous que les extensions matérielles à la virtualisation du processeur de votre poste sont disponibles pour votre système d'exploitation (''OS''). Par précaution, certains constructeurs verrouillent  par défaut les extensions matérielles au niveau du "firmware" (''BIOS'') de la configuration initiale de leur machine, nécessitant alors une validation explicite de ces extensions. En l'absence de ces extensions, l'outil de virtualisation Virtualbox ne pourra exécuter la machine virtuelle et affichera un message d'erreur (qui dans certains contextes peut être peu explicite) à l'exemple de l'image ci dessous.
 
 
<center>
 
<center>
[[image:virtualbox-extensions-de-virtualisation-indisponibles-20200217.png|thumb|center|500px|Figure 2: Virtualbox "extensions de virtualisation indisponibles]]
+
[[Image:03-fig1.png|300px|center|thumb|Figure 1: Internet Evolution (Internet Society).
 +
]]
 
</center>
 
</center>
''''' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
 
TO DO :
 
* Ajouter une procédure générale d'activation des extensions au niveau du BIOS
 
* Ajouter des illustrations cd capture d'affichage d'ecran de config BIOS pour la virtualisation !!
 
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ '''''
 
 
=== Etape 2 de l'installation ===
 
 
L'étape suivante consiste à télécharger l'image de la machine virtuelle contenant la plateforme pour les activités pratiques. Cette image actualisée est disponible en suivant le lien de téléchargement indiqué dans la rubrique ''« > Installer GNS3 > Comment procéder ? »'' de la séquence de "Bienvenue" du MOOC "Objectif IPv6".
 
 
Le fichier image de la machine virtuelle a une taille d'environ 5Go. Une fois le téléchargement terminé, il vous suffit d'importer la machine virtuelle dans VirtualBox (Menu « File » , puis « Import Appliance »), et sélectionner l'image de la machine virtuelle que vous venez de télécharger :
 
- Si besoin renommer la machine ainsi "MoocIPv6-S5";
 
- vérifier que le système d'exploitation invité est bien "Ubuntu-64bit";
 
- les autres réglages par défaut devraient convenir.
 
 
''' Nota : ''' ''Selaon les capacités de votre poste, la phase d'import de la machine peut prendre quelques minutes.''
 
 
Une fois l’importation terminée, vous pouvez lancer la machine virtuelle grâce au bouton « Start ».
 
 
Lors du premier démarrage la définition de l'écran est fixée à 800x600, cet inconvénient disparaît après un premier redémarrage de la VM, et ensuite la taille de l'écran s'adaptera à votre machine automatiquement.
 
 
= Utilisation de GNS3 =
 
  
GNS3 est un logiciel permettant d'émuler le fonctionnement d'un réseau sur votre poste. La plateforme "Réseau IPv6" utilisée pour les activités pratiques est pré-installée dans l'outil GNS3. Elle est composée de 5 équipements actifs reliés par 4 réseaux.
+
=== 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.  
  
L'interface de GNS3 se présente de la manière indiquée par la figure 3 :
 
 
<center>
 
<center>
[[image:MoocS5_gns3_desktop_20190605.png |666px|thumb|center|Figure 3 : Interface GNS3.]]
+
[[Image:03-fig2.jpg|400px|center|thumb|Figure 2: Carte d’ARPANET en 1973.
 +
]]
 
</center>
 
</center>
Le schéma de la '''Topologie''' (encadré en rouge) montre les équipements et les liaisons qui les relient. Les réseaux IPv6 nommés "Net0" à Net3", sont interconnectés par des équipements actifs (routeurs) '''R1''', '''R2'''; les machines hôtes '''PC-1''', '''PC-2''' et '''SRV-3''' sont directement connectées sur les routeurs.
 
  
Sur la figure 1, à droite de l'espace de travail, la fenêtre '''Liste des équipements''' (ou ''Topology Summary'') liste les équipements et leur état de fonctionnement. L'indicateur vert signale un équipement en cours de fonctionnement, l'indicateur rouge indique un équipement arrêté.
+
=== Les fondements : intelligence répartie et mode non connecté ===
  
Pour démarrer les équipements, il convient d'actionner le bouton de démarrage (triangle vert, référencé 1 sur la figure 1). Les indicateurs dans la liste des équipements passent alors normalement tous au vert.
+
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.
  
Le bouton 2 ouvre une console pour chacun des équipements. C'est à travers cette console que vous serez amenés à interagir avec l'équipement. L'ensemble des consoles est nécessaire pour la réalisation des activités pratiques. De plus, elles vont vous servir à voir la progression lors de l'étape de démarrage des équipements.
+
=== IPv4 ===
  
'''Note''' : l'étape de démarrage des équipements peut prendre entre 1 et 5 minutes selon la configuration matérielle de votre poste de travail. Nous vous conseillons donc d'afficher les consoles après avoir lancé cette procédure de démarrage et d'attendre (patiemment) que celle-ci se termine. Chaque équipement sera opérationnel une fois qu'il présentera une invite de <tt>login</tt> comme représentée par la figure 2.
+
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.
<center>
+
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.
[[File:MoocSession5_gns3_act36_cli_20190605.png|666px|thumb|center|Figure 2: Consoles des équipements.]]
+
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.
</center>
+
Le bouton référencé 3 sur la figure 1 indique, sur le schéma de la topologie, les noms des interfaces réseau des différents équipements. Ces indications vous sont utiles lorsque vous configurez les équipements afin de ne pas vous tromper d'interface ou d'équipement!
+
  
Pour aller plus loin sur les possibilités de cet outil, vous pouvez consulter ce [https://www.csd.uoc.gr/~hy435/material/GNS3-0.5-tutorial.pdf Tutoriel sur GNS3].
+
=== La seconde phase : l’expansion  ===
  
= Déroulement d'une activité pratique =
+
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.
  
== Démarrage d'une activité ==
+
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.
  
Chaque activité pratique est divisée en plusieurs étapes. L'activité commence par une description de la configuration originale et des objectifs de l'activité. Chaque étape, ensuite, déroule la mise en oeuvre de différentes configurations pour répondre à ces objectifs.
+
<!--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.-->
  
Pour chaque activité, vous disposez d'une fonction '''Snapshot''' qui permet de restaurer la topologie, et les configurations des équipements actifs dans un état précis.
+
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.  
<center>
+
[[File:MoocS5_manage_snapshots_20190605.png|666px|thumb|center|Figure 3: Fonction '''Edit'''+'''Manage snapshots''']]
+
</center>
+
Avec le choix du snapshot '''Activité-16''', vous démarrez le simulateur de réseau GNS3 avec la plateforme dans la configuration initiale de cette activité pratique.
+
 
+
Les clichés ou "snapshots" des étapes suivantes vont vous servir à repositionner la configuration de la plateforme telle qu'elle devrait être '''au démarrage de l'activité indiquée'''. Ces raccourcis peuvent aider les apprenants à reprendre une une activité pratique.
+
 
+
== Mise en pause et reprise ==
+
 
+
Au cours de l'activité, vous aurez sûrement besoin d'interrompre votre travail sur la plateforme pour le reprendre à un autre moment. Nous préconisons d'utiliser la mise en pause de l'ensemble de la machine virtuelle par VirtualBox.
+
 
+
Pour mettre en pause la machine virtuelle VirtualBox, sélectionner dans le menu '''Machine''' de VirtualBox l'option '''Pause'''. L'intégralité de l'état de la machine virtuelle sera alors sauvegardée sur votre poste. La liste des machines VirtualBox doit montrer la machine MOOC dans l'état '''En pause'''.
+
 
+
Pour reprendre votre travail, il suffit de relancer la machine virtuelle depuis la liste des machines de VirtualBox. L'état sauvegardé de la machine sera alors restauré et vous pourrez continuer votre travail là où vous vous êtes arrêté.
+
 
+
== Retour arrière ==
+
 
+
Au cours de votre travail, vous pourrez être amenés à commettre des erreurs de configuration. Même s'il est toujours possible de corriger une configuration erronée, il est parfois nécessaire de retourner en arrière pour revenir à un état correct. A cette fin, nous vous proposons d'utiliser les fichiers étapes présents dans les différentes activités pratiques afin de repartir de la fin de l'étape désirée. De cette manière, vous conservez un point de reprise d'une configuration stable.
+
 
+
= Outils fournis par la plateforme =
+
 
+
== Console / Ligne de commande ==
+
 
+
L'interaction avec les équipements de la plateforme se fait au travers de fenêtres présentant la console de ces équipements. Après authentification, effectuée sur la console auprès du système d'un équipement, vous êtes amenés à interagir, en mode lignes de commandes, avec cet équipement.
+
 
+
L'affichage des consoles des équipements se fait dans l'interface GNS3 en cliquant sur le bouton 2 de la figure 1 ("Console connect to all devices"). Le titre de la fenêtre vous précise à quel équipement cette console est attachée. Vous disposez d'onglet en bas du cadre ce qui permet de passer facilement d'un équipement à l'autre.
+
 
+
Il est conseillé de garder l'ensemble des consoles ouvertes tout au long de l'activité. Si vous avez fermé une console par inadvertance, vous pouvez normalement la réouvrir en double-cliquant sur l'icône de la machine visée dans le schéma de la topologie. Il peut s'avérer que cette opération ne fonctionne pas (la fenêtre s'ouvre mais ne permet pas d'interagir). Il est alors nécessaire de redémarrer l'équipement en question (Clic-droit sur l'équipement dans la topologie : Stop, puis Run, et enfin Console).
+
 
+
Les supports des activités pratiques vont vous demander de saisir des commandes dans les consoles des machines et d'en examiner le résultat. Le support préfixe chaque commande avec l'invite du système, afin de vous assurer que vous saisissiez bien les commandes sur la bonne machine et avec le bon mode de commande. Les commandes à saisir sont données en '''police grasse'''. Par exemple
+
root@PC-x::cx:~$ '''ifconfig'''
+
est une commande à saisir sur une des machines Linux. Les caractères à saisir sont <tt>ifconfig</tt> suivis d'un retour chariot pour exécuter la commande.
+
 
+
Le copier-coller est possible entre les différentes consoles, afin de faciliter la saisie et de diminuer les erreurs de frappe. Les raccourcis sont  
+
* Copier :'''Ctrl+Shift+C''' ou sélection à la souris Clic-droit + Copier
+
* Coller :'''Ctrl+Shift+V''' ou sélection à la souris Clic-droit + Coller
+
 
+
== Edition de fichier ==
+
 
+
Lors des différentes activités pratiques vous serez amenés à éditer des fichiers de configuration. Les consoles des équipements n'ayant pas de capacités graphiques, les outils d'édition de texte à votre disposition seront en mode texte. Les supports des activités vous proposeront d'utiliser l'éditeur de fichiers <tt>nano</tt> :
+
 
+
root@PC-x::cx:~$ '''nano -w <nom du fichier>'''
+
 
+
Vous pouvez alors parcourir le fichier à l'aide du curseur et l'éditer à l'endroit voulu. L'appui simultané sur <CTRL-O> (touche contrôle, simultanément à la lettre 'o') permet de sauvegarder le fichier, et <CTRL-X> de quitter l'éditeur.  
+
 
+
'''''Nota''''' ''Les principales commandes d'interaction avec l'éditeur <tt>nano</tt> sont rappelées dans le bas de l'écran de la console.''
+
  
== Capture réseau ==
+
=== La troisième phase : l’universalité ===
  
La plateforme GNS3 dispose de l'analyseur de protocoles Wireshark. Pour démarrer une capture, il est possible utiliser Wireshark sur les points de connexion symbolisés par un point vert sur le schéma de la topologie de la figure 1.
+
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 !
  
=== Démarrer une capture réseau ===
+
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.
  
Pour lancer une capture, allez dans la fenêtre à droite '''"Topology Summary"''' présentée dans la figure 1, puis appuyez sur le + d'un élément réseau, choisir une interface réseau, elle passe en rouge sur la fenêtre centrale, ensuite avec un clic-droit, vous pouvez lancer une capture sur ce lien en choisissant '''"Start capture"'''.
+
=== La quatrième phase : l’explosion ===
  
La fenêtre de l'analyseur réseau '''Wireshark''' s'ouvre alors.
+
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>
[[File:A26_TP2_Capture.jpg|666px|thumb|center|Figure4: Interface de Wireshark.]]
+
[[Image:03-fig3.jpg|300px|center|thumb|Figure 3:</ref This is what happens in An Internet Minute [ ]/ref>.
 +
]]
 
</center>
 
</center>
Cet outil vous permet d'analyser en temps réel les trames entrantes et sortantes de l'interface réseau sélectionnée pour la capture. La figure 4 montre les éléments constituant l'interface de Wireshark.  La partie haute de l'interface montre la liste des trames capturées, les 2 parties en dessous montrent respectivement le décodage détaillé des entêtes des protocoles encapsulés dans la trame et le contenu brut en hexadécimal de la trame  sélectionnée.
 
  
=== Arrêter une capture réseau ===
+
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).
  
L'arrêt des captures est possible depuis la fenêtre "Topology Summary" (voir la figure 1) en choisissant '''"Stop all captures"'''.
+
<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>
  
'''Note''' : la fermeture de la fenêtre de l'analyseur réseau ne suffit pas pour arrêter la capture. L'arrêt explicite selon la procédure donnée plus haut est nécessaire.
 
  
= Synthèse des commandes des systèmes =
 
  
== A propos des modes VyOS ==
 
  
VyOS fonctionne selon différents modes de commandes selon les fonctionnalités désirées. Les commandes données dans ce chapitre pour le système VyOS précisent donc le mode dans lequel elles sont valides.
 
  
'''Mode utilisateur''' : Ce mode est obtenu après connexion au système avec les identifiants :
+
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.
login: '''vyos'''
+
password: '''vyos'''
+
  
L'invite de commande dans ce mode est
+
== Mesures d’urgence pour lutter contre la pénurie d’adresses ==
vyos@vyos:~$
+
  
Ce mode permet d'observer la configuration du système et de passer au '''Mode Quagga''' ou au '''Mode Administrateur'''
+
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.
  
'''Mode Quagga''' : Ce mode est obtenu après connexion au système en '''Mode Utilisateur''' puis en entrant la commande :
+
=== Mesure 1 : CIDR (Classless Inter Domain Routing) ===
vyos@vyos:~$ '''vtysh'''
+
  
L'invite de commande dans ce mode est  
+
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.
vyos#
+
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.
  
Ce mode permet de configurer les paramètres propres aux interfaces et aux fonctions de routage. Les  commandes dans ce mode sont celles de [[http://www.nongnu.org/quagga/ Quagga]].
+
=== Mesure 2 : NAT (Network Address Translation) ===
La sortie de ce mode s'effectue par la commande '''exit'''.
+
  
'''Mode Administrateur''' : Ce mode est obtenu après connexion au système en '''Mode Utilisateur''' puis en entrant la commande :  
+
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.
  vyos@vyos:~$ '''configure'''
+
  
L'invite de commande dans ce mode est
+
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.
vyos@vyos#
+
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.
  
Ce mode permet de configurer les services et autres fonctionnalités de VyOS.
+
<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>
  
== Commandes pour les paramètres des interfaces réseau ==
+
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.
  
'''''Nota :''''' ''Pour le système Linux, lorsqu'il y a plusieurs lignes, elles indiquent la même action mais exprimée par des commandes différentes.''
+
<!--
 +
== Où en est IPv4 ? ==
  
'''''Nota :''''' ''Pour vous loguer sur les stations PC1 et PC2, les identifiants/mots de passe sont apprenant'/'. (Pas de mot de passe).''
+
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.
  
'''''Nota :''''' ''Dans les commandes ci-dessous, les termes en italique sont à remplacer par des valeurs.''
+
{{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...).}}
  
=== Visualiser la configuration IPv6 des interfaces réseau ===
+
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'').
 +
-->
  
Linux :
+
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.
  root@PC-x::cx:~$ '''ifconfig'''
+
  root@PC-x::cx:~$ '''ifconfig -a'''  #(pour voir toutes les interfaces, même inactives)
+
  root@PC-x::cx:~$ '''ip -6'''
+
  
VyOS (Mode Utilisateur)
+
<center>
vyos@vyos:~$ '''show interfaces detail'''
+
{| 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>
  
VyOS (Mode Quagga)
+
{{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.}}
vyos# '''show interface'''
+
<!--
 +
{| 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.
 +
|-
 +
|}
 +
-->
  
=== Activer une interface réseau ===
+
== Limites des mesures d'urgence ==
  
Il convient de remplacer le motif <tt>''interface''</tt> par le nom de l'interface réseau de l'équipement.
+
=== Fin du bout-en-bout ===
  
Linux :
+
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). 
  root@PC-x::cx:~$ '''ifconfig ''interface'' up'''
+
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.
  
VyOS (Mode Quagga)
+
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].
Il faut passer en mode configuration par cette commande:
+
vyos# '''configure terminal'''
+
vyos(config)#
+
Puis en configuration d'interface par la commande <tt>''interface''</tt>:
+
vyos(config)# '''interface ''interface'' '''
+
vyos(config-if)# '''no shutdown'''
+
vyos(config-if)# '''exit'''
+
  vyos(config)#
+
  
La commande '''end''' en configuration d'interface sort de ce mode pour revenir en mode Quagga.
+
=== Complexité accrue ===
vyos(config-if)# '''end'''
+
vyos#
+
La commande '''do''' en  configuration d'interface permet d'exécuter des commandes Quagga de consultation comme '''show interface'''.
+
vyos(config-if)# '''do show interface'''
+
  
=== Ajouter une adresse IPv6 à une interface réseau ===
+
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.
  
Linux :
+
=== NAT et la sécurité ===
root@PC-x::cx:~$ '''sudo ifconfig ''interface'' ''adresse-IPv6''/''lg-prefixe'' '''
+
root@PC-x::cx:~$ '''sudo ip -6 addr add ''adresse-IPv6'' dev ''interface'' '''
+
  
VyOS (Mode Quagga)
+
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. 
vyos# '''configure terminal'''
+
vyos(config)# '''interface ''interface'' '''
+
vyos(config-if)# '''ipv6 address ''adresse-IPv6''/''lg-prefixe'' '''
+
vyos(config-if)# '''exit'''
+
  
=== Enlever une adresse IPv6 à une interface réseau ===
+
=== Double-NAT ===
  
Linux :
+
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.
root@PC-x::cx:~$ '''sudo ip -6 addr del ''adresse-IPv6''/''lg-prefixe'dev ''interface'' '''
+
  
VyOS (Mode Quagga)
+
<center>
vyos# '''configure terminal'''
+
[[File:Fig05.png|thumb|center|400px|Figure 10 : État du plan d'adressage IPv4 en 2015.]]
vyos(config)# '''interface ''interface'' '''
+
</center>
vyos(config-if)# '''no ipv6 address ''adresse-IPv6''/''lg-prefixe'' '''
+
vyos(config-if)# '''exit'''
+
 
+
== Commandes propres à la table de routage ==
+
 
+
=== Visualiser la table de routage IPv6 ===
+
 
+
Linux
+
root@PC-x::cx:~$ '''route -A inet6'''
+
root@PC-x::cx:~$ '''ip -6 route'''
+
  
VyOS (mode Quagga)
+
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.
vyos# '''show ipv6 route'''
+
{{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.}}
  
=== Ajouter une route IPv6 ===
+
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.
  
Linux
+
<!--
root@PC-x::cx:~$ '''sudo route -A inet6 add ''destination'' gw ''prochain-saut'' '''
+
Partie IPV6 Déplacée dans Act04
root@PC-x::cx:~$ '''sudo ip -6 route add ''destination'' gw ''prochain-saut'' '''
+
-->
  
VyOS (mode Quagga)
+
== Conclusion ==
vyos# '''configure terminal'''
+
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 !
vyos(config)# '''ipv6 route ''destination'' ''prochain-saut'' [''interface'']'''
+
L'interface est optionnelle
+
  
=== Enlever une route IPv6 ===
+
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''.
  
Linux
+
http://www.zdnet.fr/actualites/ipv6-avertissement-solennel-du-ripe-39837614.htm</ref>
root@PC-x::cx:~$ '''sudo ip -6 route del ''destination'' gw ''prochain-saut'' '''
+
  
VyOS (mode Quagga)
 
vyos# '''configure terminal'''
 
vyos(config)# '''no ipv6 route ''destination'' ''prochain-saut'' '''
 
  
== Autres commandes utiles pour IPv6 ==
 
  
=== Tester la connectivité vers une autre machine ===
+
<!--
 +
{{TODO|inclure Note}}
 +
[[Compagnon_Act02|Note]]
 +
-->
  
Linux
+
== Références bibliographiques ==
root@PC-x::cx:~$ '''ping6 ''adresse-IPv6-destination'' '''
+
'''^C''' (CTRL+C) pour stopper le test
+
  
Une option peut être fournie pour limiter le nombre d'essais et éviter de faire '''^C'''
+
<references />
root@PC-x::cx:~$ '''ping6 -c ''nombre-essais'' ''adresse-IPv6-destination'' '''
+
  
  
VyOS (mode Quagga)
+
== Pour aller plus loin ==
vyos# '''ping ipv6 ''adresse-IPv6-destination'' '''
+
  
=== Visualiser le chemin vers une autre machine ===
+
RFC et leur analyse par S. Bortzmeyer :
 +
* RFC 1918 Address Allocation for Private Internets [https://www.bortzmeyer.org/1918.html Analyse]
  
Linux
 
root@PC-x::cx:~$ '''traceroute6 ''adresse-IPv6-destination'' '''
 
  
VyOS (mode Quagga)
+
----
vyos# '''traceroute ipv6 ''adresse-IPv6-destination'' '''
+

Latest revision as of 09: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.

Figure 1: Internet Evolution (Internet Society).

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.

Figure 2: Carte d’ARPANET en 1973.

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.
Figure 3:</ref This is what happens in An Internet Minute [ ]/ref>.

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).

03-fig4-penetration.png
(a)
03-fig5.png
(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.

03-fig8-a.png
(a)
03-fig8-b.png
(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.

41-fig1-v1.png
(a)
41-fig27I.png
(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.

Figure 10 : É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"[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

  1. The Internet Revolution – History and Significance https://petersmagnusson.org/2010/06/06/the-internet-revolution-history-and-significance/
  2. Internet Society: Brief History of the Internet https://www.internetsociety.org/internet/history-internet/brief-history-internet/
  3. Internet History of 80s, https://www.computerhistory.org/internethistory/1980s/
  4. Classless Inter-Domain Routing (CIDR) [1]
  5. RFC 1918 [2]
  6. Huston, G (2013). APNIC Labs. A Primer on IPv4, IPv6 and Transition
  7. Bortzmeyer, S. (2012) La traduction d'adresses (NAT) apporte-t-elle vraiment de la sécurité ?
  8. Huston, G. IPv4 Address Report
  9. Bortzmeyer, S. (2010), "Le zoo des systèmes de traduction d'adresse IP"
  10. 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 :



Personal tools