Arpanet 1961-1970, les débuts
Le 29 octobre 1969, le réseau Arpanet donnait ses premiers signes de vie (transmission de caractères), aboutissement de travaux financés depuis 1961 par l'Advanced Research Projects Agency (ARPA), devenue DARPA, Department of Defense Advanced Research Project Agency, en 1972. Dans les rapports de Rand Corporation par Paul Baran (classifiés jusqu’en 1964) et dans la thèse de Leonard Kleinrock (MIT, 1961), on trouve tous les concepts fondateurs (« packet switching », « adaptive routing », « store-and-forward », etc.). Arpanet fonctionnait grâce à des Interface Message Processor (IMP), nœuds du réseau chargés de commuter et de router les paquets. Conçus dès le milieu des années soixante, les IMP étaient construits par Bolt Beranek & Newman (BBN), spin-off du MIT.
En 1968, les concepteurs Nord-américains et anglais (Donald Davies, National Physical Laboratory) avaient figé les choix essentiels :
- paquets (aussi appelés blocks, fragments, avant d’être désignés par datagrams, nom inventé par Harold Bothner-By, ingénieur norvégien) pour le réseau d’IMP ; tout équipement (« host ») était connecté à Arpanet sur un IMP, faisant office de nœud d’entrée et de sortie réseau,
- messages, pour le niveau transport de bout-en-bout (entre équipements connectés),
- fragmentation/réassemblage de messages ; un IMP d’entrée fragmente en paquets tout message reçu localement d’un de ses « hosts » ; un IMP de sortie réassemble tous les paquets qui composent un message avant de livrer ce dernier à l’« host » local destinataire ; l’équivalent d’un « circuit virtuel » est établi entre ces deux IMP ; à l’intérieur du réseau d’IMP, les paquets circulent indépendamment les uns des autres, en empruntant si nécessaire des chemins différents (routage adaptatif et mode « pure datagram ») ; les paquets arrivent sur un IMP de sortie dans un ordre quelconque ; des pertes et des répétitions de paquets, des ruptures de "circuits virtuels" peuvent se produire,
- transport fiable et ordonné de messages de bout-en-bout (end-to-end error and flow control) ; c’est le rôle du protocole NCP (Network Control Program), exécuté dans les "hosts", afin de garantir (1) tout message émis par E est livré correctement, entièrement, chez le destinataire D, (2) toute séquence de messages émise par E est livrée correctement, entièrement, et dans l’ordre des émissions, chez D, (3) absence de saturation par E des capacités de réception de D ; une restriction majeure de NCP, à savoir un seul message en transit entre E et D, sera éliminée dans TCP, le successeur de NCP.
Arpanet 1970-1972, les prémices de la transition vers Internet
Divers réseaux hétérogènes furent connectés au réseau Arpanet. Par exemple, sur le territoire Nord-américain, PRNet (Packet Radio Network)—premier réseau radio à commutation de paquets, et les premiers Ethernet de Xerox Parc (Palo Alto). À l’international, par liaisons satellitaires à commutation de paquets, le réseau NPL anglais, via SatNet (implémenté par Robert Kahn et BBN), et le réseau norvégien (le seul IMP livré en dehors des USA fut installé à Oslo).
Le but était d’expérimenter les solutions qui allaient conduire à la transition entre Arpanet et Internet, consistant en une fédération de réseaux hétérogènes interconnectés.
Internet 1972-1983, de la naissance au déploiement
Outre les expérimentations d'interconnexion de réseaux à Arpanet, la transition d’Arpanet vers Internet repose sur les travaux de révision et amélioration des idées fondatrices. Œuvre collective menée par les auteurs des fameuses Request for Comments (RfC), des notes International Network Working Group (INWG), et des publications phares, qui ont conduit à la définition des protocoles socles d’Internet.
L’article fondateur a pour auteurs Vint Cerf et Robert Kahn : « A Protocol for Packet Network Intercommunication ». Ce protocole fut ensuite modularisé, pour donner TCP (le Transmission Control Protocol) et UDP (le User Datagram Protocol) au niveau "transport", et IP au niveau "réseau".
Donc, à sa naissance, Internet fournissait deux types de services :
- La partie TCP, pour le mode connection-oriented (messages livrés sans pertes et dans l’ordre d’émission) ; c’est sur ce mode que reposent la plupart des services usuels (messageries, échanges de fichiers, transactions, etc.) ; le « sliding window scheme » (la "fenêtre glissante") décrit dans Cerf-Kahn 1974 est le mécanisme fondamental pour la régulation et la fiabilisation des échanges de messages (contrôle de flux, contrôle d'erreur), ainsi que pour leur vitesse d’acheminement : plusieurs messages peuvent être en transit entre un "host" émetteur et un "host" récepteur, "gommant" ainsi les délais de propagation des messages dans les réseaux physiques traversés.
- La partie IP, pour le mode connectionless, qui ne garantit aucune fiabilité des échanges, mais qui peut convenir à certains types d’applications ; celles qui doivent respecter l’ordre chronologique des messages échangés tout en tolérant les pertes intègrent nécessairement un mécanisme de livraisons dans l’ordre des émissions équivalent à celui du « sliding window scheme » de TCP.
La différence entre "paquet" et sa finalisation sous le nom "datagram" est très simple :
- Un datagramme est un "paquet universel" dont le format est compris par tout réseau faisant partie d’Internet.
- Au lieu d’être assurés par les IMP d’entrée et de sortie, fragmentation et réassemblage sont "remontés" au niveau transport, exécutés par les "hosts" eux-mêmes.
Dès la fin des années soixante-dix, une compétition s’instaura entre les tenants de TCP/IP et les défenseurs de solutions alternatives, notamment celles fondées sur le modèle en couches ISO/OSI et les initiatives EIN et Euronet de la Communauté économique éuropéenne. Les solutions alternatives faisant l’objet de longs débats internationaux (ISO/OSI) et de dissensions franco-britanniques (EIN vs. Euronet), elles furent prises de vitesse par DARPA qui pesa de tout son poids pour généraliser l’adoption de TCP/IP et d’Internet. Le 1er janvier 1983 (le "flag day"), tous les sites Arpanet (et les sites des réseaux "à la Arpanet") remplacèrent NCP par TCP/IP. En septembre 1984, la Defense Communications Agency décida de séparer Milnet d’Arpanet, pour ses applications non classifiées. Internet et TCP/IP commençaient leur belle carrière, ouvrant la voie au Web et au succès de compagnies innovantes (Cisco par exemple).
L’invention du moteur thermique a permis la naissance de l’industrie automobile et de ses géants. De la même manière, l’invention d’Internet a été essentielle pour l’avènement de l’industrie du numérique et de ses géants. Par un curieux "retour vers le futur", certains de ces géants sont d’ores et déjà des partenaires de l’industrie des télécommunications, en tant que propriétaires de câbles optiques sous-marins (la quasi totalité du trafic Internet intercontinental est acheminée par de tels câbles). Comme, par exemple, le câble Marea (Facebook et Microsoft), entre la Virginie et Bilbao en Espagne, de capacité 160 Terabits/s, et le câble Dunant (Google), entre la Virginie et Saint-Hilaire de Riez (Vendée), de capacité 250 Terabits/s.
Les contributions Cyclades à la genèse d’Internet
Confié à Louis Pouzin, ce projet démarré en 1972 fut hébergé par l’IRIA. Il fut arrêté en 1977, faute d’utilisation réelle et de transferts visibles vers l’industrie malgré l’implication de la CII (voir le témoignage de Michel Élie). À la naissance de Cyclades, les Nord-américains avaient environ dix ans d’avance, avec Arpanet. Brièvement, ce réseau était une copie d’Arpanet, "adaptée" aux technologies disponibles en France - des Mitra-15 servaient d’IMP. La connexion à Arpanet consistait en une ligne téléphonique du réseau PTT commuté de l’époque, sans aucun rapport avec la commutation de paquets. On dénombre deux contributions Cyclades, citées dans le papier historique de 1974 (références 8 et 11).
"Mitranet" (ref. 11) est le nom anglais pour Cigale. Profitant de l’expérience Arpanet, ce sous-réseau de Cyclades fut d’emblée basé sur les datagrammes, comme l’explique Louis Pouzin lui-même, interrogé par la SIF en 2015 : « J’avais déjà pris l’option datagramme, parce que j’avais étudié à fond les expériences menées au National Physical Lab, et je connaissais assez bien le réseau de paquets de l’ARPA. C’était un service à circuit virtuel, mais son fonctionnement à l’intérieur, c’était du datagramme. »
L'appellation la plus proche de "datagram" apparaissant dans un document cosigné Cyclades ("lettergram") se trouve dans une note INWG ayant Hubert Zimmermann comme coauteur. Ce dernier n'a jamais tenté d'attirer la "lumière médiatique". Il nous a quittés trop tôt, malheureusement, avant de recevoir la reconnaissance officielle qui lui est due. Tout comme Donald Davies.
Les travaux de simulation sur le mécanisme "sliding window" (ref. 8) entrepris à l’université de Rennes de 1972 à 1973 (l’IRISA ne sera créé qu’en 1975) portaient sur NCP et sur la première version du protocole STST de Cyclades (voir encadré ci-dessous).
Régulation, fiabilisation et rapidité des échanges de messages entre sites distants étaient les questions centrales pour la transition vers Internet. Les problèmes posés étaient entièrement nouveaux. En bref : comment garantir que des processus asynchrones qui communiquent via des canaux à délais finis mais inconnus, ou infinis, utilisés simultanément par plusieurs processus, en présence de défaillances, ont toujours une même vision de leur état global.
Cette classe de problèmes est à présent connue sous le nom de "consensus distribué", qui a fait l’objet de travaux fondamentaux depuis le milieu des années quatre-vingts. Le problème général du "consensus distribué" est posé pour n processus, n > 1. Dans le cas de TCP/IP, n = 2. De nombreuses applications contemporaines (par exemple, bases de données distribuées, clouds, blockchains, cryptomonnaies) sont fondées sur les algorithmes qui garantissent "consensus distribué"). Une autre tendance récente, le "edge computing", a de facto été amorcée en faisant "sortir" des réseaux physiques les fonctionnalités qui sont désormais à la portée des "hosts" contemporains (PC, tablettes et smartphones).
Il convient de remarquer la rapidité avec laquelle, en deux ans (1972-1973), les contributions IRIA ont été intégrées dans les travaux qui ont conduit à la transition entre Arpanet et Internet.
Une belle occasion manquée
En parallèle à Cyclades, la Direction générale des télécommunications expérimentait les circuits virtuels dans le projet Réseau à commutation de paquets (RCP), dirigé par Rémi Després au CCETT à Rennes. Mes relations avec Rémi Després ont toujours été excellentes. L’idée de coordonner les deux projets aurait certainement été fructueuse. Mais, comme l’explique Philippe Picard qui pilota le lancement du réseau Transpac en 1978 (voir son témoignage), malgré les bonnes intentions de départ, la coopération entre les deux projets se révéla impossible pour de multiples raisons.
Pour conclure, Internet est le résultat d’une œuvre collective. Il est bon ici de citer Leonard Kleinrock (UCLA), l’un des plus célèbres pionniers, à propos des "folks" qui ont participé à cette fantastique aventure : « The Internet would have emerged even if none of those folks had ever been born! It was “in the air” and awaiting the technology to catch up with the vision. »
À l’âge de 51 ans, Internet a démontré (une fois de plus) son extraordinaire robustesse. Confronté à une hausse de 30% du trafic depuis la première vague de la pandémie Covid-19, Internet a parfaitement "tenu".
Pour aller plus loin
[11] L. Pouzin, “Address format in Mitranet”, Note NIC 14497, INWG 20, Jan. 1973
[8] J.F. Chambon, M. Élie, J. Le Bihan, G. Le Lann, and H. Zimmerman, “Functional specification of the transmission station in the CYCLADES network -- The STST protocol” (in French), I.R.I.A. Tech. Rep. SCH502.3, May 1973.