ANNÉES 1970

Telnet

Dans l’univers informatique du début des années 1970, l’ARPANET venait de naître, mais ses promesses d’interconnexion universelle se heurtaient à la réalité technique. Chaque fabricant développait ses propres protocoles, ses propres standards, créant autant d’îlots technologiques étanches. Un terminal fonctionnant avec le jeu de caractères EBCDIC ne savait tout simplement pas dialoguer avec un ordinateur PDP-10 configuré pour l’ASCII. Il fallait faire communiquer entre elles des machines de constructeurs différents.

Le protocole Telnet émergea pour répondre à ce problème. Ses concepteurs comprirent qu’il fallait inventer une langue commune informatique qui permettrait à n’importe quel terminal de se connecter à n’importe quel ordinateur distant. Cette intuition donna naissance au Network Virtual Terminal (NVT), concept d’une élégance remarquable dans sa simplicité. Il fonctionne comme un traducteur universel. Plutôt que de forcer chaque machine à comprendre tous les dialectes possibles de ses congénères, le système impose un format standardisé unique. Chaque ordinateur n’a qu’une seule traduction à maîtriser : celle entre son langage natif et cette lingua franca virtuelle. Un terminal EBCDIC traduit vers le NVT, qui retraduit ensuite vers l’ASCII attendu par la machine de destination. L’efficacité de cette approche frappa immédiatement les ingénieurs de l’ARPANET.

Mais l’histoire de Telnet recèle un épisode savoureux. En 1972, Bernard Cosell et David Walden, tous deux employés de BBN et travaillant sur le Terminal Interface Message Processor, se trouvèrent confrontés à un casse-tête récurrent. Les spécifications de Telnet évoluaient constamment, et chaque modification imposait de mettre à jour simultanément toutes les instances existantes sur le réseau. Une tâche pharaonique qui ralentissait considérablement le développement. C’est dans un avion en route vers UCLA que Cosell eut l’illumination. Pourquoi ne pas laisser les deux extrémités d’une connexion négocier entre elles les fonctionnalités qu’elles souhaitaient utiliser ? Cette idée, qu’il développa avec Walden pendant le vol, révolutionna l’approche des protocoles réseau. De retour au sol, ils conçurent un mécanisme reposant sur quatre commandes lapidaires : DO, DON’T, WILL et WON’T. Ces quatre mots magiques transformèrent Telnet en un protocole vivant, capable d’évoluer sans casser l’existant. Quand une machine proposait une nouvelle fonctionnalité via WILL, son interlocutrice pouvait l’accepter avec DO ou la décliner poliment avec DON’T. Si elle ne comprenait pas la proposition, un simple refus suffisait, et la communication reprenait sur les bases communes du NVT. Cette négociation permanente permit au protocole de s’enrichir progressivement, telle une langue qui intègre naturellement de nouveaux termes sans perdre sa cohérence. Ray Tomlinson, déjà célèbre pour avoir inventé l’e-mail, travaillait alors sur l’implémentation Telnet pour le système TENEX. Dès qu’il découvrit le mécanisme imaginé par Cosell et Walden, il en saisit immédiatement la portée. David Walden formalisa l’idée dans le RFC 435, publié en janvier 1973, posant les jalons de ce qui deviendrait un standard durable.

La standardisation définitive intervint dix ans plus tard, avec le RFC 854 de 1983. Telnet y gagna sa forme moderne : connexion TCP bidirectionnelle sur le port 23, encodage ASCII 7 bits, et gestion sophistiquée du flux de données. Les ingénieurs y ajoutèrent un mécanisme de synchronisation ingénieux, pensé pour les situations d’urgence où un utilisateur doit reprendre le contrôle d’un programme distant devenu fou. Le signal « Synch » utilise les capacités d’urgence de TCP pour court-circuiter le contrôle de flux normal et garantir la transmission immédiate des commandes critiques. Cette architecture élégante fit de Telnet bien plus qu’un simple émulateur de terminal. Le protocole devint l’épine dorsale de l’accès distant aux systèmes informatiques. Dans les années 1980 et 1990, il alimenta l’explosion des premiers services en ligne et des BBS, ces babillards électroniques précurseurs des forums d’aujourd’hui. Sa simplicité séduisait autant les développeurs que les utilisateurs.

Conçu dans les années 1970, quand l’informatique évoluait dans un monde de confiance relative, Telnet ne chiffrait rien. Mots de passe, données sensibles, tout transitait en clair sur les réseaux. Cette faiblesse, anodine à l’origine, devint rédhibitoire avec la démocratisation d’Internet et l’émergence des préoccupations sécuritaires. L’arrivée des interfaces graphiques porta un coup supplémentaire au vénérable protocole. Les utilisateurs délaissèrent progressivement les terminaux en mode texte pour les fenêtres colorées et les icônes cliquables. SSH, apparu dans les années 1990, récupéra les atouts de Telnet en y ajoutant le chiffrement qui lui manquait tant.

S’il est chassé par les experts en sécurité, Telnet n’a pas disparu pour autant. Dans les salles serveurs, il est l’outil de diagnostic par excellence. Les administrateurs réseau l’ont utilisé longtemps, peut-être encore d’ailleurs, pour tester la connectivité sur un port donné ou configurer de vieux équipements récalcitrants. Cette persistance témoigne de la robustesse de sa conception originelle.

Le concept de terminal virtuel a essaimé dans d’innombrables protocoles ultérieurs. Le mécanisme de négociation d’options, né dans cet avion vers UCLA, inspira les ingénieurs confrontés au défi de l’extensibilité. Comment faire évoluer un protocole sans casser l’existant ? Cosell et Walden avaient trouvé une réponse d’une simplicité déconcertante, qui continue de faire école. Face à la complexité croissante des systèmes, la tentation était grande de développer des solutions sophistiquées, aux fonctionnalités pléthoriques. Telnet choisit de privilégier l’interopérabilité et la flexibilité sur la sophistication.