IPv6 पता

GitHub पर स्रोत देखें

आइए देखें कि Thread नेटवर्क के हर डिवाइस की पहचान कैसे करता है और वे एक-दूसरे से किस तरह बातचीत करते हैं.

बंदूक पर लगने वाली दूरबीन

OT के दायरे

यूनिकोड के पते के लिए, थ्रेड नेटवर्क में तीन दायरे हैं:

  • लिंक-स्थानीय — सभी इंटरफ़ेस में एक ही रेडियो ट्रांसमिशन से पहुंचा जा सकता है
  • मेश-लोकल — सभी इंटरफ़ेस एक ही थ्रेड नेटवर्क में ऐक्सेस किए जा सकते हैं
  • ग्लोबल — सभी इंटरफ़ेस को थ्रेड नेटवर्क के बाहर से ऐक्सेस किया जा सकता है

पहले दो दायरे, थ्रेड के नेटवर्क से तय किए गए प्रीफ़िक्स के मुताबिक हैं. लिंक-लोकल में fe80::/16 के प्रीफ़िक्स हैं, जबकि मेश-लोकल में fd00::/8 के प्रीफ़िक्स हैं.

Unicast

ऐसे कई IPv6 यूनीकास्ट पते हैं जो एक थ्रेड डिवाइस की पहचान करते हैं. दायरे और इस्तेमाल के उदाहरण के आधार पर हर फ़ंक्शन का फ़ंक्शन अलग होता है.

इससे पहले कि हम हर तरह की जानकारी के बारे में बात करें, चलिए एक जैसे आम रूटीन के बारे में ज़्यादा जान पाते हैं. इसे रूटिंग लोकेटर (आरएलओसी) कहा जाता है. RLOC, नेटवर्क टोपोलॉजी में अपनी जगह के आधार पर, थ्रेड इंटरफ़ेस की पहचान करता है.

रूटिंग लोकेटर जनरेट करने का तरीका

सभी डिवाइसों को एक राऊटर आईडी और चाइल्ड आईडी दिया जाता है. हर राऊटर अपने सभी बच्चों का एक टेबल रखता है. यह टेबल वगैरह टोपोलॉजी में डिवाइस की खास तौर पर पहचान करता है. उदाहरण के लिए, नीचे दिए गए टोपोलॉजी में हाइलाइट किए गए नोड पर विचार करें, जहां राऊटर का नाम (पेटेंटन) राऊटर आईडी है और एंड डिवाइस (सर्कल) का नंबर चाइल्ड आईडी है:

OT RLOC टोपोलॉजी

हर बच्चे का राऊटर आईडी अपने पैरंट (रूटर) से जुड़ा होता है. राऊटर कोई बच्चा नहीं होता, इसलिए राऊटर का चाइल्ड आईडी हमेशा 0 होता है. कुल मिलाकर, ये मान थ्रेड नेटवर्क के हर डिवाइस के लिए अलग होते हैं और उनका इस्तेमाल RLOC16 बनाने के लिए किया जाता है, जो RLOC के आखिरी 16 बिट का प्रतिनिधित्व करता है.

उदाहरण के लिए, ऊपर-बाएं नोड के लिए RLOC16 की गिनती करने का तरीका यहां बताया गया है (रूटर आईडी = 1 और चाइल्ड आईडी = 1):

ओटीओएल16

RLOC16, इंटरफ़ेस पहचानकर्ता (IID) का हिस्सा है, जो कि IPv6 पते के आखिरी 64 बिट से मेल खाता है. कुछ IID का इस्तेमाल, थ्रेड इंटरफ़ेस के कुछ प्रकार की पहचान करने में किया जा सकता है. उदाहरण के लिए, आरएलओसी का आईआईडी हमेशा इस फ़ॉर्म में होता है:

0000:00ff:fe00:RLOC16

IID के साथ, मेश-लोकल प्रीफ़िक्स के साथ RLOC होता है. उदाहरण के लिए, fde5:8dba:82e1:1::/64 के मेश-लोकल प्रीफ़िक्स का इस्तेमाल करके, उस नोड के लिए आरएलओसी जहां RLOC16 = 0x401 है:

ओटीओएलसी

ऊपर दिए गए सैंपल टोपोलॉजी में हाइलाइट किए गए सभी नोड के लिए, आरएलओसी का पता लगाने के लिए यही लॉजिक इस्तेमाल किया जा सकता है:

ओटी टोपोलॉजी w/ पता

हालांकि, आरएलओसी टोपोलॉजी में नोड की जगह पर आधारित होती है. इसलिए, टोपोलॉजी के बदलने पर किसी नोड का आरएलसी बदल सकता है.

उदाहरण के लिए, शायद थ्रेड नेटवर्क से नोड 0x400 को हटाया जाए. नोड 0x401 और 0x402 अलग-अलग राऊटर के नए लिंक बनाते हैं. इस वजह से, दोनों को नए RLOC16 और RLOC असाइन किए जाते हैं:

बदलाव के बाद OT टोपोलॉजी

Unicast पते के प्रकार

RLOC, उन सभी IPv6 यूनिकोड कास्ट पतों में से एक है जिन्हें Thread डिवाइस में इस्तेमाल किया जा सकता है. पतों की एक और कैटगरी को एंडपॉइंट आइडेंटिफ़ायर (ईआईडी) कहा जाता है. ये आइडेंटिफ़ायर, थ्रेड नेटवर्क पार्टी में यूनीक थ्रेड इंटरफ़ेस की पहचान करते हैं. ईआईडी, थ्रेड नेटवर्क टोपोलॉजी से अलग हैं.

सामान्य यूनीकास्ट के बारे में ज़्यादा जानकारी नीचे दी गई है.

EID, जो ऐसे थ्रेड इंटरफ़ेस की पहचान करता है जिसे सिर्फ़ एक रेडियो ट्रांसमिशन से ऐक्सेस किया जा सकता है.
उदाहरणfe80::54db:881c:3845:57f4
आईआईडी802.15.4 एक्सटेंडेड पते के आधार पर
दायरालिंक-लोकल
जानकारी
  • पड़ोसियों को खोजने, लिंक कॉन्फ़िगर करने, और रूटिंग जानकारी के लिए उपयोग किया जाता है
  • राउटिंग पता नहीं है
  • हमेशा fe80::/16 का प्रीफ़िक्स होता है

मेश-लोकल ईआईडी (एमएल-ईआईडी)

एक ईआईडी, जो नेटवर्क टोपोलॉजी से अलग, थ्रेड इंटरफ़ेस की पहचान करता है. इसका इस्तेमाल उसी थ्रेड पार्टीशन में थ्रेड वाले इंटरफ़ेस तक पहुंचने के लिए किया जाता है. इसे यूनीक लोकल पता (यूएलए) भी कहा जाता है.
उदाहरणfde5:8dba:82e1:1:416:993c:8399:35ab
आईआईडीबिना किसी तय नियम के, कमीशन पूरा होने के बाद चुना गया
दायरामेश-लोकल
जानकारी
  • टोपोलॉजी बदलने पर नहीं बदलती
  • ऐप्लिकेशन को इस्तेमाल करना चाहिए
  • हमेशा fd00::/8 का प्रीफ़िक्स होता है

रूटिंग लोकेटर (RLOC)

नेटवर्क टोपोलॉजी में उसकी जगह के आधार पर, थ्रेड इंटरफ़ेस की पहचान करता है.
उदाहरणfde5:8dba:82e1:1::ff:fe00:1001
आईआईडी0000:00ff:fe00:RLOC16
दायरामेश-लोकल
जानकारी
  • डिवाइस के नेटवर्क से अटैच होने पर जनरेट होता है
  • किसी थ्रेड नेटवर्क में IPv6 डेटाग्राम डिलीवर करने के लिए
  • टोपोलॉजी बदलने के साथ-साथ बदलाव
  • आम तौर पर, ऐप्लिकेशन इसका इस्तेमाल नहीं करते हैं

Anycast Locator (ALOC)

जब किसी डेस्टिनेशन का आरएलसी न पता हो, तब आरएलओसी लुकअप के ज़रिए थ्रेड इंटरफ़ेस की पहचान करता है.
उदाहरणfde5:8dba:82e1:1::ff:fe00:fc01
आईआईडी0000:00ff:fe00:fcXX
दायरामेश-लोकल
जानकारी
  • fcXX = एएलओसी डेस्टिनेशन, जो सही आरएलओसी दिखता है
  • आम तौर पर, ऐप्लिकेशन इसका इस्तेमाल नहीं करते हैं

ग्लोबल यूनीकास्ट पता (GUA)

EID, जो थ्रेड नेटवर्क के अलावा, किसी ग्लोबल स्कोप पर थ्रेड इंटरफ़ेस की पहचान करता है.
उदाहरण2000::54db:881c:3845:57f4
आईआईडी
  • एसएलएसी — डिवाइस की ओर से किसी भी क्रम में असाइन किया जाता है
  • DHCP — DHCPv6 सर्वर से असाइन किया गया
  • मैन्युअल — ऐप्लिकेशन लेयर से असाइन किया गया
दायराहर जगह लागू
जानकारी
  • सार्वजनिक IPv6 पता
  • हमेशा 2000::/3 का प्रीफ़िक्स होता है

एक से ज़्यादा कास्ट वाले ऐप्लिकेशन

मल्टीकास्ट का इस्तेमाल एक साथ कई डिवाइस पर जानकारी देने के लिए किया जाता है. किसी थ्रेड नेटवर्क में, खास पतों के आधार पर डिवाइस के अलग-अलग ग्रुप के साथ खास कास्ट को मल्टीकास्ट के इस्तेमाल के लिए रिज़र्व किया जाता है.

IPv6 पता अनुमति देने का इन्हें डिलीवर किया गया
ff02::1 लिंक-लोकल सभी FTD और MED
ff02::2 लिंक-लोकल सभी एफ़टीपी
ff03::1 मेश-लोकल सभी FTD और MED
ff03::2 मेश-लोकल सभी एफ़टीपी

आप देख सकते हैं कि ऊपर दिए गए मल्टीकास्ट टेबल में, स्लीपी एंड डिवाइस (एसईडी) को पाने वाले व्यक्ति के तौर पर शामिल नहीं किया गया है. इसके बजाय, थ्रेड SEDs के साथ, सभी थ्रेड नोड के लिए इस्तेमाल किए जाने वाले लिंक-स्थानीय और रेलम-स्थानीय दायरे के यूनिकोड प्रीफ़िक्स के आधार पर IPv6 मल्टीकास्ट पते की जानकारी देता है. ये कई कास्ट करने वाले पते, Thread नेटवर्क के हिसाब से अलग-अलग होते हैं, क्योंकि इन्हें यूनिकोड के लिए बनाया गया है मेश-लोकल प्रीफ़िक्स (आरएफ़सी 3306 देखें और यूनिकोड का इस्तेमाल करने वाले IPv6 मल्टीकास्ट पतों के बारे में ज़्यादा जानकारी पाएं).

पहले से सूची में दिए गए दायरे के अलावा, मध्यस्थता के दायरे थ्रेड वाले डिवाइस पर भी काम करते हैं.

ऐनकास्ट

किसी भी डेस्टिनेशन का आरएलसी पता न होने पर, थ्रेड को इंटरफ़ेस पर ट्रैफ़िक भेजने के लिए, Cast का इस्तेमाल किया जाता है. Anycast Locator (ALOC) थ्रेड के सेगमेंट में कई इंटरफ़ेस की जगह की पहचान करता है. एएलओसी के आखिरी 16 बिट, जिन्हें एएलओसी1 कहा जाता है, 0xfcXX के फ़ॉर्मैट में होता है. यह ALOC का टाइप बताता है.

उदाहरण के लिए, 0xfc01 और 0xfc0f के बीच का एएलओसी1 DHCPv6 एजेंट के लिए रिज़र्व होता है. अगर किसी खास DHCPv6 एजेंट आरएलओसी के बारे में जानकारी नहीं है (शायद इसलिए क्योंकि नेटवर्क टोपोलॉजी बदल गई है), तो आरएलसी को पाने के लिए एक मैसेज DHCPv6 एजेंट एएलओसी को भेजा जा सकता है.

थ्रेड, नीचे दिए गए ALOC16 मानों के बारे में बताती है:

एएलओसी टाइप
0xfc00 आगे हैं
0xfc010xfc0f DHCPv6 एजेंट
0xfc100xfc2f सेवा
0xfc300xfc37 कमिश्नर
0xfc400xfc4e आस-पास के डिस्कवरी एजेंट
0xfc380xfc3f
0xfc4f0xfcff
बुक किया हुआ

Recap

आपने क्या #39 सीखा:

  • थ्रेड नेटवर्क के तीन दायरे होते हैं: लिंक-लोकल, मेश-लोकल, और ग्लोबल
  • किसी थ्रेड डिवाइस में कई यूनिकोड कास्ट IPv6 पते हैं
    • RLOC, थ्रेड नेटवर्क में डिवाइस का स्थान दिखाता है
    • ML-EID, पार्टीशन में थ्रेड वाले डिवाइस के लिए खास होता है. ऐप्लिकेशन में इसका इस्तेमाल होना चाहिए
  • थ्रेड, नोड और राऊटर के ग्रुप में डेटा फ़ॉरवर्ड करने के लिए मल्टीकास्ट का इस्तेमाल करता है
  • किसी डेस्टिनेशन का आरएलसी की जानकारी न होने पर थ्रेड किसी भी कास्ट का इस्तेमाल करता है

Thread's IPv6 के बारे में ज़्यादा जानने के लिए, थ्रेड से जुड़ी खास जानकारी के सेक्शन 5.2 और 5.3 को देखें.

अपनी समझ की जांच करना

किसी थ्रेड नेटवर्क में यूनीकास्ट के लिए किन तीन दायरों का इस्तेमाल किया जाता है?
निजी
गलत.
इंटरफ़ेस-स्थानीय
गलत.
लिंक-लोकल
सही.
साइट-स्थानीय
गलत.
मेश-लोकल
सही.
हर जगह लागू
सही.
किसी डिवाइस का चाइल्ड आईडी 0 होने पर, इसका क्या मतलब है?
डिवाइस एक बच्चा है.
गलत.
डिवाइस REED है.
बंद, लेकिन गलत.
डिवाइस एक राऊटर है.
सही. राऊटर का चाइल्ड आईडी हमेशा 0 होता है.
एक कैमरा, जो थ्रेड नेटवर्क पर एक नोड है, उसे नया RLOC16 और RLOC मिलता है. इनमें से किस इवेंट की वजह से ऐसा हुआ होगा?
किसी व्यक्ति ने दूर से कैमरे से इमेज डाउनलोड की हैं.
गलत. इस इवेंट का थ्रेड नेटवर्क पर कोई असर नहीं होगा.
नेटवर्क से एक राऊटर हटा दिया गया.
सही. जब कोई राऊटर किसी नेटवर्क को छोड़ देता है, तो नेटवर्क का टोपोलॉजी बदल जाता है. इसकी वजह से हो सकता है कि डिवाइस अपने-आप राऊटर पर प्रमोट हो जाए और एक नया आरएलओसी मिल जाए.
कैमरे ने स्लीप मोड में प्रवेश किया, जिसने नेटवर्क टोपोलॉजी को बदल दिया.
गलत. ज़रूरी नहीं है कि स्लीप मोड में जाने पर #39; डिवाइस को नया नेटवर्क पता मिले.
Thread नेटवर्क की सुविधा देने वाला कोई डिवाइस, ff03::2 के मल्टीकास्ट पते से सदस्यता लेता है. इससे हमें डिवाइस के बारे में क्या पता चलता है?
यह एक कम से कम एंड डिवाइस (एमईडी) है.
गलत.
यह एक फ़ुल एंड डिवाइस है (एफ़ईडी).
गलत. (संकेत: यह एफ़ईडी हो सकता है या नहीं भी.)
यह एक मिनी थ्रेड थ्रेड डिवाइस (एमटीडी) है.
गलत.
यह एक फ़ुल थ्रेड डिवाइस (एफ़टीडी) है.
सही. सिर्फ़ फ़ुल थ्रेड वाले डिवाइस, ff03::2 मल्टीकास्ट पते की सदस्यता लेते हैं. मेश-लोकल दायरे में ऐसा होता है.
नोड और राऊटर के ग्रुप को डेटा फ़ॉरवर्ड करने के लिए, थ्रेड किस तरह की एड्रेसिंग और रूटिंग का इस्तेमाल करता है?
यूनिकास्ट
गलत.
किसी भी कास्ट
गलत.
मल्टीकास्ट
सही.
ब्रॉडकास्ट
गलत.
जब थ्रेड के लिए मैसेज पाने वाले के आरएलसी की जानकारी नहीं होती, तब वह किस तरह की डीलिंग और रूटिंग का इस्तेमाल करता है?
यूनिकास्ट
गलत.
किसी भी कास्ट
सही. Anycast, डिवाइस को ऐसे नोड तक पहुंचने देता है जिसके RLOC की पहचान नहीं हो पाई. यह डिवाइस के AALOC को ठीक करता है.
मल्टीकास्ट
गलत.
ब्रॉडकास्ट
गलत.