ما هو فحص التكرار الدوري وكيف يعمل بعبارات بسيطة (أسلوب للدمى)؟

StackOverflow https://stackoverflow.com//questions/9635561

  •  10-12-2019
  •  | 
  •  

سؤال

أجد صعوبة في فهم مفهوم وطريقة عمل المصطلح القبيح "فحص دوري التكرار".أنا أحضر دورة جامعية حول شبكات الكمبيوتر وأنا أضيع بالفعل.

المشكلة هي أن فهمي للرياضيات محدود للغاية (درست الرياضيات منذ وقت طويل في المدرسة ونسيت معظمها) ولا أستطيع على سبيل المثال أن أفهم ما هو مولد كثيرات الحدود، وما علاقة كثيرات الحدود بـ CRC و لتلخيص الأمر - كل هذا يبدو غير مفهوم تمامًا بالنسبة لي.

لقد قرأت مدخل wiki الخاص بـ CRC لكنه لم يساعدني لأنني لا أجيد الرياضيات وكل هذه الرموز والمصطلحات الرياضية تشبه اللغة الصينية بالنسبة لي.

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

هل يمكن لأي شخص مساعدتي في شرح هذا المفهوم بعبارات بسيطة وربما إعطاء مثال؟

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

سأكون ممتنًا جدًا لأي شخص يمكن أن يساعدني في الفهم!

هل كانت مفيدة؟

المحلول

إذا كنت تريد أن تكون الإجابة بسيطة للغاية، فأنت بحاجة إلى قبول بعض التبسيط المفرط، وإذا كنت على استعداد للتعايش مع ذلك، فإليك ما يلي:

يتم نقل البيانات عبر روابط غير كاملة - قد تحدث أخطاء في الطريق.تخيل أنك تريد التأكد من أن المعلومات المستلمة هي نفس المعلومات المرسلة دون إضاعة الكثير من النطاق الترددي، كيف ستفعل ذلك؟

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

الآن، ماذا لو كان بإمكانك حساب قيمة أصغر بكثير من البيانات نفسها ولكنها تعتمد عليها؟لذا، إذا تغيرت البيانات على طول الطريق (بسبب خطأ)، فلن "تتطابق" القيمة المحسوبة مع البيانات وستعرف بحدوث خطأ.هل هناك مثل هذا الحساب؟

ماذا عن القسمة البسيطة وأخذ الباقي بهذه القيمة؟

لنفترض أنني أريد إرسال معلومة/رقم 1000.أقسمه على الرقم المختار - مثل 6 على سبيل المثال ...هذا يعطيني 166 والباقي 4.أعتبر الباقي بمثابة قيمة التحقق الخاصة بي وهي أصغر بكثير من المعلومات التي أقوم بنقلها فعليًا، لذلك لا أضيع الكثير من النطاق الترددي وأرسل 1000 متبوعًا بـ 4.يحصل عليه المتلقي، ويأخذ الرقم 1000 ويقسمه على 6 وإذا كان الباقي 4 فإنه يفترض أنه لم يحدث أي خطأ.

إذا حدث خطأ وسيتلقى 998 بدلاً من 1000 بسبب خطأ في الرابط - فسيقسمه على 6، ويحصل على الباقي 2 الذي لا يتطابق مع 4 وفيولا يعلم بحدوث خطأ.وهذا هو المبدأ الأساسي لاتفاقية حقوق الطفل.

بالطبع الأمر أكثر تعقيدًا لأنه يقسم على كثيرة الحدود ولكن مبدأ استخدام الباقي باعتباره "قيمة قصيرة تمثل البيانات" للتحقق من الأخطاء بنفس الطريقة يظل قائمًا.

آمل أن يساعدك هذا في فهم ما يحدث ;)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top