14. Juni 2009

History of RFCs – Teil 2

Category: Internet — Christian @ 22:30

Noch ein paar kommentierte RFCs, weil mir gerade langweilig ist:

Nur wegen dem Datum 🙂

Der RFC 527 ist der Vorgänger aller 1. April RFCs. Der erste echte April Fool’s Day RFC ist übrigens RFC 748 vom 1. April 1978. Beim Besten bin ich mir nicht sicher. Kandidaten sind natürlich RFC 1149 aber auch RFC 2550 oder RFC 3093.

In den Urzeiten des Internets wurden E-Mails noch nicht per SMTP sondern mittels FTP übertragen. Der RFC 561 definiert erstmals Teile eines E-Mail Headers mit FROM:, DATE: und SUBJECT:. Interessant, der Empfänger (TO:) fehlt. RFC 221 (Mail Box Protocol) legt eine Standardmailbox 0 fest, die dann automatisch verwendet wird, wenn nichts anderes angegeben ist.

Harhar, das Arpanet hatte 1973 schon lustige Sicherheitsprobleme: „The ARPA Computer Network is susceptible to security violations for at least the three following reasons: (1) many people still use passwords which are easy to guess; (2) The TIP (=Telefoneinwahl) required no user identification before giving service; (3) There is lingering affection for the challenge of breaking someone’s system.  This affection lingers despite the fact that everyone knows that it’s easy to break systems.“ Hach, es hat sich seither eigentlich nichts geändert.

Wieder eine Baustelle, die uns seit 1974 bis heute verfolgt und die (PGP/GPG mal außen vor, das verwenden leider viel zu wenig Leute) faktisch immer noch ungelöst ist. „The existence of a mechanism which RP, the receiving process, can use to distinguish mail authenticated with respect to the sending host from mail that has not been authenticated by the sending host.“ Klingt für mich verdächtig nach Protokollen wie Sender-ID, dem eigentlich vielversprechenden Ansatz, den Microsoft im September 2004 vorsätzlich gegen die Wand gefahren hat aus dem alleinigen niederen Motiv, Open Source Software zu schaden.

Passt hervorragend zum vorherigen RFC. „It would be useful for a Host to be able to decline messages from sources it believes are misbehaving or are simply annoying.“ Mir war gar nicht bewusst, dass das Spam-Problem schon 1975 aktuell war. Interessant, dass Wikipedia behauptet die erste Spam-Mail wurde am 3. Mai 1978 also erst drei Jahre später verschickt.

Zu diesen Standards brauche ich nichts mehr schreiben, denke ich.

Der RFC 772 beschreibt den Vorläufer des Simple Mail Transfer Protocol (SMTP), der erst in RFC 821 beschrieben wird. Insbesondere führt RFC 772 die Fehlercode-Gruppen ein (1xx, 2xx, 3xx, 4xx, 5xx), die uns bis heute auch in HTTP verfolgen. 404 war damals allerdings noch nicht spezifiziert.

Jetzt geht es also los mit DNS. Das Protokoll fehlt zwar noch aber die Grundüberlegungen und Funktionen (Hierarchie, Aliases, Multihomed) sind schon beschrieben. Die Details beschreiben dann RFC 881 und RFC 882, das Protokoll DNS erscheint erstmals in RFC 883.

Ab Mitte 1981 beginnt die Umstellung des Arpanets auf TCP/IP also die Internet-Struktur wie wir sie heute kennen. Interessant finde ich, woraus das Internet praktisch besteht: „The principal services are: Telnet, File Transfer, and Mail.“ Man ersetzte Telnet durch SSH, File Transfer durch HTTP und Mail … nunja, ist weiterhin Mail. Eigentlich hat sich seither nicht viel verändert.

Das ist einer der unscheinbaren RFCs, die massiven Einfluss auf das interaktive Verhalten im Internet und damit auch die Akzeptanz vieler Protokolle hatte. In diesem RFC wird erstmals der Nagle Algorithmus beschrieben. Erstaunlich einfach und doch so wirkungsvoll. In diesem Zusammenhang kann man feststellen, dass sehr viele der frühen RFCs sich mit Ergänzungen und Optionen zu Telnet beschäftigen. Telnet dient und diente für fast alle Protokolle der Anfangstage des Internets als Grundlage und Basis,

Zwei RFCs, die heute nur noch historischen Wert haben aber im Grunde vollständige Protokollspezifikationen für Anwendungen haben die damals als wichtig angesehen wurden. „We are witnessing today an explosive growth in the small or personal computer market.  Such inexpensive computers are not normally connected to a computer network. But virtually all of them have an RS-232 interface. They also usually have a modem.“ Und wir reden von 1984. Mein erstes Modem an einem PC hatte ich 1992.

Jetzt geht es los mit Mailabrufen. In diesem RFC werden viele Fehler gemacht, die uns heute noch verfolgen. Beispielsweise, dass POP, POP2 und heute noch POP3 das Passwort im Klartext überträgt und nicht etwa ein Challenge Response Verfahren verwendet. Aber damals hat man sich noch nicht wirklich Gedanken um das Abhören des Datenverkehrs gemacht. War eh alles vom US Verteidigungsministerium bezahlt. Seltsamerweise verwendet POP „+OK“ und „-ERR“ als Fehlermeldungen und nicht wie SMTP und andere bereits etablierte Protokolle Nummern (1xx, 2xx, 3xx, 4xx, 5xx). Aber damals waren Eigenbrötler charakterisierend für die Entwicklung.

Subnetting. Argh.

Im Bereich ab 900 gibt es übrigens noch eine große Zahl weiterer spannender RFCs zu Standarddiensten die immer noch gebräuchlich sind. Beispielsweise RFC 958 (NTP), RFC 977 (NNTP), aber auch sehr sehr obskure Protokolle wie in RFC 972 (Password Generator Protocol) oder RFC 978 (Voice File Interchange Protocol). Einfach selbst mal gucken!