IPv6 समाधान

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

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

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

OT के दायरे

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

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

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

Unicast

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

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

रूटिंग लोकेटर कैसे जनरेट किया जाता है

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

OT RLOC टॉपोलॉजी

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

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

ओटी आरएलओसी16

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

0000:00ff:fe00:RLOC16

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

ओटी आरएलसी

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

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

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

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

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

इस तरह का पता हटाएं

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

अलग-अलग तरह के यूनिकास्ट के बारे में नीचे जानकारी दी गई है.

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

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

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

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

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

एनीकास्ट लोकेटर (एएलओसी)

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

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

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

मल्टीकास्ट

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

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

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

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

एनीकास्ट

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

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

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

एएलसी16 टाइप
0xfc00 आगे हैं
0xfc010xfc0f DHCPवी6 एजेंट
0xfc100xfc2f सेवा
0xfc300xfc37 कमिश्नर
0xfc400xfc4e पड़ोसी खोज एजेंट
0xfc380xfc3f
0xfc4f0xfcff
रिज़र्व

सारांश

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

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

Thread के IPv6 पते के बारे में ज़्यादा जानने के लिए, Thread Specification के सेक्शन 5.2 और 5.3 देखें.

अपनी जानकारी की जांच करें

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