थ्रेड और IPv6

Matter अपने ऑपरेशनल कम्यूनिकेशन के लिए IPv6 का इस्तेमाल करता है. साथ ही, अपने नोड और ग्रुप को ऐक्सेस करने के लिए, IPv6 Unicast और Multicast दोनों तरह के पतों का इस्तेमाल करता है.

कम पावर

कुछ Matter नोड, वायर से कनेक्ट होते हैं. साथ ही, उनमें इतनी एनर्जी होती है कि वे अपने रेडियो को लगातार चालू रख सकें. सेंसर जैसे अन्य नोड को बैटरी पर कई सालों तक चलाने की ज़रूरत होती है. इसलिए, वे Thread जैसे कम पावर वाले नेटवर्क पर अपने रेडियो को ऑपरेट करते हैं. प्रॉक्सी आर्किटेक्चर और Thread स्लीपी एंड डिवाइस, की मदद से, पूरी पावर वाले नोड, नेटवर्क-लेवल और ऐप्लिकेशन-लेवल, दोनों तरह की सुविधाएं देते हैं. इससे, उनके चाइल्ड नोड को ज़्यादा एनर्जी वाले लेन-देन से बचाया जा सकता है.

Matter की एक अहम खासियत यह है कि यह वाई-फ़ाई और ईथरनेट जैसे हाई-थ्रूपुट नेटवर्क मीडियम के साथ-साथ, लो-लेटेंसी और लो-बैंडविथ नेटवर्क पर भी काम करता है, जैसे कि Thread. अगर वाई-फ़ाई से आने वाले सभी Multicast पैकेट को Thread में ब्रिज किया जाता है, तो नेटवर्क पर ज़्यादा लोड पड़ेगा और हो सकता है कि वह क्रैश हो जाए. Thread का मकसद, लो-पावर, लो-लेटेंसी वाले मेश नेटवर्किंग में IPv6 को चालू करना है. इसका मकसद, हाई-बैंडविथ डेटा ट्रांसफ़र करना नहीं है. आम तौर पर, लोकल नेटवर्क में Thread के ICMPv6 पिंग का आरटीटी कुछ दसियों मिलीसेकंड से कम होता है. हालांकि, इसका कुल बैंडविथ, 250 केबीपीएस पर IEEE 802.15.4 PHY तक सीमित होता है. पैकेट को फिर से ट्रांसमिट करने और ओवरहेड के साथ, आम तौर पर ज़्यादा से ज़्यादा बैंडविथ करीब 125 केबीपीएस होता है. दूसरे शब्दों में, यह वाई-फ़ाई से कई गुना कम है.

IEEE 802.15.4 PHY पर फ़्रेम 127 बाइट के होते हैं. हालांकि, IPv6 पैकेट की सबसे बड़ी (और आम तौर पर) ज़्यादा से ज़्यादा ट्रांसमिशन यूनिट (एमटीयू) Thread में 1280 बाइट होती है. इसलिए, IPv6 पैकेट को अक्सर कई PHY फ़्रेम में बांटना पड़ता है. इस प्रोसेस को RFC4944 में तय किया गया है.

ज़्यादा जानने के लिए, IPv6 पतों के बारे में जानकारी Thread Primer में openthread.io पर देखें.

बॉर्डर राऊटर

तो फिर, नोड एक ही फ़ैब्रिक में रहते हुए, दोनों ट्रांसपोर्ट मीडियम पर कैसे काम कर सकते हैं? हालांकि, दोनों नेटवर्क, ऐप्लिकेशन-लेवल के Matter क्रेडेंशियल शेयर करते हैं, लेकिन वे एक ही लिंक टेक्नोलॉजी शेयर नहीं करते. इस मामले में, कनेक्टिविटी चालू करने के लिए नेटवर्क को Thread बॉर्डर राऊटर (बीआर) की ज़रूरत होती है. बीआर, स्टब IPv6 राऊटर होते हैं.

स्टब राऊटर की मदद से, स्टब नेटवर्क और सामान्य नेटवर्क के बीच कनेक्टिविटी चालू की जा सकती है. स्टब नेटवर्क एक "लास्ट-माइल" नेटवर्क होता है. यह अपने सदस्यों को बाहरी कनेक्टिविटी देता है, लेकिन यह अन्य नेटवर्क के बीच ट्रांज़िट नेटवर्क पाथ के तौर पर काम नहीं करता. आम तौर पर, Matter स्टब नेटवर्क, Thread-आधारित होते हैं. स्टब नेटवर्क के बारे में ज़्यादा जानकारी के लिए, RFC ड्राफ़्ट देखें.

इसलिए, बीआर की ज़िम्मेदारी, स्टब नेटवर्क और एडजसेंट इन्फ़्रास्ट्रक्चर नेटवर्क के बीच लिंक बनना है. यह लोकल वाई-फ़ाई या ईथरनेट नेटवर्क होता है. ये सिर्फ़ उन पैकेट को फ़ॉरवर्ड करते हैं जो Thread नेटवर्क के लिए काम के होते हैं.

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

बॉर्डर राऊटर की ये ज़िम्मेदारियां भी होती हैं:

  • Thread और एडजसेंट इन्फ़्रास्ट्रक्चर नेटवर्क, दोनों के लिए IPv6 प्रीफ़िक्स और राउट को अपने-आप कॉन्फ़िगर करना, ताकि Thread बॉर्डर राऊटर के दोनों ओर मौजूद होस्ट कम्यूनिकेट कर सकें.Thread
  • Thread नोड की ओर से, mDNS DNS-SD डिस्कवरी पैकेट पब्लिश करना, ताकि उन्हें एडजसेंट इन्फ़्रास्ट्रक्चर नेटवर्क पर खोजा जा सके.

ज़्यादा जानने के लिए, बॉर्डर राऊटर की गाइड openthread.io पर देखें.

IPv6 मल्टीकास्ट

ग्रुप मैसेज भी अहम होते हैं, क्योंकि इनकी मदद से कई Matter नोड को Multicast के ज़रिए एक साथ कंट्रोल किया जा सकता है. इस ट्रैफ़िक को Thread नेटवर्क में रूट करने के लिए, दोनों Matter और Thread Unicast प्रीफ़िक्स-आधारित IPv6 Multicast एड्रेसिंग स्कीम को लागू करते हैं, जिसे RFC 3306 में तय किया गया है.

इस तरीके से, शेयर किए गए IPv6 Unicast प्रीफ़िक्स के आधार पर, Multicast पैकेट के डेस्टिनेशन नोड चुने जा सकते हैं.

उदाहरण के लिए, एक Matter Multicast पता इस तरह दिख सकता है:

FF35:0040:FD<Fabric ID>00:<Group ID>

टेबल 1 में बताया गया है कि यह पता कैसे बनाया जाता है:

टेबल 1: Unicast प्रीफ़िक्स-आधारित IPv6 पते
बिट ब्यौरा
12 बिट 0xFF3
4 बिट 0x05

स्कोप: साइट-लोकल

8 बिट 0x00

रिज़र्व है

8 बिट 0x40

इससे 64-बिट लंबे प्रीफ़िक्स का पता चलता है

8 बिट 0xFD

इससे ULA प्रीफ़िक्स का पता चलता है

56 बिट फ़ैब्रिक आईडी
8 बिट 0x00
16 बिट ग्रुप आईडी

ज़्यादा जानकारी के लिए, Multicast सेक्शन और Thread Primer और RFC देखें.

IPv6 Multicast पते बनाते समय, उनमें फ़ैब्रिक आईडी के पहले 56 बिट भी शामिल होते हैं. इसका मतलब है कि Multicast का स्कोप, फ़ैब्रिक के अंदर होता है. वहीं, Unicast पते, फ़ैब्रिक के बीच शेयर किए जाते हैं. कई फ़ैब्रिक वाले नोड में, कई Multicast पते हो सकते हैं. इनसे, हर फ़ैब्रिक पर स्कोप किए गए नोड ग्रुप ओवरलैप हो सकते हैं.

पोर्ट

Matter अपने मल्टीकास्ट के लिए पोर्ट 5540 का इस्तेमाल करता है.