rfc·explained

Die Grundlagen

Was ist ein RFC?

Ein RFC, kurz für Request for Comments, ist ein nummeriertes Dokument der Internet Engineering Task Force (IETF), das festlegt, wie ein Teil des Internets funktioniert, von IP-Adressen über E-Mail bis HTTP. Trotz des zögerlichen Namens ist ein veröffentlichter RFC kein Entwurf zur Diskussion: Er ist der Standard selbst, und er behält seine Nummer für immer.

Eine Definition zum Zitieren

RFCs sind das Internet in Schriftform. Wenn sich Ingenieure einigen müssen, wie Maschinen miteinander sprechen, sei es die Adressierung eines Pakets, das Format eines Zeitstempels oder der Aufbau einer TLS-Sitzung, wird diese Einigung als RFC festgehalten und mit einer Nummer versehen. Alles von der Form einer IP-Adresse bis zu den Regeln der E-Mail steckt in einem davon.

Es gibt mehr als 9.500 davon, veröffentlicht seit 1969 und betreut vom RFC Editor. Jeder ist ein festes Dokument: Einmal draußen, ändert sich sein Text nie mehr, und seine Nummer wird nie wiederverwendet. Genau diese Beständigkeit ist der Sinn der Sache. Ein Verweis auf RFC 2119 bedeutet heute dasselbe wie in zwanzig Jahren.

Warum "Request for Comments"?

Der Name ist ein historischer Zufall, der zur Tradition wurde. 1969 schrieb ein Doktorand namens Steve Crocker den allerersten, RFC 1, um die frühe Host-Software des ARPANET zu dokumentieren. Die Leute, die die Arbeit machten, waren größtenteils Studenten und nervös davor, gestandenen Forschern vorzuschreiben, wie sich das Netz zu verhalten habe. Also wählte Crocker bewusst einen bescheidenen, nicht autoritären Titel: eine Bitte um Kommentare, eine Einladung zur Antwort statt eines Erlasses.

Die Höflichkeit blieb, obwohl die Dokumente alles andere als vorläufig blieben. Aus der Bitte um Kommentare wurde still und leise das Protokoll darüber, wie das Internet gebaut ist, das Nächste, was das Netz an einem Gesetz hat. Der Name erinnert daran, dass diese Standards aus Gespräch und grobem Konsens entstanden sind, nicht aus einer zentralen Instanz, die Regeln verteilt.

Wer sie schreibt

RFCs entstehen in der IETF, einer offenen Standardisierungsorganisation, der jeder beitreten kann. Es gibt keinen Mitgliedsbeitrag und keinen Sitz, in den man gewählt werden muss. Die Mitarbeit läuft über öffentliche Mailinglisten und in Arbeitsgruppen. Das Leitmotiv lautet "rough consensus and running code": Ideen verdienen sich ihren Platz durch breite Zustimmung und dadurch, dass sie tatsächlich funktionieren, nicht durch Autorität.

Der Weg sieht ungefähr so aus: Ein Autor schreibt einen Internet-Draft, eine Arbeitsgruppe verfeinert ihn über Monate oder Jahre, die Internet Engineering Steering Group (IESG) prüft ihn, und am Ende veröffentlicht der RFC Editor ihn mit einer dauerhaften Nummer. Nicht alles auf diesem Weg ist ein Standard: Manche RFCs kommen aus der Forschungsgruppe (IRTF) oder aus unabhängigen Einreichungen und werden fürs Protokoll veröffentlicht, nicht als etwas, das man umsetzen muss.

Der Status ist das ganze Spiel

Ein RFC behält seine Nummer für immer, aber sein Rang kann sich ändern. Deshalb zählt der Status genauso viel wie der Text: Er sagt dir, ob ein Dokument ein lebender Standard, eine Empfehlung, Hintergrundlektüre oder ein Grabstein ist.

Status Was er bedeutet
Proposed Standard Eine stabile, geprüfte Spezifikation auf dem Standards-Track. Die meisten "Standards", auf die du dich täglich verlässt, kommen formal nie über diese Stufe hinaus, und das ist völlig normal.
Internet Standard (STD) Die höchste Reifestufe, reserviert für Spezifikationen mit breiter Verbreitung und bewiesener Interoperabilität. Seltener als man denkt, und mit einer dauerhaften STD-Nummer neben der RFC-Nummer.
Best Current Practice (BCP) Kein Protokoll, sondern eine Empfehlung zum Betrieb, etwa zur Adressvergabe oder zum Arbeitsgruppen-Prozess. Eine BCP behält ihre eigene dauerhafte Nummer, auch wenn der zugrunde liegende RFC ersetzt wird.
Informational Fürs Protokoll veröffentlicht: Hintergrund, Übersichten oder die Beschreibung eines Protokolls, das jemand nutzt. Nützlich, aber kein Standards-Track-Dokument.
Experimental Eine Spezifikation, die es wert ist, ausprobiert und untersucht zu werden, noch nicht gedacht für den produktiven Interop-Einsatz.
Historic Überholt oder aufgegeben. Wird im Archiv als Referenz aufbewahrt, nicht zur Nutzung.
Obsoleted / Updated by Der lebendige Teil des Systems. Ein neuerer RFC kann einen älteren überholen (komplett ersetzen) oder aktualisieren (in Teilen ändern). Die alte Nummer bleibt als Zitat gültig, verweist dich aber auf ihren Nachfolger. Diese Beziehung falsch zu verstehen ist der häufigste Fehler in RFC-Texten überhaupt.

Wie man eine RFC-Nummer liest

Die Nummer ist eine Adresse, keine Version. RFCs werden in der Reihenfolge ihrer Veröffentlichung nummeriert, nicht nach Thema. Eine höhere Nummer ist also neuer, aber nicht besser oder wichtiger. Zwei RFCs zum selben Thema können Tausende Nummern auseinanderliegen, und zwei benachbarte Nummern können völlig zusammenhanglose Dinge behandeln.

Im Inneren der Nummer steckt auch kein Versionsschema. HTTP/1.1 war in RFC 2616 definiert und ist jetzt in RFC 9110 definiert, zwei Nummern ohne jede Gemeinsamkeit. Wenn jemand "siehe RFC 2119" schreibt, ist die Nummer schlicht die dauerhafte, eindeutige Adresse eines bestimmten Dokuments, und sie zeigt für immer auf genau dieses Dokument.

Wie man einen RFC liest, ohne zu verzweifeln

RFCs sind für Umsetzende geschrieben, nicht für Einsteiger, und wirken deshalb anfangs undurchdringlich. Ein paar Gewohnheiten machen fast jeden zugänglich:

  • Fang mit Abstract und Introduction an. Sie sagen dir, wofür das Dokument da ist, in nahezu klarer Sprache, bevor die eigentliche Maschinerie beginnt.
  • Lern die Schlüsselwörter. Wörter wie MUST, SHOULD und MAY sind hier kein beiläufiges Englisch. Sie haben präzise, definierte Bedeutungen, festgelegt in RFC 2119, und eine Spec ohne dieses Wissen zu lesen ist wie ein Vertrag ohne seine Definitionen.
  • Nutz die Abschnitts-Konventionen. RFCs folgen einer vertrauten Form: Terminologie vorn, "Security Considerations" und "IANA Considerations" hinten. Meist kannst du direkt zum Abschnitt springen, den du brauchst.
  • Lies ihn nicht linear und lies nicht alles. Du brauchst fast nie das ganze Dokument. Finde die Stelle, die deine Frage beantwortet, und hör dort auf.

Was oft falsch verstanden wird

  • "RFCs sind Gesetze."

    Sie haben keine Rechtskraft. Ein RFC ist eine technische Übereinkunft, die funktioniert, weil Umsetzende sich entscheiden, ihr zu folgen, nicht weil ein Staat sie durchsetzt. Das Internet läuft auf grobem Konsens, nicht auf Gesetzestext.

  • "Eine höhere RFC-Nummer heißt besserer oder neuerer Standard."

    Nummern sind chronologisch, nicht qualitativ. RFC 9999 ist kein Upgrade von RFC 9998. Nur eine ausdrückliche "obsoletes"- oder "updates"-Beziehung verbindet zwei Dokumente wirklich.

  • "Ein RFC ist ein fertiger, eingefrorener Standard."

    Viele weit verbreitete RFCs sind nur Proposed Standard, und jeder RFC kann später aktualisiert oder überholt werden. Der Text steht mit der Veröffentlichung fest, sein Status bleibt aber in Bewegung.

  • "Request for Comments heißt, es ist noch ein Entwurf."

    Das Gegenteil. Ein Dokument wird erst zum RFC, wenn es veröffentlicht ist, und ab diesem Moment ist seine Nummer dauerhaft. Laufende Arbeit steckt in Internet-Drafts, die verfallen. RFCs nicht.

Gute Einstiegspunkte

Am klarsten versteht man das Lesen eines RFC, indem man einen liest, der zählt. Das sind verbreitete Einstiegspunkte, jeder hier in klarem Deutsch erklärt:

Fragen, die wirklich gestellt werden

Wofür steht RFC? +

RFC steht für Request for Comments. Es ist ein nummeriertes technisches Dokument der IETF, das festlegt, wie ein Teil des Internets funktioniert. Der Name geht auf 1969 zurück und blieb, auch nachdem RFCs zum formalen Protokoll der Internet-Standards wurden.

Wer schreibt RFCs? +

RFCs entstehen in der IETF, einem offenen Standardisierungsgremium, dem jeder beitreten kann. Ein Autor schreibt einen Internet-Draft, eine Arbeitsgruppe verfeinert ihn per grobem Konsens, die IESG prüft ihn, und der RFC Editor veröffentlicht ihn mit einer dauerhaften Nummer.

Sind RFCs rechtlich bindend? +

Nein. RFCs haben keine Rechtskraft. Ihnen wird gefolgt, weil Umsetzende sich einig sind, dass sie der richtige Weg zur Interoperabilität sind, nicht weil ein Gesetz es verlangt.

Was ist der Unterschied zwischen einem RFC und einem Internet-Draft? +

Ein Internet-Draft ist laufende Arbeit und verfällt nach sechs Monaten. Ein RFC ist das veröffentlichte, dauerhafte Ergebnis: Einmal vergeben, ändern sich seine Nummer und sein Text nie mehr.

Kann ein RFC nach der Veröffentlichung geändert werden? +

Der Text eines veröffentlichten RFC wird nie bearbeitet. Stattdessen aktualisiert oder überholt ein neuerer RFC ihn, und das alte Dokument verweist auf seinen Nachfolger, während es seine Nummer als Zitat behält.