logo site
Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Ballade dans l’espace et dans le temps de l’Internet :
Louis Pouzin - L’un des pères de l’Internet
Un livre de Chantal Lebrument et Fabien Soyez, préface de Korben
Article mis en ligne le 29 novembre 2018
dernière modification le 12 décembre 2018

par Laurent Bloch

 Parcourir 60 ans d’informatique

Louis Pouzin est informaticien depuis son entrée chez Bull en 1957, il travaille dans le domaine des réseaux informatiques depuis 1971, et il est toujours actif, bon pied bon œil, l’esprit acéré et toujours prêt à sauter dans un avion pour l’autre bout de la planète, chez les Khantys-Mansis, au Mexique ou en Arménie : c’est dire si sa biographie, rédigée à deux mains, émaillée de nombreuses interviews d’anciens collègues et de ses enfants et publiée chez Economica, nous fait revisiter l’histoire de l’informatique et de l’Internet [1].

Dans les années 1970 il m’arrivait de lire un article consacré au réseau Cyclades et à son créateur Louis Pouzin dans un journal informatique, cela me semblait intéressant mais je ne connaissais pas grand chose aux réseaux, et a fortiori j’étais bien incapable d’identifier les différences entre les technologies concurrentes et de savoir quelles étaient les meilleures solutions. Des années plus tard, j’ai eu l’occasion de comparer Transpac et l’Internet, et de commencer à comprendre pourquoi le second était bien supérieur au premier.

 Premiers réseaux informatiques

La première communication entre un calculateur et un télétype fut établie le 11 septembre 1940 par Georges Stibitz, entre le Dartmouth College, dans le New Hampshire, et New York (330km) [2]. Elle reposait sur le principe du téléphone traditionnel : établissement d’un lien physique continu (fil de cuivre en général) entre l’émetteur et le récepteur, lien réservé à l’usage exclusif de cette communication. Plus tard on perfectionna le procédé : si l’émetteur émettait trop vite pour les capacités de réception du récepteur, celui-ci disposait d’un moyen de signaler à celui-là « arrête, je suis submergé ! », cela s’appelait le contrôle de flux X-on/X-off, c’était un progrès considérable, à la base du protocole d’échange série connu sous le nom RS-232. L’inconvénient était la monopolisation d’un lien physique pendant toute la durée de l’échange, si c’était de Paris à Tokyo c’était cher. Il y avait certes des possibilités de multiplexage, en fréquence ou temporel, mais c’était quand même assez inefficace.

Au tout début des années 1960, Leonard Kleinrock (alors étudiant au MIT), Paul Baran de la RAND Corporation et Donald Davies du National Physical Laboratory (NPL) britannique inventèrent, indépendamment l’un de l’autre, la commutation de paquets : au lieu d’envoyer les données en un flot continu qui occupait toute la bande passante, on les découpait en petits paquets (typiquement de l’ordre de 1 000 caractères) indépendants, identifiés par un en-tête qui permettait de savoir où il fallait les envoyer. Cela facilitait le multiplexage, plusieurs communications pouvaient partager le même lien physique pendant une partie de leurs trajets respectifs, puis poursuivre chacune leur chemin après être passées par un commutateur qui jouait le rôle de poste d’aiguillage, pour prendre une métaphore ferroviaire.

Mais on restait toujours dans la logique de circuit des télécommunications : pour établir une communication, on calculait une fois pour toutes un itinéraire pour les paquets, que l’on appelait circuit virtuel, parce que s’il empruntait des liens physiques variés et partagés avec d’autres communications, il reproduisait la logique du circuit physique, et les communications restaient supervisées par l’administration centralisée du réseau, avec comme conséquence une lourdeur de gestion qui n’aurait pas permis une croissance importante. Arpanet, Transpac et leurs cousins étaient des réseaux à commutation de paquets sur circuits virtuels.

 L’invention du datagramme

L’invention géniale dont Louis Pouzin est l’auteur principal, et dont ensuite il a été le réalisateur et le promoteur infatigable, c’est le datagramme : au lieu d’avoir une administration centralisée de calcul d’itinéraires de bout en bout, on inscrit dans l’en-tête de chaque paquet une adresse de destination et une adresse d’émission, et chaque nœud du réseau fait son affaire de savoir vers quel nœud suivant envoyer le paquet pour le rapprocher de sa destination. Pour que cela fonctionne chacun de ces nœuds doit être équipé d’un appareil appelé routeur, en fait un ordinateur spécialisé, connecté à au moins deux réseaux, programmable selon un algorithme de routage destiné à calculer vers quel réseau expédier chaque paquet entrant. Il faut mesurer le caractère révolutionnaire de cette idée, qui allait à rebours de tout ce que faisaient les ingénieurs des télécommunications depuis un siècle. Personne ne pouvait croire que les paquets arriveraient à destination : soit ils se perdraient purement et simplement, soit ils tourneraient en rond indéfiniment dans les cycles du réseau. C’est pourquoi Louis Pouzin ne s’est pas contenté d’avoir une bonne idée un matin en se réveillant, mais il a aussi travaillé d’arrache pied avec son équipe pour en produire une réalisation effective.

Un réseau établi selon ce principe est dit « à datagrammes purs », le premier à fonctionner de la sorte fut Cyclades, le réseau expérimental créé par Louis Pouzin et son équipe de l’IRIA (maintenant Inria) en 1972. Pendant toute cette période, Louis Pouzin et son équipe travaillaient en collaboration constante avec les équipes de Vinton Cerf et Bob Kahn qui travaillaient à la refonte d’Arpanet à l’université Stanford, et de Donald Davies au NPL, notamment au travers des réunions de l’International Network Working Group (INWG) et de l’International Federation for Information Processing (IFIP). Louis Pouzin avait envoyé Gérard Le Lann, de l’équipe Cyclades, travailler pendant un an avec Vinton Cerf à Stanford, où il allait contribuer à la conception du protocole TCP, ébauché en 1974, et qui deviendra TCP/IP en 1978. C’est ainsi que Cerf et Kahn ont adopté les idées de Louis Pouzin pour le protocole qui allait devenir Internet Protocol (IP) ; ce n’est ni Pouzin ni moi qui le disent, ils l’ont dit eux-mêmes.

 Fenêtres glissantes

Une autre idée géniale de l’équipe Cyclades, également incorporée aux protocoles actuels de l’Internet (TCP), ce sont les fenêtres glissantes : puisque les datagrammes sont acheminés chacun de façon indépendante des autres, ils peuvent emprunter des itinéraires différents, arriver dans le désordre, certains peuvent se perdre ; le contrôle de flux traditionnel n’est pas possible dans un tel contexte. À l’arrivée il faut vérifier qu’ils sont bien tous là et les remettre dans le bon ordre. En 1972, c’est Gérard Le Lann qui observe des dysfonctionnements étranges du réseau (p. 59 du livre), notamment des pertes de synchronisation. Il travaille avec Kleinrock, et en 1973 il imagine ce mécanisme de fenêtres glissantes : l’émetteur n’attend l’acquittement du paquet numéro n qu’après l’émission du paquet n+p, avec p>1. Le délai nécessaire à la transmission de p paquets est appelé délai de garde (timeout interval). Cette méthode est aussi appelée pipeline, parce que l’on enfourne les paquets dans le « tuyau » sans attendre que les précédents soient sortis. Chaque paquet est doté d’un numéro de séquence qui permet de s’y retrouver dans l’ordre. Ainsi, si un paquet, au milieu d’une transmission, est perdu ou corrompu, le récepteur peut le détecter, et comme l’émetteur n’aura pas reçu d’acquittement de son envoi, il pourra l’émettre à nouveau. Le nombre de paquets successifs soumis à cet algorithme est la largeur de la fenêtre, le contrôle de flux est réalisé en augmentant ou diminuant la largeur de la fenêtre : si cela va trop vite et sature le récepteur, on rétrécit la fenêtre, si le récepteur attend entre les paquets on élargit la fenêtre pour augmenter le débit. Cet algorithme a également été implanté dans les réseaux X25, Wifi, etc.

 Le modèle OSI à sept couches

Une autre contribution majeure de l’équipe Cyclades, et plus particulièrement d’Hubert Zimmermann, est le modèle OSI à sept couches pour représenter les réseaux.

Quand on sait faire communiquer à distance deux machines à traiter de l’information, sait-on pour autant construire un réseau de telles machines ? Sans doute non. Le problème de l’acheminement d’un message dans un réseau complexe se compose de plusieurs sous-problèmes. Un groupe d’experts de l’ISO (Organisation Internationale de Normalisation) réuni de 1977 à 1986 sous la conduite d’Hubert Zimmermann a classé les sous-problèmes selon une échelle allant du plus concret (support physique de la communication) au plus immatériel (le logiciel de communication avec l’utilisateur). Il en est résulté un modèle en couches nommé OSI (pour Open Systems Interconnexion) conforme au principe de division des problèmes par abstraction, où la couche la plus basse correspond aux questions liées au support physique, et la plus haute au logiciel de contact avec l’utilisateur final : les problèmes de chaque couche peuvent être traités en faisant abstraction de ceux des autres couches.

Il est de bon ton parmi les ingénieurs à courte vue de moquer le modèle OSI en disant qu’aucun réseau réel n’est configuré selon ses principes : c’est parfaitement exact. Le modèle OSI est surtout précieux pour la compréhension intellectuelle des réseaux : lorsqu’un ingénieur réseau parle d’un « problème de couche 2 », tous ses collègues savent de quoi il s’agit.

Les protocoles de l’Internet auraient pu être formulés selon le modèle OSI, Bob Kahn n’a pas voulu mais il a eu tort, dans les formulations actuelles il y a confusion entre la couche 1 (physique) et la couche 2 (liaison de données entre deux appareils), par exemple, ce qui gêne ceux qui ont à travailler sur ces sujets.

Autre erreur : dans un réseau il faut que chaque appareil soit identifié et localisé de façon unique, dans le réseau téléphonique c’est le rôle du numéro muni de son préfixe international, dans l’Internet c’est celui du numéro IP. Louis Pouzin avait proposé qu’à l’image de ce qui se faisait dans Cyclades les fonction d’identification et de localisation soient distinctes, ce qu’il nommait adressage logique, indépendant de la topologie. Bob Kahn n’a pas voulu, et aujourd’hui le double rôle du numéro IP pose quantité de problèmes, par exemple de sécurité, surtout depuis que les appareils connectés au réseau se déplacent sans arrêt et passent leur temps à changer de numéro IP. Des stratagèmes laborieux sont élaborés pour contourner cette confusion des rôles, ils n’aboutissent pas, et dès lors que la sécurité du cyberespace devient une question chaque jour plus brûlante, c’est ennuyeux.

 Quatre contributions majeures

Nous avons énuméré trois contributions majeures de Louis Pouzin et de l’équipe Cyclades à l’architecture de l’Internet et des réseaux en général :

- le datagramme, véritable révolution conceptuelle ;
- l’algorithme des fenêtres glissantes ;
- le modèle OSI des réseaux, en sept couches.

Il en est une quatrième, le shell, un système de commandes pour piloter l’ordinateur qui est en même temps (c’est dans le « en même temps » que réside l’intérêt) un langage de programmation, ce qui permet d’automatiser facilement les opérations de gestion de systèmes ou de projets. Quand on en parle à Louis Pouzin, il balaie du revers de la main : « on ne va pas remonter à la préhistoire ». C’était pendant son séjour au MIT, en 1964, quand il travaillait au projet CTSS (ancêtre de Multics) avec Fernando Corbató. N’empêche, pour qui a connu l’informatique sans shell, c’était un sacré progrès, qui facilite depuis la vie de tous les informaticiens professionnels. Ne méprisons pas les instruments et les outils : bien des inventions de plus haute volée n’auraient pu avoir lieu sans leur aide au jour le jour.

 Gouvernance de l’Internet

Depuis une vingtaine d’années, sans délaisser la technique et la science, Louis Pouzin s’est beaucoup investi dans les instances de diffusion et de gouvernance de l’Internet : rencontres d’Autrans (1997) avec Bruno Oudet, Sommets mondiaux sur la société de l’information (SMSI), conférences internationales diverses et variées, engagement dans le projet RINA (Recursive InterNetwork Architecture) pour la remise à plat de l’architecture de l’Internet et de ses protocoles, projet OpenRoot pour proposer une alternative au monopole de l’Internet Corporation for Assigned Names and Numbers (ICANN, sous le contrôle complet du gouvernement américain) sur les noms de domaines, etc.

 Nul n’est prophète en son pays...

Avant d’avoir rencontré Louis, même si je ne connaissais qu’une petite partie de ses travaux et de ses réalisations, je ne comprenais pas qu’avec un tel itinéraire, polytechnicien de surcroît, il ait si peu réussi à faire aboutir ses projets en France. Lors de notre première rencontre, il y a une quinzaine d’années peut-être, j’ai tout de suite compris. D’abord, il n’a pas le physique du haut fonctionnaire au teint rose et au costume de croque-mort. Ensuite, il en a encore moins l’esprit, non seulement il ne se prend pas au sérieux, mais il manifeste un humour ironique qui ne doit guère plaire dans les antichambres des cabinets ministériels.

Mais il est reconnu pour sa valeur dans bien des pays étrangers. Vinton Cerf et Bob Kahn le considèrent à leur égal, ce qui n’est pas si fréquent pour un Français aux États-Unis. La Reine Elizabeth lui a remis en 2013 le Queen Elizabeth Prize of Engineering, en même temps qu’à Vinton Cerf, Bob Kahn, Tim Berners Lee et Marc Andreessen, et l’a reçu trois fois, dont une cérémonie mémorable où il était mêlé aux invités britanniques, cependant que la délégation française officielle faisait semblant de ne pas le voir.

J’aurai garde de terminer ce compte-rendu sans signaler que les tranches de vie, généreusement livrées par les collègues et les membres de la famille de Louis, sont utilement mises en perspective par les interventions précises de deux historiens des sciences et des techniques, Valérie Schafer et Pierre-Éric Mounier-Kuhn, qui donnent notamment une chronologie précise des événements et des inventions qui jalonnent ces soixante ans d’informatique. Que chacun sache qu’un homme exceptionnel a non seulement consacré sa vie à cette aventure, mais lui a apporté des créations décisives !