خوارزميات التحكم في ازدحام نقل البيانات Congestion Control Algorithms

اقرأ في هذا المقال


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

ما هي مشكلة الازدحام في شبكات الحاسوب

مشكلة الازدحام: هي مشكلة مهمة يمكن أن تنشأ في شبكة تبديل الحزم، والازدحام هو حالة في شبكات الاتصالات، حيث يوجد عدد كبير جداً من الحزم في جزء من الشبكة الفرعية، ممّا يؤدي إلى تدهور الأداء، كما قد يحدث الازدحام في الشبكة عندما يكون الحمل على الشبكة أي عدد الحزم المرسلة إلى الشبكة أكبر من سعة الشبكة، وأي عدد الحزم التي يمكن للشبكة التعامل معها، كما يحدث ازدحام الشبكة في حالة التحميل الزائد لحركة المرور.

أنواع خوارزميات التحكم في الازدحام

1- خوارزمية “pierced bucket”

خوارزمية “pierced bucket”: هي تكتشف خوارزمية استخدامها في سياق تشكيل حركة مرور الشبكة أو تحديد المعدل، وتسمح الخوارزمية بالتحكم في المعدل الذي يتم به حقن السجل في الشبكة وإدارة الاندفاع في معدل البيانات.

يتم استخدام تنفيذ “pierced bucket” وتنفيذ دلو رمزي في الغالب لخوارزميات تشكيل حركة المرور، كما تُستخدم هذه الخوارزمية للتحكم في معدل إرسال حركة المرور إلى الشبكة، وتشكيل حركة الدفعة من البيانات إلى تدفق حركة ثابت.

في هذه الخوارزمية يتم أخذ دلو بحجم على سبيل المثال بايت وثقب في الجزء السفلي من الملاحظات وإذا كانت الحاوية فارغة فهذا يعني أن بايت بايت متاح كمخزن، كما تصل حزمة بحجم أصغر من “b بايت” إلى الحاوية وستقوم بإعادة توجيهها، حيث إذا زاد حجم الحزمة بأكثر من بايت فسيتم تجاهلها أو وضعها في قائمة الانتظار، كما يُعتبر أيضاً أنّ البيانات تتسرب عبر الفتحة الموجودة في قاعها بمعدل ثابت “r بايت في الثانية”.

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

وفي حالة حركة المرور يكون الحجم ناقصاً ولا يتم استخدام المساحة الكبيرة لموارد الشبكة مثل النطاق الترددي بشكل فعال، كما لا تسمح خوارزمية الكميات المتسربة للتدفقات الفردية بالانفجار حتى سرعة المنفذ لاستهلاك موارد الشبكة بشكل فعال عندما لا يكون هناك تنازع على الموارد في الشبكة.

2- خوارزمية “Token bucket”

خوارزمية “Token bucket”: هي خوارزمية تحكم تشير إلى متى يجب إرسال حركة المرور، كما يأتي هذا الطلب بناءً على عرض الرموز المميزة في الحاوية، حيث تحتوي الخوارزمية على المميزة، وكل من الرموز المميزة تحدد حزمة ذات حجم محدد مسبقاً، كما يتم حذف الرموز الموجودة في الحاوية لتتمكن من مشاركة حزمة.

تتميز خوارزمية “Token bucket” بتصميم إخراج صارم بمتوسط ​​معدل مستقل عن الحركة المتدفقة، وفي بعض التطبيقات عند وصول رشقات نارية كبيرة يُسمح للإخراج بالتسارع، وهذا يتطلب خوارزمية أكثر مرونة ويفضل أن تكون خوارزمية لا تفقد المعلومات أبداً، لذلك تجد خوارزمية “Token bucket” استخداماتها في تشكيل حركة مرور الشبكة أو تحديد المعدل.

عند عرض الرموز المميزة يظهر تدفق لنقل حركة المرور في عرض الرموز المميزة، وعدم وجود رمز يعني عدم وجود تدفق يرسل حزمه، ومن ثم فإنّ التدفق ينقل حركة المرور إلى ذروة معدل انفجارها في رموز جيدة، وبالتالي فإنّ خوارزمية “Token bucket” تضيف رمزاً مميزاً إلى المجموعة كل “1 / r ثانية”، وحجم الدلو هو “b tokens”.

عند ظهور رمز مميز واكتمال الحاوية يتم تجاهل الرمز المميز، حيث إذا ظهرت حزمة من “n بايت” وحذف “n من الحاوية” فسيتم إعادة توجيه الحزمة إلى الشبكة، وعندما تظهر حزمة من “n بايت” ولكن يتوفر أقل من n من الرموز المميزة لا تتم إزالة أي رموز من الحاوية في مثل هذه الحالة وتعتبر الحزمة غير متوافقة، كما يمكن إمّا إسقاط الحزم غير المتوافقة أو وضعها في قائمة الانتظار للإرسال اللاحق عندما تتراكم الرموز المميزة الكافية في الحاوية.

كيفية تصحيح مشكلة الازدحام

يشير التحكم في الازدحام إلى التقنيات والآليات التي يمكنها إمّا منع الازدحام قبل حدوثه أو إزالة الازدحام بعد حدوثه، كما تنقسم آليات التحكم في الازدحام إلى فئتين فئة تمنع حدوث الازدحام والفئة الأخرى تزيل الازدحام بعد حدوثه.

فتح حلقة التحكم في الازدحام

  • في هذه الطريقة يتم استخدام السياسات لمنع الازدحام قبل حدوثه.
  • يتم التعامل مع التحكم في الازدحام من خلال المصدر أو الوجهة، مالطرق المختلفة المستخدمة للتحكم في الازدحام في الحلقة المفتوحة هي:

أولاً: سياسة إعادة الإرسال

  • يعيد المرسل إرسال حزمة إذا شعر أنّ الحزمة التي أرسلها قد فقدت أو تالفة.
  • ومع ذلك، قد يؤدي إعادة الإرسال بشكل عام إلى زيادة الازدحام في الشبكة، لكن هناك حاجة إلى تنفيذ سياسة إعادة الإرسال الجيدة لمنع الازدحام.
  • يجب تصميم سياسة إعادة الإرسال ومؤقتات إعادة الإرسال لتحسين الكفاءة وفي نفس الوقت منع الازدحام.

ثانياً: نهج النافذة

  • لتنفيذ سياسة النافذة يتم استخدام طريقة نافذة الرفض الانتقائي للتحكم في الازدحام.
  • يُفضل أسلوب الرفض الانتقائي على نافذة “Go-back-n” كما هو الحال في طريقة “Go-back-n”، وعندما تنتهي مهلة الحزم يتم إرسال العديد من الحزم على الرغم من أنّ بعضها قد يكون قد وصل بأمان إلى جهاز الاستقبال، وبالتالي فإنّ هذا الازدواج قد يجعل الازدحام أسوأ.
  • طريقة الرفض الانتقائي ترسل فقط الحزم المحددة المفقودة أو التالفة.

ثالثاً: سياسة الإقرار

  • قد تؤثر سياسة الاستلام التي يفرضها المتلقي أيضاً على الازدحام.
  • إذا لم يتعرف المستلم على كل حزمة يتلقاها، فقد يؤدي ذلك إلى إبطاء المرسل والمساعدة في منع الازدحام.
  • إضافة إقرارات الاستلام إلى عبء حركة المرور على الشبكة، وبالتالي من خلال إرسال عدد أقل من إقرارات الاستلام يمكن تقليل الحمل على الشبكة، ولتنفيذه:
  1. لا يجوز للمستلم إرسال إقرار بالاستلام إلّا إذا كان يحتوي على حزمة لإرسالها.
  1. قد يرسل المستلم إشعاراً بالاستلام عند انتهاء صلاحية عداد الوقت.
  1. يجوز للمستقبل أيضاً أن يقرر استلام حزم “N” فقط في المرة الواحدة.

رابعاً: سياسة الإهمال

  • قد يتجاهل جهاز التوجيه الحزم الأقل حساسية عندما يحتمل حدوث الازدحام.
  • قد تمنع سياسة التخلص من الازدحام وفي نفس الوقت قد لا تضر بسلامة الإرسال.

خامساً: سياسة القبول

  • مفاتيح في التدفق تحقق أولاً من متطلبات المورد للتدفق قبل قبوله في الشبكة.
  • يمكن لجهاز التوجيه رفض إنشاء اتصال دائرة افتراضية إذا كان هناك ازدحام في الشبكة أو إذا كان هناك احتمال حدوث ازدحام في المستقبل.

شارك المقالة: