2012-03-09 26 views
10

मुझे बदसूरत ध्वनि शब्द "चक्रीय रिडंडेंसी चेक" की अवधारणा और कार्यप्रणाली को समझने में परेशानी हो रही है। मैं कंप्यूटर नेटवर्क पर एक कॉलेज कोर्स में भाग ले रहा हूं और मैं पहले से ही खो रहा हूं।चक्रीय रिडंडेंसी जांच क्या है और यह सरल शब्दों (डमीज़ शैली के लिए) में कैसे काम करता है?

समस्या यह है कि गणित की मेरी समझ बहुत सीमित है (विद्यालय में बहुत समय पहले गणित का अध्ययन किया गया था और इसमें से अधिकांश भूल गए थे) और मैं उदाहरण के लिए नहीं प्राप्त कर सकता कि जनरेटर बहुपद क्या है, जो बहुपदों को है सीआरसी के साथ करें और इसे समेटने के लिए - यह सब मेरे लिए पूरी तरह से समझ में आता है।

मैंने सीआरसी पर विकी प्रविष्टि पढ़ी लेकिन यह मेरी मदद नहीं की क्योंकि मैं गणित में अच्छा नहीं हूं और ये सभी प्रतीकों और गणित शब्द चीनी के समान हैं।

मैं समझता हूं कि सीआरसी नेटवर्क पर डेटा भेजते समय त्रुटि का पता लगाने के लिए प्रयोग किया जाता है लेकिन तब से मैं खो जाता हूं।

कोई भी इस अवधारणा को सरल शब्दों में समझाने और संभवतः एक उदाहरण देने में मेरी सहायता कर सकता है?

आखिरी व्याख्यान के दौरान प्रोफेसर ने इन सभी और शून्यों को विभाजित करना शुरू कर दिया, मुझे पता नहीं चला कि मैं और क्या बस बेवकूफ महसूस कर रहा था और बेवकूफ़ महसूस कर रहा था।

मैं बहुत आभारी हूं कि कोई भी मुझे समझने में मदद कर सकता है!

+0

आप विकिपीडिया में इसके बारे में एक लेख को पढ़ने के लिए कोशिश की है? – kirilloid

+0

मेरा सुझाव है कि आप निम्नलिखित पीडीएफ पढ़ रहे हैं: http://www.HackersDelight.org/crc.pdf – guga

+0

हाँ मैंने दोनों को पढ़ा, लेकिन मैं सोच रहा था कि कोई इसे बेहतर समझा सकता है और अधिक सरल शब्दों में ... –

उत्तर

19

आप इस सवाल का जवाब बहुत सरल है, तो आपको लगता है कि साथ रहने के लिए तैयार हैं आप, कुछ अति सरलीकरण स्वीकार करने की जरूरत होने के लिए चाहते हैं, तो यहाँ यह जाता है:

डाटा अपूर्ण लिंक पर प्रसारित किया जाता है - पर त्रुटियों हो सकती है मार्ग। कल्पना कीजिए कि आप यह सुनिश्चित करना चाहते हैं कि प्राप्त जानकारी बहुत अधिक बैंडविड्थ बर्बाद किए बिना संचरित की तरह ही है, आप यह कैसे करेंगे?

आप जानकारी के प्रत्येक टुकड़े को दो बार प्रेषित कर सकते हैं और अगर प्राप्त करने वाले अंत में आप देखते हैं कि पहला व्यक्ति दूसरे के लिए अलग है तो आपको पता है कि एक त्रुटि हुई है और आपको डेटा फिर से अनुरोध करने की आवश्यकता है - लेकिन यह बहुत होगा अपमानजनक, यह प्रभावी ढंग से आपकी बैंडविड्थ को आधे में काट देगा।

अब, यदि आप कुछ मूल्य की गणना कर सकते हैं जो डेटा से बहुत छोटा है तो अभी भी इस पर निर्भर है? तो यदि डेटा रास्ते में बदल गया (त्रुटि के कारण), गणना मूल्य अब डेटा से "मेल नहीं खाता" और आपको पता चलेगा कि एक त्रुटि हुई है। क्या ऐसी गणना है?

सरल विभाजन के बारे में क्या और इस मूल्य के रूप में शेष लेना?

कहें कि मैं एक जानकारी/संख्या 1000 प्रेषित करना चाहता हूं। मैं इसे चुने हुए नंबर से विभाजित करता हूं - उदाहरण के लिए 6 की तरह ... जो मुझे 166 और 4 का शेष देता है। मैं शेष को अपने चेक वैल्यू के रूप में लेता हूं जो वास्तव में संचारित जानकारी से बहुत छोटा है इसलिए मैं बर्बाद नहीं कर रहा हूं बहुत अधिक बैंडविड्थ और मैं 1000 के बाद 1000 भेजता हूं। एक रिसीवर इसे प्राप्त करता है, नंबर 1000 इसे 6 तक विभाजित करता है और यदि शेष 4 है तो यह मानता है कि कोई त्रुटि नहीं हुई है।

यदि कोई त्रुटि हुई थी और लिंक पर त्रुटि के कारण 1,000 के बजाय 998 प्राप्त होगा - यह इसे 6 तक विभाजित करेगा, 2 का शेष प्राप्त करें जो 4 से मेल नहीं खाता है और व्हायोला यह जानता है कि एक त्रुटि हुई है। यह सीआरसी का मूल सिद्धांत है।

बेशक यह थोड़ा अधिक जटिल है क्योंकि यह बहुपद द्वारा विभाजित होता है लेकिन एक शेष तरीके से त्रुटियों के लिए इसे जांचने के लिए "डेटा का प्रतिनिधित्व करने वाला छोटा मूल्य" के रूप में शेष का उपयोग करने का सिद्धांत है।

मुझे आशा है कि यह मदद करता है आप क्या हो रहा है पर चारों ओर अपने सिर प्राप्त करने के लिए;)

+1

यह अतिव्यापी उत्तर वास्तव में सीआरसी की अवधारणा को समझने के लिए एक अच्छा प्रारंभिक बिंदु हो सकता है। :) –