इंटरनेट चेकसम: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 21: Line 21:
| 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 45: Line 45:
===आईपीवी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>
<code>'''4500 0073 0000 4000 4011 <u>b861</u> c0a8 0001'''<br /></code><code>'''c0a8 00c7''' 0035 e97c 005f 279f 1e4b 8180</code>
Line 51: Line 50:
किसी के पूरक जोड़ के लिए, प्रत्येक बार जब कोई कैरी होता है, तो हमें योग में 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 जोड़ दिया जाता है।
किसी के पूरक जोड़ के लिए, प्रत्येक बार जब कोई कैरी होता है, तो हमें योग में 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 />
चेकसम की गणना करने के लिए, हम पहले केवल चेकसम क्षेत्र को छोड़कर हेडर के अन्दर प्रत्येक 16 बिट मान के योग की गणना कर सकते हैं। ध्यान दें कि ये मान [[हेक्साडेसिमल]] नोटेशन में हैं।<br /><code>4500 + 0073 + 0000 + 4000 + 4011 + c0a8 + 0001 + c0a8 + 00c7 = 2479c</code>


पहला अंक कैरी काउंट है और इसे योग में जोड़ा जाता है:<br /><code>2 + 479c = 479e</code>  
पहला अंक कैरी काउंट है और इसे योग में जोड़ा जाता है:<br /><code>2 + 479c = 479e</code>  
Line 58: Line 57:


===आईपीवी4 हेडर चेकसम का सत्यापन===
===आईपीवी4 हेडर चेकसम का सत्यापन===
चेकसम को सत्यापित करते समय, ऊपर दी गई समान प्रक्रिया का उपयोग किया जाता है, अतिरिक्त इसके कि मूल हेडर चेकसम को छोड़ा नहीं जाता है।<br/><code>4500 + 0073 + 0000 + 4000 + 4011 + b861 + c0a8 + 0001 + c0a8 + 00c7 = 2fffd</code><br/>
चेकसम को सत्यापित करते समय, ऊपर दी गई समान प्रक्रिया का उपयोग किया जाता है, अतिरिक्त इसके कि मूल हेडर चेकसम को छोड़ा नहीं जाता है।<br/><code>4500 + 0073 + 0000 + 4000 + 4011 + b861 + c0a8 + 0001 + c0a8 + 00c7 = 2fffd</code>


कैरी बिट्स जोड़ें:<br />
कैरी बिट्स जोड़ें:


<code>fffd + 2 = ffff</code><br />
<code>fffd + 2 = ffff</code>


इकाइयों का पूरक लेने (प्रत्येक बिट को फ़्लिप करने) से 0000 प्राप्त होता है, इस प्रकार जो संकेत करता है कि कोई त्रुटि नहीं पाई गई है। इस प्रकार आईपी ​​हेडर चेकसम हेडर के अन्दर 16 बिट मानों के सही क्रम की जांच नहीं करता है।
इकाइयों का पूरक लेने (प्रत्येक बिट को फ़्लिप करने) से 0000 प्राप्त होता है, इस प्रकार जो संकेत करता है कि कोई त्रुटि नहीं पाई गई है। इस प्रकार आईपी ​​हेडर चेकसम हेडर के अन्दर 16 बिट मानों के सही क्रम की जांच नहीं करता है।
Line 72: Line 71:
==संदर्भ                                                      ==
==संदर्भ                                                      ==
{{reflist}}
{{reflist}}
== बाहरी संबंध                                          ==
== बाहरी संबंध                                          ==
* [http://everything2.com/index.pl?node_id=441121 हेडर Checksum]
* [http://everything2.com/index.pl?node_id=441121 हेडर Checksum]

Revision as of 10:18, 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. 1.0 1.1 Computing the Internet Checksum. doi:10.17487/RFC1071. RFC 1071.
  2. 2.0 2.1 Computation of the Internet Checksum via Incremental Update. doi:10.17487/RFC1624. RFC 1624.
  3. IP Datagram General Format
  4. Iljitsch van Beijnum (September 2006). "IPv6 Internals". Cisco.
  5. "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.
  6. 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.
  7. "Compute 16-bit One's Complement Sum". Retrieved 2019-02-07.

बाहरी संबंध