آلية طلب التكرار التلقائي ARQ لنقل البيانات في الشبكات

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


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

ما هو طلب التكرار التلقائي ARQ

طلب التكرار التلقائي (ARQ): هو عبارة عن مجموعة من بروتوكولات التحكم في الأخطاء لنقل البيانات عبر شبكة اتصالات مزعجة أو غير موثوقة، وهذه البروتوكولات موجودة في طبقة ارتباط البيانات وطبقة النقل للنموذج المرجعي “OSI“، كما تم تسميتها لأنّها توفر إعادة الإرسال التلقائي للإطارات التالفة أو المفقودة أثناء النقل، ويُطلق على “ARQ” أيضاً اسم الإقرار الإيجابي مع إعادة الإرسال “PAR”.

تُستخدم طلبات “ARQ” لتوفير عمليات إرسال موثوقة عبر خدمات الطبقة العليا غير الموثوقة، وغالباً ما يتم استخدامها في اتصالات النظام العالمي للجوال “GSM“.

  • “OSI” هي اختصار لـ “Open Systems Interconnection”.
  • “ARQ” هي اختصار لـ “Automatic Repeat Request”.
  • “GSM” هي اختصار لـ “Global System for Mobile”.
  • “PAR” هي اختصار لـ “Positive acknowledgment with retransmission”.

أنواع بروتوكولات ARQ

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

أولاً: بروتوكول Stop – and – Wait

بروتوكول “ARQ – Stop – and – Wait”: هو يوفر طلب إرسال البيانات أحادي الاتجاه مع آليات التحكم في التدفق والتحكم في الأخطاء والملائمة للقنوات الصاخبة، حيث يحتفظ المرسل بنسخة من الإطار المرسل ثم ينتظر وقتاً محدوداً لتلقي إقرار إيجابي من المتلقي، وإذا انتهت صلاحية المؤقت يتم إعادة إرسال الإطار وإذا تم استلام إقرار إيجابي فسيتم إرسال الإطار التالي.

2- بروتوكول “Go – Back – N ARQ”

بروتوكول “Go – Back – N ARQ”: هو بروتوكول يوفر إرسال أرتال متعددة قبل استلام الإشعار بالاستلام للرتل الأول، ويستخدم مفهوم النافذة المنزلقة ويسمى أيضاً بروتوكول النافذة المنزلقة، كما يتم ترقيم الإطارات بالتسلسل وإرسال عدد محدود من الإطارات، وإذا لم يتم استلام إقرار الإطار خلال الفترة الزمنية فسيتم إعادة إرسال جميع الإطارات التي تبدأ من هذا الإطار.

ملاحظة:يوفر طلب التكرار الانتقائي أيضاً إرسال إطارات متنوعة قبل استلام الإقرار بالإطار الأول، ومع ذلك يتم هنا إعادة إرسال الإطارات الخاطئة أو المفقودة فقط بينما يتم استلام الإطارات الجيدة وحفظها مؤقتاً.

أساسيات وآلية عمل بروتوكولات طلب التكرار الانتقائي

ثلاثة أنواع رئيسية من طلب “ARQ” هي طلب “ARQ” للإيقاف والانتظار و”Go-Back-N ARQ” و”ARQ التكرار الانتقائي” وطلب “ARQ” للوقف والانتظار هو أبسط طلب “ARQ”، حيث يحتوي على إطار واحد في كل مرة يتم إرساله دون إرسال إطارات أخرى حتى يتم تحقيق استلام الإطار السابق خلال إشارة تأكيد.

أمّا “Go-Back-N ARQ” هو بروتوكول أكثر تعقيداً، كما يسمح بإرسال الإطارات حتى إذا تم استلام الإطارات السابقة بدون إشارة إقرار، وهذا البروتوكول يتتبع التسلسل وعندما يتم استقبال الإطار الأخير فإنّه يشترط إرجاع إرسال الإطارات التي تم إرسالها دون إذن، كما يتكرر هذا حتى يتم استقبال جميع الإطارات بإشارة تأكيد.

ومع ذلك قد يؤدي هذا البروتوكول إلى إرسال العديد من الإطارات عدة مرات وهو ما يمكن تجنبه باستخدام بروتوكول “ARQ” التكرار الانتقائي، كما يمكن استعمال طلب تكرار “ARQ” الانتقائي لإيصال حزم البيانات المرسلة والتأكيد عليها أو تسليم الرسائل المجزئة في وحدات فرعية، وفي المنهجية الأولى يستمر البروتوكول في قبول الإطارات المرسلة بعد حدوث خطأ أولي والإقرار بها.

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

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

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

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

تتضمن كل رسالة على عدد متغير من الكتل الفرعية، كما تحمل كل استجابة غير معترف بها علامة بت إضافية تدل على تلقي كل فترة فرعية بنجاح، ويتناقص طول كل إعادة إرسال فهي تحتوي فقط على فترات فرعية غير معترف بها.

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

تتوفر بروتوكولات “ARQ” في طبقات ارتباط البيانات أو النقل الخاصة بنموذج “OSI”، ويستعمل بروتوكول “TCP” متغيراً من “Go-Back-N ARQ” لضمان نقل موثوق للبيانات عبر بروتوكول الإنترنت، ومع ذلك فإنّه لا يضمن تسليم حزم البيانات.

وإذا كان بروتوكول “TCP” يستعمل الإقرار الانتقائي “SACK” فيجب استعمال طلب “ARQ” للتكرار الانتقائي، وعندما تتضمن شبكات المنطقة المحلية “LAN” على بيئات صاخبة يتم استعمال طلب “ARQ” للتكرار الانتقائي مع تجزئة الحزم، كما يتم نمذجة السلوك العام لبروتوكولات طلب التكرار التلقائي “ARQ” بواسطة شبكة قائمة انتظار مع أولويات تمثل العمليات الخاطئة وعمليات الاسترداد.

كما تم تطوير خوارزمية تحليل القيمة المتوسطة لتحليل أداء النموذج، ويتم الحصول على معلمات الإدخال والفترة الخاطئة، ومدة الاسترداد للنموذج من وصف نموذج آلة الحالة المحدودة الموسعة للبروتوكولات.

  • “TCP” هي اختصار لـ “Transmission Control Protocol”.
  • “SACK” هي اختصار لـ “Selective Acknowledgment”.

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