Zusammenfassung
- Das End-to-End-Argument von 1984 verlangte kein funktionsloses Netz. Es prüfte vielmehr, ob ein Teilsystem über das Wissen verfügt, das für die vollständige und richtige Ausführung einer Funktion nötig ist.
- Fehlerprüfung und Wiederholung in unteren Schichten bleiben wertvolle Leistungswerkzeuge; bei einer sorgfältigen Dateiübertragung können jedoch nur die tatsächlichen Anwendungsenden das gesendete Objekt mit dem gespeicherten Ergebnis vergleichen.
Eine Kette wahrer Bestätigungen kann falsch enden
Ein Sender liest eine Datei, ein Interface übernimmt die Daten, mehrere Links bestätigen ihre Frames, das Transportprotokoll quittiert die Bytes und der Empfänger meldet eine erfolgreiche Speicherung. Jeder dieser Berichte kann wahr sein. Wird ein Wert nach einer Prüfung und vor der nächsten verändert, kann trotzdem eine andere Datei am Ziel liegen. Der Fehler muss keine Sicherung überwinden; er muss nur außerhalb ihres Sichtfeldes auftreten.
Jerome H. Saltzer, David P. Reed und David D. Clark wählten 1984 die sorgfältige Dateiübertragung, um dieses Problem greifbar zu machen. Die Quelle berechnet einen Wert über die Datei. Das Ziel schreibt sie, liest sie erneut und berechnet unabhängig einen zweiten Wert. Erst deren Vergleich umfasst die vom Anwender gemeinte Operation. Die Übertragung ist nicht deshalb vollständig, weil das Netz seinen Teil abgeschlossen hat.
Der mögliche Fehlerraum reicht über das Netz hinaus. Eine Verfälschung kann zwischen dem Lesen an der Quelle und dem Interface, in einem Gateway-Puffer, im Speicher des Zielrechners, beim Schreiben auf den Datenträger oder beim späteren Lesen entstehen. Vertauscht ein Gateway zwei Bytes, nachdem eine Linkprüfung beendet ist, hat die Prüfung keine falsche Aussage gemacht. Sie war nur nicht für diesen Abschnitt zuständig.
Damit wird Zuverlässigkeit zu einer Frage des Wissens. Ein Router kann sehr genau wissen, welches Paket er weitergab, ohne zu wissen, welche Datei der Nutzer später öffnen will. Eine Transportschicht kann einen Bytebereich bestätigen, ohne dessen Einbau in den richtigen Anwendungszustand zu sehen. Wo die Semantik des Ergebnisses fehlt, lässt sich die Fehlerwahrscheinlichkeit senken, aber nicht die ganze Aufgabe abschließend beurteilen.
Keine Parole, sondern eine Platzierungsentscheidung
Die verbreitete Formel vom „dummen Netz“ und den „intelligenten Enden“ klingt eindeutiger als das ursprüngliche Argument. Dessen Kern ist ein Verfahren zur Platzierung von Funktionen: Kann eine Funktion nur mit Wissen an den Anwendungsenden vollständig und korrekt umgesetzt werden, reicht ihre alleinige Umsetzung in einem niedrigeren Teilsystem nicht aus. Eine Endprüfung bleibt erforderlich.
Das Verfahren beginnt beim versprochenen Ergebnis, nicht bei einer bevorzugten Schicht. Welche Zustände gehören zur gesamten Operation? Welcher Baustein kann welche davon beobachten? Welche Fehler liegen außerhalb seiner Grenze? Und bietet eine zusätzliche Umsetzung im Inneren einen Leistungsgewinn, der Kosten und Komplexität rechtfertigt? Diese letzte Frage verhindert, dass aus dem Argument ein Verbot innerer Funktionen wird.
Eine Linkprüfung kann häufige lokale Schäden schnell erkennen. Eine Wiederholung nahe der Störung spart die erneute Übertragung über den ganzen Pfad. Transportbestätigungen unterstützen Flusssteuerung und Verlustbehandlung. Solche Mechanismen können Latenz, Durchsatz und Verfügbarkeit erheblich verbessern. Sie helfen der Endprüfung, übernehmen aber nicht deren Autorität, solange ihnen das Wissen über das endgültige Objekt fehlt.
Der Geltungsbereich einer Quittung
Eine Bestätigung ist keine allgemeine Aussage „alles ist gut“. Sie stammt von einem bestimmten Beobachter, bezieht sich auf einen bestimmten Gegenstand und endet zu einem bestimmten Zeitpunkt. Eine Linkquittung betrifft einen angenommenen Frame. Eine Transportquittung betrifft Daten, die einen Protokollendpunkt erreicht haben. Eine Antwort eines Dienstes kann lediglich heißen, dass ein Auftrag in einer Warteschlange liegt.
Clarks Denkweise verlangt deshalb, jede Quittung mit ihrem Geltungsbereich zu lesen: Wer hat was gesehen, und welche Veränderungen folgen noch? Wird ein lokaler Beleg genauer, vergrößert sich dadurch nicht automatisch sein Zuständigkeitsbereich. Diese Trennung ist besonders wichtig, wenn schnelle Antworten als Beweis einer späteren Wirkung behandelt werden.
Auch das „Ende“ ist nicht zwingend der Rechner hinter der letzten Netzadresse. Es kann der Prozess sein, der eine Datei wieder einliest, die Datenbank, die eine Transaktion festschreibt, die Komponente, die kryptografische Integrität prüft, oder der Dienst, der dem Nutzer das Ergebnis bereitstellt. Die Analyse muss der tatsächlichen Operation bis zu dem Ort folgen, an dem ihr Versprechen überprüfbar wird.
Als die Mitte mehr Aufgaben übernahm
Clarks spätere Arbeiten zeigen, dass die Grenze nicht als starres Architekturgesetz gedacht war. Seine Untersuchung der Entwurfsphilosophie der DARPA-Internetprotokolle ordnete technische Entscheidungen Zielen wie Überlebensfähigkeit, unterschiedlichen Dienstarten und verteilter Verwaltung zu. Beim späteren Nachdenken über ein neues Internetdesign rückten Vertrauen, Kontrolle, Rechenschaft und widerstreitende Interessen verschiedener Beteiligter in den Vordergrund.
Die Debatte über aktive Netze stellte die verkürzte Lesart ebenfalls auf die Probe. Wenn Knoten im Netz anwendungsgesteuerte Verarbeitung ausführen, hilft die bloße Forderung nach einer funktionslosen Mitte nicht weiter. Saltzer erläuterte später, das End-to-End-Argument verlange keine absolute Transparenz. Es fragt weiterhin, wo eine Funktion vollständig werden kann und ob der Nutzen innerer Verarbeitung ihre Komplexitäts- und Vertrauenskosten rechtfertigt.
Heutige Proxys, Inhaltsverteilnetze, Sicherheitsfilter, Warteschlangen und programmierbare Zwischensysteme beenden Verbindungen, verändern Darstellungen, speichern Ergebnisse oder bestätigen im Namen anderer. Nicht ihre Intelligenz ist das Problem. Gefährlich wird es, wenn unklar bleibt, welcher Bericht vorläufig ist und welcher Akteur das vom Nutzer erwartete Ergebnis noch schuldet.
Eine Landkarte statt einer Erfolgszahl
Für den Betrieb lässt sich jede wichtige Transaktion als Landkarte von Belegen zeichnen. Für jeden Schritt werden der erzeugte Zustand, sein Beobachter, die Reichweite des Erfolgssignals und alle späteren Veränderungen festgehalten. „Paket empfangen“, „Bytes an den Prozess übergeben“, „Schreibaufruf beendet“ und „Datei erneut gelesen und verglichen“ erscheinen dann als unterschiedliche Tatsachen.
Die Landkarte ordnet auch Messwerte ein. Eine niedrige Verlustrate, keine Wiederholungen, eine leere Warteschlange oder eine erfolgreiche HTTP-Antwort sind wertvolle Hinweise. Sie werden erst irreführend, wenn sie eine Prüfung ersetzen sollen, für die ihnen der Anwendungskontext fehlt. Das End-to-End-Argument hält Optimierung und Beweis auseinander, ohne eines von beiden geringzuschätzen.
Quellen
- Porträt von David Clark am MIT Schwarzman College of Computing
- Öffentliches Foto von David Clark bei MIT CSAIL
- Persönliche Seite von David D. Clark in der ANA-Gruppe des MIT
- Aufsatz „End-to-End Arguments in System Design“
- Aufsatz „Rethinking the Design of the Internet“
- Aufsatz „The Design Philosophy of the DARPA Internet Protocols“
- Jerome H. Saltzers Kommentar zum End-to-End-Argument und zu aktiven Netzen
Mitgliederbriefing
Detaillierter Profilkontext
Melden Sie sich mit der richtigen Mitgliedschaftsstufe an, um das vollständige Briefing und die Quellennotizen freizuschalten.
Nur für Strategic Circle
Strategic Circle
Offen für alle Leser. Schalten Sie Profil-Briefings nach Beitritt und Anmeldung frei.
Strategic Circle beitretenNur für Leadership Alliance
Leadership Alliance
Für qualifizierte Inhaber von IP-Assets und Management; melden Sie sich an, um Leadership-Alliance-Briefings freizuschalten.
Leadership Alliance beitreten
