इंटरनेट चेकसम: Difference between revisions
(Created page with "{{Short description|Mechanism to detect corruption in the header of an IPv4 packet}} इंटरनेट चेकसम,<ref name="rfc1071" /><ref name="rfc1624" />इस...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Mechanism to detect corruption in the header of an IPv4 packet}} | {{Short description|Mechanism to detect corruption in the header of an IPv4 packet}} | ||
इंटरनेट चेकसम,<ref name="rfc1071" /><ref name="rfc1624" />इसे [[IPv4]] हेडर [[ अंततः, ]] भी कहा जाता है, यह | इंटरनेट चेकसम,<ref name="rfc1071" /><ref name="rfc1624" />इसे [[IPv4]] हेडर [[ अंततः, |अंततः,]] भी कहा जाता है, यह चेकसम है जिसका उपयोग IPv4 पैकेट के हेडर में भ्रष्टाचार का पता लगाने के लिए [[इंटरनेट प्रोटोकॉल]] (IPv4) के IPv4 में किया जाता है। इसे IPv4#Header में ले जाया जाता है, और हेडर शब्दों के योग के 16-बिट परिणाम का प्रतिनिधित्व करता है।<ref>[http://www.tcpipguide.com/free/t_IPDatagramGeneralFormat.htm IP Datagram General Format]</ref> | ||
[[IPv6]] प्रोटोकॉल हेडर चेकसम का उपयोग नहीं करता है। इसके डिजाइनरों ने माना कि [[प्वाइंट-टू-प्वाइंट प्रोटोकॉल]] और [[ईथरनेट]] जैसे प्रोटोकॉल में प्रदान की गई संपूर्ण-पैकेट लिंक परत चेकसमिंग, [[ प्रसारण नियंत्रण प्रोटोकॉल ]] और [[डेटाग्राम प्रोटेकॉलका उपयोग करें]] जैसे ऊपरी परत प्रोटोकॉल में चेकसम के उपयोग के साथ मिलकर पर्याप्त है।<ref>{{cite web|url=http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-3/ipv6_internals.html|title=IPv6 Internals|author= Iljitsch van Beijnum|date=September 2006|publisher=Cisco}}</ref> इस प्रकार, जब भी पैकेट बदलता है तो आईपीवी 6 राउटर को चेकसम को पुन: गणना करने के कार्य से राहत मिलती है, उदाहरण के लिए प्रत्येक हॉप पर लाइव काउंटर के समय को कम करके। | [[IPv6]] प्रोटोकॉल हेडर चेकसम का उपयोग नहीं करता है। इसके डिजाइनरों ने माना कि [[प्वाइंट-टू-प्वाइंट प्रोटोकॉल]] और [[ईथरनेट]] जैसे प्रोटोकॉल में प्रदान की गई संपूर्ण-पैकेट लिंक परत चेकसमिंग, [[ प्रसारण नियंत्रण प्रोटोकॉल |प्रसारण नियंत्रण प्रोटोकॉल]] और [[डेटाग्राम प्रोटेकॉलका उपयोग करें]] जैसे ऊपरी परत प्रोटोकॉल में चेकसम के उपयोग के साथ मिलकर पर्याप्त है।<ref>{{cite web|url=http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-3/ipv6_internals.html|title=IPv6 Internals|author= Iljitsch van Beijnum|date=September 2006|publisher=Cisco}}</ref> इस प्रकार, जब भी पैकेट बदलता है तो आईपीवी 6 राउटर को चेकसम को पुन: गणना करने के कार्य से राहत मिलती है, उदाहरण के लिए प्रत्येक हॉप पर लाइव काउंटर के समय को कम करके। | ||
उपयोगकर्ता डेटाग्राम प्रोटोकॉल#चेकसम गणना (डेटा पेलोड सहित) का पता लगाने के लिए इंटरनेट चेकसम अनिवार्य है। | उपयोगकर्ता डेटाग्राम प्रोटोकॉल#चेकसम गणना (डेटा पेलोड सहित) का पता लगाने के लिए इंटरनेट चेकसम अनिवार्य है। | ||
Line 17: | Line 17: | ||
| publisher = [[Internet Engineering Task Force|IETF]] | | publisher = [[Internet Engineering Task Force|IETF]] | ||
| accessdate = 2009-10-27 | | accessdate = 2009-10-27 | ||
}}</ref> <ब्लॉककोट>चेकसम फ़ील्ड हेडर में सभी 16-बिट शब्दों के 16-बिट शब्दों का पूरक योग है। चेकसम की गणना के प्रयोजनों के लिए, चेकसम फ़ील्ड का मान शून्य है। | }}</ref> <ब्लॉककोट>चेकसम फ़ील्ड हेडर में सभी 16-बिट शब्दों के 16-बिट शब्दों का पूरक योग है। चेकसम की गणना के प्रयोजनों के लिए, चेकसम फ़ील्ड का मान शून्य है। | ||
यदि कोई भ्रष्टाचार नहीं है, तो चेकसम सहित संपूर्ण आईपी हेडर का योग करने का परिणाम शून्य होना चाहिए। प्रत्येक हॉप पर, चेकसम सत्यापित किया जाता है। चेकसम बेमेल वाले पैकेट को त्याग दिया जाता है। यदि राउटर आईपी हेडर बदलता है (जैसे टीटीएल को कम करते समय) तो उसे चेकसम को समायोजित करना होगा।<ref>{{cite IETF | यदि कोई भ्रष्टाचार नहीं है, तो चेकसम सहित संपूर्ण आईपी हेडर का योग करने का परिणाम शून्य होना चाहिए। प्रत्येक हॉप पर, चेकसम सत्यापित किया जाता है। चेकसम बेमेल वाले पैकेट को त्याग दिया जाता है। यदि राउटर आईपी हेडर बदलता है (जैसे टीटीएल को कम करते समय) तो उसे चेकसम को समायोजित करना होगा।<ref>{{cite IETF | ||
Line 33: | Line 33: | ||
}}</ref> | }}</ref> | ||
प्रक्रिया को आरएफसी 1071 इंटरनेट चेकसम की गणना में विस्तार से समझाया गया है। | प्रक्रिया को आरएफसी 1071 इंटरनेट चेकसम की गणना में विस्तार से समझाया गया है। | ||
<ref name="rfc1071" >{{cite IETF | <ref name="rfc1071">{{cite IETF | ||
| title = Computing the Internet Checksum | | title = Computing the Internet Checksum | ||
| rfc = 1071 | | rfc = 1071 | ||
}}</ref> | }}</ref> | ||
वृद्धिशील अद्यतन के माध्यम से इंटरनेट चेकसम की आरएफसी 1624 गणना में अनुकूलन प्रस्तुत किए गए हैं | वृद्धिशील अद्यतन के माध्यम से इंटरनेट चेकसम की आरएफसी 1624 गणना में अनुकूलन प्रस्तुत किए गए हैं | ||
<ref name="rfc1624" >{{cite IETF | <ref name="rfc1624">{{cite IETF | ||
| title = Computation of the Internet Checksum via Incremental Update | | title = Computation of the Internet Checksum via Incremental Update | ||
| rfc = 1624 | | rfc = 1624 | ||
}}</ref> | }}</ref> | ||
(इरेटा के साथ), राउटर्स में मामले को कवर करने के लिए जिन्हें पैकेट अग्रेषण के दौरान हेडर चेकसम को फिर से गणना करने की आवश्यकता होती है जब केवल | (इरेटा के साथ), राउटर्स में मामले को कवर करने के लिए जिन्हें पैकेट अग्रेषण के दौरान हेडर चेकसम को फिर से गणना करने की आवश्यकता होती है जब केवल फ़ील्ड बदल जाता है। | ||
==उदाहरण== | ==उदाहरण== | ||
Line 51: | Line 51: | ||
<code>'''4500 0073 0000 4000 4011 <u>b861</u> c0a8 0001'''<br /></code> | <code>'''4500 0073 0000 4000 4011 <u>b861</u> c0a8 0001'''<br /></code> | ||
<code>'''c0a8 00c7''' 0035 e97c 005f 279f 1e4b 8180</code> | <code>'''c0a8 00c7''' 0035 e97c 005f 279f 1e4b 8180</code> | ||
किसी के पूरक जोड़ के लिए, हर बार जब कोई कैरी होता है, तो हमें योग में 1 जोड़ना होगा।<ref>{{cite web |url=http://mathforum.org/library/drmath/view/54379.html |title=Compute 16-bit One's Complement Sum |access-date=2019-02-07}}</ref> कैरी चेक और सुधार प्रत्येक जोड़ के साथ या सभी जोड़ों के बाद पोस्ट-प्रोसेस के रूप में किया जा सकता है। यदि सुधार से | किसी के पूरक जोड़ के लिए, हर बार जब कोई कैरी होता है, तो हमें योग में 1 जोड़ना होगा।<ref>{{cite web |url=http://mathforum.org/library/drmath/view/54379.html |title=Compute 16-bit One's Complement Sum |access-date=2019-02-07}}</ref> कैरी चेक और सुधार प्रत्येक जोड़ के साथ या सभी जोड़ों के बाद पोस्ट-प्रोसेस के रूप में किया जा सकता है। यदि सुधार से और कैरी उत्पन्न होती है, तो योग में और 1 जोड़ दिया जाता है। | ||
चेकसम की गणना करने के लिए, हम पहले हेडर के भीतर प्रत्येक 16 बिट मान के योग की गणना कर सकते हैं, केवल चेकसम फ़ील्ड को छोड़कर। ध्यान दें कि ये मान [[हेक्साडेसिमल]] नोटेशन में हैं।<br /> | चेकसम की गणना करने के लिए, हम पहले हेडर के भीतर प्रत्येक 16 बिट मान के योग की गणना कर सकते हैं, केवल चेकसम फ़ील्ड को छोड़कर। ध्यान दें कि ये मान [[हेक्साडेसिमल]] नोटेशन में हैं।<br /> | ||
<code>4500 + 0073 + 0000 + 4000 + 4011 + c0a8 + 0001 + c0a8 + 00c7 = 2479c</code><br/> | <code>4500 + 0073 + 0000 + 4000 + 4011 + c0a8 + 0001 + c0a8 + 00c7 = 2479c</code><br/> | ||
पहला अंक कैरी काउंट है और इसे योग में जोड़ा जाता है:<br /> | पहला अंक कैरी काउंट है और इसे योग में जोड़ा जाता है:<br /> | ||
<code>2 + 479c = 479e</code> (यदि इस जोड़ से | <code>2 + 479c = 479e</code> (यदि इस जोड़ से और कैरी उत्पन्न होता है, तो योग में और 1 जोड़ा जाना चाहिए)<br /> | ||
चेकसम प्राप्त करने के लिए हम इस परिणाम का पूरक लेते हैं: <code>b861</code> (जैसा कि मूल आईपी पैकेट हेडर में रेखांकित दिखाया गया है)। | चेकसम प्राप्त करने के लिए हम इस परिणाम का पूरक लेते हैं: <code>b861</code> (जैसा कि मूल आईपी पैकेट हेडर में रेखांकित दिखाया गया है)। | ||
Revision as of 10:00, 31 July 2023
इंटरनेट चेकसम,[1][2]इसे IPv4 हेडर अंततः, भी कहा जाता है, यह चेकसम है जिसका उपयोग IPv4 पैकेट के हेडर में भ्रष्टाचार का पता लगाने के लिए इंटरनेट प्रोटोकॉल (IPv4) के IPv4 में किया जाता है। इसे IPv4#Header में ले जाया जाता है, और हेडर शब्दों के योग के 16-बिट परिणाम का प्रतिनिधित्व करता है।[3] IPv6 प्रोटोकॉल हेडर चेकसम का उपयोग नहीं करता है। इसके डिजाइनरों ने माना कि प्वाइंट-टू-प्वाइंट प्रोटोकॉल और ईथरनेट जैसे प्रोटोकॉल में प्रदान की गई संपूर्ण-पैकेट लिंक परत चेकसमिंग, प्रसारण नियंत्रण प्रोटोकॉल और डेटाग्राम प्रोटेकॉलका उपयोग करें जैसे ऊपरी परत प्रोटोकॉल में चेकसम के उपयोग के साथ मिलकर पर्याप्त है।[4] इस प्रकार, जब भी पैकेट बदलता है तो आईपीवी 6 राउटर को चेकसम को पुन: गणना करने के कार्य से राहत मिलती है, उदाहरण के लिए प्रत्येक हॉप पर लाइव काउंटर के समय को कम करके।
उपयोगकर्ता डेटाग्राम प्रोटोकॉल#चेकसम गणना (डेटा पेलोड सहित) का पता लगाने के लिए इंटरनेट चेकसम अनिवार्य है।
इंटरनेट चेकसम का उपयोग IPv6#चेकसम (डेटा पेलोड सहित) के लिए इंटरनेट नियंत्रण संदेश प्रोटोकॉल का पता लगाने के लिए किया जाता है।
गणना
चेकसम गणना RFC 791 में परिभाषित है:[5] <ब्लॉककोट>चेकसम फ़ील्ड हेडर में सभी 16-बिट शब्दों के 16-बिट शब्दों का पूरक योग है। चेकसम की गणना के प्रयोजनों के लिए, चेकसम फ़ील्ड का मान शून्य है।
यदि कोई भ्रष्टाचार नहीं है, तो चेकसम सहित संपूर्ण आईपी हेडर का योग करने का परिणाम शून्य होना चाहिए। प्रत्येक हॉप पर, चेकसम सत्यापित किया जाता है। चेकसम बेमेल वाले पैकेट को त्याग दिया जाता है। यदि राउटर आईपी हेडर बदलता है (जैसे टीटीएल को कम करते समय) तो उसे चेकसम को समायोजित करना होगा।[6] प्रक्रिया को आरएफसी 1071 इंटरनेट चेकसम की गणना में विस्तार से समझाया गया है। [1] वृद्धिशील अद्यतन के माध्यम से इंटरनेट चेकसम की आरएफसी 1624 गणना में अनुकूलन प्रस्तुत किए गए हैं
[2]
(इरेटा के साथ), राउटर्स में मामले को कवर करने के लिए जिन्हें पैकेट अग्रेषण के दौरान हेडर चेकसम को फिर से गणना करने की आवश्यकता होती है जब केवल फ़ील्ड बदल जाता है।
उदाहरण
आईपीवी4 हेडर चेकसम की गणना
IPv4 पैकेट का निम्नलिखित संक्षिप्त अंश लें। हेडर को बोल्ड में दिखाया गया है और चेकसम को रेखांकित किया गया है।
4500 0073 0000 4000 4011 b861 c0a8 0001
c0a8 00c7 0035 e97c 005f 279f 1e4b 8180
किसी के पूरक जोड़ के लिए, हर बार जब कोई कैरी होता है, तो हमें योग में 1 जोड़ना होगा।[7] कैरी चेक और सुधार प्रत्येक जोड़ के साथ या सभी जोड़ों के बाद पोस्ट-प्रोसेस के रूप में किया जा सकता है। यदि सुधार से और कैरी उत्पन्न होती है, तो योग में और 1 जोड़ दिया जाता है।
चेकसम की गणना करने के लिए, हम पहले हेडर के भीतर प्रत्येक 16 बिट मान के योग की गणना कर सकते हैं, केवल चेकसम फ़ील्ड को छोड़कर। ध्यान दें कि ये मान हेक्साडेसिमल नोटेशन में हैं।
4500 + 0073 + 0000 + 4000 + 4011 + c0a8 + 0001 + c0a8 + 00c7 = 2479c
पहला अंक कैरी काउंट है और इसे योग में जोड़ा जाता है:
2 + 479c = 479e
(यदि इस जोड़ से और कैरी उत्पन्न होता है, तो योग में और 1 जोड़ा जाना चाहिए)
चेकसम प्राप्त करने के लिए हम इस परिणाम का पूरक लेते हैं: b861
(जैसा कि मूल आईपी पैकेट हेडर में रेखांकित दिखाया गया है)।
आईपीवी4 हेडर चेकसम का सत्यापन
चेकसम को सत्यापित करते समय, ऊपर दी गई समान प्रक्रिया का उपयोग किया जाता है, सिवाय इसके कि मूल हेडर चेकसम को छोड़ा नहीं जाता है।
4500 + 0073 + 0000 + 4000 + 4011 + b861 + c0a8 + 0001 + c0a8 + 00c7 = 2fffd
कैरी बिट्स जोड़ें:
fffd + 2 = ffff
इकाइयों का पूरक लेने (प्रत्येक बिट को फ़्लिप करने) से 0000 प्राप्त होता है, जो इंगित करता है कि कोई त्रुटि नहीं पाई गई है।
आईपी हेडर चेकसम हेडर के भीतर 16 बिट मानों के सही क्रम की जांच नहीं करता है।
यह भी देखें
- फ़्रेम जांच अनुक्रम
- हेडर जांच अनुक्रम
संदर्भ
- ↑ 1.0 1.1 Computing the Internet Checksum. doi:10.17487/RFC1071. RFC 1071.
- ↑ 2.0 2.1 Computation of the Internet Checksum via Incremental Update. doi:10.17487/RFC1624. RFC 1624.
- ↑ IP Datagram General Format
- ↑ Iljitsch van Beijnum (September 2006). "IPv6 Internals". Cisco.
- ↑ "Internet Header Format". Internet Protocol DARPA Internet program protocol specification. IETF. September 1981. p. 14. doi:10.17487/RFC0791. STD 5. RFC 791. Retrieved 2009-10-27.
- ↑ Baker, Fred, ed. (June 1995). "Header Checksum". Requirements for IP Version 4 Routers. IETF. p. 44. sec. 4.2.2.5. doi:10.17487/RFC1812. RFC 1812. Retrieved 2009-10-27.
- ↑ "Compute 16-bit One's Complement Sum". Retrieved 2019-02-07.