आइए, देखते हैं कि Thread नेटवर्क में हर डिवाइस की पहचान कैसे करता है. साथ ही, यह भी देखते हैं कि डिवाइस एक-दूसरे से कम्यूनिकेट करने के लिए किस तरह के पतों का इस्तेमाल करते हैं.
स्कोप
यूनिकास्ट पते के लिए, Thread नेटवर्क में तीन स्कोप होते हैं:
- लिंक-लोकल — सभी इंटरफ़ेस, एक रेडियो ट्रांसमिशन से पहुंच सकते हैं
- मेश-लोकल — सभी इंटरफ़ेस, एक ही थ्रेड नेटवर्क में पहुंच सकते हैं
- ग्लोबल — सभी इंटरफ़ेस, Thread नेटवर्क के बाहर से ऐक्सेस किए जा सकते हैं
पहले दो स्कोप, Thread नेटवर्क की ओर से तय किए गए प्रीफ़िक्स से मेल खाते हैं.
लिंक-लोकल में fe80::/16 प्रीफ़िक्स होते हैं, जबकि मेश-लोकल में fd00::/8 प्रीफ़िक्स होते हैं.
Unicast
ऐसे कई IPv6 यूनिकास्ट पते होते हैं जो एक ही Thread डिवाइस की पहचान करते हैं. स्कोप और इस्तेमाल के उदाहरण के आधार पर, हर फ़ंक्शन अलग-अलग काम करता है.
हम हर टाइप के बारे में विस्तार से बताएं, उससे पहले आइए एक सामान्य टाइप के बारे में ज़्यादा जानें. इसे राउटिंग लोकेटर (आरएलओसी) कहा जाता है. आरएलओसी, नेटवर्क टोपोलॉजी में मौजूद किसी थ्रेड इंटरफ़ेस की पहचान करता है.
राउटिंग लोकेटर कैसे जनरेट होता है
सभी डिवाइसों को एक राउटर आईडी और एक चाइल्ड आईडी असाइन किया जाता है. हर पैरंट, अपने सभी चाइल्ड की एक टेबल बनाए रखता है. इस टेबल में मौजूद जानकारी के आधार पर, टोपोलॉजी में किसी डिवाइस की पहचान की जाती है. उदाहरण के लिए, नीचे दी गई टोपोलॉजी में हाइलाइट किए गए नोड देखें. इनमें, मेश एक्सटेंडर (पंचभुज) में मौजूद संख्या, राउटर आईडी है. साथ ही, एंड डिवाइस (सर्कल) में मौजूद संख्या, चाइल्ड आईडी है:
हर चाइल्ड राउटर का आईडी, उसके पैरंट (मेश एक्सटेंडर) से जुड़ा होता है. मेश एक्सटेंडर, चाइल्ड डिवाइस नहीं होता. इसलिए, मेश एक्सटेंडर के लिए चाइल्ड आईडी हमेशा 0 होता है. ये वैल्यू, थ्रेड नेटवर्क में मौजूद हर डिवाइस के लिए यूनीक होती हैं. इनका इस्तेमाल RLOC16 बनाने के लिए किया जाता है. RLOC16, RLOC के आखिरी 16 बिट को दिखाता है.
उदाहरण के लिए, सबसे ऊपर बाईं ओर मौजूद नोड (राउटर आईडी = 1 और चाइल्ड आईडी = 1) के लिए, RLOC16 का हिसाब इस तरह लगाया जाता है:
आरएलओसी16, इंटरफ़ेस आइडेंटिफ़ायर (आईआईडी) का हिस्सा होता है. यह आईपीवी6 पते के आखिरी 64 बिट से मेल खाता है. कुछ आईआईडी का इस्तेमाल, थ्रेड इंटरफ़ेस के कुछ टाइप की पहचान करने के लिए किया जा सकता है. उदाहरण के लिए, RLOC के लिए IID हमेशा इस फ़ॉर्म में होता है:
0000:00ff:fe00:RLOC16
आईआईडी और मेश-लोकल प्रीफ़िक्स को मिलाकर, आरएलओसी बनता है. उदाहरण के लिए,
fde5:8dba:82e1:1::/64 के मेश-लोकल प्रीफ़िक्स का इस्तेमाल करके, उस नोड के लिए RLOC जहां
RLOC16 = 0x401 है:
ऊपर दिए गए सैंपल टोपोलॉजी में हाइलाइट किए गए सभी नोड के लिए, इसी लॉजिक का इस्तेमाल करके आरएलओसी का पता लगाया जा सकता है:
हालांकि, आरएलओसी टोपोलॉजी में नोड की जगह के हिसाब से तय होता है. इसलिए, टोपोलॉजी में बदलाव होने पर नोड का आरएलओसी बदल सकता है.
उदाहरण के लिए, हो सकता है कि नोड 0x400 को थ्रेड नेटवर्क से हटा दिया गया हो. नोड 0x401 और 0x402, अलग-अलग मेश एक्सटेंडर से नए लिंक बनाते हैं. इसलिए, हर नोड को नया RLOC16 और RLOC असाइन किया जाता है:
यूनिकास्ट पते के टाइप
आरएलओसी, Thread डिवाइस के पास मौजूद कई IPv6 यूनीकास्ट पतों में से सिर्फ़ एक है. पतों की दूसरी कैटगरी को एंडपॉइंट आइडेंटिफ़ायर (ईआईडी) कहा जाता है. ये किसी Thread नेटवर्क पार्टीशन में मौजूद यूनीक Thread इंटरफ़ेस की पहचान करते हैं. ईआईडी, Thread नेटवर्क टोपोलॉजी से अलग होते हैं.
यहां यूनिकास्ट के सामान्य टाइप के बारे में बताया गया है.
लिंक-लोकल पता (एलएलए) |
|
|---|---|
| ऐसा ईआईडी जो एक रेडियो ट्रांसमिशन से पहुंचने वाले थ्रेड इंटरफ़ेस की पहचान करता है. | |
| उदाहरण | fe80::54db:881c:3845:57f4 |
| IID | 802.15.4 एक्सटेंडेड पते के आधार पर |
| स्कोप | लिंक-लोकल |
| जानकारी |
|
मेश-लोकल ईआईडी (एमएल-ईआईडी) |
|
|---|---|
| यह एक ऐसा ईआईडी होता है जो नेटवर्क टोपोलॉजी से अलग, थ्रेड इंटरफ़ेस की पहचान करता है. इस कुकी का इस्तेमाल, एक ही थ्रेड पार्टीशन में थ्रेड इंटरफ़ेस तक पहुंचने के लिए किया जाता है. इसे यूनीक लोकल पता (यूएलए) भी कहा जाता है. | |
| उदाहरण | fde5:8dba:82e1:1:416:993c:8399:35ab |
| IID | रैंडम तरीके से चुना गया, कमीशनिंग पूरी होने के बाद |
| स्कोप | Mesh-Local |
| जानकारी |
|
रूटिंग लोकेटर (आरएलओसी) |
|
|---|---|
| यह नेटवर्क टोपोलॉजी में मौजूद थ्रेड इंटरफ़ेस की पहचान करता है. | |
| उदाहरण | fde5:8dba:82e1:1::ff:fe00:1001 |
| IID | 0000:00ff:fe00:RLOC16 |
| स्कोप | Mesh-Local |
| जानकारी |
|
Anycast Locator (ALOC) |
|
|---|---|
| यह कुकी, डेस्टिनेशन के RLOC की जानकारी न होने पर, RLOC लुकअप के ज़रिए थ्रेड इंटरफ़ेस की पहचान करती है. | |
| उदाहरण | fde5:8dba:82e1:1::ff:fe00:fc01 |
| IID | 0000:00ff:fe00:fcXX |
| स्कोप | Mesh-Local |
| जानकारी |
|
ग्लोबल यूनिकास्ट पता (GUA) |
|
|---|---|
| यह एक ऐसा ईआईडी होता है जो Thread नेटवर्क के अलावा, ग्लोबल स्कोप पर Thread इंटरफ़ेस की पहचान करता है. | |
| उदाहरण | 2000::54db:881c:3845:57f4 |
| IID |
|
| स्कोप | ग्लोबल |
| जानकारी |
|
मल्टीकास्ट
मल्टीकास्ट का इस्तेमाल, एक साथ कई डिवाइसों पर जानकारी भेजने के लिए किया जाता है. थ्रेड नेटवर्क में, मल्टीकास्ट के लिए कुछ पते रिज़र्व किए जाते हैं. इनका इस्तेमाल अलग-अलग ग्रुप के डिवाइसों के साथ किया जाता है. यह दायरा तय करने पर निर्भर करता है.
| IPv6 पता | दायरा | इन्हें डिलीवर किया गया |
|---|---|---|
ff02::1 |
लिंक-लोकल | सभी एफ़टीडी और एमईडी |
ff02::2 |
लिंक-लोकल | सभी एफ़टीडी |
ff03::1 |
Mesh-Local | सभी एफ़टीडी और एमईडी |
ff03::2 |
Mesh-Local | सभी एफ़टीडी |
आपको दिख सकता है कि ऊपर दी गई मल्टीकास्ट टेबल में, स्लीपी एंड डिवाइस (एसईडी) को पाने वाले के तौर पर शामिल नहीं किया गया है. इसके बजाय, थ्रेड लिंक-लोकल और रीऐल्म-लोकल स्कोप यूनिकास्ट प्रीफ़िक्स पर आधारित IPv6 मल्टीकास्ट पते को तय करता है. इसका इस्तेमाल सभी थ्रेड नोड के लिए किया जाता है. इनमें SED भी शामिल हैं. ये मल्टीकास्ट पते, थ्रेड नेटवर्क के हिसाब से अलग-अलग होते हैं. ऐसा इसलिए, क्योंकि यह यूनिकास्ट मेश-लोकल प्रीफ़िक्स पर आधारित होता है. यूनिकास्ट-प्रीफ़िक्स पर आधारित IPv6 मल्टीकास्ट पतों के बारे में ज़्यादा जानकारी के लिए, RFC 3306 देखें.
थ्रेड डिवाइसों के लिए, सूची में शामिल स्कोप के अलावा अन्य स्कोप भी इस्तेमाल किए जा सकते हैं.
एनीकास्ट
किसी डेस्टिनेशन के RLOC की जानकारी न होने पर, ट्रैफ़िक को Thread इंटरफ़ेस पर रूट करने के लिए एनीकास्ट का इस्तेमाल किया जाता है. Anycast Locator (ALOC), Thread पार्टीशन में मौजूद कई इंटरफ़ेस की लोकेशन की पहचान करता है. ALOC के आखिरी 16 बिट को ALOC16 कहा जाता है. यह 0xfcXX फ़ॉर्मैट में होता है, जो ALOC के टाइप को दिखाता है.
उदाहरण के लिए, 0xfc01 और 0xfc0f के बीच का ALOC16, DHCPv6 एजेंट के लिए रिज़र्व किया गया है. अगर किसी खास DHCPv6 एजेंट RLOC के बारे में जानकारी नहीं है (ऐसा शायद इसलिए है, क्योंकि नेटवर्क टोपोलॉजी बदल गई है), तो RLOC पाने के लिए, DHCPv6 एजेंट ALOC को मैसेज भेजा जा सकता है.
Thread, ALOC16 की इन वैल्यू को तय करता है:
| ALOC16 | टाइप |
|---|---|
0xfc00 |
लीडर |
0xfc01 – 0xfc0f |
DHCPv6 एजेंट |
0xfc10 – 0xfc2f |
सेवा |
0xfc30 – 0xfc37 |
कमिश्नर |
0xfc40 – 0xfc4e |
नेबर डिस्कवरी एजेंट |
0xfc38 – 0xfc3f0xfc4f – 0xfcff |
बुकिंग की गई |
रीकैप
आपने यह सीखा:
- Thread नेटवर्क में तीन स्कोप होते हैं: लिंक-लोकल, मेश-लोकल, और ग्लोबल
- किसी थ्रेड डिवाइस में कई यूनिकास्ट IPv6 पते होते हैं
- आरएलओसी, Thread नेटवर्क में किसी डिवाइस की जगह की जानकारी दिखाता है
- एमएल-ईआईडी, किसी पार्टीशन में मौजूद थ्रेड डिवाइस के लिए यूनीक होता है. इसका इस्तेमाल ऐप्लिकेशन को करना चाहिए
- थ्रेड, नोड के ग्रुप को डेटा फ़ॉरवर्ड करने के लिए मल्टीकास्ट का इस्तेमाल करता है
- जब डेस्टिनेशन का आरएलओसी पता नहीं होता है, तब थ्रेड, एनीकास्ट का इस्तेमाल करता है
Thread के IPv6 पते के बारे में ज़्यादा जानने के लिए, Thread स्पेसिफ़िकेशन के सेक्शन 5.2 और 5.3 देखें.
देखें कि आपको कितना समझ आया
ff03::2
मल्टीकास्ट पते की सदस्यता लेता है. इससे हमें डिवाइस के बारे में क्या पता चलता है?ff03::2 मल्टीकास्ट पते की सदस्यता लेते हैं. वे ऐसा Mesh-Local स्कोप में करते हैं.