المعلوماتية > اتصالات وشبكات

تقنيةٌ جديدةٌ لمراقبة تدفّق البيانات في الشّبكات على نحوٍ أشدَّ فاعليّةً

استمع على ساوندكلاود 🎧

باستخدام لغة برمجةٍ ورقاقةٍ إلكترونيّةٍ يمكن أن تتفحّصَ الموجِّهاتُ Routers حالتَها من تلقاء نفسها، ويعتمد تحليلُ الشّبكات اليومَ على حواسيبَ تُحدِّدُ حالةَ الشّبكة؛ أي تحدّد مواضع حدوث الاختناق في الشّبكة وأسبابَه، وذلك بواسطة الزّمن الّذي تستغرقه رُزَم البيانات في الوصول إلى أهدافها.

ولكن ماذا لو كانت الموجّهات داخل الشّبكة قادرةً على الإعلامِ بحالتها؟ عندَها ستكونُ مراقبةُ الشّبكة وتحليلُها أشدَّ فاعليّةً، ما سيمكّنُ مشغّلَ الشّبكة من تحديد المشكلات على نحوٍ أسهلَ وأسرعَ، وتحقيقاً لهذه الغاية؛ بدأتِ الشّركاتُ المُصنِّعةُ بتزويد الموجّهات بعدّاداتٍ لِرُزمِ البيانات، ما يمكّن الموجّه من الإعلام بعدد رزم البيانات الّتي عالجها في فترةٍ زمنيّةٍ محدّدةٍ.

تُعدّ المعلوماتُ الخام الّتي تحويها هذه العدّادات ذاتَ أهميّةٍ كبيرةٍ، ولكنّ تزويد كلّ موجّهٍ بدارةٍ خاصّةٍ لكلّ عمليّة مراقبةٍ لا يبدو الحلّ الأمثلَ للمشغّلين، لذا فالخيار البديل نقلُ هذا الكمّ من البيانات الى مخدّمٍ Server خارجيٍّ يُجري عمليّات التّحليل المعقّدة.

ومثلُ سابِقِه فهذا الحلّ كذلك لا يبدو جيّداً مع اتّساع حجم الشّبكة، فمركزُ بياناتٍ Data Center يحوي 100،000 مخدّمٍ يحتاج ما يتراوح بين 40،000 و50،000 مخدّمٍ آخرَ ليتتبّعوا ويراقِبوا كمَّ البياناتِ المتدفّقة الكبير!

وقد توصّل الباحثون في معهد MIT وشركة سيسكو وبيرفوت إلى طريقةٍ جديدةٍ لمراقبة الشّبكة؛ ذاتِ مرونةٍ عاليةٍ في جمع البيانات، وتَحُدُّ من تعقيد الدّارات في الموجّهات ومُخدِّمات عمليّات التّحليل الخارجيّة.

يحوي نظام Dubbed Marple لغةَ برمجةٍ تمكّن مشغّل الشّبكة من إجراء كمٍّ كبيرٍ من عمليّات المراقبة اعتماداً على مجموعةٍ بسيطةٍ من الدّارات القادرة على تنفيذ المهمّات والعمليّات الّتي تحدّدها لغة البرمجة.

أُجريَت محاكاةُ عمليّة تحليل مرور البيانات لأحد مراكز البيانات الحقيقيّة، وأشارت النّتائج إلى أنّ النّظام الجديد سيحتاج لمخّدمٍ واحدٍ فقط لكلّ 40 أو50 مخدّمٍ تطبيقيٍّ، ما يُعدّ قفزةً كبيرةً في اتّجاه التّوصّل لموجّهاتٍ قابلةٍ للبرمجة، وأحدُ أهمّ تطبيقاتها تسهيلُ عمليّات مراقبة الشّبكة وجعلها أشدّ فاعليّةً.

يعتمد مبدأ عمل النّظام الجديد على جعل الموجّه يجري عمليّات التّحليل بنفسه ما أمكَنَ، ثم إرسالِ التّقرير النّهائي إلى مُخدّمٍ خارجيٍّ عوضاً عن إرسال بياناتٍ خامٍ، ما يوفّر كمّاً كبيراً من الزّمن وعرض النّطاق المهدورَين في إرسال البيانات الخام.

وصُمِّمَ النّظامُ الجديدُ لمراقبة اتصالاتِ كل جهاز حاسوبٍ يُرسِلُ البيانات عبر المُوجِّه، وقد يصل عدد هذه الاتصالات إلى 1،000،000 بسهولةٍ، ما يُعدّ مشكلةً لأنَّ ذاكرة الموجّه تكفي لتخزين إحصائيّاتٍ عن 64000 اتّصالٍ تقريباً.

حُلّت هذه المعضلة باستخدام تقنية التّخزين المؤقّت Caching الشّائعةِ في علم الحاسوب، والّتي بحسبها تُخزَّن البيانات المستخدَمة مراراً في بِنيةٍ قريبةٍ من وحدة المعالجة بهدف تحقيق وصولٍ فعّالٍ إلى البيانات، ويحوي كلُّ موجّهٍ ذاكرةً خبيئةً (مؤقّتةً) Cache يخزّن فيها إحصائيّاتٍ عن عددٍ محدّدٍ من الاتّصالات، ولنفرض أنّه 64،000؛ فعندما تمتلئ الذّاكرة ويستقبلُ الموجّه رزمة بياناتٍ من اتّصالٍ لا تحوي الذّاكرة إحصائيّاتٍ عنه؛ أي عندما يصبح عدد الاتّصالات التّي ينبغي على الموجّه أن يخزّن إحصائيّاتٍ عنها 64،001 فإنَّه ينقل البيانات المتعلّقة بأحد الاتّصالات المخزَّنة في ذاكرته إلى مُخدِّمِ دعمٍ حيث تُحفظ؛ متيحاً بذلك مساحةَ تخزينٍ كافيةٍ لبيانات الاتّصال الجديد، وإنْ عاود الموجّه استقبال رزم البيانات من الاتّصال الّذي نقل بياناته إلى المخدّم الخارجيّ، فإنّه يتيح له مساحة تخزينٍ بالطّريقة نفسها ويبدأ بتسجيل بياناتٍ جديدةٍ عن هذا الاتّصال.

وتعمل الطّريقة السّابقة بفعاليّةٍ في حال كانت البيانات الجديدة لهذا الاتصال قابلةً للدّمج مع البيانات السّابقة المخزّنة في المخدّم، فمثلًا إن كانت هذه البيانات تعبّر عن عدد رزم البيانات المستقبَلة من الاتّصال فكلّ ما على المخدّم فعلُه - عندما ينقل الموجّه إليه بيانات اتّصالٍ ما - هو إضافةُ عدد الرّزم الّذي تعبّر عنه هذه البيانات إلى عدد الرّزم الّذي تعبّر عنه البيانات المتعلّقة بالاتّصال والمنقولة إليه سابقاً.

ولكنّ عمليّة الدّمج ليست بهذه البساطة في أنواع القياسات جميعها؛ إذ تصبح العمليّة أعقدَ عندما تعبّر البيانات عن المتوسّط الوزنيّ للرّزم المُرسَلة في الدّقيقة أو معدّل فشل عمليّة إرسال الرّزم.

ويشير الباحثون إلى أنّ عمليّة الدّمج ممكنةٌ دائماً عندما تكون قيم البيانات خطّيّةً داخليّاً؛ إذ تعني خطيّةُ البيانات أنّ هذه البياناتِ بعد الدّمج يمكن الحصول عليها بضرب العدد الّذي تعبّر عنه البيانات قبل الدّمج بعددٍ ما، ومن ثمّ جمع عددٍ آخرَ إلى النّاتج، ويعني كونُها خطّيّةً داخليّاً أنَّ العددَين المستخدمَين في عمليّتي الضّرب والجمع يمكن أن يكونا ناتجين عن تطبيق عمليّاتٍ رياضيّةٍ على عددٍ من قياسات الرّزم السّابقة. ويبدو أنّ كثيراً من عمليّات الدّمج يمكن إعادة صياغتها لِتصبحَ من تلك الصّيغة، وهكذا تمثّل هذه الصّيغةُ - عمليّاً - مجموعةً من العمليّات المفيدة جدّاً.

ويُعدّ هذا المشروع قفزةً كبيرةً في اتّجاه تصميم موجّهاتٍ قابلةٍ للبرمجة، وتوفيرِ بيئةٍ برمجيّةٍ تُغني المشغلّين عن كتابة استعلاماتٍ Queries باستخدام لغاتٍ مُنخفضةِ المستوى لتنفيذ عمليّات المراقبة والقياس المطلوبة.

المصدر:

هنا