اقرأ في هذا المقال
- ما هو التحكم في التدفق
- ما هو التحكم في الخطأ
- الفرق بين بين التحكم في التدفق والتحكم في الخطأ
- الاختلافات الرئيسية بين التحكم في التدفق والتحكم في الخطأ
التحكم في التدفق والتحكم في الخطأ هما آلية التحكم في طبقة ارتباط البيانات “data link layer” وطبقة النقل “transport layer” عندما تنتقل البيانات إلى جهاز الاستقبال، وتعمل هاتان الآليتان في توفير البيانات الموثوقة بشكل صحيح إلى جهاز الاستقبال.
ما هو التحكم في التدفق
التحكم في التدفق: هو مشكلة تصميم في طبقة ارتباط البيانات وطبقة النقل، حيث يرسل المرسل إطارات البيانات بشكل أسرع ثم يمكن للمستقبل قبولها، كما يمكن أن يكون السبب أنّ المرسل يعمل على آلة قوية، وفي هذه الحالة حتى البيانات يتم استلامها دون أي خطأ يتعذر على جهاز الاستقبال استقبال الإطار بهذه السرعة ويفقد بعض الإطارات.
طرق التحكم في التدفق
هناك طريقتان للتحكم لمنع فقدان الإطارات وهما التحكم في التدفق المستند إلى التغذية الراجعة والتحكم في التدفق المستند إلى المعدل.
أولاً: التحكم القائم على التغذية الراجعة
في التحكم المعتمد على الملاحظات كلما أرسل المرسل البيانات إلى المتلقي ثم يرسل المتلقي المعلومات مرة أخرى إلى المرسل، ويتيح للمرسل بإرسال المزيد من البيانات أو إبلاغ المرسل بكيفية عمل المتلقي، حيث إنّ بروتوكولات التحكم القائم على التغذية الراجعة هي بروتوكول النافذة المنزلقة “sliding window” وبروتوكول التوقف والانتظار.
ثانياً: التحكم في التدفق على أساس المعدل
في التحكم في التدفق المستند إلى المعدل عندما ينقل المرسل البيانات بشكل أسرع إلى جهاز الاستقبال ولا يتمكن جهاز الاستقبال من تلقي البيانات بهذه السرعة، فإنّ الآلية المضمنة في البروتوكول ستحد من معدل نقل البيانات بواسطة المرسل دون أي ملاحظات من المتلقي.
ما هو التحكم في الخطأ
التحكم في الخطأ: هو المشكلة التي تحدث في طبقة ارتباط البيانات ومستوى النقل أيضاً والتحكم في الخطأ هو آلية لاكتشاف وتصحيح الخطأ الذي حدث في الإطارات، والتي يتم تسليمها من المرسل إلى المستقبل، كما قد يكون الخطأ الذي حدث في الرتل خطأ بتة واحدة أو خطأ رشقة، وخطأ بت واحد هو الخطأ الذي يحدث فقط في وحدة البيانات ذات البت الواحد للإطار، حيث يتم تغيير 1 إلى 0 أو يتم تغيير 0 إلى 1.
في الرشقة الخطأ هو الحال عندما يتم تغيير أكثر من بت واحد في الرتل، كما يشير أيضاً إلى خطأ مستوى الحزمة، وفي خطأ الاندفاع يمكن أن يحدث مشكلات خطأ مثل فقدان الحزمة “packet loss” وتكرار الإطار وفقدان حزمة الإقرار وما إلى ذلك، وطرق الكشف عن الخطأ في الإطار هي التأكد من التكافؤ وكود التكرار الدوري “CRC” والمجموع الاختباري “checksum”.
طرق التحكم في الخطأ
أولاً: فحص التكافؤ
- في فحص التكافؤ تتم زيادة بت واحد إلى الإطار الذي يشير إلى ما إذا كان عدد البت “1” الموجود في الإطار زوجي أو فردي.
- أثناء الإرسال إذا لم تتعدل بت واحد، فإنّ بت التكافؤ يحصل أيضاً على التغيير الذي يعكس الخطأ في الإطار.
- لكنّ طريقة التأكد من التكافؤ غير آمنة، كما لو تم تغيير عدد البتات الزوجي فلن تعكس بتة التكافؤ أي خطأ في الإطار.
- ومع ذلك فمن الأفضل لخطأ بت واحد.
ثانياً: كود التكرار الدوري CRC
- في كود التكرار الدوري “CRC” تتعرض البيانات لقسمة ثنائية، حيث يتم إرفاق الباقي بالبيانات وإرساله إلى جهاز الاستقبال.
- ثم يقسم المستلم البيانات التي تم الوصول إليها بنفس القاسم الذي قسّم به المرسل البيانات.
- وإذا كان الباقي الذي تم الحصول عليه صفراً، فسيتم قبول البيانات.
- وإلّا تم رفض البيانات ويحتاج المرسل إلى إعادة إرسال البيانات مرة أخرى.
ملاحظة:“CRC” هي اختصار لـ “Cyclic Redundancy Code”.
ثالثاً: اختباري
- في طريقة المجموع الاختباري يتم تجزئة البيانات المراد إرسالها إلى أجزاء متساوية كل جزء يتضمن على “n بت”.
- كما تتم إضافة جميع الأجزاء باستخدام مكمل 1.
- يتم استكمال النتيجة مرة أخرى، والآن تسمى سلسلة البتات التي تم الوصول إليها بالمجموع الاختباري، والذي يتم وضعه مع البيانات الأصلية لإرسالها وإرسالها إلى جهاز الاستقبال.
- عندما يتلقى المتلقي البيانات، فإنّه يقسم البيانات أيضاً في جزء متساوٍ ثم يضيف كل الجزء باستخدام مكمل 1 والنتيجة مكملة مرة أخرى.
- وإذا كانت النتيجة صفراً فسيتم قبول البيانات وإلّا يتم رفضها، ويجب على المرسل إعادة إرسال البيانات.
الفرق بين بين التحكم في التدفق والتحكم في الخطأ
يُعد الاختلاف الرئيسي بين التحكم في التدفق “flow control” والتحكم في الخطأ “Error control” في أنّ التحكم في التدفق يراقب التدفق الصحيح للبيانات من المرسل إلى المستقبل، ومن ناحية أخرى يجد التحكم في الأخطاء أن البيانات التي يتم تسليمها إلى جهاز الاستلام خالية من الأخطاء وموثوقة.
الرقم | التحكم في التدفق | التحكم في الخطأ |
1 | إنّها طريقة تستخدم للحفاظ على النقل المناسب للبيانات من المرسل إلى المستقبل. | يتم استخدامه لضمان تسليم البيانات الخالية من الأخطاء من المرسل إلى المستلم. |
2 | يعد التحكم في التدفق المستند إلى التعليقات والتحكم في التدفق المستند إلى المعدل من الأساليب المختلفة المستخدمة لتحقيق التحكم في التدفق. | يمكن استخدام العديد من الطرق هنا مثل فحص التخفيض الدوري وفحص التكافؤ والمجموع الاختباري. |
3 | يتجنب التجاوز ويمنع فقدان البيانات. | يكتشف ويصحح الأخطاء التي قد تكون حدثت في الإرسال. |
4 | الأمثلة هي “Stop and Wait” و”Sliding Window”. | ومن الأمثلة “Stop-and-Wait ARQ” و”Go-Back-N ARQ” و”Selective-Repeat ARQ”. |
ملاحظة:“ARQ” هي اختصار لـ “Automatic Repeat Request”.
الاختلافات الرئيسية بين التحكم في التدفق والتحكم في الخطأ
- التحكم في التدفق هو مراقبة النقل المناسب للبيانات من المرسل إلى المستقبل، ومن ناحية أخرى يراقب “Error Control” تسليم البيانات بدون أخطاء من المرسل إلى المستلم.
- يمكن تأكد التحكم في التدفق من خلال التحكم في التدفق المرتبط إبلملاحظات ونهج التحكم في التدفق المستند إلى المعدل، بينما للكشف عن الخطأ فإنّ الأساليب المستخدمة هي التحقق من التكافؤ ورمز التكرار الدوري “CRC” والمجموع الاختباري، ولتصحيح الخطأ فإنّ الأساليب المستعملة هي “Hamming” الكود ورموز الالتفاف الثنائية وكود “Reed-Solomon” وأكواد التأكد من التكافؤ قليلة الكثافة.
- يوقف التحكم في التدفق من تجاوز المخزن المؤقت للمستقبلات ويوقف أيضاً فقدان البيانات ومن ناحية أخرى يظهر التحكم في الخطأ ويصحح الخطأ الذي وقع في البيانات.
- التحكم في الخطأ هو تحديد الأخطاء وتصحيحها، حيث يسمح للمستقبل بإبلاغ المرسل بأي إطارات مفقودة أو تالفة أثناء الإرسال وينسق إعادة إرسال تلك الإطارات من قبل المرسل، وفي طبقة ارتباط البيانات يشير مصطلح التحكم في الأخطاء بشكل أساسي إلى طرق اكتشاف الخطأ وإعادة الإرسال، حيث غالباً ما يتم تنفيذ التحكم في الأخطاء في طبقة ارتباط البيانات ببساطة وفي أي وقت يتم اكتشاف خطأ في التبادل يتم إعادة إرسال الإطارات المحددة، كما تسمى هذه العملية طلب التكرار التلقائي “ARQ“.