Pourquoi il était impossible d’envoyer des e-mails à plus de 500 miles de distance (2002)
(web.mit.edu)- Le serveur de messagerie du département de statistique d’une université américaine a subi un phénomène étrange : il ne pouvait pas envoyer d’e-mails à plus de 500 miles de distance
- L’enquête a révélé qu’au cours d’une mise à jour de SunOS, la version de Sendmail avait été rétrogradée, rendant le fichier de configuration incompatible
- Comme Sendmail 5 ne reconnaissait pas les noms d’options longs du fichier de configuration prévu pour Sendmail 8, plusieurs valeurs par défaut ont été fixées à 0
- Parmi elles, le délai d’expiration de connexion SMTP était réglé à 0, ce qui faisait échouer toutes les connexions distantes prenant plus d’environ 3 millisecondes
- La latence réseau augmentant proportionnellement à la distance, cela a fini par bloquer l’envoi d’e-mails vers des serveurs situés à plus de 500 miles
Début du problème
- Le département de statistique a signalé qu’« il était impossible d’envoyer des e-mails à plus de 500 miles »
- Jusqu’à 520 miles, cela fonctionnait, mais au-delà l’envoi échouait
- Le directeur du département a même mobilisé un géostatisticien pour dresser une carte du rayon dans lequel les e-mails arrivaient, confirmant un rayon d’environ 500 miles
- L’administrateur système a reproduit le problème en envoyant des messages de test vers plusieurs régions
- Succès vers Princeton, à 400 miles, mais échec vers Memphis, à 600 miles
- New York (420 miles) fonctionnait, tandis que Providence (580 miles) échouait
Analyse de la cause
- Le fichier de configuration sendmail.cf du serveur paraissait normal ; il s’agissait d’un fichier conçu par son auteur pour Sendmail 8
- Mais en vérifiant la bannière du port SMTP, on a découvert que c’était SunOS Sendmail 5 qui tournait
- Lors du correctif appliqué au serveur, le système d’exploitation avait été mis à niveau et Sendmail avait été rétrogradé de la version 8 à la version 5
- L’ancien fichier de configuration était resté en place, mais Sendmail 5 ne reconnaissait pas les noms d’options longs de Sendmail 8
- Les options non reconnues ont été ignorées, et leurs valeurs ont été réinitialisées à 0
- En particulier, le timeout de connexion au serveur SMTP distant s’est retrouvé à 0, interrompant les tentatives de connexion après environ 3 millisecondes
Relation entre distance et vitesse
- À l’époque, le réseau du campus reposait sur une architecture 100 % commutée, avec quasiment aucune latence due aux routeurs
- Le temps de connexion était donc essentiellement déterminé par la distance physique (vitesse de la lumière)
- Les calculs montraient que 3 millisecondes correspondaient à environ 558 miles
- Ce résultat coïncidait avec le phénomène observé : « 500 miles, ou un peu plus »
Conclusion
- La cause profonde du problème était une erreur d’analyse de configuration due à un décalage de version de Sendmail
- Avec un timeout réglé à 0, un phénomène réseau donnant l’impression d’une limite de distance physique est apparu
- Cette histoire est restée comme une anecdote classique illustrant l’importance de la compatibilité des versions et de la validation des configurations en administration système
1 commentaires
Commentaires sur Hacker News
Vers le milieu des années 1990, il y avait un problème étrange au bureau : les PC ne démarraient pas le matin
Il s’est avéré qu’en hiver, de petites souris entraient par l’emplacement du disque dur pour y rester au chaud et urinaient, ce qui provoquait un court-circuit dans les circuits
Une fois l’ordinateur allumé un certain temps et chauffé, cela séchait et le démarrage redevenait possible
Ils ont ensuite acheté des baies de lecteur vides pour boucher l’ouverture, et le problème a complètement disparu
Que ce soit vrai ou non, c’est le processus de traque de ce genre de problème qui est fascinant
Lien associé
Il m’est même arrivé de voir une chauve-souris accrochée à mon câble CAT
Laisser la fenêtre ouverte la nuit a peut-être aussi un effet sur la bande passante
En tant que développeur, il faut aussi être prêt à des situations absurdes du genre "Frog on Keyboard error"
Article lié
J’ai l’impression que, dans le texte original, on n’a pas assez apprécié le fait que le président ait rassemblé les informations nécessaires à la résolution du problème
Sans ces données, l’auteur aurait probablement passé longtemps à chercher un faux problème côté serveur
Si on se contente de dire « les e-mails ne fonctionnent pas comme ça », plus personne ne donnera de données la fois suivante, ou bien on partira sur de mauvaises hypothèses
Ce texte est un post classique qui revient régulièrement sur HN depuis des années
Il a été reposté à différentes périodes, notamment en 2023, 2020 et 2015
Version 2023, version 2020, version 2015
Content de ne pas l’avoir raté cette fois. Ça rappelle qu’il ne faut pas perdre son humilité
Sur HN, un repost au bout d’environ un an est généralement acceptable, et pour les classiques, c’est bien qu’ils reviennent pour les nouveaux utilisateurs
Voir la FAQ HN
J’ai aussi regroupé plusieurs liens vers des versions liées
On pourrait alors rire en déboguant les erreurs de l’IA
Hier soir, j’ai lancé un épisode TV dans VLC, et au bout d’environ 30 secondes, l’alimentation s’est coupée
C’est arrivé trois fois exactement au même endroit, ce qui était étrange. Je me suis demandé si la vidéo elle-même pouvait en être la cause
Ça m’a rappelé le cas où une vidéo de Janet Jackson endommageait des disques durs
Et le plus étrange, c’est que l’épisode en question était Black Mirror S7E01
Lien de référence
Dans le second cas, un problème thermique est très probable
La charge de décodage varie selon les codecs, donc une portion précise peut faire surchauffer le système
Je recommande de tester à d’autres positions, ou de sauter cette séquence
Mieux vaut remplacer le bloc d’alimentation ou convertir le codec
Ou alors le fichier a pu être modifié de façon malveillante, donc il faut vérifier sa provenance
Cette histoire ressemble à une version hacker de l’anecdote sur le contrôle de vitesse du SR-71 Blackbird
C’est un classique qu’on relit à chaque fois
Lien associé
Ça me rappelle le classique : « la voiture démarre quand on achète de la glace à la vanille, mais pas quand on prend de la fraise »
Lien vers l’histoire
Lien associé
Ce sont des histoires comme « Stalking the Wiley Hacker » qui m’ont attiré dans le monde de l’informatique
Mais je regrette qu’en travaillant dans le secteur, le plaisir pur de l’époque se soit un peu perdu
Lien vers l’original
Il donnait une présentation lors d’une association de patchwork, et même sans rapport avec le sujet, c’était quelqu’un de vraiment passionné et captivant
J’ai été complètement emporté par son énergie et sa curiosité
Ça me rappelle la blague : « envoyons l’e-mail 500 miles plus loin »
La phrase « You had me at EHLO » m’a fait rire
À l’époque, je les connaissais toutes par cœur, mais aujourd’hui je ne suis plus très sûr
J’ai déjà eu un ordinateur qui s’éteignait quand je m’éloignais de mon bureau
Il s’est avéré que c’était causé par le plancher branlant d’un vieux bâtiment
Les vibrations quand je me levais provoquaient un court-circuit dans une alimentation défectueuse
En lisant l’article, j’ai immédiatement lancé
apt install units. C’est vraiment un super outilQuand on utilise la commande
units, le résultat du calcul sort à l’enversExemple : 1 mile → 1.609 km est correct, mais 1 unit → 1.609 units donne le calcul inversé