2 puan yazan GN⁺ 2023-09-20 | 1 yorum | WhatsApp'ta paylaş
  • Bir üniversitenin istatistik bölümü posta sunucusu, bir noktadan sonra yaklaşık 500~520 milden daha uzaktaki hedeflere e-posta gönderememeye başladı ve sorun coğrafi yarıçap olarak yeniden üretilebildi
  • Bölüm başkanı birkaç gün veri topladıktan sonra analizi bir coğrafi istatistikçiye yaptırdı; ulaşılabilen yarıçapı ve bu yarıçap içindeki istisna hedefleri haritaladı
  • Yöneticinin testine göre North Carolina Research Triangle'dan Richmond, Atlanta, Washington, Princeton ve New York başarılı olurken Memphis, Boston, Detroit ve Providence başarısız oldu; böylece ölçütün alıcının konumu değil, posta sunucusunun konumu olduğu ortaya çıktı
  • Neden, sunucuya yama geçilirken SunOS'un yükseltilmesiyle Sendmail 8'den fiilen Sendmail 5'e düşürülmesi ve mevcut Sendmail 8 için yazılmış sendmail.cf içindeki uzun yapılandırma adlarının Sendmail 5 tarafından yok sayılmasıydı
  • Sonuçta bağlantı zaman aşımı 0 olarak ayarlandı ve o makinede bağlantı yaklaşık 3 milisaniye sonra kesildi; bu da units hesabındaki yaklaşık 559 mil gözlemiyle örtüştü

“500 milden uzağa posta gitmiyor” bildirimi

  • Kampüs e-posta sistemini işletirken istatistik bölümü başkanı, “bölüm dışına e-posta göndermede bir sorun var” diyerek iletişime geçti
  • Sorunun özü, “buradan 500 milden daha uzak yerlere posta gönderilemiyor” olmasıydı; bölüm başkanı gerçek sınırın “biraz daha fazla, yaklaşık 520 mil” olduğunu da ekledi
  • Yönetici, e-postanın normalde böyle çalışmadığını söyledi; ancak bölüm başkanı birkaç gün boyunca yeterli veri topladıktan sonra haber vermişti
  • İstatistik bölümü doğrulamayı bir coğrafi istatistikçiye yaptırdı ve postanın gönderilebildiği alanın 500 milden biraz büyük bir yarıçap olduğunu gösteren bir harita hazırladı
    • Yarıçapın içinde de ulaşılamayan veya yalnızca aralıklı olarak ulaşılan hedefler vardı
    • Yarıçapın dışına ise e-postalar asla teslim edilmiyordu
  • Aynı zamanda bir danışman sunucuya yama geçip yeniden başlatmıştı, ancak posta sistemine dokunmadığını belirtmişti

Yeniden üretim testi ve coğrafi sınır

  • Yönetici bölüm sunucusuna giriş yapıp test postaları gönderince sorunun gerçekten yeniden üretilebilir olduğu görüldü
  • O sırada konum North Carolina'daki Research Triangle'dı ve yakın hedefler normal çalışıyordu
    • Kendi hesabına gönderdiği test postası sorunsuz ulaştı
    • Richmond, Atlanta ve Washington'a gönderilen postalar da başarılı oldu
    • Princeton'a yaklaşık 400 millik test de geçti
  • Daha uzak hedeflerde ise başarısızlıklar sürdü
    • Memphis yaklaşık 600 mil: başarısız
    • Boston: başarısız
    • Detroit: başarısız
    • New York yaklaşık 420 mil: başarılı
    • Providence yaklaşık 580 mil: başarısız
  • North Carolina'da yaşayan bir arkadaşının hesabına gönderilen posta başarısız oldu; çünkü o hesabın ISP'si Seattle'daydı
    • Sorunun kişinin gerçek konumuyla değil, posta sunucusunun coğrafi konumuyla ilgili olduğu doğrulandı

Normal göründüğü halde sorunlu Sendmail yapılandırması

  • sendmail.cf dosyası genel olarak normal görünüyordu ve yöneticinin daha önce yazdığı dosyayla aynıydı
  • Yönetici, FAIL_MAIL_OVER_500_MILES gibi bir seçeneği kendisinin etkinleştirmediğinden emindi
  • SMTP portuna telnet ile bağlanınca sunucu SunOS sendmail banner'ı döndürdü
  • O dönemde Sun, işletim sistemiyle birlikte Sendmail 5 dağıtıyordu; Sendmail 8 ise zaten olgunlaşmış durumdaydı
  • Yönetici sistemleri Sendmail 8 üzerinde standartlaştırmıştı ve Sendmail 8'in uzun, kendini açıklayan seçenek ve değişken adlarını kullanan sendmail.cf dosyaları yazıyordu
    • Sendmail 5 ise noktalama işaretleri ağırlıklı, daha eski ve şifre gibi görünen yapılandırma kodlarını kullanıyordu

Yükseltmenin yarattığı düşürme

  • Danışman sunucuya “yama” geçerken SunOS sürümünü yükseltti ve bu süreçte Sendmail, Sendmail 5'e düşürüldü
  • İşletim sistemi yükseltmesi mevcut sendmail.cf dosyasını olduğu gibi bıraktı; ancak artık çalışan Sendmail sürümüyle uyumsuz bir dosya haline geldi
  • Sun'ın dağıttığı Sendmail 5 sürümü, Sendmail 8 için yazılmış sendmail.cf içindeki birçok kuralı işleyebiliyordu
    • O sırada kuralların çoğu büyük ölçüde değişmemişti
  • Sorun Sendmail 8'in uzun yapılandırma seçenekleriydi; Sendmail 5 bunları çöp veri gibi görüp atlıyordu
  • Sendmail ikilisinde bu seçeneklerin varsayılan değerleri çoğunlukla derlenmiş halde bulunmuyordu; yapılandırma dosyasında da değer bulunamayınca sonuçta 0'a ayarlanmış oldular

3 milisaniyelik zaman aşımı ve 558 mil

  • 0'a ayarlanan değerlerden biri, uzak SMTP sunucusuna bağlanırken kullanılan bağlantı zaman aşımıydı
  • Deneyler, o makinede ve tipik yük altında 0 zaman aşımının connect çağrısını yaklaşık 3 milisaniyeden biraz fazla süre sonra sonlandırdığını gösterdi
  • O dönemde kampüs ağı %100 anahtarlamalıydı
    • Dışarı giden paketler, POP'a ulaşıp karşı taraftaki yönlendiriciyle karşılaşana kadar yönlendirici gecikmesine uğramıyordu
    • Yakın ağlar üzerindeki düşük yüklü uzak ana bilgisayarlara bağlantı süresi, ek yönlendirici gecikmelerinden çok ışık hızına bağlı mesafeden etkileniyordu
  • Yönetici units içinde 3 millilightseconds değerini miles birimine çevirdiğinde sonuç 558.84719 mil çıktı
  • Bölüm başkanının söylediği “500 mil, ya da biraz daha fazla” gözlemi ile hesaplanan sonuç neredeyse birebir örtüşüyordu

1 yorum

 
GN⁺ 2023-09-20
Hacker News yorumları
  • 1998’de Avustralya’daki küçük bir şirkette BT desteği verirken, uzak ofisteki bir çalışan arayıp “ekran koruyucu monitörden düştü, klavye tuşlarına bastı ve terminal kilitlendi” demişti.
    İlk başta bunun anlamsız olduğunu düşündüm ama meğer o dönemde yaygın olan fiziksel CRT parlama önleyici filtreye “ekran koruyucu” diyormuş; filtre düşüp Scroll Lock tuşunu basılı bırakmış.
    https://dylbs6e8mhm2w.cloudfront.net/productimages/500x500/E...

  • Bu tür şeyleri seviyorum. Asla olamayacağına emin olduğunuz bir olayın aslında ışık hızı gibi fizik yasaları yüzünden gerçekleştiğini fark ettiğiniz anlar oluyor.
    İlk işlerimden birinde CRT monitörün hafifçe titremesiyle ilgili bir sorun yaşamıştık; monitörü, kabloyu, güç kablosunu, hatta bilgisayarı değiştirmemize rağmen aynıydı.
    Sonunda bilgisayarı ve monitörü bir arabaya koyup koridora çıkarınca sorun kayboldu; neden o ofisteki elektriksel yalıtım/ekranlama eksikliğiydi.

    • Commodore 64 kendi kendine “yazmaya” başlamıştı; iki kez tamire gönderdik ama tamircide her zaman normal çalışıyordu.
      Sonradan daha büyük bir TV alınca, onu fazla yakına koyduğumuz için statik elektrik birikip böyle bir etki yarattığı ortaya çıktı. Tamirciye varana kadar yeterince deşarj oluyor ve bir süre sorunsuz çalışıyor olmalıydı.
    • 90’ların ortasında yardım ettiğim “lanetli” bir kullanıcı aklıma geldi.
      Bilgisayarı satmıştık; kullanınca mavi ekran verdiğini söyledi. Getirip test ettiğimizde hiçbir sorun yoktu, ofiste 30 dakika birlikte kullandığımızda da iyiydi.
      Ama o kişi fareye dokunduğu anda bilgisayar mavi ekran verdi ve sorun fare değiştirilince ortadan kalktı.
    • Bir laboratuvarda her bilgisayara voltaj regülatörü takılmıştı; kaliteleri o kadar kötüydü ki büyük olasılıkla faydadan çok zarar veriyorlardı.
      Biri regülatörü açtığında yakındaki CRT monitörler kısa süreliğine bükülüyor, titriyor ve renkleri bozuluyordu. Duvar tarafındaki masalar daha az etkileniyordu ama baş ağrıları berbattı; o şirkette ancak 6 ay dayanabildim.
    • MIT AI Lab’deki “sihirli” anahtar aklıma geldi: http://www.catb.org/jargon/html/magic-story.html
  • Bu hikâyenin en güzel yanı, sunucuya yama yapan danışmanın Hacker News’te olması.
    Kendi üstlendiği kısmı burada yorum olarak yazmış: https://news.ycombinator.com/item?id=23775404

    • Bunu unutmuştum. İlgili iş parçacığındaki bölüm burada başlıyor: https://news.ycombinator.com/item?id=23777700
      İlgilenenler için /highlights içine de koydum: https://news.ycombinator.com/highlights
    • Yazıda danışmanın sunucuya yama yapıp yeniden başlattığı ama posta sistemine dokunmadığı söyleniyor; yorumda ise “sıfırlayıp yeniden kurma kabul edilmediğine göre doğal olarak sendmail güncellemesi yaptım” deniyor.
      Muhtemelen “suçluları korumak için hikâyeyi biraz değiştirdim” kısmı buna işaret ediyor.
  • Birkaç yılda bir bu hikâye yeniden gündeme geliyor ve her seferinde yüzümü güldürüyor.

    • Bununla birlikte “vanilyalı dondurma aldıktan sonra araba çalışmıyor” hikâyesi aklıma geliyor.
    • Bu hikâyede gerçek sayılar korunsaydı daha iyi olurdu sanki. Sonradan uydurma sayılar eklenmiş gibi; belki not etmemişlerdi ya da gerçek sayıları unutmuş olabilirler.
      Sondaki 3 mili-ışık-saniye tek yönlü mesafe olduğu için doğru olamaz.
    • Muhtemelen biri her yıl için takvime hatırlatıcı koyup bunu paylaşarak karma toplayabilir. Hatta gerçekten yapıyor da olabilir.
    • Görünüşe göre bu hikâyeyi bir sonraki nesle anlatmanın zamanı yine gelmiş.
  • 2007’de büyük bir ISP’de çeşitli servisler için ikinci seviye destek teknisyeni olarak çalışırken ADSL hâlâ yaygındı ve bakır hatlara dayandığı için güvenilir çalışabileceği bir azami mesafe vardı.
    Bazı müşteriler bu mesafeyi 2-3 km kadar daha uzatmaya çalışan özel bir tarifedeydi; ama pratikte oldukça dengesizdi ve ancak web’de gezinme gibi şeyler zar zor yapılabiliyordu.
    Bir yaz, bir müşteri gündüzleri IPTV’nin neredeyse bir aydır kesildiğini, internetin de zaman zaman buzul gibi yavaşladığını bildirdi. Ölçüm yaptığımızda en yakın santralden çok uzakta olduğunu gördük; sıcak gündüz saatlerinde hattın genleşip mesafe sınırını azıcık aşarak kararsız hale geldiği sonucuna vardık.
    Yardım edebileceğimiz pek bir şey yoktu; bakır hat ağını hiç özlemiyorum.

    • Direkten eve gelen kabloyu daha iyi yalıtmak nasıl olurdu?
  • Yaklaşık 15-20 yıl önce bir tamirhanede çalışırken biri, her gün saat 17.00 olduğunda TV’sinin İspanyolcaya geçtiğini söyleyip getirmişti.
    Karasal yayın izliyordu ve TV ayarlarında sadece menü dili vardı; ama gerçekten de saat 17.00’de TV’nin sesi İspanyolcaya geçiyordu. Birkaç kanala daha bakınca, bir iki kanal dışında hepsinin İspanyolca olduğunu gördük.
    Meğer bazı yayıncılar sesi birden fazla dilde gönderiyormuş ve bazı TV’lerde tercih edilen dil değiştirilebiliyormuş. Ne yazık ki adamın aldığı ikinci el TV İspanyolca konuşulan bir ülkeden gelmişti ve bu tercih ayarını değiştirmenin bir yolu yoktu.

    • Benim Bluetooth hoparlörüm birkaç yıl kullandıktan sonra Çinceye geçti. Bunun nasıl olduğunu da nasıl geri çevrileceğini de bilmiyorum; kılavuzda da yok.
      Birkaç gün önce Çin’de üretilip satın alınmış bir robot süpürgeyi eve getirdim; ilk çalıştırdığım anda sunucuya çarpıp fişini çekti.
      Bu yüzden devlet destekli siber saldırı olasılığını da dışlayamam.
    • Saat 17.00’de değişmesine ne sebep olmuş olabilir?
  • Gerçek bir sızdıran soyutlama vakalarının anası gibi.
    E-posta göndermeye çalıştığınız anda, göreli evrenin gerçek alt seviye aktarım protokolü ortaya çıkmış oluyor.

  • Bugün öğle yemeğinde tam da Sendmail hakkında konuştuk; garanti ederim oldukça nadir bir şey.
    1991 ya da 1992’de Sendmail’i ilk kez yapılandırdığım zamanı hatırladım; bat book’a bakarak bir hafta boyunca neredeyse saçımı başımı yolarak ilk yapılandırmayı ancak çalıştırabilmiştim.
    Sonradan m4 yapılandırmasını anlayıp bir ölçüde takdir etmeye başladım ama 90’ların ortasında qmail ve postfix’e geçtikten sonra bir daha arkama bakmadım.

  • Böyle yazıların 2002 değil, 1997 olarak gösterilmesi gerekiyor gibi. Ancak Trey’in kendisi de hatırlamıyor gibi görünüyor: https://www.ibiblio.org/harris/500milemail-faq.html

  • İlgili yazılar. Daha fazlası var mı?
    The case of the 500-mile email (2002) - https://news.ycombinator.com/item?id=29213064 - Kasım 2021 (93 yorum)
    We can't send email more than 500 miles (2002) - https://news.ycombinator.com/item?id=23775404 - Temmuz 2020 (135 yorum)
    500 miles (2002) - https://news.ycombinator.com/item?id=18675375 - Aralık 2018 (32 yorum)
    The case of the 500-mile email (2002) - https://news.ycombinator.com/item?id=14676835 - Temmuz 2017 (56 yorum)
    The 500-mile email (2002) - https://news.ycombinator.com/item?id=9338708 - Nisan 2015 (139 yorum)
    The case of the 500-mile email - https://news.ycombinator.com/item?id=2701063 - Haziran 2011 (18 yorum)
    The case of the 500-mile email - https://news.ycombinator.com/item?id=1293652 - Nisan 2010 (24 yorum)
    The case of the 500-mile email - https://news.ycombinator.com/item?id=385068 - Aralık 2008 (28 yorum)
    The case of the 500-mile email - https://news.ycombinator.com/item?id=123489 - Şubat 2008 (7 yorum)

    • Aynı bağlantının gönderileri yaklaşık bir yıl geçince birbirine “bağlanmaz” mı oluyor?
    • Bu işi bizim yerimize yapan bir script var mı?