2 पॉइंट द्वारा GN⁺ 2023-09-20 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • एक विश्वविद्यालय के statistics विभाग का mail server एक समय के बाद लगभग 500~520 miles से अधिक दूर के गंतव्यों पर email नहीं भेज पा रहा था, और समस्या भौगोलिक radius के आधार पर reproducible थी
  • विभागाध्यक्ष ने कई दिनों तक data इकट्ठा करके geostatistician से analysis कराया, और पहुंचे जा सकने वाले radius तथा उस radius के भीतर के अपवाद गंतव्यों का मानचित्र बनवाया
  • administrator के test के अनुसार North Carolina Research Triangle से Richmond, Atlanta, Washington, Princeton, New York सफल रहे, लेकिन Memphis, Boston, Detroit, Providence विफल रहे, जिससे यह स्पष्ट हुआ कि आधार recipient की location नहीं बल्कि mail server की location थी
  • कारण यह था कि server patch के दौरान SunOS upgrade हो गया और Sendmail 8 से व्यावहारिक रूप से Sendmail 5 पर downgrade हो गया, जबकि मौजूदा Sendmail 8 के sendmail.cf में मौजूद लंबे configuration names को Sendmail 5 ने ignore कर दिया
  • इसके परिणामस्वरूप connection timeout 0 पर set हो गया, और उस machine पर connection लगभग 3 milliseconds बाद टूट जाता था, जो units की गणना के अनुसार लगभग 559 miles के observation से मेल खाता था

“500 मील से आगे mail नहीं जाता” की रिपोर्ट

  • campus email system चलाते समय statistics विभाग के विभागाध्यक्ष ने संपर्क किया कि “विभाग के बाहर email भेजने में समस्या है”
  • समस्या का सार यह था कि “यहां से 500 miles से अधिक दूर email नहीं भेजे जा सकते”, और विभागाध्यक्ष ने जोड़ा कि वास्तविक सीमा “थोड़ी अधिक, लगभग 520 miles” है
  • administrator ने जवाब दिया कि email आम तौर पर इस तरह काम नहीं करता, लेकिन विभागाध्यक्ष कई दिनों तक पर्याप्त data इकट्ठा करने के बाद संपर्क कर रहे थे
  • statistics विभाग ने geostatistician से इसकी पुष्टि कराई और ऐसा map बनाया जिसमें दिखा कि mail भेजे जा सकने की सीमा 500 miles से थोड़ा बड़ा radius है
    • radius के भीतर भी कुछ गंतव्य unreachable थे या केवल कभी-कभी पहुंचते थे
    • radius के बाहर email कभी भी deliver नहीं होता था
  • उसी समय एक consultant ने server को patch करके reboot किया था, लेकिन उसने कहा कि mail system को नहीं छुआ गया

पुनरुत्पादन test और भौगोलिक सीमा

  • administrator ने विभागीय server में login करके test mail भेजा, और समस्या वास्तव में reproducible निकली
  • उस समय location North Carolina का Research Triangle था, और पास के गंतव्य सामान्य रूप से काम कर रहे थे
    • अपने account पर भेजा गया test mail सामान्य रूप से deliver हुआ
    • Richmond, Atlanta, Washington पर भेजे गए mail भी सफल रहे
    • Princeton तक लगभग 400 miles का test भी पास हुआ
  • अधिक दूर के गंतव्य लगातार विफल होते रहे
    • Memphis लगभग 600 miles: विफल
    • Boston: विफल
    • Detroit: विफल
    • New York लगभग 420 miles: सफल
    • Providence लगभग 580 miles: विफल
  • North Carolina में रहने वाले एक मित्र के account पर भेजा गया mail विफल हुआ, क्योंकि उस account का ISP Seattle में था
    • इससे पुष्टि हुई कि समस्या व्यक्ति की वास्तविक location से नहीं, बल्कि mail server की भौगोलिक location से जुड़ी थी

सामान्य दिख रही Sendmail configuration

  • sendmail.cf file अधिकांशतः सामान्य लग रही थी, और administrator द्वारा पहले लिखी गई file से वही थी
  • administrator ने माना कि उन्होंने कभी FAIL_MAIL_OVER_500_MILES जैसा कोई option enabled नहीं किया था
  • SMTP port पर telnet से connect करने पर server ने SunOS sendmail banner लौटाया
  • उस समय Sun अपने operating system के साथ Sendmail 5 bundled करके वितरित कर रहा था, जबकि Sendmail 8 पहले से काफ़ी mature था
  • administrator ने Sendmail 8 पर standardize कर रखा था और Sendmail 8 के लंबे self-descriptive option names तथा variable names का उपयोग करने वाला sendmail.cf लिखकर इस्तेमाल कर रहे थे
    • Sendmail 5 इससे पुराने punctuation-केंद्रित, cryptic configuration code का उपयोग करता था

upgrade से बना downgrade

  • consultant ने server को “patch” करते समय SunOS version upgrade किया, और उसी प्रक्रिया में Sendmail, Sendmail 5 पर उतर गया
  • operating system upgrade ने मौजूदा sendmail.cf को जस का तस छोड़ा, लेकिन अब वह चल रहे Sendmail version के साथ compatible नहीं रहा
  • Sun द्वारा वितरित Sendmail 5 version, Sendmail 8 के sendmail.cf की कई rules को process कर सकता था
    • उस समय अधिकांश rules में बहुत बड़ा बदलाव नहीं आया था
  • असली समस्या Sendmail 8 के लंबे configuration options थे, जिन्हें Sendmail 5 ने बेकार values की तरह देखकर छोड़ दिया
  • Sendmail binary में इन options के default values अधिकतर compiled-in नहीं थे, और configuration file में भी value नहीं मिली, इसलिए वे अंततः 0 पर set हो गए

3 milliseconds timeout और 558 miles

  • 0 पर set हुई values में से एक थी remote SMTP server से connect करते समय उपयोग होने वाला connection timeout
  • प्रयोग से पता चला कि उस machine और सामान्य load की स्थिति में 0 timeout, connect call को लगभग 3 milliseconds से थोड़ा अधिक समय बाद abort कर देता था
  • उस समय campus network 100% switched था
    • बाहर जाने वाले packets, POP तक पहुंचकर दूसरी तरफ के router से मिलने तक router delay का सामना नहीं करते थे
    • पास के network पर कम load वाले remote host से connection time पर आकस्मिक router delay की तुलना में light की speed से तय दूरी का असर अधिक था
  • administrator ने units में 3 millilightseconds को miles में convert किया, और परिणाम 558.84719 miles आया
  • विभागाध्यक्ष का “500 miles, या थोड़ा अधिक” वाला observation और गणना का परिणाम लगभग पूरी तरह मेल खा गया

1 टिप्पणियां

 
GN⁺ 2023-09-20
Hacker News की राय
  • 1998 में ऑस्ट्रेलिया की एक छोटी कंपनी में IT support करते समय, एक remote office के कर्मचारी ने फोन करके कहा कि “screen saver monitor से गिरकर keyboard की key दबा गया और terminal lock हो गया”
    पहले लगा कि बात बेतुकी है, लेकिन बाद में पता चला कि उस समय आम तौर पर इस्तेमाल होने वाले physical CRT anti-glare filter को वे “screen saver” कहते थे, और वही filter गिरकर Scroll Lock दबाए हुए था
    https://dylbs6e8mhm2w.cloudfront.net/productimages/500x500/E...

  • मुझे इस तरह की घटनाएँ पसंद हैं। कभी-कभी वह पल आता है जब कोई phenomenon, जिसे आप यकीन से कहते हैं कि कभी हो ही नहीं सकता, असल में light की speed जैसे physics के नियमों की वजह से हो रहा होता है
    मेरी शुरुआती jobs में से एक में CRT monitor के हल्के-हल्के flicker करने की समस्या आई थी; monitor, cable, power cord, यहाँ तक कि computer भी बदल दिया, फिर भी वही हालत रही
    आखिरकार computer और monitor को cart पर रखकर corridor में ले गए तो समस्या गायब हो गई, और कारण निकला उस office की खराब electrical shielding

    • Commodore 64 अपने-आप “typing” शुरू कर देता था, इसलिए उसे दो बार repair के लिए भेजा, लेकिन repair shop में वह हमेशा ठीक काम करता था
      बाद में पता चला कि बड़ा TV लाने के बाद उसे बहुत पास रख देने से static electricity जमा हो रही थी और वही effect पैदा कर रही थी। शायद repair shop पहुँचने तक वह पर्याप्त discharge हो जाता था, इसलिए कुछ समय तक ठीक चलता था
    • 90s के मध्य में जिस “शापित” user की मदद करता था, वह याद आता है
      उसे computer बेचा था, पर वह कहता था कि इस्तेमाल करने पर blue screen आ जाती है; जब हम लाकर test करते तो कोई समस्या नहीं मिलती, और office में उसके साथ 30 मिनट इस्तेमाल करने पर भी सब ठीक रहता
      लेकिन जैसे ही उस व्यक्ति ने mouse छुआ, computer ने blue screen दिखा दी, और mouse बदलने से समस्या खत्म हो गई
    • एक lab में हर computer के साथ voltage stabilizer लगा था, लेकिन उनकी quality इतनी खराब थी कि शायद वे उल्टा नुकसान कर रहे थे
      कोई stabilizer on करता तो आसपास के CRT monitors थोड़ी देर के लिए distort होते, flicker करते और colors खराब हो जाते। दीवार की तरफ वाली seats पर असर कम था, लेकिन सिरदर्द बहुत होता था, और मैं उस company में बस 6 महीने ही टिक पाया
    • MIT AI Lab का “magic” switch याद आता है: http://www.catb.org/jargon/html/magic-story.html
  • इस कहानी का सबसे अच्छा हिस्सा यह है कि server patch करने वाला consultant Hacker News पर मौजूद है
    उन्होंने अपना हिस्सा यहाँ comment में बताया था: https://news.ycombinator.com/item?id=23775404

    • मैं यह भूल गया था। उस thread का संबंधित हिस्सा यहाँ से शुरू होता है: https://news.ycombinator.com/item?id=23777700
      जिन लोगों की रुचि हो, उनके लिए मैंने इसे /highlights में भी डाल दिया है: https://news.ycombinator.com/highlights
    • लेख में लिखा है कि consultant ने server patch करके reboot किया, लेकिन mail system को नहीं छुआ; जबकि comment में लिखा है कि “initialization के बाद reinstall स्वीकार नहीं किया गया, इसलिए जाहिर है sendmail update किया”
      शायद “दोषियों की रक्षा के लिए कहानी को थोड़ा बदला गया” वाली बात इसी हिस्से के बारे में है
  • हर कुछ साल में यह कहानी फिर ऊपर आ जाती है, और हर बार मुस्कान आ जाती है

    • इसके साथ “vanilla ice cream खरीदने के बाद car start नहीं होती” वाली कहानी भी याद आती है
    • मुझे लगता है यह कहानी असली numbers बनाए रखती तो बेहतर होता। बाद में शायद fake numbers जोड़ दिए गए, या हो सकता है उन्होंने record न रखा हो या असली numbers भूल गए हों
      आखिर में दिए गए 3 milli-light-seconds one-way distance हैं, इसलिए सही नहीं हो सकते
    • शायद कोई हर साल calendar reminder लगाकर इसे post करता होगा और karma कमाता होगा। हो सकता है सच में ऐसा हो रहा हो
    • लगता है फिर एक बार अगली generation को यह कहानी सुनाने का समय आ गया है
  • 2007 में एक बड़े ISP में कई services के second-line support technician के तौर पर काम करते समय, ADSL अभी भी आम था और copper lines पर आधारित होने के कारण उसकी stable operation की एक maximum distance limit थी
    कुछ customers उस distance को करीब 2–3 km और बढ़ाने वाले special plan पर थे, लेकिन असल में वह काफी unstable था और बस web browsing जैसी चीजें मुश्किल से चल पाती थीं
    एक गर्मियों में एक customer ने शिकायत की कि daytime में IPTV लगभग एक महीने से कट रहा था और internet भी कभी-कभी glacier जैसा धीमा हो जाता था। Measurements से पता चला कि वह सबसे नजदीकी telephone exchange से बहुत दूर था, और हमने निष्कर्ष निकाला कि गर्म दिन में lines फैलकर distance limit को थोड़ा पार कर जाती थीं, जिससे instability आती थी
    मदद करने का कोई खास तरीका नहीं था, और मुझे copper network की याद नहीं आती

    • क्या बिजली के खंभे से घर तक आने वाली line को और ज्यादा insulate करने से मदद मिलती?
  • करीब 15–20 साल पहले repair shop में काम करते समय, एक व्यक्ति TV लेकर आया कि रोज शाम 5 बजे TV Spanish में बदल जाता है
    वह broadcast TV देख रहा था, और TV settings में केवल menu language थी, लेकिन सचमुच शाम 5 बजे TV audio Spanish में बदल जाता था। कुछ और channels देखने पर पता चला कि एक-दो को छोड़कर लगभग सभी Spanish में थे
    बाद में पता चला कि कुछ broadcast stations कई languages में audio transmit करते हैं, और कुछ TVs में preferred language बदली जा सकती थी। दुर्भाग्य से उस व्यक्ति ने जो used TV खरीदा था, वह Spanish-speaking country से आया product था, इसलिए उस preference setting को बदलने का कोई तरीका नहीं था

    • मेरा Bluetooth speaker कुछ साल इस्तेमाल करने के बाद Chinese में बदल गया। यह कैसे हुआ, या वापस कैसे करूँ, मुझे नहीं पता, और manual में भी नहीं है
      कुछ दिन पहले मैंने China में बना और वहीं खरीदा गया robot vacuum घर में रखा; पहली बार on करते ही वह server से टकराया और power unplug कर दी
      इसलिए state-backed cyber attack की संभावना भी खारिज नहीं की जा सकती
    • शाम 5 बजे बदलने की वजह क्या रही होगी?
  • यह सचमुच leaky abstraction की जननी जैसा example है
    जैसे ही email भेजने की कोशिश की, relativistic universe का असली underlying transport protocol सामने आ गया

  • आज lunch के समय संयोग से Sendmail की बात हुई, और मैं दावे से कह सकता हूँ कि यह काफी rare घटना है
    1991 या 1992 में पहली बार Sendmail configure करने का समय याद आया; bat book देखते हुए लगभग एक हफ्ते तक सिर पकड़कर बैठा रहा, तब जाकर पहली configuration किसी तरह सफल हुई
    बाद में मैंने m4 configuration को समझा और कुछ हद तक उसकी कद्र भी करने लगा, लेकिन 90s के मध्य में qmail और postfix पर जाने के बाद फिर कभी पीछे मुड़कर नहीं देखा

  • ऐसी पोस्ट को 2002 नहीं, बल्कि 1997 के तौर पर दिखाना चाहिए लगता है। हालांकि लगता है Trey खुद भी ठीक से याद नहीं कर पा रहे: https://www.ibiblio.org/harris/500milemail-faq.html

  • संबंधित पोस्टें। क्या और भी हैं?
    The case of the 500-mile email (2002) - https://news.ycombinator.com/item?id=29213064 - Nov 2021 (93 comments)
    We can't send email more than 500 miles (2002) - https://news.ycombinator.com/item?id=23775404 - July 2020 (135 comments)
    500 miles (2002) - https://news.ycombinator.com/item?id=18675375 - Dec 2018 (32 comments)
    The case of the 500-mile email (2002) - https://news.ycombinator.com/item?id=14676835 - July 2017 (56 comments)
    The 500-mile email (2002) - https://news.ycombinator.com/item?id=9338708 - April 2015 (139 comments)
    The case of the 500-mile email - https://news.ycombinator.com/item?id=2701063 - June 2011 (18 comments)
    The case of the 500-mile email - https://news.ycombinator.com/item?id=1293652 - April 2010 (24 comments)
    The case of the 500-mile email - https://news.ycombinator.com/item?id=385068 - Dec 2008 (28 comments)
    The case of the 500-mile email - https://news.ycombinator.com/item?id=123489 - Feb 2008 (7 comments)

    • क्या वही लिंक वाली submissions लगभग 1 साल बाद एक-दूसरे से “connect” नहीं रह जातीं?
    • क्या ऐसा काम अपने-आप कर देने वाली कोई script है?