La « Pouzin society » : Faut-il revenir au départ pour sauver l’internet ?

Un réseau « suffisamment bon », mais jusqu’à quand ?

La couverture du livre de John DayL’informaticien John Day, coconcepteur d’Arpanet, dans son livre Patterns in Network Architecture : A Return to Fundamentals (que l’on pourrait traduire par Modèles d’architecture de reseau : un retour aux fondamentaux) explique que le problème avec Arpanet, l’ancêtre de l’internet, « était que nous avons eu raison sur trop de points dès le départ ». Les idées émises étaient tellement inspirées que cela a permis de réaliser un réseau « suffisamment bon » (c’est-à-dire, finalement suffisamment solide pour résister à sa croissance jusqu’à présent et suffisamment ouvert pour accueillir une grande variété d’innovation). Cependant, ces concepteurs ont oublié de traiter certaines questions fondamentales.

Le réseau s’est étendu mais grâce à l’augmentation régulière de la puissance de calcul et de la bande passante, et malgré l’explosion du nombre d’utilisateurs et la grande diversification des applications, le réseau est resté « suffisamment bon »… jusque récemment.

Les limites actuelles de l’internet

Car les choses sont en train de changer. Avec plus d’un milliard d’humains et autant d’objets connectés, les 4 milliards d’adresses disponibles deviennent dramatiquement insuffisantes (elles sont réparties très inégalement avec plus d’adresses pour l’université de Harvard que pour l’ensemble de la Chine. La pénurie devrait advenir entre 2010 et 2012 estiment les spécialistes…).

Par ailleurs, malgré l’augmentation constante de la bande passante, un problème de puissance se pose au niveau du routage : comment retrouver très rapidement des adresses dans des tables de routage immense avec des routeurs qui arrivent à la limite de leur capacité de calcul ?

Enfin, il faut faire cohabiter des besoins très différents sur le réseau : ceux des simples humains que nous sommes (le multimédia, la mobilité, l’adaptabilité à de nouvelles innovations), ceux des objets (qui supportent mal les protocoles très verbeux qui consomment beaucoup d’énergie alors qu’ils devraient être autonomes pour toute la durée de leur vie, le plus souvent 2 ans), ou encore les besoins des réseaux contraints comme ceux des militaires ou des banques qui nécessitent de garantir contractuellement le service (contrairement à l’internet qui lui est dit de best effort, c’est-à-dire qui fait du mieux possible).

Face à ces difficultés, plusieurs solutions sont proposées.

Une première solution : une nouvelle version des protocoles de l’internet – IPv6

Le problème a été pris en compte il y a 15 ans avec le développement d’IPv6 (cf.
IPv6 sera-t-il la nouvelle version du protocole Internet ?), la nouvelle version de « l’Internet Protocol » prévue pour remplacer l’IPv4 que nous utilisons actuellement majoritairement.

Les bureaux du réseau Cyclade par l'ImagL’idée était de permettre un très grand nombre d’adresses (340 milliards de milliards de milliards de milliards d’adresses) tout en conservant la base de la philosophie du réseau : un réseau en best effort ne nécessitant pas de se connecter avant de commencer un échange mais acheminant de façon autonome des petits paquets d’information. Cette idée, à l’œuvre dans tout l’internet, est issue des travaux d’une équipe française, Cyclade, qui était dirigée par Louis Pouzin. Des datagrammes (on parle aujourd’hui de paquets) circulant dans un réseau sans connexion préalable entre la source et la destination, constituait une véritable révolution par rapport aux réseaux « avec connexion » utilisés jusqu’alors.

IPv6 intègre également comme des options au sein du protocole ce qui n’était alors que des extensions parfois incompatibles entre elles et pas toujours mises en œuvre dans les routeurs. Ainsi, il deviendrait possible d’assurer la sécurité, la qualité de service ou la diffusion en multicast (un émetteur, plusieurs récepteurs comme ce qui existe en radio ou télévision) de bout en bout.

Enfin, IPv6 propose un protocole amélioré pour la mobilité permettant de communiquer avec un terminal mobile sans nécessairement repasser par sa base de départ. Mais le passage de la version 4 à la version 6 du protocole (la version 5 est une version spécifique dédiée à la diffusion en continue : le streaming) nécessite une cohabitation et la mise en place d’équipements adaptés. Le département du Commerce américain a ainsi chiffré à 25 milliards de dollars le coût du passage pour les seuls Etats-Unis. De plus en plus, des réseaux IPv6 ou mixte IPv4 et IPv6 voient le jour. La France est plutôt bien placée avec l’intégration d’IPv6 dans les Freebox depuis fin 2007 et la dernière réunion de standardisation des protocoles internet, l’IETF, qui a eu lieu fin mars, a fait l’objet d’une réunion spécifique sur la migration IPv6 au cours de laquelle Google a indiqué qu’il était entièrement compatible IPv6 et a appelé les autres sociétés participantes à accélérer la migration.

Une deuxième solution : un réseau de nouvelle génération – NGN

Mais si l’approche actuelle de l’internet permet une grande adaptabilité à de nombreux types de besoins, elle souffre en compensation d’une moindre optimisation. Les industriels des télécommunications ont cherché pour leur part à garantir contractuellement un niveau de qualité de service (QoS : Quality of Service) et donc des niveaux de services différents pour s’adapter aux besoins de certaines entreprises comme les banques. La notion de best effort à la base de l’internet n’étant pas assez sécurisée pour leurs besoins spécifiques. Ils ont proposé une autre alternative pour solutionner les difficultés actuelles du réseau en repartant d’une feuille blanche ou presque : le réseau de nouvelle génération (NGN : Next Generation Network). Il s’agit de prévoir un réseau commun pour les fixes et les mobiles. Ce réseau revient à la notion de connexion (on établit le chemin entre la source et la destination au début de la communication pour y passer plus rapidement tous les paquets) et de commutation (on s’intéresse à l’acheminement à l’intérieur d’un seul réseau avec ses adresses propres et non pas à l’acheminement complet dans un réseau de réseaux ce qui nécessite un bien plus grand champ d’adresses). Pour le reste, l’idée est de conserver au-dessus (pour aller de réseau en réseau) les paquets au format internet (IP) et surtout les adresses IP afin de conserver une compatibilité avec le réseau internet existant.

La compétition entre un réseau de routage IPv6 et le NGN (utilisant IPv6 pour sa signalisation – comme par exemple l’adressage) se joue donc sur la notion de avec ou sans connexion et de réseau optimisé ou de réseau adaptable. On comprendra que ce n’est pas sans incidences sur la neutralité du réseau puisque dans le cas des NGN il est plus facile de rendre certains flux prioritaires.

Quelques autres solutions pour certains des problèmes du réseau actuel

Outre ces deux grandes orientations, il existe par exemple des solutions adaptées aux réseaux d’objets. Dans ce cas, c’est la consommation énergétique qui prime, et les protocoles doivent être peu bavards pour économiser au mieux l’énergie. Le protocole Zigbee, par exemple est adapté aux réseaux locaux sans fils d’objets. Afin qu’un réseau local d’objets puisse s’insérer dans le réseau de réseaux que constitue l’internet, il a été proposé d’y ajouter des adresses Ipv6 à l’aide d’un protocole additionnel : 6lowPAN.

D’autres solutions se développent encore pour faire cohabiter plusieurs réseaux différents sur un même réseau physique, chacun utilisant une partie du temps (les routeurs virtuels avec par exemple le projet Geni comme l’expliquait Lawrence Landweber) ; ou bien pour permettre aux réseaux de s’autoconfigurer à partir d’objectifs définis par les humains et leur environnement (l’autonomic computing).

Une nouvelle solution : la remise à plat de la notion de réseau

Mais pour John Day, ces solutions ne sont que des palliatifs. Dans son livre, il reprend une idée émise dès 1972 par Bob Metcalfe, l’inventeur de l’Ethernet (à ne pas confondre avec l’Internet…) : « le réseau c’est de la communication interprocessus et seulement cela ».

La communication inter-processus (Inter-Process Communication, IPC) est un ensemble de mécanismes qui permettent d’échanger des données et de synchroniser des programmes en cours d’exécution. Ce changement de perspective, apparemment banal, a été qualifié par Brough Turner, responsable de la technologie chez NMS Communication de « rupture théorique fondamentale ». John Day, pour sa part explique que « la structure des réseaux apparaît plus simple que nous ne l’avions imaginée ». Que signifie alors ce passage d’une communication de données à une communication entre processus ?

Le fait de voir le réseau non plus comme un simple transport de données disposant d’une adresse de départ et une d’arrivée mais comme un mécanisme d’échange directement entre les programmes a une première conséquence : les données étant incluses dans un mécanisme entre les programmes plutôt que directement accessibles, le réseau offre une meilleure sécurité. Mais au-delà de cet aspect, un tel réseau offre une vision plus simple : les IPC permettent d’intégrer le mode connecté (utilisé dans les réseaux de télécommunication et dans le NGN) et le mode non connecté (utilisé dans les protocoles internet IPv4 et IPv6) sous la forme d’un seul modèle unique dont les deux précédents ne sont que des cas particuliers.

De plus, le modèle en plusieurs couches de l’internet ou des autres types de réseau, chacune n’étant pas toujours clairement délimitée, est remplacé par un seul mécanisme : les IPC. Il devient possible de créer des communications entre les processus d’une même machine, de machines sur le même réseau ou encore entre machines dans le même « réseau de réseaux ». Cette approche récursive permet d’avoir un même système quelle que soit la portée, tout en passant à l’échelle.

Enfin, un tel type de réseau distingue le nom d’une machine ou d’un processus sur cette machine (qui sert à identifier) de son adresse (qui sert à localiser). Une application (par exemple un navigateur sur une machine) peut alors appeler une autre application (par exemple un serveur Web sur une autre machine) par son nom. Le mécanisme de communication entre les processus établira alors une adresse qui lui sera propre. Cette approche permet de résoudre plus facilement les problèmes de mobilité (une application connue par son nom se trouve sur une machine qui ne se trouve pas forcément à l’adresse que l’on pense mais qui s’est déplacée entre temps : mieux encore l’application a pu changer de machine…). Mais la question du nommage est complexe car elle présente des enjeux politique : celui qui nomme les choses dispose d’un avantage important. Ainsi, le système de nommage proposé utilisera-t-il le DNS (Domain Name System, système de gestion des noms de domaine) pour permettre de localiser n’importe quelle ressource (on parle d’URI, Uniform Resource Identifier), comme le craint Stéphan Bortzmeyer ? Le DNS fait l’objet d’âpres combats et de luttes d’influence. Une autre solution serait de permettre l’utilisation d’espace de noms concurrents pour éviter le problème posé par un nom unique (cela compliquant par contre la gestion technique).

Ainsi, le passage à l’échelle des réseaux, la mobilité des terminaux ou encore la connexion d’une machine à plusieurs réseaux physiques (le multihoming), deviennent une conséquence même de la structure du réseau, et non plus une complication supplémentaire à ajouter aux réseaux de base. Un tel type de réseau serait alors plus simple tout en s’adaptant mieux à la taille toujours plus grande du réseau des réseaux.

La Pouzin Society

Le logo de la Pouzin SocietyUn tel type de réseau pourrait-il se développer assez rapidement pour résoudre la crise de croissance actuelle de l’internet ? C’est ce que pensent un ensemble d’experts de l’IETF qui se sont réunis autour des idées proposées par John Day pour créer la Pouzin Society – un nom qui fait référence au français Louis Pouzin qui est à l’origine des notions de datagramme et de mode sans connexion, une innovation que John Day dans son livre, qualifie « d’inspirée. La première réunion du groupe s’est tenue les 4, 6 et 7 mai 2009, à Boston dans le cadre de l’exposition Future-Net sur les réseaux de nouvelle génération.

Il reste à voir le détail de ce que permet cette nouvelle architecture – mais également quels sont ses limites. Il faudra également des mises en œuvre permettant de valider les concepts. Cela pourrait être facilité par le fait que les IPC sont des mécanismes bien connus dans les systèmes d’exploitations des machines et qu’il existe beaucoup de mises en œuvres distribuées entre plusieurs machines (comme par exemple le système de gestion de fichiers en réseau NFS développé par Sun Microsystem).

Une des questions cruciale sera alors de savoir comment mettre en place des mécanismes de transition qui permettent de limiter les coûts voire même de les réduire rapidement si la nouvelle architecture, plus simple, permet de faire des économies. La possibilité de migrer à un coût acceptable mais également de faire cohabiter des réseaux IP et des nouveaux réseaux sera une clé indispensable pour assurer une approche de type « page blanche » comme celle proposée par la Pouzin Society ou encore celle proposée par les opérateurs avec le NGN. Enfin, il sera nécessaire d’accompagner cette nouvelle vision d’une campagne de formation et de sensibilisation. Encore quelques années et nous saurons quelle(s) solution(s) sera (seront) choisie(s) ou bien si la crise de l’internet aura belle et bien lieu…

Jean-Michel Cornu

Merci à Louis Pouzin, John Day, Guy Pujolle, Hubert Guillaud et Daniel Kaplan pour leur relecture et leurs commentaires.

À lire aussi sur internetactu.net

0 commentaires

  1. Je ne crois pas avoir dit que je « craignais » un rôle plus important du DNS, je le faisais juste constater. Le DNS est un excellent système et cela ne me pose pas de problèmes qu’on s’en serve pour davantage d’usages.

    Il faut juste être conscient que rien n’est gratuit : chaque fois qu’un ajoute une indirection, on doit fournir une fonction de correspondance entre les identificateurs et cette fonction (pour laquelle le DNS est souvent un bon candidat) augmente la complexité du réseau.

  2. à Stéphane Bortzmeyer : oui j’ai du mettre mes propres craintes par rapport au DNS 🙂 Celui-ci est un système technique correct mais qui pose de nombreux problèmes… politiques du fait qu’il n’y a qu’un seul espace de nom centralisé.

    J’ai discuté aujourd’hui avec John Day à propos de l’article. Il m’a fait remarqué que la séparation entre les noms et les adresses a plusieurs implications :
    – l’espace de nom doit être global pour atteindre un service mais il est possible non seulement d’avoir des synonymes mais également d’avoir plusieurs espaces de nom. cela veut dire que nous ne sommes pas obligé d’utiliser uniquement les noms de ressources universels (URI) qui sont basés sur le DNS. Cela réouvre les possibilités (à condition de proposer des espaces noms alternatifs, comme l’a proposé d’ailleurs Louis Pouzin)
    – L’espace d’adressage par contre, contrairement à ce que l’on pourrait penser, n’a pas besoin d’être global. Il suffit de trouver l’adresse de la ressource associée à un nom de proche en proche (ce que permet la récursivité du mécanisme d’IPC).

    Finalement, il est amusant de voir que la plus part des solutions proposées (IPv6, NGN, Zigbee avec 6lowpan) n’ont en commun que l’utilisation de l’immense champ d’adresses de IPv6 (et pas ses protocoles), mais ces systèmes posent toujours le problème de la taille des tables dans les routeurs qui grandissent au fur et à mesure de la croissance du réseau. La proposition de John Day prend le contre pied : on n’a pas besoin d’un champ d’adresse global et donc le réseau peut plus facilement passer à l’échelle.

    Nous avons également discuté avec John Day de la stratégie de migration. Il est possible de positionner l’internet actuel *au-dessus* du réseau proposé pour assurer la compatibilité avec l’internet actuel tout en permettant d’utiliser en plus les nouvelles possibilités du réseau. par contrre, il n’est pas proposé aux opérateurs de migrer mais plutôt « d’adopter » le nouveau réseau au dessous. Cela devrait se faire pour ceux qui y verront un intérêt concurrentiel (sécurité, mobilité, passage à l’échelle, mais aussi coûts de gestion réduits car le réseau est in fine plus simple) et pourrait dépendre surtout de la base installée déjà en place. L’arrivée des routeurs virtuels devrait cependant amplement faciliter l’expérimentation de nouveaux réseaux en vrai grandeur (IPv6, NGN ou le réseau de la Pouzin Society) et donc relativiser – si les routeurs virtuels se déploient rapidement – la difficulté de basculer vers un réseau totalement nouveau (il faut cependant prévoir un coût pour une nouvelle formation des équipes…).

    John Day espère avoir une première mise en oeuvre d’ici un an. Si c’est le cas, cela placerait cette alternative dans la course au Post-IP.

    Il restera à comprendre toutes les implications d’un tel réseau basé sur les IPC dans le débat sur la neutralité du réseau. Pour John Day, cette question a émergé pour justifier la nécessité du niveau transport. Mais avec un système d’IPC il semble que l’on peut avoir un réseau à la fois neutre (tout le monde peut en utiliser les ressources de façon identique) et non neutre (les flux peuvent être traités différemment suivant le mécanisme IPC choisi). En tout cas, il va nous falloir revisiter la question de la neutralité d’une façon nouvelle.

    Affaire à suivre…

  3. Excellent article . Il y avait longtemps que je n’avais pas lu un article de ce niveau sur InternetActu.
    Pour une fois que l’on tien un vrais expert….