इंटरनेट चेकसम: Difference between revisions
No edit summary |
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" /> | '''इंटरनेट चेकसम''',<ref name="rfc1071" /><ref name="rfc1624">{{cite IETF | ||
[[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> इस प्रकार | | title = Computation of the Internet Checksum via Incremental Update | ||
| rfc = 1624 | |||
}}</ref> जिसे '''[[IPv4]] हेडर [[ अंततः, |चेकसम]]'''[[ अंततः, |,]] भी कहा जाता है, यह चेकसम है जिसका उपयोग IPv4 पैकेट के हेडर में भ्रष्टाचार का पता लगाने के लिए [[इंटरनेट प्रोटोकॉल]] (IPv4) के IPv4 में किया जाता है। इसे IPv4 या हेडर में ले जाया जाता है, और हेडर शब्दों के योग के 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> इस प्रकार [[IPv6]] राउटर को प्रत्येक हॉप पर हॉप सीमा काउंटर को कम करके उदाहरण के लिए जब भी पैकेट परिवर्तन होता है तो चेकसम को पुन: गणना करने के कार्य से राहत मिलती है। | |||
उपयोगकर्ता डेटाग्राम प्रोटोकॉल | उपयोगकर्ता डेटाग्राम प्रोटोकॉल या चेकसम गणना (डेटा पेलोड सहित) का पता लगाने के लिए इंटरनेट चेकसम अनिवार्य है। | ||
इंटरनेट चेकसम का उपयोग IPv6 | इंटरनेट चेकसम का उपयोग IPv6 या चेकसम (डेटा पेलोड सहित) के लिए इंटरनेट नियंत्रण संदेश प्रोटोकॉल का पता लगाने के लिए किया जाता है। | ||
==गणना== | ==गणना== | ||
Line 17: | Line 22: | ||
| publisher = [[Internet Engineering Task Force|IETF]] | | publisher = [[Internet Engineering Task Force|IETF]] | ||
| accessdate = 2009-10-27 | | accessdate = 2009-10-27 | ||
}}</ref> <ब्लॉककोट>चेकसम | }}</ref> '''<ब्लॉककोट>'''चेकसम क्षेत्र हेडर में सभी 16-बिट शब्दों के 16-बिट शब्दों का पूरक योग है। चेकसम की गणना के प्रयोजनों के लिए, चेकसम क्षेत्र का मान शून्य है। | ||
यदि कोई भ्रष्टाचार नहीं है, तो चेकसम सहित संपूर्ण आईपी हेडर का योग करने का परिणाम शून्य होना चाहिए। प्रत्येक हॉप पर, चेकसम सत्यापित किया जाता है। चेकसम बेमेल वाले पैकेट को त्याग दिया जाता है। यदि राउटर आईपी हेडर | यदि कोई भ्रष्टाचार नहीं है, तो चेकसम सहित संपूर्ण आईपी हेडर का योग करने का परिणाम शून्य होना चाहिए। प्रत्येक हॉप पर, चेकसम सत्यापित किया जाता है। चेकसम बेमेल वाले पैकेट को त्याग दिया जाता है। यदि राउटर आईपी हेडर परिवर्तन होता है (जैसे टीटीएल को कम करते समय) इस प्रकार वह चेकसम को समायोजित करता है।<ref>{{cite IETF | ||
| title = Requirements for IP Version 4 Routers | | title = Requirements for IP Version 4 Routers | ||
| rfc = 1812 | | rfc = 1812 | ||
Line 32: | Line 37: | ||
| accessdate = 2009-10-27 | | accessdate = 2009-10-27 | ||
}}</ref> | }}</ref> | ||
प्रक्रिया को आरएफसी 1071 इंटरनेट चेकसम की गणना में विस्तार से समझाया गया है। | |||
<ref name="rfc1071">{{cite IETF | इस प्रकार प्रक्रिया को आरएफसी 1071 इंटरनेट चेकसम की गणना में विस्तार से समझाया गया है।<ref name="rfc1071">{{cite IETF | ||
| title = Computing the Internet Checksum | | title = Computing the Internet Checksum | ||
| rfc = 1071 | | rfc = 1071 | ||
}}</ref> | }}</ref> इंक्रीमेंटल अपडेट के माध्यम से इंटरनेट चेकसम की आरएफसी 1624 गणना में अनुकूलन प्रस्तुत किए गए हैं <ref name="rfc1624" /> (इरेटा के साथ), राउटर्स में स्थिति को कवर करने के लिए जिन्हें पैकेट अग्रेषण के समय हेडर चेकसम को फिर से गणना करने की आवश्यकता होती है जब केवल क्षेत्र बदल जाता है। | ||
(इरेटा के साथ), राउटर्स में | |||
==उदाहरण== | ==उदाहरण== | ||
===आईपीवी4 हेडर चेकसम की गणना=== | ===आईपीवी4 हेडर चेकसम की गणना=== | ||
IPv4 पैकेट का निम्नलिखित संक्षिप्त | IPv4 पैकेट का निम्नलिखित संक्षिप्त उद्धरण लेंते है। हेडर को बोल्ड में दिखाया गया है और चेकसम को रेखांकित किया गया है। | ||
<code>'''4500 0073 0000 4000 4011 <u>b861</u> c0a8 0001'''<br /></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 जोड़ दिया जाता है। | |||
चेकसम की गणना करने के लिए, हम पहले केवल चेकसम क्षेत्र को छोड़कर हेडर के अन्दर प्रत्येक 16 बिट मान के योग की गणना कर सकते हैं। ध्यान दें कि ये मान [[हेक्साडेसिमल]] नोटेशन में हैं।<br /><code>4500 + 0073 + 0000 + 4000 + 4011 + c0a8 + 0001 + c0a8 + 00c7 = 2479c</code><br /> | |||
पहला अंक कैरी काउंट है और इसे योग में जोड़ा जाता है:<br /><code>2 + 479c = 479e</code> | |||
(यदि इस जोड़ से और कैरी उत्पन्न होता है, तो योग में और 1 जोड़ा जाना चाहिए)<br />चेकसम प्राप्त करने के लिए हम इस परिणाम का पूरक लेते हैं: <code>b861</code> (जैसा कि मूल आईपी पैकेट हेडर में रेखांकित दिखाया गया है)। | |||
चेकसम प्राप्त करने के लिए हम इस परिणाम का पूरक लेते हैं: <code>b861</code> (जैसा कि मूल आईपी पैकेट हेडर में रेखांकित दिखाया गया है)। | |||
===आईपीवी4 हेडर चेकसम का सत्यापन=== | ===आईपीवी4 हेडर चेकसम का सत्यापन=== | ||
चेकसम को सत्यापित करते समय, ऊपर दी गई समान प्रक्रिया का उपयोग किया जाता है, सिवाय इसके कि मूल हेडर चेकसम को छोड़ा नहीं जाता है।<br/> | चेकसम को सत्यापित करते समय, ऊपर दी गई समान प्रक्रिया का उपयोग किया जाता है, सिवाय इसके कि मूल हेडर चेकसम को छोड़ा नहीं जाता है।<br/><code>4500 + 0073 + 0000 + 4000 + 4011 + b861 + c0a8 + 0001 + c0a8 + 00c7 = 2fffd</code><br/> | ||
<code>4500 + 0073 + 0000 + 4000 + 4011 + b861 + c0a8 + 0001 + c0a8 + 00c7 = 2fffd</code><br/> | |||
कैरी बिट्स जोड़ें:<br/> | कैरी बिट्स जोड़ें:<br /> | ||
<code>fffd + 2 = ffff</code><br/> | |||
इकाइयों का पूरक लेने (प्रत्येक बिट को फ़्लिप करने) से 0000 प्राप्त होता है, जो इंगित करता है कि कोई त्रुटि नहीं पाई गई है। | <code>fffd + 2 = ffff</code><br /> | ||
आईपी हेडर चेकसम हेडर के | |||
इकाइयों का पूरक लेने (प्रत्येक बिट को फ़्लिप करने) से 0000 प्राप्त होता है, जो इंगित करता है कि कोई त्रुटि नहीं पाई गई है। इस प्रकार आईपी हेडर चेकसम हेडर के अन्दर 16 बिट मानों के सही क्रम की जांच नहीं करता है। | |||
==यह भी देखें== | ==यह भी देखें== | ||
Line 71: | Line 71: | ||
* हेडर जांच अनुक्रम | * हेडर जांच अनुक्रम | ||
==संदर्भ== | ==संदर्भ == | ||
{{reflist}} | {{reflist}} | ||
== बाहरी संबंध == | == बाहरी संबंध == | ||
* [http://everything2.com/index.pl?node_id=441121 | * [http://everything2.com/index.pl?node_id=441121 हेडर Checksum] | ||
[[Category: त्रुटि का पता लगाना और सुधार करना]] [[Category: आईपीवी4|हेडर चेकसम]] | [[Category: त्रुटि का पता लगाना और सुधार करना]] [[Category: आईपीवी4|हेडर चेकसम]] | ||
Revision as of 10:16, 31 July 2023
इंटरनेट चेकसम,[1][2] जिसे IPv4 हेडर चेकसम, भी कहा जाता है, यह चेकसम है जिसका उपयोग IPv4 पैकेट के हेडर में भ्रष्टाचार का पता लगाने के लिए इंटरनेट प्रोटोकॉल (IPv4) के IPv4 में किया जाता है। इसे IPv4 या हेडर में ले जाया जाता है, और हेडर शब्दों के योग के 16-बिट परिणाम का प्रतिनिधित्व करता है।[3]
IPv6 प्रोटोकॉल हेडर चेकसम का उपयोग नहीं करता है। इसके डिजाइनरों ने माना कि प्वाइंट-टू-प्वाइंट प्रोटोकॉल और ईथरनेट जैसे प्रोटोकॉल में प्रदान की गई संपूर्ण-पैकेट लिंक परत चेकसमिंग, प्रसारण नियंत्रण प्रोटोकॉल और डेटाग्राम प्रोटेकॉलका उपयोग करें जैसे ऊपरी परत प्रोटोकॉल में चेकसम के उपयोग के साथ मिलकर पर्याप्त है।[4] इस प्रकार IPv6 राउटर को प्रत्येक हॉप पर हॉप सीमा काउंटर को कम करके उदाहरण के लिए जब भी पैकेट परिवर्तन होता है तो चेकसम को पुन: गणना करने के कार्य से राहत मिलती है।
उपयोगकर्ता डेटाग्राम प्रोटोकॉल या चेकसम गणना (डेटा पेलोड सहित) का पता लगाने के लिए इंटरनेट चेकसम अनिवार्य है।
इंटरनेट चेकसम का उपयोग 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.