أصبحت قصة البريد الإلكتروني ، التي لم تتجاوز مسافة 500 ميل من المرسل ، قصة كلاسيكية ملحية. اعتقدت أن رد الفعل العادي كان مجرد الضحك ، ولكن لم يكن هناك عدد قليل من الأشخاص الذين أرادوا أن يثبتوا للمؤلف أن هذا لا يمكن أن يكون ، لأنه ... في النهاية ، لم يتمكن المؤلف من الوقوف عليه وأصدر أسئلة وأجوبة كاملة. حتى يجتمع:البريد الإلكتروني الذي لم يتجاوز 500 ميل
لقد تلقيت العديد من الردود على المنشور ، "البريد لا يتجاوز 500 ميل". أعيد طبع قصتي عدة مرات وبيعت على نطاق أوسع بكثير مما كنت أتمنى. معظم الإجابات هي الشكر للقصة المضحكة وعروض العمل (بالمناسبة ، شكراً لهم ، وأود أن يواصلوا حضورهم!) ومع ذلك ، كان هناك الكثير ممن بحثوا عن عدم الدقة والتناقضات في قصتي ، واكتشفوا خطأ مع تفاهات. بدلاً من الإجابة على كل هجوم من هذا القبيل ، قمت ببساطة بجمع الأسئلة الأكثر شيوعًا والإجابة عليها مرة واحدة.
1. هل كان صحيحًا ، أم أن التاريخ مجرد قصة؟إنها حقيقة واقعة. في ذلك الوقت ، كنت مسؤولاً عن نظام البريد الإلكتروني المركزي في حرم جامعة نورث كارولينا في تشابل هيل. بالإضافة إلى ذلك ، شاركت أيضًا في إعداد البريد الإلكتروني لتلك الإدارات التي تستخدم لسبب ما الخوادم الخاصة بهم. الشيء الرئيسي في سياق هذه القصة هو أنني كتبت ملف تكوين لخادم البريد ، sendmail.cf ، والذي استخدمه معظم خوادم الحرم الجامعي.
2. متى حدثت هذه القصة؟أود حقاً أن أقول بالتأكيد. ولكن على الرغم من حقيقة أنني واحد من هؤلاء الإيجابيين
(في الأصل - أنا واحد من تلك الأنواع التي تحتفظ بال
الشرج) التي تخزن بعناية جميع رسائلهم ، الواردة والصادرة ، لا أستطيع العثور على رسالة واحدة حول هذه المشكلة. كما كتبت ، تم إخباري بالمشكلة عبر الهاتف ، وأجبت أيضًا عبر الهاتف. بعد مرور بعض الوقت ، قررت بوعي عدم كتابة أي رسائل ، وذلك أساسًا لأن القصة جيدة جدًا ، وأحب سردها ومشاهدة وجوه الأشخاص الذين سمعوها للمرة الأولى. بناءً على ذكريات المكتب الذي كنت أعمل فيه في ذلك الوقت ، والزملاء الذين كنت أروي لهم هذه القصة ، وغيرها من التفاصيل غير ذات الصلة ولكن ذات الصلة بالوقت ، حدثت القصة في الفترة 1994-1997.
ومع ذلك ، يمكنك بالتأكيد حساب الوقت بشكل أكثر دقة. على سبيل المثال ، عندما كان sendmail 8 "مستقرًا إلى حد ما" بالفعل ، ولكن هل كانت Sun لا تزال تشحن sendmail 5؟ كتب إليكم إريك ألمان (إريك ألمان) حول هذا الموضوع ، أنه يمكن إرجاع بعض الوظائف إلى البريد الإلكتروني 5 ، وإذا كنت تعرف متى كان ذلك ، يمكنك تضييق الفاصل الزمني بشكل كبير. بشكل عام ، إذا كان لديك أي أفكار حول كيفية حساب وقت القصة بشكل أكثر دقة ، فسوف أستمع إليهم بامتنان
3. هل حدثت لك هذه القصة حقًا ، أم هي شخصية الشخصية الرئيسية من "التفاصيل غير المهمة" التي تم تغييرها؟هذا هو حقا قصتي. ربما حذرني أحد زملائي من "حدوث شيء ما في المكتب الإحصائي" ، قبل التحدث إلى رئيس القسم. قد يكون حتى أنني اتصلت رئيس القسم ، وليس له. على الأرجح ، كان أحد زملائي جالسًا بجواري بينما كنت أقوم بحل المشكلة ، لأن لدي عادةً مناقشة قضايا العمل بصوت عالٍ في عملية الحل. لكنني بالكاد أحكي قصة شخص آخر وجني أمجاد شخص آخر. ومع ذلك ، إذا كنت تعمل معي في ذلك الوقت وتعتقد أن حل المشكلة هو جدارة ، اتصل بي وسنصل إلى شيء ما.
4. إذا لم تكن متأكداً 100 ٪ من التفاصيل ، فلماذا هناك الكثير من التفاصيل في القصة؟لأنه مع التفاصيل ، تبدو القصة أفضل بكثير. هل تعتقد حقًا أنه إذا بدأت كل جملة بالكلمات "لا أتذكر بالضبط ، ولكن يبدو أنها ..." ، فربما كان هناك شيء ما قد تغير؟ في النهاية ، في البداية ، حذرت من أنه تم تغيير بعض التفاصيل الطفيفة ، وتم حذف بعضها عمداً - فقط لجعل القصة أفضل.
النقطة المهمة الثانية هي الموقع الذي نشرت فيه القصة لأول مرة. لقد أرسلت هذه القصة إلى قائمة المراسلات SAGE (نقابة مسؤولي النظام) في قسم "التحديات المذهلة". كانت هذه مجرد قصص عن أكثر المهام المذهلة التي تضعها الإدارة في بعض الأحيان لمسؤولي النظام.
بالطبع ، إذا علمت أن القصة ستنتشر في جميع أنحاء شبكة الإنترنت ، لكنت أكثر حذراً بشأن الكتابة. ولكن تم كتابة النص للزملاء ، الذين أعرفهم معظمهم شخصيًا ، والذين يميلون إلى تصديقي بشكل عام.
5. القصة مضحكة ، لكن التفاصيل الفنية في النهاية خاطئة.نعم اعرف. أعد قراءة إجابة السؤال السابق. بادئ ذي بدء ، كتبت قصة فكاهية بناءً على حادثة حدثت لي. هذه ليست مواد تعليمية ، لذلك لا توجد تفاصيل تقنية أكثر من اللازم لفهم المعنى العام لما يحدث. بشكل عام ، بعد كتابة هذه القصة ، شعرت باحترام كبير للكتاب الذين يكتبون القصص بناءً على أحداث حقيقية ، والآن أعرف مدى صعوبة الحفاظ على التوازن بين المصداقية والخيال. والآن أنا أعلم جيدًا ما الذي يثيره المؤلف في موجة من الانتقادات ، حيث يختار مقطعًا فنيًا :-)
6. حسنًا ، حسنًا ، ولكن لماذا لا تكتب المواد التدريبية الآن؟لسوء الحظ ، لن ينجح هذا ، حتى لو أردت ، لأنني لم يكن لدي بيانات المصدر. لم أحفظ السجلات ، ولم يكن لدي أي ملاحظات قمت بعملها بعد ذلك. أود حقًا أن يتم الحفاظ عليها ، لأنني أفهم أنه يمكنني إعداد مقال جيد منها. بعد ذلك بدا كل هذا تافها ، يستحق فقط أن يتحول إلى مزحة لدائرة ضيقة من الأصدقاء. لقد تعاملت مع هذه المهمة - حتى بدون السجلات والمذكرات.
على الرغم من ... في الواقع هناك تفاصيل أتذكرها أو يمكنني استعادتها. وأنا استخدامها للإجابة على الأسئلة التالية.
7. تعيين مهلة الاتصال () إلى 3 مللي ثانية غير منطقي.نعم اعرف. ولكن لم يكن هناك مثل هذا التثبيت. تصف القصة كيف قضيت 10 دقائق في الانتقال من حد 500 ميل على نطاق إرسال البريد إلى مهلة 3 مللي ثانية ، بسبب سرعة الضوء. في الواقع ، استغرقت العملية عدة ساعات ، ويمكن مقارنة عملي بعمل المخبر. في النهاية ، وجدت حلاً ، وأجريت الاختبارات وسكبت القهوة (علاوة على ذلك ، أنا متأكد من أن هذا كان بعيدًا عن فنجان القهوة الأول). إذن ، ما الذي يربكك تمامًا في الشكل "3 ms"؟
8. حسنًا ، أولاً ، من الواضح أن 3 مللي ثانية ليست كافية ، لأن هذا يكفي فقط للوصول إلى الحزمة الصادرة. ولكن ما زلت بحاجة للحصول على إجابة ، لذلك يجب أن يكون الحد الأدنى للتأخير 6 مللي ثانية؟بالطبع هذه مجرد واحدة من تلك التفاصيل التي حذفتها. انها معقدة للغاية ومملة لقصة روح الدعابة.
9. أو ربما يجب أن تكون المهلة 12/18/24 مللي ثانية بشكل عام بسبب بروتوكول اتصال TCP ثلاثي المراحل؟ربما. مرة أخرى ، هذه هي التفاصيل التي لا يمكنني تذكرها لأنني فقدت كل الملاحظات. ومع ذلك ، أعتقد أنه عند تلقي حزمة SYN / ACK ، تتم إعادة تعيين مهلة دالة connect () ، وهذا ليس ضروريًا أن يتم تأسيس اتصال TCP بشكل كامل أثناء المهلة. نعم ، حتى لو كان ينبغي ، على أي حال ، سرد القصة ، أود أن أقصر كل هذه الحسابات المعقدة على الرقم "3".
10. معدات الشبكات تقدم تأخيرات أكبر بكثير في تدفق الإشارة مما كنت تعتقد.نعم ، قد تكون على حق. لكنني يمكن أن تأخذ هذه التأخيرات في الاعتبار. لست متأكدًا من أنني فعلت كل شيء على هذا النحو ، لكن يمكنني ، على سبيل المثال ، اختبار الاتصال بأقرب جهاز توجيه (على سبيل المثال ، جهاز توجيه يخدم شبكة كلية أخرى في جامعتنا) لحساب مقدار التأخير الذي يوفره جهاز التوجيه. ثم يمكنني ضرب التأخير الناتج بعدد العقد التي تمر الإشارة من خلالها إلى الوجهة. هذا المبلغ هو نفسه تقريبا لجميع الجامعات في الساحل الشرقي. ولكن حتى لو لم يكن الأمر كذلك ، فإن التأخير الذي يضيفه جهاز توجيه واحد متكرر هو عدة مئات من المايكرو ثانية ، وهو ما لا يؤثر على الوقت الكلي كثيرًا.
11. قصة مضحكة ، ولكن هناك عيب قاتل فيها : الإشارة في السلك النحاسي لا تنتشر بسرعة الضوء.نعم ، إنها الإشارة تأتي بسرعة orc أو نحو ذلك. لكن شبكة الحرم الجامعي والعمود الفقري كانت كاملة من الألياف البصرية.
12. آها! ولكن حتى في الألياف الضوئية ، لا ينتشر الضوء بنفس السرعة كما هو الحال في الفراغ!نعم ، هنا حصلت لي. في الألياف البصرية ، تنتقل الإشارة بسرعة من (c (نعم ، أبطأ من الأسلاك النحاسية) إلى c تقريبًا ، اعتمادًا على مجموعة من العوامل. لكنني أكرر مرة أخرى - كل هذا يمكن أن أضعه في الاعتبار ، وبالطبع ، لقد أخذت في الاعتبار. أتعرض لضغوط من العقد المختلفة وقمت بتسجيل الوقت والمسافة إلى العقدة. بمقارنة الأرقام التي تم الحصول عليها ، استنتجت "وقتًا تجريبيًا" معينًا ، كان مختلفًا بعض الشيء عن الوقت الفعلي. ومع ذلك ، كل هذا هو أيضا تفاصيل ضئيلة ، والتي حذفت لجعل القصة أقصر وأكثر رائعة.
13. التوقف - التوقف ... هل تريد أن تقول أنك خمنت أولاً أن المشكلة كانت مرتبطة بطريقة ما بسرعة الضوء ، وعندها فقط ذهبت إلى الحسابات (في الأصل - "كتبته في وحدات" ، أي ، تستخدم وحدة المرافق) ؟نعم بالضبط كنت عنيدة. هل ، أثناء عملية حل اللغز ، لم تلاحظ الإجابات الصحيحة؟ هذا هو بالضبط ما حدث لي. على الأرجح ، على العكس من ذلك ، لقد قمت أولاً بنقل 500 ميل إلى مللي ثانية من الضوء وبعد ذلك فقط قمت بضبط الإجابة على هذه المعرفة.
14. هذا يعني أنك تعرف كيفية حل مشكلة المستخدمين ، لكنك لم تحلها حتى تكتشف أنها كانت مهلة؟لا. بمجرد أن أدركت أن استبدال mailmail القياسي في SunOS بـ mailmail 8 يحل المشكلة ، لقد قمت بذلك. (حتى لو لم أكن أعرف أن هذا سيؤدي إلى حل المشكلة ، فسوف أفعل ذلك لأن sendmail 5 مع المعلمات من sendmail 8 ليس التكوين الأفضل). لكنني حافظت على الثنائي القديم - ما زلت أتعامل مع المشكلة في وقت فراغي.
مسؤولو النظام دائما القيام بذلك. لا يحدث أبدًا أن "النظام كان يعمل ومتعب لفترة طويلة جدًا" ، لكن إعادة التشغيل غالباً ما تساعد. أولاً ، يقوم المسؤول بحل المشكلة بأفضل طريقة ممكنة حتى يتمكن المستخدمون من مواصلة العمل ، ثم يعود فيما بعد ويبحث عن السبب الحقيقي لما حدث.
15. عادة ، تنتقل البيانات عبر الإنترنت بطرق غريبة للغاية ، ولكن في هذه القصة ، يتصل المرسل دائمًا بالمستقبل. كيف ذلك؟لا مفر 500 ميل زائد أو ناقص - كانت هناك منطقة لإرسال خطاب كان من المستحيل بعده. داخل هذه المنطقة كانت هناك أيضًا نقاط حيث لم يتم إرسال الرسائل أو إرسالها بنجاح متفاوت.
يمكن أن يكون هناك سببين على الأقل لهذا. الأول هو بعض التأخير الإضافي (على سبيل المثال ، على جدار الحماية) ، مما أدى إلى انتهاء المهلة. الثاني - كان الطريق إلى هذه العقد صعبًا ، وكان طولها الإجمالي أكثر من 500 ميل.
تم بناء شبكة جامعة كارولينا الشمالية بشكل جيد للغاية ، وكان مسار الإشارة إلى جامعات أخرى على الساحل الشرقي (والذي تم تسليم البريد بنجاح فيه) مباشرًا تقريبًا
(في الأصل ، التقويم التقليدي) ، خاصةً عندما حدثت هذه القصة. في تلك الأيام ، كان من النادر أن تمر حزمة من أتلانتا إلى واشنطن عبر سان خوسيه.
16. ولماذا لا تزال تجد أنه من الضروري أن تذكر في التاريخ أن شبكتك بنيت بالكامل تقريبًا على المحولات؟لا اعرف في ذلك الوقت ، بدا أنه بدون هذه الملاحظة ، ستكون القصة غير معقولة على الإطلاق. رغم أنني الآن لا أفهم لماذا. لذلك عند إعادة قراءة القصة ، يمكنك التخلص من الفقرة المقابلة عقلياً.
كتب مستخدم باسم Hacksaw ما يلي: "التبديل يستبعد التأخير ، على سبيل المثال ، لحل التصادمات. عدم وجود مثل هذه التأخيرات سهّل البحث عن المشكلة الموصوفة ، حيث أن البيانات الخاصة بالتحليل كانت أنظف. أراهن أنك تعني ذلك ".
17. لا يفهم Sendmail 5 ملف التكوين من sendmail 8.لكنه فهم. لقد تم إخباري بالفعل أن sendmail 5 الذي يمكن العثور عليه على الشبكة لا يفهم. لذلك ، أنا مجبر على افتراض أن mailmail فقط ، المزود بواسطة Sun كجزء من Solaris ، يمكنه القيام بذلك. إذا كان لديك وصول إلى مصدره ، سأكون ممتنًا للتحقق مما إذا كان ذلك ممكنًا. ولكن لا يزال - حدث ، مما يعني أنه يمكن أن يحدث :-)
18. sendmail يحتوي على قيم المعلمة الافتراضية التي يتم تجميعها ؛ لا يمكن فقط تعيين كافة المعلمات غير المهيأة إلى 0.كتب العديد من الناس لي عن هذا. اليوم ، قد يكون الأمر كذلك ، ولكن في تلك الأيام لم يكن الأمر كذلك بالتأكيد. أنا متأكد من هذا ، لأنه بعد مرور عام أو عامين على حدوث هذه القصة ، كنت في ورشة عمل إرسال في LISA مع إريك ألمان. لاحظ أن sendmail لا يحتوي على قيم افتراضية لبعض الخيارات التي تحدث عنها (في sendmail.cf القياسية كانت هذه القيم ، ولكن ، كما تتذكر ، لا ينطبق هذا على سجلنا). انتهزت الفرصة وأخبرته قصة عن 500 ميل. كان حرفيا يكذب تحت الطاولة مع الضحك :-)
19. لا تفهم الأداة المساعدة للوحدات في SunOS وحدات مثل "ميلي ثانية ضوئية" (في الترجمة الروسية تقول "يستغرق 3 ميلي ثانية ويتضاعف بسرعة الضوء" ، ويظهر إخراج الأداة المساعدة بالنسخة الأصلية)نعم. ماذا بعد؟ على جميع الآلات التي أعمل بها ، أكتب وحداتي الخاصة. دات مع مجموعة من الوحدات والبادئات الإضافية. وبشكل عام ، بقدر ما أتذكر ، الوحدات التي بدأت في ظل AIX. لا أعرف إذا كنت أعرف أي شيء عن أجزاء AIX الضوئية. تحقق من unit.dat الذي يأتي مع أي توزيع لينكس اليوم. من المحتمل أنه يعرف عن المللي ثانية الخفيفة (المللي ثانية).
20. بالطبع ، من المريح جدًا الإشارة إلى "الملاحظات المفقودة" ...بالطبع وكم قطعة من الورق قبل خمس سنوات تحتفظ بها أنت؟
21. على أي حال ، هذه القصة خيالية!أجب عن السؤال: إذا تجاهلنا التفاصيل الفنية ، فهل يمكن أن يؤدي التكوين غير الصحيح لخادم البريد إلى تسليم الرسائل إلى المستلمين القريبين ، ولكن ليس للمستلمين عن بُعد؟ أعتقد أن الجواب نعم. في الحقيقة ، أنا أعلم أن الإجابة نعم لأنها حدثت بالفعل. لكن حتى لو لم تأخذ تجربتي في الاعتبار ونظرت إلى السؤال من الخارج ، أعتقد أنه لا يزال ممكناً ، على الرغم من أنه يبدو للوهلة الأولى غير قابل للتصديق.
إذا كان لا يزال لديك أسئلة لم أجب عليها ، فاكتب لي رسالة بالبريد الإلكتروني على trey+500mi@lopsa.org. سأضيف سؤالك إلى الأسئلة الشائعة وأذكر أنك المؤلف. لكن على الأرجح ، سأقول فقط "لا أعرف ، لا أتذكر ، وليس لدي البيانات التي يجب الإجابة عليها."
22. يقول التوقيع أنك تبحث عن عمل. هل لا يزال هذا وثيق الصلة؟ (تم حذف التوقيع في الترجمة الروسية)ليس بعد الآن ، ولكن شكرا على هذا السؤال!