Zusammenfassung

  • Der Statusabschnitt von RFC 1105 vom Juni 1989 hält fest, dass BGP-Implementierungen für Cisco-Router und NSFNET Nodal Switching Systems bereits existierten. Eine Public-Domain-Version für gated war noch in Arbeit. Das Dokument nennt weder die Zahl der Systeme noch den Umfang ihres Routenaustauschs.
  • Im Juni 1990 beschrieben RFC 1163 und RFC 1164 BGP gemeinsam als Proposed Standard. Sie sagten ausdrücklich, dass Betriebserfahrungen das Protokoll vor einem vollständigen Internet-Standard noch verändern könnten. Die dokumentierten Implementierungen liegen damit vor diesem Schritt der Standardisierung.

Die Geschichte eines Protokolls klingt oft linear: Eine Standardisierungsorganisation veröffentlicht eine Spezifikation, Hersteller implementieren sie, Betreiber übernehmen sie. RFC 1105 zeigt eine weniger geradlinige Abfolge. Sein Statusabschnitt nennt im Juni 1989 bereits zwei Implementierungsumgebungen, während eine dritte, öffentlich verfügbare Version für gated noch entwickelt wurde. Der RFC ist keine Verbreitungsstatistik. Er enthält keine Versionsangaben, Verkehrsmengen, Standortliste oder Testergebnisse. Er ist aber ein zeitgenössischer Beleg dafür, dass BGP implementiert wurde, während die erste Spezifikation entstand.

Das Problem war das Routing zwischen autonomen Systemen. RFC 1105 beschreibt BGP als Verfahren zum Austausch von Informationen über erreichbare Netze und die autonomen Systeme, die der Verkehr durchqueren würde. Diese Pfadangaben konnten bei der Erkennung von Schleifen und bei Richtlinienentscheidungen auf AS-Ebene helfen. Laut RFC baute der Entwurf auf Erfahrungen mit EGP und dem NSFNET-Backbone auf. Die Spezifikation entstand also neben bestehender Betriebspraxis und nicht auf einem leeren Blatt.

Auch die Mechanik der ersten Fassung zeigt einen vorläufigen Entwurf. Die OPEN-Nachricht enthielt ein Link-Type-Feld, das eine Peer-Beziehung innerhalb einer AS-Hierarchie als intern, aufwärts, abwärts oder horizontal klassifizierte. UPDATE-Nachrichten führten Richtungskennungen neben AS-Nummern. BGP konnte die aufgeführte AS-Route nach Schleifen durchsuchen, während die Hierarchie eine bestimmte Vorstellung von Netzwerkbeziehungen kodierte. Das sind Merkmale der ersten Spezifikation, keine vollständige Beschreibung des heutigen BGP.

Im Juni 1990 löste RFC 1163 den RFC 1105 ab; RFC 1164 beschrieb die Anwendung im Internet. Zusammen definierten sie einen Proposed Standard. Der Statusabschnitt macht die Offenheit deutlich: Betriebserfahrungen konnten noch zu Änderungen führen, und Implementierer sollten ihre Erfahrungen berichten. RFC 1163 führte das obligatorische Attribut AS_PATH ein, das die zu durchquerenden autonomen Systeme für angekündigte Netze aufzählt. Sowohl die Pfaddarstellung als auch die Stellung des Protokolls im Standardisierungsprozess änderten sich.

Die drei RFCs beweisen nicht, dass eine bestimmte Cisco- oder NSFNET-Implementierung eine konkrete Änderung ausgelöst hat. Sie ordnen auch nicht jede Überarbeitung dem Bericht eines bestimmten Entwicklers zu. Sie belegen eine engere Abfolge: Implementierungen bestanden 1989; die Spezifikation wurde 1990 überarbeitet; und die Standardisierungstexte erkannten Betriebserfahrung als möglichen Einfluss für weitere Schritte an. RFC 1266 untersuchte später den Betrieb von BGP, doch sein Einsatzbericht von 1991 ist ein separates, bereits anderweitig behandeltes Thema.

Heng Lus Note 65, „Running-Code Primacy“, liefert eine redaktionelle Frage: Was können laufende Implementierungen belegen, das ein Papierentwurf nicht zeigt? Sie ist eine Perspektive, keine historische Quelle zu BGP oder dem IETF. Die Primärquellen tragen nur eine begrenzte Antwort: Im Juni 1989 war die Implementierungsarbeit konkret genug, um im RFC erwähnt zu werden; im Juni 1990 galt der Entwurf weiterhin als veränderbar. Die Belege zeigen weder eine universelle Einführung noch Zuverlässigkeit, kommerziellen Erfolg oder eine geradlinige Entwicklung von BGP-1 zum heutigen BGP.

Sie dokumentieren eine Phase, in der Code und Spezifikation gemeinsam wachsen konnten.

Quellen