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 :

L’Internet, tentative d’explication
Article mis en ligne le 3 octobre 2022
dernière modification le 4 octobre 2022

par Laurent Bloch

 Transmettre de l’information à distance

Le problème de base à résoudre pour concevoir et réaliser un réseau d’ordinateurs consiste à établir un échange de données entre deux ordinateurs distants. Ce problème se divise en deux parties : pour que les données circulent correctement elles doivent être représentées selon un codage approprié commun aux deux extrémités, et il y faut un support physique également approprié.

La transmission de données entre calculateurs a précédé l’invention de l’ordinateur proprement dit. En 1940 George Robert Stibitz travaillait depuis déjà quelques années à la conception et à la réalisation de calculateurs à relais électromécaniques pour les Bell Telephone Laboratories. Il avait organisé une démonstration de sa machine au Dartmouth College, dans le New Hampshire, où se tenait le congrès de la Société américaine de mathématiques, alors que le calculateur était à New York, à 440 km de là. Le matériel était très encombrant et le déménager compliqué et aléatoire : Stibitz décida de réaliser la démonstration à partir d’un télétype (une variété de télex, combinaison d’une machine à écrire et d’un combiné téléphonique) relié par une ligne téléphonique à la machine, ce qui fut fait le 11 septembre 1940 avec un total succès. Dès lors le « problème de base » pouvait être considéré comme résolu. On savait faire communiquer à distance deux machines à traiter de l’information.

Dans ce cas précis le support matériel de la communication était une ligne de téléphone en fils de cuivre, comme on en utilise encore aujourd’hui, mais les réseaux informatiques peuvent utiliser toutes sortes de supports matériel sans que cela modifie la nature du problème à résoudre : fibre optique, faisceau hertzien, canal satellite, câble coaxial, rayons infrarouge, signal laser etc. Il suffit que les équipements à chaque extrémité soient configurés correctement, de façon cohérente, ce qui d’ailleurs n’est pas une mince affaire.

 Établir des communications dans un réseau

Considérons comme acquise la solution du problème de base, faire communiquer à distance deux machines à traiter de l’information. Avons-nous pour autant 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), 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. Fort peu de réseaux réels ont été construits selon le modèle OSI, qui par contre a été très utile pour enseigner la science des réseaux, parce qu’il décompose en concepts clairs ce qui sinon serait un galimatias inextricable de détails techniques.

Dans les réseaux de télécommunication anciens, l’établissement d’une communication consistait à établir un circuit physique continu (en cuivre) entre les deux extrémités. Le circuit ainsi établi était physiquement réservé à la communication en cours pendant toute sa durée, ce qui rendait les communications à longue distance très onéreuses. Pour pallier cet inconvénient il fallut mettre au point des techniques destinées à acheminer plusieurs communications simultanées par un même support physique : ce que l’on appelle le multiplexage. Ainsi furent inventés le multiplexage de fréquence, qui consiste à partager le spectre disponible en plages de fréquences attribuées chacune à une communication, et le multiplexage temporel, qui leur attribue des intervalles de temps alternatifs.

 Réseaux de transmission par paquets

Les réseaux de données modernes utilisent la transmission par paquets. Si les données (cas de la voix ou des images) ne sont pas intrinsèquement numériques, elles sont d’abord codées sous forme numérique, puis le flux de données est découpé en paquets de petite taille, typiquement quelques milliers de caractères.

Chaque paquet est muni d’un en-tête qui contient des informations utiles à son acheminement, typiquement l’identification des points d’émission et de destination des données, éventuellement un numéro d’ordre et des codes redondants pour en vérifier l’intégrité. Le fait que chaque paquet soit accompagné de ces informations, appelées aussi métadonnées, permet de l’acheminer indépendamment des autres paquets du flux, ce qui est utile pour la détection et la correction des erreurs de transmission, ainsi que pour adapter le débit d’émission de données à la capacité de réception du destinataire.

La transmission par paquets procure un moyen élégant de multiplexage de données : si deux transmissions indépendantes utilisent sur une partie de leurs itinéraires respectifs un tronçon commun, on peut sans inconvénient mélanger leurs paquets au fur et à mesure de leur arrivée, puisque les adresses de destination permettront de faire le tri à la sortie de ce tronçon et d’envoyer chaque paquet vers la bonne destination. Cette opération de tri et d’aiguillage se nomme le routage, et elle est effectuée par des ordinateurs spécialisés nommés routeurs.

Les réseaux de transmission par paquets permettent aussi d’imaginer qu’en cas de coupure accidentelle d’une liaison quelque part dans le réseau les paquets puissent être ré-acheminés (re-routés) par un autre itinéraire, à condition qu’existe dans le réseau une certaine redondance de liaisons.

La transmission de données par paquets sur un réseau a été inventée indépendamment par Paul Baran de la Rand Corporation (un organisme de recherche à but non lucratif sous contrat avec le Département de la Défense américain), par Leonard Kleinrock de l’université Stanford et par Donald Davies du National Physical Laboratory britannique, au début des années 1960.

Lawrence Roberts, à l’origine (à la suite de Robert Taylor) du réseau ARPANET, créé en 1969 par la firme Bolt, Beranek & Newman (BBN) pour l’Advanced Research Projects Agency (ARPA) du Département de la Défense américain, avait eu connaissance des techniques de transmission par paquets en rencontrant Roger Scantlebury, un collaborateur de Donald Davies, lors d’une conférence sur les réseaux à Gatlinburg, Tennessee, en octobre 1967. Convaincu par l’idée, il allait la mettre en œuvre dans ARPANET. Si ARPANET était bien une émanation du Département de la Défense, son usage n’était pas militaire, mais destiné au partage de moyens de calcul entre laboratoires de recherche, le plus souvent universitaires, sous contrat avec l’ARPA. Janet Abbate, dans son livre Inventing the Internet (Inside Technology) (1999, MIT Press), décrit de façon nuancée les équilibres délicats entre administrateurs militaires et chercheurs d’esprit plutôt anarchiste, ce en pleine période de guerre du Viêt-Nam.

 Commutation de circuits

Les premiers réseaux de paquets fonctionnaient selon un principe de circuits virtuels : pour une transmission donnée, les ordinateurs de commande du réseau, que l’on n’appelait pas encore des routeurs, calculaient un itinéraire, et tous les paquets de ce flux empruntaient cet itinéraire. La technique des circuits virtuels plaçait les opérations de calcul d’itinéraire et de contrôle d’acheminement au cœur du réseau, dans ses systèmes de supervision qui effectuaient l’aiguillage (la commutation) des flux de données.

Le réseau ARPANET, le réseau du National Physical Laboratory britannique, ainsi que les réseaux X25 comme le réseau français Transpac, étaient des réseaux à commutation de circuits virtuels.

 1972 : tempêtes sous les crânes

1972 est une année charnière dans le monde des réseaux. Vinton Cerf et Robert Kahn étaient les chefs de file du développement d’ARPANET, qui reliait 29 nœuds (on appelle nœud d’un réseau un ordinateur qui possède au moins deux liaisons au réseau, ce qui lui permet de jouer le rôle de passerelle entre sous-réseaux). L’IRIA français, ancêtre d’Inria, avait lancé le réseau Cyclades sous la direction de Louis Pouzin. Le National Physical Laboratory britannique avait un réseau conçu par Donald Davies. Les PTT de plusieurs pays européens (dont la France) avaient aussi des projets de réseaux.

En octobre 1972 tous ces groupes se réunirent à Washington pour la première Conférence internationale sur les communications informatiques, avec l’idée, entre autres, d’interconnecter leurs réseaux. Cette réunion fut le lieu d’intenses échanges d’idées et d’expériences, à l’origine de la conception par Cerf et Kahn du protocole TCP [1] en 1974 (la couche réseau n’apparaîtra comme un protocole distinct de TCP sous le nom d’IP [2] qu’en 1978), et aussi du modèle OSI [3] en sept couches publié par un article fameux [4] d’Hubert Zimmermann (1941-2012). Un des enjeux débattus était la possibilité d’interconnecter des réseaux différents, ce qui allait mener à l’idée d’Internet.

Je traduis le passage de Janet Abbate qui commente la contribution de l’équipe Cyclades à cette conférence (p. 171 de l’édition électronique) : « Cyclades était un projet de réseau expérimental lancé en 1972 avec un financement du gouvernement français. Ses architectes, Louis Pouzin et Hubert Zimmermann, avaient des idées très tranchées sur l’interconnexion de réseaux [(internetworking)]. En fait, Cyclades, à la différence d’ARPANET, avait été conçu explicitement pour permettre l’interconnexion ; il pouvait, par exemple, traiter des adresses de formats différents et des niveaux de service variés [5].

Cyclades était basé sur un système très simple de commutation de paquets. Plutôt que de confier au réseau la tâche de maintenir une connexion stable entre deux extrémités [hosts, hôtes], à la façon d’ARPANET, Cyclades émettait simplement des paquets individuels (sous le nom de « datagrammes »). L’argument de Pouzin et Zimmermann était que plus les fonctions du réseau resteraient simples, plus la construction d’un internet serait facile. Selon Pouzin [6], “plus un réseau sera perfectionné, moins il sera facile de l’interfacer correctement avec un autre. En particulier, toute fonction autre que l’émission de paquets sera selon toute probabilité trop spécifique pour communiquer correctement avec un voisin.” Afin de cantonner les fonctions du réseau au strict minimum, les chercheurs français soutenaient qu’il était nécessaire d’attribuer la responsabilité de maintenir des connexions stables au protocole d’extrémité [hôte]. Cela allait à l’encontre à la fois de la façon dont BBN avait conçu l’ARPANET et de celle dont les opérateurs de télécommunications en France et ailleurs prévoyaient de construire leurs réseaux publics de données. Sans doute en prévision d’une opposition à leur approche non conventionnelle, les membres du groupe Cyclades défendaient leur philosophie d’interconnexion avec une extrême vigueur. Pouzin et Zimmermann étaient actifs au sein de l’INWG (International Packet Network Working Group). Un autre membre de l’équipe Cyclades, Gérard Le Lann, travaillait dans le labo de Cerf à Stanford, où il avait la possibilité de participer directement à la conception du système internet de l’ARPA. Selon Cerf [7], le groupe Cyclades “contribuait beaucoup aux premières discussions pour savoir à quoi ressemblerait le [protocole d’extrémité].” »

 Commutation de paquets

L’émission de datagrammes indépendants les uns des autres, simplement munis de leurs adresses d’émission et de destination, invention de Louis Pouzin mise en œuvre par l’Internet, laisse à chaque routeur la décision de la prochaine étape dans le réseau. Les différents datagrammes d’une même transmission peuvent emprunter des itinéraires différents et arriver à destination dans le désordre. On laisse à la charge du protocole d’extrémité (par exemple TCP) le soin de vérifier qu’ils sont tous arrivés, sans erreur, et de les mettre dans le bon ordre. C’est une différence essentielle avec les protocoles dits « connectés », tels que X25.

L’Internet est de toute évidence une œuvre collective, il n’y a pas un unique inventeur de l’Internet, mais il n’y en a pas non plus une multitude. Ce qui ressort de la lecture d’historiennes spécialistes du domaine comme Janet Abbate et Valérie Schafer ou d’acteurs de ces événements comme Vinton Cerf, Robert Kahn et Alexandre McKenzie, c’est que si Cerf et Kahn furent bien les maîtres d’œuvre de la transition d’ARPANET à l’Internet que nous connaissons et de la réalisation de TCP puis d’IP, l’invention du datagramme, qui allait à contre-courant de tous les projets et de toutes les réalisations de l’époque, et qui a joué un rôle déterminant dans la constitution du réseau tel que nous le connaissons, est bien le fait de l’équipe Cyclades dirigée par Louis Pouzin [8].

Louis Pouzin avait eu une autre idée, malheureusement non retenue à l’époque. L’adresse IP d’un nœud du réseau sert à la fois à l’identifier et à le localiser. Pouzin avait suggéré de séparer ces deux fonctions, mais Cerf et Kahn avaient trop avancé dans la voie qu’ils s’étaient fixée et n’ont pas voulu revenir en arrière. Cette confusion des fonctions d’identification et de localisation a de nombreux inconvénients, notamment pour la sécurité du réseau, surtout depuis la généralisation des mobiles (quand un nœud se déplace, il change d’adresse, donc d’identité), et pour la contourner les opérateurs du réseau sont contraints à d’inélégantes gymnastiques.

Le datagramme allait permettre de s’affranchir d’une gestion lourde du réseau, au profit d’un réseau plus simple et du report de la complexité dans les protocoles d’extrémité (par exemple TCP). Cette simplification a permis l’extraordinaire croissance de l’Internet, sans avoir à remettre fondamentalement en cause l’architecture de la couche réseau (IP). D’autre part, c’est le fait de réserver aux protocoles d’extrémité la plus grande partie de la complexité qui a permis le développement sur le réseau de multiples protocoles spécialisés, et ce, encore une fois, sans remise en cause de l’architecture générale. C’est en cela que le datagramme est une invention extraordinaire, qui a permis le succès non moins extraordinaire de l’Internet, et dont nous sommes redevables à l’équipe Cyclades dirigée par Louis Pouzin.

 Le Système de noms de domaines (DNS)

À ce point nous avons un réseau qui met en relation des terminaux (ordinateurs, et aujourd’hui téléphones et toutes sortes d’objets informatisés). Chaque terminal a une adresse (ou numéro) IP, analogue au numéro de téléphone du réseau téléphonique. Si je connais le numéro IP de mon correspondant, je peux établir une communication avec lui. Mais où se trouve l’annuaire qui me permettra de connaître ce numéro ? C’est le Système de noms de domaines (DNS), inventé en 1983 par Paul V. Mockapetris, et abondamment perfectionné depuis.

Si aujourd’hui depuis un cybercafé de Macao vous pouvez consulter le solde de votre compte sur le site de votre banque française, ainsi que l’état de votre commande chez Amazon en Virginie, c’est grâce à l’Internet, bien sûr, mais si vous pouvez le faire facilement c’est grâce au système de noms de domaines, le DNS. Fonctionnellement, c’est un simple annuaire : dans la colonne de gauche les noms des domaines, comme par exemple « laurentbloch.net » dans l’URL (adresse réseau, Uniform Resource Locator) https://laurentbloch.net, dans la colonne de droite les numéros IP correspondants (analogues aux numéros de téléphone). Techniquement, c’est un des rouages les plus merveilleux de l’Internet, une base de données distribuée mondiale, mise à jour automatiquement par les abonnés eux-mêmes et en temps (presque) réel, dont la racine, organisée logiquement autour de 13 serveurs, est répartie physiquement sur des centaines de machines de par le monde (de même, il existe une carte des points d’échange de l’Internet (IXP) et une carte des fibres optiques transocéaniques, indispensables à la compréhension du cyberespace ; cf. aussi cet article sur les câbles sous-marins). Cela marche si bien parce que ce système est unique, et univoque : des centaines de bureaux d’enregistrement coopèrent de par le monde afin que de Macao vous puissiez apprendre le numéro IP de la Banque agricole de Paizay-le-Tort dans les Deux-Sèvres, sans même avoir à vous en occuper, votre navigateur Web le fait pour vous. À un nom de domaine correspond un serveur unique (éventuellement répliqué sur plusieurs machines physiques et sur plusieurs sites), sans ambiguïté.

 Le Web, ou l’Internet facile pour tous

Les dispositifs techniques décrits ci-dessus ont permis à l’Internet de devenir la principale infrastructure mondiale. C’est la simplicité de ses protocoles à commutation de paquets par datagrammes et de gestion des noms de domaines qui ont permis à un réseau, prévu à l’origine pour quelques centaines de machines, de s’étendre à des milliards de terminaux, sans remise en cause des principes généraux (même si dans la coulisse il y a fallu des exploits d’ingéniosité technique pour corriger les nombreux problèmes qui surgissaient au fil de la croissance).

Mais il restait une marche à gravir, ouvrir l’Internet au grand public, pour l’activité professionnelle de tout un chacun comme pour la vie de tous les jours : ce sera le World Wide Web, ou WWW, ou Web, inventé en 1989-1990 par Tim Berners-Lee, dont le succès sera tel que pour l’homme de la rue il se confond avec l’Internet. Ce succès adviendra en fait à partir de 1993, avec les premiers logiciels en mesure d’y accéder facilement, les navigateurs Web.

Le Web est constitué de serveurs connectés à l’Internet, qui publient des données de toutes sortes, texte, images, vidéo, musique, etc. Le protocole HTTP (pour HyperText Transfer Protocol, HTTPS pour la version chiffrée avec authentification) permet d’accéder à ces ressources documentaires par la simple mention de leur URL (pour Uniform Resource Locator), qui indique leur emplacement, que le navigateur pourra atteindre avec l’aide du Système de noms de domaines (DNS). Là encore, un procédé d’une grande simplicité se révèle d’une efficacité diabolique : si je connais l’URL du document que je souhaite consulter, le DNS va pouvoir en déduire l’adresse IP, qui me mènera directement au serveur idoine. C’est si simple que des milliards d’humains peuvent l’utiliser, parfois même sans savoir lire, il suffit de cliquer sur le symbole qui représente l’URL.

 Internet et hégémonie mondiale

Sa simplicité, sa flexibilité, son adaptabilité ont permis à l’Internet de conquérir le monde. D’abord l’économie mondiale s’est réorganisée autour de l’Internet ; l’arrêter, et les entreprises ne reçoivent plus de commandes, elles ne peuvent plus ni payer salariés et fournisseurs ni encaisser les factures des clients, les usines et les bureaux d’études s’arrêtent. Puis ce fut le tour de la culture, la musique, le cinéma se diffusent par le réseau. La guerre et le crime organisé substituent de plus en plus souvent la cyberattaque aux effets cinétiques. Les multiples objets de la vie quotidienne, de l’automobile au téléviseur en passant par le lave-vaisselle et par la simple ampoule électrique, comportent de l’ordre de 40% de valeur informatique, souvent connectée. La téléphonie mobile 5G et, plus encore, 6G, permettront la création de réseaux fermés d’entreprise et l’informatisation des usines.

Ce rôle central de l’Internet dans l’organisation du monde implique la nécessité, pour tout pays soucieux de tenir son rang, d’en maîtriser tous les aspects. Il faut pour cela disposer d’une industrie informatique et micro-électronique digne de ce nom, avec les dizaines de milliers d’ingénieurs et de techniciens que cela suppose, sans oublier les spécialistes du logiciel et de la cybersécurité. Il faut aussi bien sûr des ingénieurs et techniciens du réseau, des centres de données et de l’infonuagique (cloud computing).

Enfin, last but not the least, rien de tout cela n’est envisageable si le système éducatif ne forme pas, en quantité et en qualité suffisantes, tous ces ingénieurs et ces techniciens, ce qui n’est possible que si l’on développe aussi la recherche fondamentale et appliquée, or c’est sans doute là que la France a le plus de retard, de façon inexcusable.