Engineering-Philosophie: Radia Perlman

Kernaussagen
- Sie erfand das Spanning Tree Protocol, das geswitchtes Ethernet skalierbar machte. Während ihrer Zeit bei der Digital Equipment Corporation entwarf Radia Perlman den Spanning-Tree-Algorithmus – 1985 veröffentlicht und als IEEE 802.1D standardisiert – der es Bridges in einem Netzwerk beliebiger Topologie erlaubt, von sich aus einen einzigen schleifenfreien Pfad zu jedem Ziel zu berechnen und dabei Ausfälle stillschweigend zu heilen. Ohne ihn erzeugen redundante Verbindungen Schleifen, und ein einzelner Broadcast kreist endlos und legt das Netzwerk lahm.123
- Ihre prägende Überzeugung ist Robustheit: Netzwerke, die unter Ausfällen korrekt bleiben, auch unter böswilligen Ausfällen. Ihre MIT-Dissertation von 1988 trug den Titel „Network Layer Protocols with Byzantine Robustness” – ein Routing, das nicht nur weiterarbeiten soll, wenn Verbindungen ausfallen, sondern auch, wenn Knoten aktiv lügen. Der Entwurf für den Fehlerfall, einschließlich des feindlichen, durchzieht alles, was sie gebaut hat.1
- Sie schrieb das kanonische Lehrbuch und ein Gedicht in einem Patent. Perlman ist die Autorin von Interconnections: Bridges, Routers, Switches, and Internetworking Protocols, dem Buch, aus dem eine ganze Generation von Netzwerktechnikern lernte, und Mitautorin von Network Security: Private Communication in a Public World. Sie verfasste außerdem „Algorhyme” – „I think that I shall never see / A graph more lovely than a tree” – um den Spanning Tree zu beschreiben, womöglich das einzige aktenkundige Softwarepatent, das ein Gedicht enthält.347
- Sie hält über 100 Patente und ist in der National Inventors Hall of Fame – und mag den Beinamen „Mutter des Internets” nicht. Aufgenommen in die Internet Hall of Fame (2014) und die National Inventors Hall of Fame (2016), mit über 100 erteilten Patenten, hat Perlman jahrzehntelang gegen das Etikett „Mutter des Internets” gewehrt und beharrt darauf, dass keine einzelne Person das Internet erfunden hat.15
Das Prinzip
„I think that I shall never see / A graph more lovely than a tree. / A tree whose crucial property / Is loop-free connectivity.” – Radia Perlman, „Algorhyme”, das Gedicht, das das Spanning Tree Protocol beschreibt4
Die meiste Ingenieursarbeit optimiert für den Fall, dass alles funktioniert. Man entwirft den glücklichen Pfad, behandelt ein paar vorstellbare Fehler und liefert aus. Netzwerke gewähren diesen Komfort nicht. Ein Netzwerk ist ein lebendiges Geflecht aus Maschinen, die zufällig ausfallen, Verbindungen, die mitten im Paket erlöschen, und – mit etwas Pech – Knoten, die übernommen wurden und einem nun Lügen auftischen. Perlmans gesamtes Werk geht von der gegenteiligen Annahme des meisten Codes aus: Der Fehlerfall ist kein Randfall, er ist das Zentrum des Entwurfs. Ein Protokoll bewährt sich nicht dadurch, dass es funktioniert, wenn die Leitungen sauber sind, sondern dadurch, dass es korrekt bleibt, wenn sie es nicht sind – indem es sich selbst, ohne menschliches Zutun, in einen guten Zustand zurückstabilisiert.13
Das Spanning Tree Protocol ist das Prinzip in seiner reinsten Form. Das Problem, das es löst, ist brutal und strukturell: Verbindet man Switches mit redundanten Verbindungen – was man aus Zuverlässigkeitsgründen muss –, erzeugt man physische Schleifen, und ein einzelner Broadcast-Frame kreist endlos in einer Schleife, vervielfacht sich an jeder Verzweigung, bis er jede Verbindung sättigt und das Netzwerk stirbt. Die naive Lösung wäre, Schleifen zu verbieten, doch dann hat man die Redundanz verboten, und ein einziges durchtrenntes Kabel legt das halbe Gebäude lahm. Perlmans Einsicht war, dass man beides haben kann: Man lässt die Betreiber jedes beliebige Geflecht verkabeln und lässt die Switches selbst einen einzigen schleifenfreien Baum berechnen, der dennoch alle erreicht und die redundanten Verbindungen in Reserve hält.23 Kein zentraler Controller, kein Mensch, der den Baum von Hand zeichnet – ein vollständig verteilter Algorithmus, der von selbst konvergiert und neu konvergiert, wenn etwas ausfällt.
Es gibt eine zweite Hälfte des Prinzips, und sie ist es, die die erste Hälfte tiefgründig macht: Robustheit muss sich auf Böswilligkeit erstrecken, nicht nur auf Zufall. Ein ausgefallener Knoten hört einfach auf; ein kompromittierter Knoten redet weiter, und was er sagt, ist darauf angelegt, einem zu schaden. Perlmans Doktorarbeit stellte die schwierigere Frage – kann ein Routing-Protokoll Pakete weiterhin korrekt zustellen, selbst wenn einige der Router es aktiv sabotieren? – und beantwortete sie mit Protokollen, die byzantinische Robustheit besitzen.1 Die Disziplin ist dieselbe, die vom Spanning Tree bis zu ihrer Sicherheitsarbeit reicht: Nimm das Schlimmste über die Welt an, in der dein Protokoll lebt, und entwirf es so, dass es sich dennoch heilt. Und durchweg ist die Ästhetik die Einfachheit. Ein einfaches Protokoll ist ein Protokoll, über das man nachdenken, das man beweisen und dem man zutrauen kann, dass es konvergiert – weshalb der Spanning Tree in ein Gedicht passt.
Kontext
Radia Perlman wurde am 18. Dezember 1951 in Portsmouth, Virginia, geboren.1 Sie ging ans MIT, wo sie einen SB und einen SM in Mathematik und später, 1988, einen PhD in Informatik erwarb; ihre Dissertation trug den Titel „Network Layer Protocols with Byzantine Robustness” – ein Routing, das so entworfen ist, dass es bösartig gewordene Router überlebt.1 Dieses Dissertationsthema ist keine Fußnote ihrer Laufbahn; es ist die Kernthese ihrer Laufbahn, früh niedergeschrieben.
Vor den Protokollen, für die sie berühmt ist, tat sie am Artificial Intelligence Laboratory des MIT etwas leise Radikales: In den frühen 1970er-Jahren entwickelte sie TORTIS – das „Toddler’s Own Recursive Turtle Interpreter System” –, eine Version der LOGO-Turtle-Umgebung, einfach genug, dass Kinder von gerade einmal dreieinhalb Jahren einen Roboter programmieren konnten.1 Der rote Faden zu ihrer späteren Arbeit ist real. Einem Kleinkind das Programmieren beizubringen ist eine Übung in radikaler Vereinfachung: Man reduziert eine Idee so weit, bis sie den Kontakt mit jemandem überlebt, der kein Vorwissen hat. Den Rest ihrer Laufbahn verbrachte sie damit, Netzwerkprotokolle auf denselben wesentlichen, verständlichen Kern herunterzubrechen.
Ihr beruflicher Weg führt durch die Institutionen, die das moderne Netzwerk gebaut haben. Nach dem MIT arbeitete sie bei BBN, kam dann um 1980 zur Digital Equipment Corporation, und bei DEC – nicht in einem Forschungssilo, sondern beim Lösen eines echten Produktproblems – erfand sie den Spanning-Tree-Algorithmus, entwarf das DECnet-Routing und leistete grundlegende Arbeit, um Routing von Distanzvektor- zu Link-State-Ansätzen zu verlagern, einschließlich IS-IS.13 Nach DEC arbeitete sie bei Novell, dann bei Sun Microsystems (wo sie Sun Fellow war und über 40 ihrer Patente erwarb), und später bei Intel und Dell EMC.1 Auf diesem Weg sammelte sie über 100 erteilte Patente, die Aufnahme in die Internet Hall of Fame (2014) und die National Inventors Hall of Fame (2016) sowie ein Etikett, das sie seit Jahren zurückweist – „Mutter des Internets” – mit der Begründung, dass keine einzelne Person das Internet erfunden habe und dass der geschlechtsbezogene Titel mehr verschleiere als ehre.15
Das Werk
Das Spanning Tree Protocol: ein Baum, den das Netzwerk sich selbst wachsen lässt
Beginnen Sie hier, denn es ist das Prinzip als Mechanismus. Der Schauplatz ist ein erweitertes LAN – viele Segmente, durch Bridges (was wir heute Switches nennen) zusammengenäht – verkabelt mit redundanten Verbindungen, damit kein einzelner Ausfall das Netzwerk aufteilen kann. Redundanz ist für die Zuverlässigkeit nicht verhandelbar. Doch Redundanz bedeutet Schleifen, und Schleifen sind tödlich: Ethernet-Frames tragen kein Time-to-live-Feld, also wird ein Broadcast-Frame, der in eine Schleife eintritt, endlos darin kopiert, und weil Switches Broadcasts aus jedem Port fluten, vervielfachen sich die Kopien, bis sie die gesamte verfügbare Bandbreite verbrauchen. Das Netzwerk wird nicht langsamer; es stirbt. Dies ist der Broadcast-Sturm, und „die grundlegende Funktion von STP besteht darin, Bridge-Schleifen und die daraus resultierende Broadcast-Strahlung zu verhindern”.2
Perlmans Algorithmus von 1985 löst das mit einer verteilten Berechnung, die keine zentrale Autorität braucht.3 Zunächst wählen die Bridges eine Wurzel – diejenige mit der niedrigsten Kennung gewinnt, entschieden durch den Austausch kleiner Nachrichten, ohne dass ein Mensch sie auswählt.2 Dann berechnet jede Bridge ihren kostengünstigsten Pfad zur Wurzel und hält nur diese eine Verbindung für die Weiterleitung aktiv, während sie die redundanten Verbindungen blockiert.2 Was übrig bleibt, ist ein Spanning Tree: ein einziger schleifenfreier Pfad von jedem Segment zur Wurzel und damit zwischen je zwei Punkten, der dennoch jedes LAN erreicht – genau die „schleifenfreie Konnektivität”, die das Gedicht benennt.4 Die blockierten Verbindungen sind nicht vergeudet; sie liegen in Reserve. Fällt eine aktive Verbindung aus, erkennen die Bridges die Veränderung und der Algorithmus berechnet einen neuen kostengünstigsten Baum, indem er eine Ersatzverbindung hochstuft, um die Konnektivität wiederherzustellen.2 Das ist die Selbstheilung – automatisch, verteilt, ohne dass ein Betreiber etwas anrührt.
Warum es als Ingenieursleistung zählt: Der Spanning Tree ist ein selbststabilisierender verteilter Algorithmus, den ein Betreiber ignorieren kann. Man steckt Kabel ein, fügt zur Sicherheit Redundanz hinzu, und das Netzwerk ordnet sich selbst – und ordnet sich neu, wenn etwas ausfällt. Die IEEE standardisierte den Algorithmus 1990 als 802.1D, und über Jahrzehnte lief er in praktisch jedem ausgelieferten verwalteten Ethernet-Switch.2 Er ist zugleich ein Modell der Verständlichkeit: Das Ganze passt in ein zwölfzeiliges Gedicht, weil die zugrunde liegende Idee wahrhaft einfach ist, und Einfachheit ist es, die einen darauf vertrauen lässt, dass er konvergiert.4
Link-State-Routing, IS-IS und Interconnections
Der Spanning Tree regiert das Bridging innerhalb eines erweiterten LAN; das Routing zwischen Netzwerken ist das größere Problem, und auch das prägte Perlman. Bei DEC half sie, das Routing weg von Distanzvektor-Protokollen – bei denen jeder Router nur die von seinen Nachbarn gemeldeten Kosten zu jedem Ziel kennt, ein Entwurf, der zu langsamer Konvergenz und zum „Counting to infinity” neigt – hin zum Link-State-Routing zu bewegen, bei dem jeder Router die vollständige Topologie lernt und seine eigenen kürzesten Pfade berechnet.1 Ihre Arbeit an IS-IS (Intermediate System to Intermediate System), dem Link-State-Protokoll, das zum OSI-Gegenstück von OSPF wurde, ist ein Teil des Grundes, warum Link-State-Routing robust ist und schnell konvergiert; es ist darauf ausgelegt, Topologieänderungen zuverlässig zu fluten und Pfade neu zu berechnen, was derselbe Selbstheilungsinstinkt ist wie beim Spanning Tree, eine Schicht höher.1
Sie schrieb auch das Buch – buchstäblich. Interconnections: Bridges, Routers, Switches, and Internetworking Protocols ist der Text, aus dem eine Generation von Netzwerktechnikern das Fachgebiet lernte, und Network Security: Private Communication in a Public World (mit Charlie Kaufman und Mike Speciner) wurde zu einem Standardwerk.7 Was ihr Schreiben auszeichnet, ist dasselbe, was ihre Protokolle auszeichnet: ein Beharren darauf zu erklären, warum ein Entwurf so ist, wie er ist, und nicht bloß, was er tut – es bringt dem Leser bei, über Korrektheit und Ausfall nachzudenken, statt eine Spezifikation auswendig zu lernen.

Entwurf gegen Böswilligkeit: byzantinisch-robustes Routing und Daten, die ablaufen
Dies ist die Arbeit, die am meisten über sie verrät. Ein Netzwerk, das um defekte Knoten herum heilt, ist schon schwer genug; ihre Doktorforschung, „Network Layer Protocols with Byzantine Robustness”, fragte, ob Routing Pakete weiterhin korrekt zustellen kann, selbst wenn einige Router übernommen wurden und alles in ihrer Macht Stehende tun, um es zu stören – Pakete verwerfen, über die Topologie lügen, Routing-Nachrichten fälschen.1 Ein ausgefallener Knoten ist still und vorhersehbar; ein byzantinischer Knoten ist laut und feindlich, und das Protokoll muss dennoch zustellen. Böswilligen Ausfall als erstklassigen Fall zu behandeln, für den man entwirft – und nicht als später aufgesetztes Sicherheitsextra –, ist der Bauweise der meisten Systeme um Jahrzehnte voraus, und es entstammt direkt demselben Instinkt wie der Spanning Tree: Nimm an, die Welt sei feindlich, und konvergiere ungeachtet dessen zu Korrektheit.1
Dieser Instinkt setzte sich in ihrer späteren Sicherheitsarbeit fort. Sie trug zu Vertrauensmodellen für Public-Key-Infrastrukturen bei und – eine charakteristisch saubere Idee – zu Mechanismen für Daten, die ablaufen: ein ephemeres Schlüsselmanagement, das so entworfen ist, dass Informationen nach einer gewählten Zeit zuverlässig unwiederherstellbar gemacht werden können, die Gewähr, dass gelöschte Daten wirklich verschwunden sind.1 Es ist die Fehlerfall-Denkweise, der Privatsphäre zugewandt. Die meisten Systeme sind darauf gebaut, sich zu erinnern; sie fragte, wie man ein System baut, dem man zutrauen kann, zu vergessen, was das schwierigere und feindlichere Problem ist.

TRILL und die Disziplin der Einfachheit
Perlman war auch ihre eigene schärfste Kritikerin, weshalb sie den Nachfolger des Spanning Tree entwarf. STPs große Beschränkung ist die Kehrseite seiner Tugend: Um Schleifen zu töten, blockiert es redundante Verbindungen, was bedeutet, dass Bandbreite ungenutzt liegt und Verkehr zwischen zwei nahe gelegenen Switches möglicherweise auf einen langen Umweg über die Wurzel gezwungen wird.6 TRILL – „Transparent Interconnection of Lots of Links” – ist ihre Antwort, und es ist die Synthese ihrer gesamten Laufbahn: Es ist „die Anwendung von Link-State-Routing auf das VLAN-bewusste Customer-Bridging-Problem”.6 TRILL-Switches, RBridges genannt, führen das Link-State-Protokoll IS-IS untereinander aus, um die vollständige Topologie zu lernen und kürzeste Pfade zu berechnen, sodass TRILL „Pfade über alle aktiven Verbindungen einrichtet”, statt sie zu blockieren – die Belastbarkeit und Einfachheit des Plug-and-Play-Bridging mit der Pfadeffizienz des Routings.6 Es ist die Link-State-Arbeit und die Spanning-Tree-Arbeit, gefaltet in einen einzigen Entwurf.
Durch all das zieht sich eine Verpflichtung zur Einfachheit, die leicht unterschätzt wird. Der Spanning Tree ist teils deshalb berühmt, weil er klein genug ist, um in ein Gedicht zu passen; ihre Lehrbücher werden geliebt, weil sie erklären, statt aufzuzählen; ihre stehende Klage über weite Teile des Networking lautet, dass es komplexer ist, als es sein müsste. Einfachheit ist für Perlman keine ästhetische Vorliebe – sie ist es, was ein Protokoll beweisbar korrekt und zuverlässig selbststabilisierend macht. Man kann einem Mechanismus nicht zutrauen, sich selbst zu heilen, wenn man nicht über ihn nachdenken kann, und man kann nicht über das nachdenken, was man nicht im Kopf behalten kann.46
Die Methode
Liest man quer über den Spanning Tree, IS-IS, die Byzantine-Robustness-Dissertation, die Sicherheitsarbeit und TRILL hinweg, kehren dieselben Verpflichtungen wieder. Perlmans Methode ist weniger ein Slogan als ein Satz fester Gewohnheiten.
Entwerfen Sie zuerst für den Fehlerfall. Der Spanning Tree ist kein Weiterleitungsalgorithmus mit nachträglich hinzugefügter Fehlerbehandlung; der Ausfall ist das Problem, dessentwegen er existiert – redundante Verbindungen, die mit Schleifenfreiheit koexistieren müssen, und aktive Verbindungen, die ausfallen werden und um die herum geheilt werden muss.23 Die Lehre reicht weit über das Networking hinaus: Entwerfen Sie nicht den glücklichen Pfad und flicken Sie die Fehlerbehandlung ein, sondern entwerfen Sie zuerst die Fehlermodi und lassen Sie den glücklichen Pfad aus einem System hervorgehen, das sie bereits übersteht. Es ist die Beweisschwelle, auf Robustheit angewandt – „es funktioniert, wenn nichts kaputt ist” ist kein Beweis; „es konvergiert zu Korrektheit, wenn Verbindungen ausfallen” ist einer.
Nehmen Sie Böswilligkeit an, nicht nur Zufall. Die schwersten Ausfälle sind nicht die stillen; es sind Knoten, die kompromittiert wurden und nun lügen. Perlmans Byzantine-Robustness-Dissertation behandelt den Angreifer als Entwurfseingabe, nicht als nachträglichen Einfall.1 Es ist derselbe Instinkt, auf dem Adi Shamir eine kryptografische Laufbahn aufbaute – man versteht ein System nicht, bevor man gefragt hat, was ein Angreifer tun kann, der einen Teil davon kontrolliert – und es ist der Grund, warum eine Berechtigungsgrenze oder ein Routing-Protokoll gegen den Teilnehmer entworfen werden muss, der es aktiv zu brechen versucht.
Machen Sie es selbststabilisierend – kein Mensch im Spiel. Die tiefste Tugend des Spanning Tree ist, dass ein Betreiber ihn ignorieren kann: Er konvergiert von selbst und konvergiert nach einem Ausfall neu, ohne dass jemand den Baum zeichnet.2 Die Disziplin besteht darin, die Wiederherstellung in das System zu drängen statt in ein Runbook, denn ein Netzwerk, das einen Menschen zum Heilen braucht, heilt um 3 Uhr nachts nicht. Es ist derselbe Drang zur verteilten Korrektheit, den Leslie Lamport zum Konsens brachte: Definiere den guten Zustand präzise und baue dann ein Protokoll, das aus jedem Ausgangspunkt zu ihm zurückkehrt.
Halten Sie es einfach genug, um darüber nachzudenken – und um es zu lehren. Ein Protokoll, das in ein Gedicht passt, ist ein Protokoll, von dem man beweisen kann, dass es konvergiert; ein Lehrbuch, das erklärt, warum, befähigt die nächste Generation zum Nachdenken statt zum Auswendiglernen.47 Einfachheit ist hier kein Minimalismus um seiner selbst willen – sie ist die Voraussetzung für Vertrauen, dieselbe Ökonomie der Mittel, die die stärksten Mechanismen zugleich zu den verständlichsten macht, im Geiste des minimum worthy product.
Seien Sie Ihr eigener strengster Prüfer. STP funktioniert, und Perlman entwarf dennoch TRILL, um STPs Verschwendung blockierter Verbindungen mit den Link-State-Ideen zu beheben, an denen sie eine Laufbahn lang gearbeitet hatte.6 Die feste Gewohnheit besteht darin, das eigene beste Werk weiter anzugreifen – die Beschränkung des Dings zu benennen, für das man berühmt ist, und seinen Nachfolger zu bauen – was Qualität ist die einzige Variable zu einer Praxis macht: Die Frage lautet nie „ist das gut genug zum Ausliefern?”, sondern „ist das immer noch der richtige Entwurf?”.
Einflusskette
Wer sie prägte
Die MIT-Tradition aus Mathematik und KI. Zwei Mathematikabschlüsse und ein PhD am MIT, dazu frühe Arbeit am AI Lab an den LOGO-Turtle-Systemen, gründeten sie sowohl in der Strenge, ein Protokoll als korrekt zu beweisen, als auch im Instinkt, Ideen radikal einfach zu machen.1 Einem Dreijährigen das Programmieren beizubringen ist dieselbe Fertigkeit, wie einen Spanning Tree in ein Gedicht passen zu lassen. (Prägender Einfluss)
Die frühe Internetworking-Gemeinschaft. Ihre Jahre bei BBN und DEC verorteten sie inmitten der Institutionen, die in den 1970er- und 1980er-Jahren tatsächlich Weitverkehrs- und lokale Netzwerke bauten, wo die Probleme nicht akademisch waren – Schleifen ließen echte Netzwerke wirklich zusammenbrechen – und die Arbeit an DECnet, IS-IS und Bridging entstand aus ihrer Lösung.1 (Direkter Einfluss)
Die Tradition der byzantinischen Fehler. Ihr Doktorfokus auf Protokolle, die gegen böswilligen Ausfall robust sind, verbindet sie mit der Linie des Denkens über verteilte Systeme – formalisiert von Leslie Lamport und anderen –, die fragt, wie ein System korrekt bleibt, wenn sich einige Teilnehmer beliebig, ja feindlich verhalten.1 (Prägender Einfluss)
Wen sie prägte
Jedes geswitchte Ethernet. Das Spanning Tree Protocol, standardisiert als IEEE 802.1D, lief jahrzehntelang in praktisch jedem verwalteten Switch – der stille Grund, warum das Einstecken redundanter Kabel in ein Unternehmensnetzwerk es nicht zum Absturz bringt.23
Moderne Rechenzentrums-Fabrics. TRILL und seine Link-State-Bridging-Ideen drängten das Fachgebiet hin zu Fabrics, die alle ihre Verbindungen per Shortest-Path-Routing nutzen, statt Redundanz zu blockieren, und prägten so, wie große Rechenzentrumsnetzwerke gebaut werden.6
Eine Generation von Netzwerktechnikern. Durch Interconnections und Network Security lehrte Perlman das Fachgebiet, wie man über Bridges, Router und Protokolle nachdenkt – ihr erklärender Stil ist ein Teil des Grundes, warum so viele Fachleute über Netzwerke so denken, wie sie es tun.7
Der rote Faden
Perlman ist der Selbstbelastbarkeit-des-Netzwerks-Schlussstein dieser Reihe – die Figur, die die Leitungen unter allem anderen dazu brachte, sich selbst zu heilen. Leslie Lamport baute die Theorie verteilter Systeme, die unter Ausfällen korrekt bleiben, einschließlich byzantinischer Fehler, bei denen sich Knoten beliebig verhalten; Perlman baute die Protokolle, die genau dies in echten Netzwerken tun, und ihre Byzantine-Robustness-Dissertation ist Lamports Frage, beantwortet auf der Routing-Schicht.1 Adi Shamir machte Systeme vertrauenswürdig, indem er gegen den Angreifer entwarf, der einen Teil von ihnen kontrolliert – derselbe feindlich denkende Instinkt, den Perlman ein Jahrzehnt später in ihre eigene Richtung ins Routing brachte. Und Tim Berners-Lee baute ein Web für alle, doch ein Web erreicht nur alle, weil das geswitchte und geroutete Netzwerk darunter durch Ausfälle hindurch verbunden bleibt – das heißt, wegen des Spanning Tree und des Link-State-Routings, die Perlman prägte. Wo Lamport sagt definiere Korrektheit und beweise, dass sie Ausfälle übersteht und Shamir sagt entwirf gegen den Angreifer, sagt Perlman: Baue das Netzwerk so, dass es sich selbst heilt – ohne einen Menschen im Spiel, selbst wenn einige der Knoten lügen. (Reihenbrücke)
Was Ich Daraus Mitnehme
Die Lehre, die ich von Perlman behalte, ist, zuerst für den Fehlerfall zu entwerfen. Mein Instinkt, wie der der meisten Bauenden, ist, den glücklichen Pfad zu schreiben – die Anfrage, die gelingt, die Verbindung, die hält, den Knoten, der sich benimmt – und dann, sobald es funktioniert, Fehlerbehandlung einzustreuen. Der Spanning Tree ist die Zurechtweisung: Ausfall ist nichts, was dem Entwurf zustößt, sondern das, wofür der Entwurf existiert. Redundante Verbindungen und sterbende Kabel sind keine Randfälle, die geflickt werden müssen; sie sind der ganze Grund, warum das Protokoll so geformt ist, wie es ist, und der glückliche Pfad geht schlicht aus einem System hervor, das sie bereits übersteht. Wenn ich heute also etwas baue – eine Synchronisierungsschleife, einen Wiederholungspfad, eine Berechtigungsgrenze –, versuche ich, von „was bricht, und wie heilt sich das ohne mich?” auszugehen, statt zuletzt dorthin zu gelangen. Ein System, das mich um 3 Uhr nachts wach braucht, um sich zu erholen, ist ein System, dessen Entwurf ich nicht fertiggestellt habe.
Die zweite Lehre ist, dass Einfachheit es ist, die Robustheit vertrauenswürdig macht. Es ist verlockend, die Eleganz des Spanning Tree – klein genug, um in ein Gedicht zu passen – als charmantes biografisches Detail zu behandeln. Das ist sie nicht; sie ist der Punkt. Man kann einem Mechanismus nicht zutrauen, sich selbst zu heilen, wenn man nicht darüber nachdenken kann, ob er konvergiert, und man kann nicht über das nachdenken, was man nicht im Kopf behalten kann. Perlmans Protokolle sind robust, weil sie einfach sind, und ihre Lehrbücher überdauern, weil sie das Warum lehren statt der Spezifikation. Das hat Einfachheit für mich von einem Nice-to-have in eine tragende Eigenschaft der Korrektheit verwandelt. Wenn ein Entwurf so kompliziert wird, dass ich mich nicht mehr davon überzeugen kann, dass er sich von jedem Ausfall erholt, ist die Komplexität keine Raffinesse – sie ist der Fehler, den ich noch nicht gefunden habe.
FAQ
Was ist das Spanning Tree Protocol?
Das Spanning Tree Protocol (STP) ist ein Netzwerkprotokoll, das Radia Perlman 1985 bei der Digital Equipment Corporation erfand und das als IEEE 802.1D standardisiert wurde und das Schleifen in gebrückten oder geswitchten Ethernet-Netzwerken mit redundanten Verbindungen verhindert.23 Ohne es erzeugen redundante Verbindungen Schleifen, und weil Ethernet-Frames kein Time-to-live haben, kreist ein Broadcast endlos in einer Schleife und vervielfacht sich zu einem Broadcast-Sturm, der das Netzwerk sättigt. STP behebt das automatisch: Die Switches wählen eine Wurzel, jeder Switch behält für die Weiterleitung nur seinen besten Pfad zur Wurzel und blockiert die redundanten Verbindungen, sodass ein einziger schleifenfreier Baum übrig bleibt, der dennoch jedes Segment erreicht. Fällt eine aktive Verbindung aus, berechnet der Algorithmus einen neuen Baum und stuft eine blockierte Reserveverbindung hoch und heilt so die Konnektivität ohne menschliches Eingreifen.2
Warum wird Radia Perlman die „Mutter des Internets” genannt, und warum mag sie das nicht?
Perlman wird oft die „Mutter des Internets” genannt, weil das Spanning Tree Protocol und ihre Link-State-Routing-Arbeit grundlegend dafür sind, wie moderne Netzwerke verbunden bleiben.1 Sie hat das Etikett seit Jahren zurückgewiesen und argumentiert, dass keine einzelne Person das Internet erfunden hat – es war das Werk vieler Menschen und vieler Technologien – und dass das Herausgreifen eines einzelnen Erfinders sowohl ungenau als auch eine Ablenkung sei.5 Sie hat zudem die geschlechtsbezogene Rahmung beanstandet und vertritt die Ansicht, dass das eigene Geschlecht nicht der Blickwinkel für das eigene Lebenswerk sein sollte.5
Was ist byzantinisch-robustes Routing?
Byzantinisch-robustes Routing ist ein Routing, das so entworfen ist, dass es Pakete weiterhin korrekt zustellt, selbst wenn einige Router nicht bloß ausgefallen, sondern aktiv böswillig sind – Verkehr verwerfen, über die Netzwerktopologie lügen oder Routing-Nachrichten fälschen. Es war das Thema von Perlmans MIT-Dissertation von 1988, „Network Layer Protocols with Byzantine Robustness”.1 Der Unterschied ist wichtig: Ein ausgefallener Knoten ist still und vorhersehbar, während sich ein byzantinischer (kompromittierter) Knoten beliebig und feindlich verhält, sodass das Protokoll die korrekte Zustellung erreichen muss, obwohl Teilnehmer versuchen, es zu brechen. Böswilligen Ausfall als zentralen Entwurfsfall zu behandeln und nicht als späteren Sicherheitspatch, ist der rote Faden von Perlmans Arbeit.1
Was ist TRILL, und wie verbessert es das Spanning Tree Protocol?
TRILL („Transparent Interconnection of Lots of Links”) ist ein Protokoll, das Perlman als Nachfolger von STP entwarf.6 STP verhindert Schleifen, indem es redundante Verbindungen blockiert, was Bandbreite vergeudet und Verkehr auf lange Umwege über die Wurzel zwingen kann. TRILL wendet stattdessen Link-State-Routing auf das Bridging an: Seine Switches, RBridges genannt, führen das IS-IS-Protokoll untereinander aus, um die vollständige Topologie zu lernen und kürzeste Pfade zu berechnen, sodass es „Pfade über alle aktiven Verbindungen einrichtet”, statt sie zu deaktivieren – es bewahrt die Plug-and-Play-Einfachheit des Bridging und gewinnt zugleich die Pfadeffizienz und Belastbarkeit des Routings.6
Quellen
-
“Radia Perlman,” Wikipedia. Geboren am 18. Dezember 1951 in Portsmouth, Virginia. Erwarb einen SB und SM in Mathematik sowie einen PhD in Informatik (1988) am MIT; Dissertation mit dem Titel „Network Layer Protocols with Byzantine Robustness”, über Routing, das in Gegenwart böswilliger (byzantinischer) Ausfälle korrekt bleibt. Am AI Lab des MIT entwickelte sie in den frühen 1970er-Jahren TORTIS (Toddler’s Own Recursive Turtle Interpreter System), ein LOGO-basiertes System, das sehr jungen Kindern das Programmieren einer Roboter-Turtle ermöglichte. Laufbahn: BBN, dann Digital Equipment Corporation (ab ~1980), wo sie den Spanning-Tree-Algorithmus erfand und grundlegende Arbeit an DECnet und Link-State-Routing einschließlich IS-IS leistete; später Novell, Sun Microsystems (Sun Fellow, 40+ Patente), Intel und Dell EMC. Hält über 100 erteilte Patente. Beiträge zur Netzwerksicherheit umfassen PKI-Vertrauensmodelle und Mechanismen für ephemere/ablaufende Daten. Aufgenommen in die Internet Hall of Fame (2014) und die National Inventors Hall of Fame (2016); ACM Fellow, IEEE Fellow, SIGCOMM- und USENIX-Lebenswerk-Auszeichnungen. Hat den Spitznamen „Mutter des Internets” wiederholt zurückgewiesen. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
“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.” Das Protokoll wählt eine Root-Bridge (niedrigste Bridge-ID = Priorität plus MAC-Adresse); alle Switches wählen dann ihren besten Pfad zur Wurzel für die Weiterleitung und blockieren andere redundante Verbindungen, was eine einzige schleifenfreie aktive Topologie erzeugt. Bei einer Topologieänderung berechnet und spannt der Spanning-Tree-Algorithmus einen neuen kostengünstigsten Baum und stellt so die Konnektivität wieder her. Die IEEE veröffentlichte den ersten Standard, IEEE 802.1D, 1990, basierend auf Perlmans Algorithmus. ↩↩↩↩↩↩↩↩↩↩↩↩
-
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, S. 44-53 (DOI: 10.1145/319056.319004). Die Originalarbeit, die das Spanning Tree Protocol beschreibt: ein verteiltes Protokoll, mit dem Bridges in einem erweiterten LAN beliebiger Topologie eine azyklische (schleifenfreie) aufspannende Teilmenge des Netzwerks berechnen. Die Arbeit wird als wahrscheinlich einziges aktenkundiges Softwarepatent vermerkt, das ein Gedicht enthält. ↩↩↩↩↩↩↩↩↩
-
„Algorhyme”, Gedicht von Radia Perlman, das das Spanning Tree Protocol beschreibt, wiedergegeben in Kursmaterialien einschließlich des CSE461-Archivs der University of Washington und bestätigt durch den Wikipedia-Artikel zu Radia Perlman. Vollständiger Text: „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, und “Radia Perlman: Don’t Call Me The Mother Of The Internet,” Open Health News (unter Bezug auf ein Interview von 2014 mit The Atlantic), bestätigt durch den Wikipedia-Artikel zu Radia Perlman. Perlman hat das Etikett „Mutter des Internets” konsequent zurückgewiesen und argumentiert, dass keine einzelne Person das Internet erfunden hat – es resultierte aus der Arbeit vieler Menschen und vieler Technologien – und beanstandet die geschlechtsbezogene Rahmung des Titels. ↩↩↩↩
-
“TRILL (computing),” Wikipedia. TRILL („Transparent Interconnection of Lots of Links”) ist ein Netzwerkprotokoll, entworfen von Radia Perlman (Erfinderin seines Vorgängers, des Spanning Tree Protocol), zur Optimierung von Bandbreite und Belastbarkeit in Ethernet-Netzwerken. Beschrieben als „the application of link-state routing to the VLAN-aware customer-bridging problem”: TRILL-Switches (RBridges) führen das IS-IS-Link-State-Routing-Protokoll untereinander aus, um die Topologie zu lernen und kürzeste Pfade zu berechnen. Anders als STP, das eine schleifenfreie Topologie durch das Blockieren aktiver Ports sicherstellt, „establishes paths over all active links” bei TRILL und ermöglicht so eine effizientere Nutzung der Netzwerkkapazität. ↩↩↩↩↩↩↩↩
-
Radia Perlman, Interconnections: Bridges, Routers, Switches, and Internetworking Protocols (Addison-Wesley), und Charlie Kaufman, Radia Perlman und Mike Speciner, Network Security: Private Communication in a Public World (Prentice Hall), wie im Wikipedia-Artikel zu Radia Perlman dokumentiert. Interconnections ist ein weit verbreitetes Referenzwerk über Bridging, Routing und Internetworking-Protokolle; Network Security ist ein Standardlehrbuch über Kryptografie und Netzwerksicherheit. Beide sind dafür bekannt, die Begründung hinter Entwurfsentscheidungen zu erklären und nicht bloß die Spezifikationen. ↩↩↩↩