Philosophie de l'ingénierie : Radia Perlman

À retenir
- Elle a inventé le Spanning Tree Protocol, qui a permis à l’Ethernet commuté de fonctionner à grande échelle. Alors qu’elle travaillait chez Digital Equipment Corporation, Radia Perlman a conçu l’algorithme de l’arbre couvrant — publié en 1985 et normalisé sous le nom d’IEEE 802.1D — qui permet aux ponts d’un réseau de topologie quelconque de calculer eux-mêmes un chemin unique et sans boucle vers chaque destination, tout en se rétablissant discrètement en cas de panne. Sans lui, les liens redondants créent des boucles, et une seule trame de diffusion tourne indéfiniment et fait fondre le réseau.123
- Son engagement fondamental, c’est la robustesse : des réseaux qui restent corrects en cas de panne, y compris de panne malveillante. Sa thèse de doctorat au MIT, soutenue en 1988, s’intitulait « Network Layer Protocols with Byzantine Robustness » — un routage conçu pour continuer de fonctionner non seulement quand les liens meurent, mais quand les nœuds mentent activement. Concevoir pour le cas de défaillance, y compris le cas adverse, traverse tout ce qu’elle a bâti.1
- Elle a écrit le manuel de référence et un poème à l’intérieur d’un brevet. Perlman est l’autrice d’Interconnections: Bridges, Routers, Switches, and Internetworking Protocols, le livre sur lequel toute une génération d’ingénieurs réseau a appris, et coautrice de Network Security: Private Communication in a Public World. Elle a aussi écrit « Algorhyme » — « Je crois que jamais je ne verrai / Un graphe plus charmant qu’un arbre » — pour décrire l’arbre couvrant, probablement le seul brevet logiciel répertorié qui contienne un poème.347
- Elle détient plus de 100 brevets et figure au National Inventors Hall of Fame — et déteste l’étiquette « Mère d’Internet ». Intronisée à l’Internet Hall of Fame (2014) et au National Inventors Hall of Fame (2016), avec plus de 100 brevets délivrés, Perlman passe des décennies à repousser l’étiquette de « Mère d’Internet », insistant sur le fait qu’aucune personne seule n’a inventé Internet.15
Le principe
« Je crois que jamais je ne verrai / Un graphe plus charmant qu’un arbre. / Un arbre dont la propriété cruciale / Est la connectivité sans boucle. » — Radia Perlman, « Algorhyme », le poème décrivant le Spanning Tree Protocol4
La plupart du travail d’ingénierie optimise le cas où tout fonctionne. On conçoit le chemin idéal, on gère quelques erreurs qu’on parvient à imaginer, et on livre. Les réseaux n’accordent pas ce confort. Un réseau est un maillage vivant de machines qui tombent en panne au hasard, de liens qui s’éteignent au milieu d’un paquet et — si l’on n’a pas de chance — de nœuds qui ont été pris en main et qui vous abreuvent désormais de mensonges. Toute l’œuvre de Perlman part de l’hypothèse inverse de celle de la plupart du code : le cas de défaillance n’est pas un cas marginal, c’est le centre de la conception. Un protocole ne justifie pas son existence en fonctionnant quand les câbles sont propres, mais en restant correct quand ils ne le sont pas — en se ramenant tout seul à un bon état, sans intervention humaine.13
Le Spanning Tree Protocol incarne ce principe sous sa forme la plus pure. Le problème qu’il résout est brutal et structurel : si l’on relie des commutateurs par des liens redondants — ce qui est indispensable à la fiabilité —, on crée des boucles physiques, et une seule trame de diffusion tournera indéfiniment dans une boucle, se multipliant à chaque embranchement jusqu’à saturer tous les liens et faire mourir le réseau. La solution naïve consiste à interdire les boucles, mais on a alors interdit la redondance, et un seul câble sectionné met hors service la moitié du bâtiment. L’intuition de Perlman fut qu’on peut avoir les deux : laisser les opérateurs câbler le maillage qu’ils veulent et confier aux commutateurs eux-mêmes le calcul d’un arbre unique et sans boucle qui atteint tout de même tout le monde, en gardant les liens redondants en réserve.23 Aucun contrôleur central, aucun humain ne dessine l’arbre à la main — un algorithme entièrement distribué qui converge tout seul et reconverge quand quelque chose lâche.
Le principe a une seconde moitié, et c’est elle qui donne sa profondeur à la première : la robustesse doit s’étendre à la malveillance, pas seulement à l’accident. Un nœud en panne s’arrête, tout simplement ; un nœud compromis continue de parler, et ce qu’il dit est conçu pour vous nuire. Les travaux de doctorat de Perlman posaient la question la plus difficile — un protocole de routage peut-il continuer d’acheminer correctement les paquets même lorsque certains routeurs le sabotent activement ? — et y répondaient par des protocoles dotés d’une robustesse byzantine.1 La discipline est la même que celle qui relie l’arbre couvrant à ses travaux sur la sécurité : présumer le pire du monde dans lequel vit votre protocole, et concevoir de sorte qu’il se rétablisse malgré tout. Et partout, l’esthétique est celle de la simplicité. Un protocole simple est un protocole qu’on peut raisonner, dont on peut prouver des propriétés et dont on peut croire qu’il convergera — c’est pourquoi l’arbre couvrant tient dans un poème.
Contexte
Radia Perlman est née le 18 décembre 1951 à Portsmouth, en Virginie.1 Elle a fréquenté le MIT, où elle a obtenu un SB et un SM en mathématiques, puis un doctorat en informatique en 1988 ; sa thèse s’intitulait « Network Layer Protocols with Byzantine Robustness » — un routage conçu pour survivre à des routeurs devenus malveillants.1 Ce sujet de thèse n’est pas une note de bas de page de sa carrière ; c’est l’énoncé même de sa carrière, couché sur le papier dès le début.
Avant les protocoles qui l’ont rendue célèbre, elle a fait quelque chose de discrètement radical au laboratoire d’intelligence artificielle du MIT : au début des années 1970, elle a développé TORTIS — le « Toddler’s Own Recursive Turtle Interpreter System » —, une version de l’environnement de la tortue LOGO assez simple pour que des enfants d’à peine trois ans et demi puissent programmer un robot.1 Le fil qui la relie à ses travaux ultérieurs est bien réel. Apprendre à programmer à un tout-petit est un exercice de simplification radicale : dépouiller une idée jusqu’à ce qu’elle survive au contact de quelqu’un qui n’a aucune connaissance préalable. Elle passera le reste de sa carrière à dépouiller les protocoles réseau pour les ramener au même genre de noyau essentiel et compréhensible.
Son parcours professionnel passe par les institutions qui ont bâti le réseau moderne. Elle a travaillé à BBN après le MIT, puis a rejoint Digital Equipment Corporation vers 1980, et c’est chez DEC — non pas dans un silo de recherche, mais en résolvant un véritable problème produit — qu’elle a inventé l’algorithme de l’arbre couvrant, conçu le routage DECnet et accompli des travaux fondateurs faisant passer le routage des approches à vecteur de distance aux approches à état de liens, dont IS-IS.13 Après DEC, elle a travaillé chez Novell, puis Sun Microsystems (où elle fut Sun Fellow et obtint plus de 40 de ses brevets), et plus tard chez Intel et Dell EMC.1 Chemin faisant, elle a accumulé plus de 100 brevets délivrés, son intronisation à l’Internet Hall of Fame (2014) et au National Inventors Hall of Fame (2016), ainsi qu’une étiquette qu’elle passe des années à refuser — « Mère d’Internet » — au motif qu’aucune personne seule n’a inventé Internet et que ce titre genré occulte plus qu’il n’honore.15
L’œuvre
Le Spanning Tree Protocol : un arbre que le réseau fait pousser lui-même
Commençons par là, car c’est le principe devenu mécanisme. Le décor est un réseau local étendu (extended LAN) — de multiples segments cousus ensemble par des ponts (ce que nous appelons aujourd’hui des commutateurs) — câblé avec des liens redondants afin qu’aucune panne isolée ne puisse partitionner le réseau. La redondance n’est pas négociable pour la fiabilité. Mais redondance signifie boucles, et les boucles sont fatales : les trames Ethernet ne portent aucun champ de durée de vie (time-to-live), si bien qu’une trame de diffusion qui entre dans une boucle y est recopiée sans fin, et comme les commutateurs rediffusent les trames de diffusion sur chacun de leurs ports, les copies se multiplient jusqu’à consommer toute la bande passante disponible. Le réseau ne ralentit pas ; il meurt. C’est la tempête de diffusion (broadcast storm), et « la fonction de base de STP est d’empêcher les boucles de pontage et le rayonnement de diffusion qui en résulte ».2
L’algorithme de Perlman, en 1985, le résout par un calcul distribué qui n’exige aucune autorité centrale.3 D’abord, les ponts élisent une racine — celui qui possède le plus petit identifiant l’emporte, choix décidé par l’échange de petits messages, sans qu’aucun humain ne le désigne.2 Ensuite, chaque pont calcule son chemin de moindre coût vers la racine et ne conserve actif que ce lien-là pour l’acheminement, bloquant les liens redondants.2 Ce qui subsiste est un arbre couvrant : un chemin unique et sans boucle de chaque segment vers la racine, et donc entre deux points quelconques, qui atteint malgré tout chaque LAN — exactement la « connectivité sans boucle » que nomme le poème.4 Les liens bloqués ne sont pas gaspillés ; ils restent en réserve. Lorsqu’un lien actif tombe en panne, les ponts détectent le changement et l’algorithme calcule un nouvel arbre de moindre coût, promouvant un lien de secours pour rétablir la connectivité.2 Voilà l’auto-réparation — automatique, distribuée, sans qu’aucun opérateur ne touche à quoi que ce soit.
Pourquoi cela compte en tant qu’ingénierie : l’arbre couvrant est un algorithme distribué auto-stabilisant qu’un opérateur peut ignorer. Vous branchez des câbles, vous ajoutez de la redondance par sécurité, et le réseau se range tout seul — et se range à nouveau quand quelque chose casse. L’IEEE a normalisé l’algorithme sous le nom de 802.1D en 1990, et pendant des décennies il a tourné à l’intérieur de pratiquement tous les commutateurs Ethernet administrables commercialisés.2 C’est aussi un modèle d’intelligibilité : l’ensemble tient dans un poème de douze vers parce que l’idée sous-jacente est véritablement simple, et c’est la simplicité qui permet de croire à sa convergence.4
Le routage à état de liens, IS-IS et Interconnections
L’arbre couvrant régit le pontage au sein d’un réseau local étendu ; le routage entre réseaux est le problème plus vaste, et Perlman l’a façonné lui aussi. Chez DEC, elle a contribué à éloigner le routage des protocoles à vecteur de distance — où chaque routeur ne connaît que le coût vers chaque destination tel que le lui rapportent ses voisins, conception sujette à une convergence lente et au « comptage à l’infini » — au profit du routage à état de liens, où chaque routeur apprend la topologie complète et calcule ses propres plus courts chemins.1 Ses travaux sur IS-IS (Intermediate System to Intermediate System), le protocole à état de liens devenu le pendant OSI d’OSPF, expliquent en partie pourquoi le routage à état de liens est robuste et converge vite ; il est conçu pour diffuser de façon fiable les changements de topologie et recalculer les chemins, ce qui est le même instinct d’auto-réparation que l’arbre couvrant, un étage plus haut.1
Elle a aussi écrit le livre — littéralement. Interconnections: Bridges, Routers, Switches, and Internetworking Protocols est l’ouvrage sur lequel toute une génération d’ingénieurs réseau a appris le domaine, et Network Security: Private Communication in a Public World (avec Charlie Kaufman et Mike Speciner) est devenu une référence standard.7 Ce qui distingue son écriture est la même chose qui distingue ses protocoles : l’exigence d’expliquer pourquoi une conception est ainsi faite, et pas seulement ce qu’elle fait — apprendre au lecteur à raisonner sur la correction et la défaillance, plutôt qu’à mémoriser une spécification.

Concevoir contre la malveillance : routage à robustesse byzantine et données qui expirent
C’est le travail qui la révèle le plus. Un réseau qui se rétablit autour de nœuds en panne est déjà assez difficile ; sa recherche doctorale, « Network Layer Protocols with Byzantine Robustness », demandait si le routage peut continuer d’acheminer correctement les paquets même lorsque certains routeurs ont été pris en main et font tout ce qui est en leur pouvoir pour le perturber — en abandonnant des paquets, en mentant sur la topologie, en falsifiant des messages de routage.1 Un nœud en panne est silencieux et prévisible ; un nœud byzantin est bruyant et hostile, et le protocole doit livrer malgré tout. Traiter la panne malveillante comme un cas de première classe à concevoir d’emblée — et non comme un ajout de sécurité greffé après coup — devance de plusieurs décennies la manière dont la plupart des systèmes étaient bâtis, et cela descend directement du même instinct que l’arbre couvrant : présumer le monde hostile et converger vers le correct quoi qu’il arrive.1
Cet instinct s’est prolongé dans ses travaux ultérieurs sur la sécurité. Elle a contribué à des modèles de confiance pour l’infrastructure à clés publiques (PKI) et — idée d’une netteté caractéristique — à des mécanismes de données qui expirent : une gestion de clés éphémères conçue pour qu’une information puisse être rendue de façon fiable irrécupérable après une échéance choisie, l’assurance que les données supprimées ont vraiment disparu.1 C’est l’état d’esprit du cas de défaillance retourné vers la confidentialité. La plupart des systèmes sont bâtis pour se souvenir ; elle, elle a demandé comment bâtir un système à qui l’on puisse faire confiance pour oublier, ce qui est le problème le plus difficile et le plus adverse.

TRILL et la discipline de la simplicité
Perlman fut aussi sa propre critique la plus acérée, et c’est pourquoi elle a conçu le successeur de l’arbre couvrant. La grande limite de STP est le revers de sa vertu : pour tuer les boucles, il bloque les liens redondants, ce qui veut dire que de la bande passante reste inutilisée, et que le trafic entre deux commutateurs voisins peut être contraint à un long détour par la racine.6 TRILL — « Transparent Interconnection of Lots of Links » — est sa réponse, et c’est la synthèse de toute sa carrière : c’est « l’application du routage à état de liens au problème du pontage client (customer bridging) tenant compte des VLAN ».6 Les commutateurs TRILL, appelés RBridges, exécutent entre eux le protocole à état de liens IS-IS pour apprendre la topologie complète et calculer les plus courts chemins, de sorte que TRILL « établit des chemins sur tous les liens actifs » au lieu de les bloquer — la résilience et la simplicité du pontage plug-and-play, avec l’efficacité de chemin du routage.6 C’est le travail sur l’état de liens et le travail sur l’arbre couvrant repliés en une seule conception.
À travers tout cela court un attachement à la simplicité qu’il est facile de sous-estimer. L’arbre couvrant est célèbre en partie parce qu’il est assez petit pour tenir dans un poème ; ses manuels sont aimés parce qu’ils expliquent au lieu d’énumérer ; son reproche constant à l’égard d’une grande part du réseau est qu’il est plus complexe qu’il n’a besoin de l’être. Pour Perlman, la simplicité n’est pas une préférence esthétique — c’est ce qui rend un protocole démontrablement correct et fiablement auto-stabilisant. On ne peut pas faire confiance à un mécanisme pour se réparer lui-même si l’on ne peut pas raisonner à son sujet, et l’on ne peut pas raisonner sur ce qu’on ne peut pas tenir dans sa tête.46
La méthode
Parcourez l’arbre couvrant, IS-IS, la thèse sur la robustesse byzantine, les travaux sur la sécurité et TRILL, et les mêmes engagements reviennent. La méthode de Perlman tient moins d’un slogan que d’un ensemble d’habitudes constantes.
Concevoir d’abord pour le cas de défaillance. L’arbre couvrant n’est pas un algorithme d’acheminement auquel on aurait ajouté la gestion des pannes ; la panne est le problème pour lequel il existe — des liens redondants qui doivent coexister avec l’absence de boucle, et des liens actifs qui mourront et autour desquels il faudra se rétablir.23 La leçon dépasse de loin le réseau : ne concevez pas le chemin idéal pour ensuite y rapiécer la gestion des erreurs, concevez d’abord les modes de défaillance et laissez le chemin idéal découler d’un système qui leur survit déjà. C’est la barrière des preuves appliquée à la robustesse — « ça marche quand rien n’est cassé » n’est pas une preuve ; « ça converge vers le correct quand les liens tombent » en est une.
Présumer la malveillance, pas seulement l’accident. Les défaillances les plus difficiles ne sont pas les silencieuses ; ce sont les nœuds qui ont été compromis et qui mentent désormais. La thèse de Perlman sur la robustesse byzantine traite l’adversaire comme une donnée de conception, non comme une arrière-pensée.1 C’est le même instinct sur lequel Adi Shamir a bâti une carrière en cryptographie — on ne comprend pas un système tant qu’on ne s’est pas demandé ce que peut faire un attaquant qui en contrôle une partie — et c’est pourquoi une frontière de permissions ou un protocole de routage doit être conçu contre le participant qui essaie activement de le casser.
Le rendre auto-stabilisant — sans intervention humaine. La vertu la plus profonde de l’arbre couvrant est qu’un opérateur peut l’ignorer : il converge tout seul et reconverge après une panne sans que personne ne dessine l’arbre.2 La discipline consiste à pousser la récupération dans le système plutôt que dans une procédure manuelle, car un réseau qui a besoin d’un humain pour se réparer ne se répare pas à 3 h du matin. C’est la même pulsion de correction distribuée que Leslie Lamport a apportée au consensus : définir précisément le bon état, puis bâtir un protocole qui y revient depuis n’importe quel point de départ.
Le garder assez simple pour qu’on puisse le raisonner — et l’enseigner. Un protocole qui tient dans un poème est un protocole dont on peut prouver la convergence ; un manuel qui explique pourquoi rend la génération suivante capable de raisonner plutôt que de mémoriser.47 La simplicité, ici, n’est pas du minimalisme pour lui-même — c’est la condition préalable de la confiance, la même économie de moyens qui fait que les mécanismes les plus solides sont aussi les plus compréhensibles, dans l’esprit du produit minimum digne.
Être son propre critique le plus sévère. STP fonctionne, et Perlman a tout de même conçu TRILL pour corriger le gaspillage des liens bloqués de STP à l’aide des idées d’état de liens auxquelles elle avait consacré une carrière.6 L’habitude constante est de continuer d’attaquer son propre meilleur travail — de nommer la limite de la chose qui vous a rendu célèbre et d’en bâtir le successeur —, ce qui est la qualité est la seule variable faite pratique : la question n’est jamais « est-ce assez bon pour être livré ? » mais « est-ce encore la bonne conception ? ».
Chaîne d’influence
Qui l’a façonnée
La tradition mathématiques-et-IA du MIT. Deux diplômes de mathématiques et un doctorat au MIT, plus des travaux précoces au laboratoire d’IA sur les systèmes de la tortue LOGO, l’ont ancrée à la fois dans la rigueur nécessaire pour prouver la correction d’un protocole et dans l’instinct de rendre les idées radicalement simples.1 Apprendre à programmer à un enfant de trois ans relève de la même compétence que faire tenir un arbre couvrant dans un poème. (Influence formatrice)
La première communauté de l’internetworking. Ses années à BBN et chez DEC l’ont placée au cœur des institutions qui construisaient réellement les réseaux étendus et locaux dans les années 1970 et 1980, où les problèmes n’avaient rien d’académique — les boucles faisaient bel et bien fondre de vrais réseaux — et où les travaux sur DECnet, IS-IS et le pontage sont nés de leur résolution.1 (Influence directe)
La tradition des fautes byzantines. Sa concentration doctorale sur les protocoles robustes face à la panne malveillante la relie à la lignée de pensée des systèmes distribués — formalisée par Leslie Lamport et d’autres — qui demande comment un système reste correct quand certains participants se comportent de façon arbitraire, voire hostile.1 (Influence formatrice)
Qui elle a façonné
Tout réseau Ethernet commuté. Le Spanning Tree Protocol, normalisé sous le nom d’IEEE 802.1D, a tourné à l’intérieur de pratiquement tous les commutateurs administrables pendant des décennies — la raison silencieuse pour laquelle brancher des câbles redondants dans un réseau d’entreprise ne le met pas à terre.23
Les fabrics modernes de centres de données. TRILL et ses idées de pontage à état de liens ont poussé le domaine vers des fabrics qui utilisent tous leurs liens via le routage par plus court chemin plutôt que de bloquer la redondance, façonnant la manière dont sont bâtis les grands réseaux de centres de données.6
Une génération d’ingénieurs réseau. À travers Interconnections et Network Security, Perlman a appris au domaine à raisonner sur les ponts, les routeurs et les protocoles — son style explicatif explique en partie pourquoi tant de praticiens pensent les réseaux comme ils le font.7
Le fil conducteur
Perlman est la clé de voûte de cette série du côté de la résilience propre du réseau — la figure qui a fait que les câbles sous tout le reste se réparent d’eux-mêmes. Leslie Lamport a bâti la théorie des systèmes distribués qui restent corrects en cas de panne, y compris les fautes byzantines où les nœuds se comportent de façon arbitraire ; Perlman a bâti les protocoles qui font exactement cela dans de vrais réseaux, et sa thèse sur la robustesse byzantine est la question de Lamport résolue à la couche du routage.1 Adi Shamir a rendu les systèmes dignes de confiance en concevant contre l’attaquant qui en contrôle une partie — le même instinct adverse que Perlman a porté au routage, une décennie dans sa propre direction. Et Tim Berners-Lee a bâti un web pour tous, mais un web n’atteint tout le monde que parce que le réseau commuté et routé qui le sous-tend reste connecté à travers les pannes — c’est-à-dire grâce à l’arbre couvrant et au routage à état de liens que Perlman a façonnés. Là où Lamport dit définissez la correction et prouvez qu’elle survit à la panne et où Shamir dit concevez contre l’adversaire, Perlman dit : bâtissez le réseau pour qu’il se répare lui-même — sans intervention humaine, même lorsque certains des nœuds mentent. (Pont de la série)
Ce que j’en retiens
La leçon que je retiens de Perlman, c’est de concevoir d’abord pour le cas de défaillance. Mon instinct, comme celui de la plupart des bâtisseurs, est d’écrire le chemin idéal — la requête qui réussit, le lien qui tient, le nœud qui se comporte bien — puis de saupoudrer de la gestion d’erreurs une fois que ça marche. L’arbre couvrant est le démenti : la panne n’est pas une chose qui arrive à la conception, c’est la chose pour laquelle la conception existe. Les liens redondants et les câbles qui meurent ne sont pas des cas marginaux à rapiécer ; ils sont la raison d’être tout entière de la forme du protocole, et le chemin idéal découle simplement d’un système qui leur survit déjà. Alors, quand je construis quelque chose aujourd’hui — une boucle de synchronisation, un chemin de réessai, une frontière de permissions —, j’essaie de partir de « qu’est-ce qui casse, et comment cela se répare-t-il sans moi ? » plutôt que d’y arriver en dernier. Un système qui a besoin que je sois éveillé à 3 h du matin pour se rétablir est un système que je n’ai pas fini de concevoir.
La seconde leçon, c’est que la simplicité est ce qui rend la robustesse digne de confiance. Il est tentant de tenir l’élégance de l’arbre couvrant — assez petit pour tenir dans un poème — pour un charmant détail biographique. Ce n’en est pas un ; c’est l’essentiel. On ne peut pas faire confiance à un mécanisme pour se réparer lui-même si l’on ne peut pas raisonner sur sa convergence, et l’on ne peut pas raisonner sur ce qu’on ne peut pas tenir dans sa tête. Les protocoles de Perlman sont robustes parce qu’ils sont simples, et ses manuels perdurent parce qu’ils enseignent le pourquoi plutôt que la spécification. Cela a recadré pour moi la simplicité : d’un simple agrément, elle est devenue une propriété porteuse de la correction. Quand une conception devient assez compliquée pour que je ne puisse plus me convaincre qu’elle se rétablit de chaque panne, la complexité n’est pas de la sophistication — c’est le bug que je n’ai pas encore trouvé.
FAQ
Qu’est-ce que le Spanning Tree Protocol ?
Le Spanning Tree Protocol (STP) est un protocole réseau, inventé par Radia Perlman en 1985 chez Digital Equipment Corporation et normalisé sous le nom d’IEEE 802.1D, qui empêche les boucles dans les réseaux Ethernet pontés ou commutés comportant des liens redondants.23 Sans lui, les connexions redondantes créent des boucles, et comme les trames Ethernet n’ont pas de durée de vie, une diffusion tourne indéfiniment dans une boucle et se multiplie en une tempête de diffusion qui sature le réseau. STP corrige cela automatiquement : les commutateurs élisent une racine, chaque commutateur ne conserve pour l’acheminement que son meilleur chemin vers la racine et bloque les liens redondants, laissant un arbre unique et sans boucle qui atteint malgré tout chaque segment. Lorsqu’un lien actif tombe en panne, l’algorithme recalcule un nouvel arbre et promeut un lien de secours bloqué, réparant la connectivité sans aucune intervention humaine.2
Pourquoi appelle-t-on Radia Perlman la « Mère d’Internet », et pourquoi déteste-t-elle ce titre ?
On appelle souvent Perlman la « Mère d’Internet » parce que le Spanning Tree Protocol et ses travaux sur le routage à état de liens sont fondamentaux pour la façon dont les réseaux modernes restent connectés.1 Elle refuse cette étiquette depuis des années, soutenant qu’aucune personne seule n’a inventé Internet — il est l’œuvre de nombreuses personnes et de nombreuses technologies — et qu’isoler un inventeur unique est à la fois inexact et une diversion.5 Elle s’est aussi opposée au cadrage genré, estimant que le genre d’une personne ne devrait pas être le prisme de l’œuvre de sa vie.5
Qu’est-ce que le routage à robustesse byzantine ?
Le routage à robustesse byzantine est un routage conçu pour continuer d’acheminer correctement les paquets même lorsque certains routeurs ne sont pas seulement en panne mais activement malveillants — abandonnant le trafic, mentant sur la topologie du réseau ou falsifiant des messages de routage. Ce fut le sujet de la thèse de doctorat de Perlman au MIT en 1988, « Network Layer Protocols with Byzantine Robustness ».1 La distinction compte : un nœud en panne est silencieux et prévisible, tandis qu’un nœud byzantin (compromis) se comporte de façon arbitraire et hostile, de sorte que le protocole doit parvenir à une livraison correcte malgré des participants qui tentent de le casser. Traiter la panne malveillante comme un cas de conception central, plutôt que comme un correctif de sécurité ultérieur, est le fil conducteur de l’œuvre de Perlman.1
Qu’est-ce que TRILL, et en quoi améliore-t-il le Spanning Tree Protocol ?
TRILL (« Transparent Interconnection of Lots of Links ») est un protocole que Perlman a conçu comme successeur de STP.6 STP empêche les boucles en bloquant les liens redondants, ce qui gaspille de la bande passante et peut forcer le trafic sur de longs détours par la racine. TRILL applique au contraire le routage à état de liens au pontage : ses commutateurs, appelés RBridges, exécutent entre eux le protocole IS-IS pour apprendre la topologie complète et calculer les plus courts chemins, de sorte qu’il « établit des chemins sur tous les liens actifs » au lieu de les désactiver — conservant la simplicité plug-and-play du pontage tout en gagnant l’efficacité de chemin et la résilience du routage.6
Sources
-
« Radia Perlman », Wikipedia. Née le 18 décembre 1951 à Portsmouth, en Virginie. A obtenu un SB et un SM en mathématiques ainsi qu’un doctorat en informatique (1988) au MIT ; thèse de doctorat intitulée « Network Layer Protocols with Byzantine Robustness », sur un routage qui demeure correct en présence de pannes malveillantes (byzantines). Au laboratoire d’IA du MIT, au début des années 1970, elle a développé TORTIS (Toddler’s Own Recursive Turtle Interpreter System), un système fondé sur LOGO permettant à de très jeunes enfants de programmer une tortue robotique. Carrière : BBN, puis Digital Equipment Corporation (à partir de ~1980), où elle a inventé l’algorithme de l’arbre couvrant et accompli des travaux fondateurs sur DECnet et le routage à état de liens, dont IS-IS ; ensuite Novell, Sun Microsystems (Sun Fellow, plus de 40 brevets), Intel et Dell EMC. Détient plus de 100 brevets délivrés. Ses contributions à la sécurité réseau comprennent des modèles de confiance PKI et des mécanismes de données éphémères / qui expirent. Intronisée à l’Internet Hall of Fame (2014) et au National Inventors Hall of Fame (2016) ; ACM Fellow, IEEE Fellow, prix d’œuvre d’une vie de SIGCOMM et d’USENIX. A maintes fois rejeté le surnom de « Mère d’Internet ». ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
« Spanning Tree Protocol », Wikipedia. « The first Spanning Tree Protocol was invented in 1985 at the Digital Equipment Corporation by Radia Perlman. » « The basic function of STP is to prevent bridge loops and the broadcast radiation that results from them. » Le protocole élit un pont racine (le plus petit identifiant de pont = priorité plus adresse MAC) ; tous les commutateurs sélectionnent ensuite leur meilleur chemin vers la racine pour l’acheminement et bloquent les autres liens redondants, produisant une topologie active unique et sans boucle. Lors d’un changement de topologie, l’algorithme de l’arbre couvrant calcule et déploie un nouvel arbre de moindre coût, rétablissant la connectivité. L’IEEE a publié la première norme, IEEE 802.1D, en 1990, fondée sur l’algorithme de Perlman. ↩↩↩↩↩↩↩↩↩↩↩↩
-
Radia Perlman, « An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN », Proceedings of the Ninth Symposium on Data Communications (SIGCOMM ‘85), ACM, 1985, p. 44-53 (DOI : 10.1145/319056.319004). L’article original décrivant le Spanning Tree Protocol : un protocole distribué par lequel les ponts d’un réseau local étendu de topologie quelconque calculent un sous-ensemble couvrant acyclique (sans boucle) du réseau. L’article est signalé comme probablement le seul brevet logiciel répertorié qui inclue un poème. ↩↩↩↩↩↩↩↩↩
-
« Algorhyme », poème de Radia Perlman décrivant le Spanning Tree Protocol, reproduit dans des supports de cours dont l’archive CSE461 de l’Université de Washington et corroboré par l’article Wikipedia consacré à Radia Perlman. Texte intégral : “I think that I shall never see / A graph more lovely than a tree. / A tree whose crucial property / Is loop-free connectivity. / A tree that must be sure to span / So packets can reach every LAN. / First, the root must be selected. / By ID, it is elected. / Least cost paths from root are traced. / In the tree, these paths are placed. / A mesh is made by folks like me, / Then bridges find a spanning tree.” ↩↩↩↩↩↩
-
« Intel’s Radia Perlman: Don’t Call Her ‘Mother Of The Internet’ », SiliconValleyWatcher, et « Radia Perlman: Don’t Call Me The Mother Of The Internet », Open Health News (citant un entretien de 2014 avec The Atlantic), corroborés par l’article Wikipedia consacré à Radia Perlman. Perlman a constamment rejeté l’étiquette « Mère d’Internet », arguant qu’aucun individu seul n’a inventé Internet — il résulte du travail de nombreuses personnes et de nombreuses technologies — et s’opposant au cadrage genré du titre. ↩↩↩↩
-
« TRILL (computing) », Wikipedia. TRILL (« Transparent Interconnection of Lots of Links ») est un protocole réseau, conçu par Radia Perlman (inventrice de son prédécesseur, le Spanning Tree Protocol), pour optimiser la bande passante et la résilience des réseaux Ethernet. Décrit comme « the application of link-state routing to the VLAN-aware customer-bridging problem » : les commutateurs TRILL (RBridges) exécutent entre eux le protocole de routage à état de liens IS-IS pour apprendre la topologie et calculer les plus courts chemins. Contrairement à STP, qui garantit une topologie sans boucle en bloquant des ports actifs, TRILL « establishes paths over all active links », permettant un usage plus efficace de la capacité du réseau. ↩↩↩↩↩↩↩↩
-
Radia Perlman, Interconnections: Bridges, Routers, Switches, and Internetworking Protocols (Addison-Wesley), et Charlie Kaufman, Radia Perlman et Mike Speciner, Network Security: Private Communication in a Public World (Prentice Hall), tel que documenté dans l’article Wikipedia consacré à Radia Perlman. Interconnections est une référence largement utilisée sur le pontage, le routage et les protocoles d’internetworking ; Network Security est un manuel standard sur la cryptographie et la sécurité réseau. Les deux sont reconnus pour expliquer le raisonnement derrière les choix de conception, et pas seulement les spécifications. ↩↩↩↩