دراسات وأبحاث
تعطل مخدمات فيسبوك: ماذا حصل بالضبط؟
العدد 160 | تشرين اﻷول (أكتوبر)-2021

بقلم مفيد دوزكنجي
مهندس معلوماتية

كان منتهى ما علمناه فيما حدث هو أن خدمات فيسبوك وإنستغرام وواتس آب وماسينجر توقفت في يوم الاثنين الموافق 4 تشرين الأول مدة 6 ساعات تقريبًا. فما هو السبب وراء ذلك؟ ولماذا استغرقت عملية الإصلاح كل هذا الوقت؟
 
 
تعطل خدمات فيسبوك
إن توقف خدمات إحدى أقوى وأضخم منصات التواصل الاجتماعي في العالم جعلت الناس في حيرة ممّا قد يكون السبب وراء ذلك؛ فمليارات الناس يستعملون هذه المنصات على الدوام، بل إن منهم من يدير أعماله بواسطتها. وبينما كان الناس يتساءلون عن السبب، أصدرت إدارة شركة فيسبوك تصريحًا، بعد يوم من الحدث، يفيد بأن ما سبَّب توقف الخدمة هو تعديل في إعدادات موجهات الشبكة الأساسية (أو ما يُعرف بالعمود الفقري للشبكة backbone) التي تربط جميع المخدمات ومراكز المعطيات data centers الأساسية في كامل الشركة وفي جميع أنحاء العالم.
 
وحسبما صرح سانتوش جاناردان Santosh Janardhan نائب مدير شركة فيسبوك لشؤون الشبكة، فإن عطل موجهات الشبكة الأساسية لها تأثير رجعي ومتتالٍ cascading، سبَّب عطلًا إثر عطل إلى أن توقفت جميع خدمات فيسبوك عن العمل.
لقد كان هذا التصريح مختصرًا جدًّا وغير مقنع للكثيرين، لذلك لجأنا إلى بعض المواقع البحثية لتزويدنا بتفاصيل أدق عن هذا الحدث، فوجدنا أن باحثين في منصة Cloudflare أجريا تحليلًا عميقًا للمشكلة، فقد تأثرت هذه المنصة من تعطل خدمات فيسبوك، وهي تراقب - عمومًا - الكثير مما يحدث في شبكة الإنترنت.
 
يذكر مقال التحليل أنه في يوم الاثنين الساعة الثامنة بتوقيت دمشق، أخفقت وظيفة حل resolve أسماء نطاقات فيسبوك، وأنه لم يعد بالإمكان النفاذ إلى العناوين المنطقية لخدماتها، وكأن الكبال نُزعت من مراكز معطيات الشركة كلها في وقت واحد، وأن الشركة لم تعد متصلة بالإنترنت.
هذه المشكلة ليست مشكلة نطاقات أسماء DNS تحديدًا، وإنما مشكلة الإخفاق في حل الأسماء، وهذا هو أول عوارض المشكلة.
فيما يلي شرحان لما قد حدث؛ الأول من وجهة نظر خارجية مأخوذ من مقال منصة Cloudflare، والثاني من وجهة نظر داخلية من مقال مفصل كتبه جاناردان بعد تصريحه المذكور آنفًا.
 
سبب تعطل الخدمة من وجهة نظر خارجية
إن شبكة الإنترنت هي - بوجه عام - تجميعُ عدد كبير جدًّا من الشبكات يرتبط بعضها ببعض بموجهات routers، التي تعمل بناءً على بروتوكولات توجيه معيَّنة. وبروتوكول التوجيه المستعمَل في ربط شبكات النظم الكبيرة المستقلة autonomous system هو Border Gateway Protocol (أو BGP اختصارًا)، وهو الذي يخبر الموجهات بمواقع النظم والشبكات الأخرى في العالم كله ليحدد المسار الذي يجب على الطرود أن تسلكه للوصول إلى وجهة معيَّنة.
 
وهكذا فإن بروتوكول BGP هو الذي يربط بين شبكات الإنترنت، وهو الذي يتيح لشبكة معيَّنة (فيسبوك مثلًا) أن تعلن لباقي الشبكات أنها موجودة في شبكة الإنترنت. فإذا أخفقت - لسبب ما - في هذا الإعلان، فلن تتمكن أي شبكة أخرى في الإنترنت من رؤيتها أو تحديد مكانها.
وغالبًا ما يوجد أكثر من مسار واحد بين أي نقطتين في شبكة الإنترنت، وتكون إحدى مهام بروتوكول BGP تحديد المسار الأفضل بحسب مجموعة من المعايير (عدد القفزات بين النقطتين، الضغط على خط معيَّن، التأخير، إلخ)، وتحديد مسار آخر في حال حدوث انقطاع في المسار الأول. وبهذه الكيفية، نضمن عدم توقف شبكة الإنترنت، ولو توقفت بعض الموجهات فيها.
لكن ما الذي يحدد انقطاع مسار معيَّن؟ إن كلَّ موجهٍ حدودي border router يرسِل دوريًّا طلبات تحديث update request إلى الموجهات الحدودية المرتبطة بواجهاته interfaces، وذلك للتحقق من سلامة وفعالية المسار. فإذا مضى زمن محدد من دون تلقي استجابة من موجه ما، فإن المسار يُعدّ مقطوعًا ويتحول التوجيه إلى مسار آخر.
 
وهذا بالضبط ما حدث مع فيسبوك، فقد توقفت موجهات Cloudflare عن استقبال ردودٍ من الموجهات ذات العناوين الاسمية المرتبطة بمخدمات Domain Name Servers (DNS) في شركة فيسبوك، وهذا يعني - في أقل تقدير - أن مخدمات DNS في فيسبوك غير متصلة بالإنترنت. وكما نعلم، فإن جميع مخدمات DNS في العالم متصلة بتوجيه معيَّن، وهذا يعني أنه - بطريقة رجعية - لا يوجد أي مخدم DNS يمكنه حل العناوين الاسمية لأيٍّ من خدمات فيسبوك.
 
 
سبب تعطل الخدمة من وجهة نظر داخلية
بعد أن عادت خدمات فيسبوك إلى العمل، كتب جاناردان مقالًا بيَّن فيه ما حدث بالضبط. فقال: "كان هذا الانقطاع ناتجًا عن النظام الذي يدير سعة شبكتنا الأساسية العالمية. والعمود الفقري هو الشبكة التي أنشأتها فيسبوك لربط جميع مرافق الحوسبة لدينا بعضها ببعض، والتي تتكون من عشرات الآلاف من الأميال من كبال الألياف الضوئية التي تتوزع في أنحاء الكرة الأرضية وتربط جميع مراكز معطياتنا".
 
"عندما تفتح أحد تطبيقاتنا وتحمّل خلاصتك أو رسائلك، ينتقل طلب التطبيق من جهازك إلى أقرب منشأة لتتواصل مباشرة - عن طريق شبكتنا الأساسية - مع مركز معطيات أكبر، وهو المكان الذي يجري فيه استرداد المعلومات التي يحتاجها تطبيقك ومعالجتها، وإرسالها مرة أخرى عن طريق الشبكة إلى هاتفك".
"تتم إدارة حركة المعطيات بين جميع مرافق الحوسبة هذه بواسطة موجهات تحدِّد مكان إرسال جميع المعطيات الواردة والصادرة. وفي العمل اليومي المكثف لصيانة هذه البنية التحتية، غالبًا ما يحتاج مهندسونا إلى المشاركة في العمود الفقري دون الاتصال بالإنترنت من أجل الصيانة".
"وهذا هو مصدر تعطل الخدمات أمس؛ ففي أثناء عمل إحدى وظائف الصيانة الاعتيادية هذه، صدر أمر لتقييم مدى توفر قدرة العمود الفقري العالمية على معالجة الطلبات، فأدى ذلك - دون قصد - إلى قطع جميع الاتصالات في شبكتنا الأساسية، وإلى فصل مراكز معطيات فيسبوك على مستوى العالم. وقد صُمِّمت نظمنا للتدقيق في أمثال هذه الأوامر لمنع وقوع الأخطاء، ولكن حصل خطأ في أداة التدقيق هذه منعها من إيقاف الأمر".
 
إذن ما يزعمه جاناردان من أن تعليمةً تنفيذية خاطئة مع عطل بسيط في أداة التدقيق في التعليمات والأوامر هو ما أدى إلى فصل مخدمات ومراكز معطيات فيسبوك الأساسية عن شبكة الإنترنت. لكن من المفترض أن يكون حل هذه المشكلة بسيطًا. 
وأضاف جاناردان: "إحدى الوظائف التي تؤديها منشآتنا الأصغر هي الرد على طلبات DNS. أما الإجابة عن هذه الطلبات فيكون عن طريق مخدمات الأسماء الموثوقة التي تشغِّل عناوين منطقية معروفة، والتي يعلَن عنها في بقية شبكة الإنترنت ببروتوكول BGP".
"ولضمان التشغيلية الموثوق بها، تقوم مخدمات DNS الخاصة بنا بتعطيل إعلانات BGP هذه إذا لم يقصد بطلبات الإعلانات السابقة التحدث إلى مراكز معطياتنا، لأن في هذا مؤشرًا على اتصال شبكة غير صحي. في الانقطاع الأخير، أُزيل العمود الفقري بالكامل من التشغيل، مما جعل هذه المواقع تعلن أنها غير صحية وجرى سحب إعلانات BGP تلك. وكانت النتيجة النهائية أن مخدمات DNS الخاصة بنا أصبحت غير قابلة للنفاذ على الرغم من أنها كانت ما تزال في حالة عمل. وهذا ما جعل العثور على مخدماتنا غير ممكن بالنسبة إلى بقية الإنترنت".
 
 
لماذا أخذ الإصلاح وقتًا طويلًا؟
ذكر جاناردان في مقاله أيضًا سبب التأخر في عملية الإصلاح قائلًا: "واجهنا عائقَين أساسيين: الأول، أنه لم يكن من الممكن النفاذ إلى مراكز معطياتنا بوسائلنا العادية، لأن شبكاتها كانت معطلة. الثاني، أن الخسارة الكلية لنظام DNS أدت إلى تعطل عدد من الأدوات الداخلية التي نستعملها عادةً للتحقيق في حالات انقطاع الخدمة وحلها".
"ولما كان نفاذنا الأساسي إلى الشبكة غير ممكن، أرسلنا مهندسين إلى مراكز المعطيات لإصلاح المشكلة وإعادة تشغيل النظم. لكن ذلك استغرق زمنًا طويلًا نسبيًّا، لأن هذه المرافق مزودة بمستويات عالية من الأمان المادي والبرمجي ومن الصعب الدخول إليها، ولأن الأجهزة والموجهات مصممة بحيث يصعب تعديلها ولو وُجد نفاذ فعلي إليها. لذلك احتاج الموقف إلى زمن إضافي لتنشيط بروتوكولات النفاذ الآمن اللازمة لجعل الأشخاص في الموقع قادرين على العمل على المخدمات. عندها فقط يمكننا حل المشكلة وإعادة العمود الفقري إلى الإنترنت".
 
وأضاف جاناردان: "وفور استعادة اتصال شبكتنا الأساسية عن طريق مركز معطياتنا، عاد كل شيء معه. لكن المشكلة لم تنته بعد؛ فلقد كنا نعلم أن إعادة تشغيل خدماتنا كلها بنفس الوقت يمكن أن يتسبَّب في جولة جديدة من الأعطال بسبب زيادة حركة المرور traffic. وكانت مراكز المعطيات الفردية تبلِّغ عن انخفاض كبير في استهلاك الطاقة. ولكن تدارك هذا الانخفاض في استهلاك الطاقة فجأة يمكن أن يعرِّض كل شيء للخطر؛ ومنها النظم الكهربائية وذواكر التخزين المؤقت".
 
وأشار جاناردان إلى أن الخبرة الواسعة لمهندسي فيسبوك في معالجة تعطل الخدمات سرَّعت حل المشكلة، وفي نهاية المطاف، عادت جميع خدمات فيسبوك إلى العمل.
 
 
الخلاصة
إن تعطل خدمة عظيمة كهذه أمر نادر الحدوث، لكنه غير مستبعد بالكلية، ويشير إلى مدى خطورة نقطة الفشل الواحدة one point of failure، خصوصًا لدى شركة ضخمة، مثل فيسبوك، يستفيد من خدماتها معظم البشر يوميًّا. وكان من نتيجة ذلك أن انخفض سعر سهم فيسبوك في سوق البورصة العالمية بمقدار 4.9%، وقدَّر موقع Bloomberg انخفاض ثروة المدير التنفيذي لشركة فيسبوك، مارك زوكيربيرغ Mark Zuckerberg بنحو 6 بليارات دولار من جراء توقف فيسبوك 6 ساعات. فتأمل!
 
لكن هنا يأتي التساؤل: هل من المعقول أن تتالي كل الأحداث السابقة كان مصادفة، سواء بسبب تعليمة خاطئة أو عطل في أداة التدقيق؟ وهل من المعقول أن إجراءات الحماية الفيزيائية كانت السبب الوحيد في تأخر الإصلاح ست ساعات، أم أن هناك قصة مختلفة وراء ذلك؟
 
المصادر
 https://www.theguardian.com/technology/2021/oct/05/facebook-outage-what-went-wrong-and-why-did-it-take-so-long-to-fix
 https://blog.cloudflare.com/october-2021-facebook-outage
 https://engineering.fb.com/2021/10/05/networking-traffic/outage-details
https://inews.co.uk/news/technology/facebook-down-why-outage-whatsapp-instagram-not-working-explained-1234828
 
قد ترغب كذلك بقراءة
مراقبة سلاسل توريد الأغذية باستخدام سلاسل الكتل وانترنت الأشياء
الحفاظ على ملكية المنتجات الرقمية باستخدام الرموز غير القابلة للاستبدال
معالجة البيانات وتنقيتها في نظم المعلومات