Warum man keine E-Mails an Orte schicken konnte, die weiter als 500 Meilen entfernt waren (2002)
(web.mit.edu)- Auf dem Mailserver des Statistik-Fachbereichs einer US-Universität trat das merkwürdige Phänomen auf, dass E-Mails nicht an Ziele in mehr als 500 Meilen Entfernung gesendet werden konnten
- Die Untersuchung ergab, dass beim SunOS-Update der Sendmail-Version ein Downgrade erfolgt war und die Konfigurationsdatei dadurch nicht mehr kompatibel war
- Weil Sendmail 5 die langen Optionsnamen der Konfigurationsdatei für Sendmail 8 nicht erkannte, wurden mehrere Standardwerte auf 0 gesetzt
- Darunter war auch das Timeout für SMTP-Verbindungen, das auf 0 gesetzt wurde, sodass alle entfernten Verbindungen fehlschlugen, die länger als etwa 3 Millisekunden dauerten
- Da die Netzwerklatenz proportional zur Entfernung zunahm, führte das letztlich zu dem Effekt, dass der Mailversand an Server in mehr als 500 Meilen Entfernung blockiert wurde
Der Beginn des Problems
- Aus dem Statistik-Fachbereich kam die Meldung: „Man kann keine E-Mails an Orte senden, die weiter als 500 Meilen entfernt sind.“
- Bis 520 Meilen funktionierte es, darüber hinaus schlug es fehl
- Der Fachbereichsleiter zog sogar einen Geostatistiker hinzu, um eine Karte des erreichbaren Mail-Radius zu erstellen; dabei ergab sich ein Radius von etwa 500 Meilen
- Der Systemadministrator reproduzierte das Problem, indem er Testmails an verschiedene Orte schickte
- Princeton in 400 Meilen Entfernung funktionierte, Memphis in 600 Meilen Entfernung nicht
- New York (420 Meilen) funktionierte, Providence (580 Meilen) nicht
Ursachenanalyse
- Die Konfigurationsdatei
sendmail.cfdes Servers sah zunächst unauffällig aus und war eine vom Autor selbst erstellte Konfiguration für Sendmail 8 - Als jedoch der Banner des SMTP-Ports geprüft wurde, lief dort SunOS Sendmail 5
- Während eines Server-Patches wurde das Betriebssystem aktualisiert und Sendmail von Version 8 auf 5 zurückgestuft
- Die bestehende Konfigurationsdatei blieb erhalten, aber Sendmail 5 erkannte die langen Optionsnamen von Sendmail 8 nicht
- Nicht erkannte Optionen wurden ignoriert, und die Standardwerte der betreffenden Einträge wurden auf 0 zurückgesetzt
- Insbesondere wurde der Timeout-Wert für Verbindungen zu entfernten SMTP-Servern auf 0 gesetzt, sodass Verbindungsversuche nach etwa 3 Millisekunden abgebrochen wurden
Zusammenhang zwischen Entfernung und Geschwindigkeit
- Das Campus-Netzwerk war damals vollständig switchbasiert, sodass es praktisch keine Router-Verzögerung gab
- Die Verbindungszeit wurde daher durch die physische Entfernung (Lichtgeschwindigkeit) bestimmt
- Den Berechnungen zufolge entsprachen 3 Millisekunden etwa 558 Meilen Entfernung
- Das passte zu der gemeldeten Beobachtung von „500 Meilen oder etwas mehr“
Fazit
- Die eigentliche Ursache des Problems war ein Parsing-Fehler der Konfiguration durch eine Sendmail-Versionsinkompatibilität
- Weil das Timeout auf 0 gesetzt war, entstand ein Netzwerkphänomen, das wie eine physische Distanzgrenze wirkte
- Der Fall gilt als klassische Anekdote dafür, wie wichtig Versionskompatibilität und Konfigurationsprüfung in der Systemadministration sind
1 Kommentare
Hacker-News-Kommentare
Mitte der 1990er gab es ein seltsames Problem: Die Büro-PCs booteten morgens nicht.
Es stellte sich heraus, dass im Winter kleine Mäuse durch den Festplattenschacht hineinkamen, sich dort wärmten und urinierten, wodurch die Schaltungen kurzgeschlossen wurden.
Wenn die Computer eine Weile liefen und Wärme erzeugten, trocknete alles, und sie konnten wieder booten.
Danach wurden leere Laufwerksschlitten gekauft und die Öffnungen verschlossen, und das Problem verschwand vollständig.
Unabhängig davon, ob das wirklich passiert ist, ist der Prozess, solchen Problemen auf die Spur zu kommen, faszinierend.
Zugehöriger Link
An meinem CAT-Kabel hing früher sogar einmal eine Fledermaus.
Wenn man nachts das Fenster offen lässt, könnte das vielleicht sogar die Bandbreite beeinflussen.
Als Entwickler sollte man auch auf absurde Situationen wie einen "Frog on Keyboard error" vorbereitet sein.
Zugehöriger Artikel
Im Original wird offenbar nicht genug gewürdigt, dass der Manager die für die Problemlösung nötigen Informationen gesammelt hat.
Ohne diese Daten hätte der Autor vermutlich lange an völlig falschen Serverproblemen gesucht.
Wenn man nur sagt: „E-Mail funktioniert nicht so“, dann wird einem beim nächsten Mal entweder niemand Daten liefern oder es werden falsche Vermutungen angestellt.
Dieser Text ist ein klassischer Post, der über viele Jahre hinweg auf HN immer wieder beliebt war.
Er wurde 2023, 2020, 2015 und zu anderen Zeitpunkten erneut eingereicht.
Version von 2023, Version von 2020, Version von 2015
Gut, dass ich ihn diesmal nicht verpasst habe. Er erinnert daran, bescheiden zu bleiben.
Auf HN ist ein Repost nach ungefähr einem Jahr okay, und bei Klassikern ist es gut, wenn sie für neue Nutzer wieder auftauchen.
Siehe dazu die HN-FAQ.
Dort habe ich auch Links zu verschiedenen Versionen gesammelt.
Dann können wir vielleicht lachend KI-Fehler debuggen.
Gestern Abend habe ich mit VLC eine TV-Episode abgespielt, und nach etwa 30 Sekunden ging der Strom aus.
Es passierte dreimal an derselben Stelle, was sehr merkwürdig war. Ich fragte mich, ob vielleicht das Video selbst die Ursache sein könnte.
Ich musste an den früheren Fall denken, bei dem ein Janet-Jackson-Video eine Festplatte beschädigte.
Noch seltsamer war, dass es sich bei der Episode um Black Mirror S7E01 handelte.
Referenzlink
Im zweiten Fall ist ein Hitzeproblem sehr wahrscheinlich.
Je nach Codec fällt die Decoding-Last unterschiedlich aus, sodass ein bestimmter Abschnitt das System überhitzen könnte.
Ich würde empfehlen, an einer anderen Stelle zu starten oder den Abschnitt zu überspringen und das zu testen.
Es wäre sinnvoll, das Netzteil zu tauschen oder den Codec zu konvertieren.
Oder die Datei wurde böswillig verändert, also sollte man auch die Quelle prüfen.
Diese Geschichte ist so etwas wie die Hacker-Version der SR-71-Blackbird-Speed-Check-Anekdote.
Ein Klassiker, den ich jedes Mal wieder lese.
Zugehöriger Link
Das erinnert an den Klassiker: „Wenn man Vanilleeis kauft, springt das Auto an, bei Erdbeereis aber nicht.“
Link zur Geschichte
Zugehöriger Link
Geschichten wie „Stalking the Wiley Hacker“ haben mich überhaupt erst in die Computerwelt gebracht.
Aber seit ich in der Branche arbeite, finde ich es schade, dass dieser unverfälschte Spaß von damals verschwunden ist.
Link zum Original
Er hielt einen Vortrag bei einer Quilt-Vereinigung, und obwohl das thematisch kaum zusammenpasste, war er unglaublich leidenschaftlich und charismatisch.
Ich war völlig eingenommen von seiner Energie und Neugier.
Mir kam der Witz in den Sinn: „Dann schicken wir die Mail eben 500 Meilen weiter.“
Über den Satz „You had me at EHLO“ musste ich lachen.
Damals kannte ich alle Kommandos auswendig, heute wäre ich mir da nicht mehr so sicher.
Früher hatte ich bei einem Computer das Problem, dass er sich ausschaltete, sobald ich meinen Platz verließ.
Der Grund war letztlich ein lockerer Dielenboden in einem alten Gebäude.
Die Erschütterung beim Aufstehen verursachte im defekten Netzteil einen Kurzschluss.
Beim Lesen des Artikels habe ich sofort
apt install unitsausgeführt. Wirklich ein großartiges Tool.Wenn man den Befehl
unitsverwendet, kommt die Berechnung umgekehrt heraus.Beispiel: 1 mile → 1.609 km ist korrekt, aber 1 unit → 1.609 units ergibt die Umrechnung in die falsche Richtung.