ما هو بت التكافؤ في شبكات الحاسوب Parity Bit

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


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

ما هو بت التكافؤ

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

مبدأ عمل بت التكافؤ

1- نوعان من التحقق من التكافؤ

  • التكافؤ الزوجي، هنا يتكون العدد الإجمالي للبتات في الرسالة بشكل متساوٍ.
  • تكافؤ الفردي، هنا يصبح العدد الإجمالي للبت في الرسالة فردياً.

2- كشف الخطأ عن طريق إضافة بت التكافؤ

أولاً: نهاية المرسل

أثناء إنشاء إطار يحسب المرسل عدد 1 ويضيف بت التكافؤ بالطريقة التالية:

  • في حالة التكافؤ الزوجي، إذا كان عدد “1s زوجياً، تكون قيمة بت التكافؤ 0، وإذا كان عدد “1sفردياً” تكون قيمة بت التكافؤ 1.
  • في حالة التكافؤ الفردي، إذا كان عدد “1s فردياً تكون قيمة بت التكافؤ 0، وإذا كان عدد “1s زوجياً” تكون قيمة بت التكافؤ 1.

ثانياً: نهاية المتلقي

عند استلام إطار يحسب جهاز الاستقبال عدد 1s فيه، وفي حالة تحقق التكافؤ الزوجي إذا كان عدد “1s متساوياً”، فسيتم قبول الإطار وإلّا فسيتم رفضه، وفي حالة فحص التكافؤ الفردي إذا كان عدد “1 فردياً” فسيتم قبول الإطار وإلّا فسيتم رفضه.

أساسيات بت التكافؤ

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

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

الحرف “A” على سبيل المثال يحتوي على رمز “ASCII 65” والذي هو “1000001” في النظام الثنائي كما أنّ كل رقم ثنائي يتوافق مع أس اثنين، وأنّ “65” وهو اثنان للأس السادس زائد اثنين إلى القوة الصفرية وله الآحاد فقط في العمودين السادس والصفري لتمثيلها الثنائي، والحرف C بقيمة الكود “67” يحتوي على التسلسل الثنائي “1000011”.

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

يتم اختيار بت التكافؤ بحيث يكون لجميع الأحرف المرسلة بشكل صحيح إمّا عدد زوجي أو فردي من الأحرف، وبالتالي إذا تم وضع صفر في بداية الكود الخاص بالحرف “A” ينتج “01000001” فسيتم وضع واحد قبل رمز “C” ممّا ينتج عنه “11000011”.

تطبيق على عملية التحقق من التكافؤ

  • يتم إعطاء البيانات “10101 بت التكافؤ الزوجي 1” ممّا ينتج عنه تسلسل البتات “101011”.
  • يتم نقل هذه البيانات إلى كمبيوتر آخر، وأثناء النقل تتلف البيانات ويتلقى الكمبيوتر البيانات غير الصحيحة “100011”.
  • يحسب الكمبيوتر المستقبل التكافؤ وهو “1 + 0 + 0 + 0 + 1 + 1 = 3″، ثم ينفذ “3modulo2” أي باقي 3 مقسوماً على “2”، متوقعاً النتيجة 0 التي تشير إلى أنّ الرقم زوجي.
  • بدلاً من ذلك يتلقى النتيجة “3modulo2=1″، ممّا يشير إلى أن الرقم فردي، ونظراً لأنّه يبحث عن أرقام متساوية فإنّه يطلب من الكمبيوتر الأصلي إرسال البيانات مرة أخرى.
  • هذه المرة تأتي البيانات بدون أخطاء “101011”، ويحسب الكمبيوتر المستقبل “1 + 0 + 1 + 0 + 1 + 1 = 4”.
  • “4modulo2 = 0″، ممّا يشير إلى التكافؤ الزوجي، ويتم تجريد بت التكافؤ من نهاية التسلسل ويتم قبول البيانات “10101”.

العلاقة بين بت التكافؤ ونظام RAID

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

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

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

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

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

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

وإذا كانت البيانات الموجودة على محركات الأقراص المتبقية تضيف ما يصل إلى رقم فردي، فيجب أن تكون المعلومات الموجودة على محرك الأقراص الفاشل 1 للحفاظ على التكافؤ المتساوي، وبدلاً من ذلك إذا كانت البيانات الموجودة على محركات الأقراص المتبقية تضيف ما يصل إلى رقم زوجي، فيجب أن تكون البيانات الموجودة على محرك الأقراص الفاشل 0.

  • “RAID” هي اختصار لـ “Redundant Array of Inexpensive/Independent Disks”.

المصدر: COMPUTER NETWORKING / James F. Kurose & Keith W. RossComputer Networks - The Swiss BayCOMPUTER NETWORKS LECTURE NOTES / B.TECH III YEAR – II SEM (R15)An Introduction to Computer Networks / Peter L Dordal


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