Matter, अपने ऑपरेशनल कम्यूनिकेशन के लिए IPv6 का इस्तेमाल करता है. साथ ही, अपने नोड और ग्रुप को ऐक्सेस करने के लिए, IPv6 Unicast और Multicast दोनों का इस्तेमाल करता है.
कम पावर
कुछ Matter नोड वायर से जुड़े होते हैं और उनमें एनर्जी बजट होता है. इससे उनके रेडियो लगातार चालू रहते हैं. सेंसर जैसे अन्य नोड को बैटरी पर कई सालों तक काम करना होता है. इसके लिए, वे Thread जैसे कम पावर वाले नेटवर्क पर रेडियो ऑपरेट करते हैं. प्रॉक्सी आर्किटेक्चर और Thread स्लीपी एंड डिवाइस की मदद से, फ़ुल-पावर वाले नोड, नेटवर्क-लेवल और ऐप्लिकेशन-लेवल, दोनों तरह की सुविधाएं दे सकते हैं. इससे उनके चाइल्ड नोड, ज़्यादा बैटरी खर्च करने वाले ट्रांज़ैक्शन से सुरक्षित रहते हैं.
Matter की एक बुनियादी खासियत यह है कि यह वाई-फ़ाई और इथरनेट जैसे ज़्यादा थ्रूपुट वाले नेटवर्क मीडियम के साथ-साथ, Thread जैसे कम लेटेंसी और कम बैंडविथ वाले नेटवर्क मीडियम पर भी काम करता है. अगर वाई-फ़ाई से मिले सभी Multicast पैकेट को Thread में ब्रिज कर दिया जाता है, तो नेटवर्क पर बहुत ज़्यादा लोड पड़ जाएगा. साथ ही, हो सकता है कि नेटवर्क में बहुत ज़्यादा डेटा आ जाए. Thread का मकसद, कम पावर और कम समय में डेटा ट्रांसफ़र करने वाले मेश नेटवर्क में IPv6 को चालू करना है. इसका मकसद, ज़्यादा बैंडविड्थ वाले डेटा को ट्रांसफ़र करना नहीं है. लोकल नेटवर्क में Thread के ICMPv6 पिंग का आरटीटी आम तौर पर कुछ मिलीसेकंड होता है. हालांकि, IEEE 802.15.4 PHY पर इसका कुल बैंडविड्थ 250 केबीपीएस तक सीमित होता है. पैकेट को फिर से ट्रांसमिट करने और ओवरहेड के साथ, सामान्य तौर पर ज़्यादा से ज़्यादा बैंडविड्थ करीब 125 केबीपीएस होती है. दूसरे शब्दों में, यह वाई-फ़ाई से काफ़ी कम है.
IEEE 802.15.4 PHY पर फ़्रेम 127 बाइट के होते हैं. हालांकि, Thread में IPv6 पैकेट का सबसे बड़ा (और सामान्य) मैक्सिमम ट्रांसमिशन यूनिट (एमटीयू) 1280 बाइट होता है. इसलिए, IPv6 पैकेट को अक्सर कई पीएफ़वाई फ़्रेम में बांटना पड़ता है. इस प्रोसेस के बारे में RFC4944 में बताया गया है.
ज़्यादा जानने के लिए, Thread openthread.io पर IPv6 Addressing के बारे में जानकारी देखें.
बॉर्डर राऊटर
इसलिए, एक ही फ़ैब्रिक में रहते हुए, दोनों ट्रांसपोर्ट मीडियम पर नोड एक साथ कैसे काम कर सकते हैं? हालांकि, दोनों नेटवर्क ऐप्लिकेशन-लेवल के Matter क्रेडेंशियल शेयर करते हैं, लेकिन वे एक ही लिंक टेक्नोलॉजी का इस्तेमाल नहीं करते. इस स्थिति में, कनेक्टिविटी चालू करने के लिए नेटवर्क को Thread बॉर्डर राउटर (बीआर) की ज़रूरत होती है. बीआर, स्टब IPv6 राउटर होते हैं.
स्टब राऊटर, स्टब नेटवर्क और रेगुलर नेटवर्क के बीच कनेक्टिविटी चालू करते हैं. स्टब नेटवर्क एक "लास्ट-माइल" नेटवर्क होता है. यह अपने सदस्यों को बाहरी कनेक्टिविटी देता है, लेकिन यह अन्य नेटवर्क के बीच ट्रांज़िट नेटवर्क पाथ के तौर पर काम नहीं करता. आम तौर पर, Matter स्टब नेटवर्क Thread-आधारित होते हैं. स्टब नेटवर्क के बारे में ज़्यादा जानकारी के लिए, आरएफ़सी ड्राफ़्ट देखें.
इसलिए, बीआर की यह ज़िम्मेदारी होती है कि वे स्टब नेटवर्क और एडजेसेंट इंफ़्रास्ट्रक्चर नेटवर्क के बीच लिंक का काम करें. यह लोकल वाई-फ़ाई या ईथरनेट नेटवर्क होता है. ये सिर्फ़ उन पैकेट को फ़ॉरवर्ड करते हैं जो Thread नेटवर्क के लिए काम के होते हैं.
इस प्रोसेस को पूरा करने के लिए, Thread और आस-पास के इन्फ़्रास्ट्रक्चर नेटवर्क को अलग-अलग IPv6 प्रीफ़िक्स असाइन किए जाते हैं. इसलिए, बीआर सिर्फ़ Thread IPv6 प्रीफ़िक्स से यूनिकास्ट को फ़ॉरवर्ड करता है या उससे यूनिकास्ट को फ़ॉरवर्ड करता है.
बॉर्डर राऊटर इन कामों के लिए भी ज़िम्मेदार होते हैं:
- Thread और आस-पास के इन्फ़्रास्ट्रक्चर नेटवर्क, दोनों के लिए IPv6 प्रीफ़िक्स और रास्तों को अपने-आप कॉन्फ़िगर करता है, ताकि Thread बॉर्डर राऊटर के दोनों ओर मौजूद होस्ट कम्यूनिकेट कर सकें.
- Thread नोड की ओर से mDNS DNS-SD डिस्कवरी पैकेट पब्लिश करता है, ताकि उन्हें आस-पास के इंफ़्रास्ट्रक्चर नेटवर्क पर खोजा जा सके.
ज़्यादा जानने के लिए, openthread.io पर बॉर्डर राऊटर गाइड देखें.
IPv6 मल्टीकास्ट
ग्रुप मैसेज भी ज़रूरी होते हैं, क्योंकि इनकी मदद से Multicast के ज़रिए कई Matter नोड को एक साथ कंट्रोल किया जा सकता है. इस ट्रैफ़िक को Thread नेटवर्क में रूट करने के लिए, Matter और Thread दोनों, RFC 3306 में तय की गई Unicast प्रीफ़िक्स-आधारित IPv6 Multicast एड्रेसिंग स्कीम लागू करते हैं.
इस तरीके से, Multicast पैकेट के डेस्टिनेशन नोड को उनके शेयर किए गए IPv6 Unicast प्रीफ़िक्स के आधार पर चुना जा सकता है.
उदाहरण के लिए, Matter Multicast पता कुछ ऐसा दिख सकता है:
FF35:0040:FD<Fabric ID>00:<Group ID>
पहली टेबल में बताया गया है कि यह पता कैसे बनाया जाता है:
बिट | ब्यौरा |
12 बिट | 0xFF3 |
4 बिट | 0x05
स्कोप: साइट-लोकल |
8 बिट | 0x00
रिज़र्व किया गया |
8 बिट | 0x40
इससे 64-बिट लंबे प्रीफ़िक्स का पता चलता है |
8 बिट | 0xFD
यह यूएलए प्रीफ़िक्स तय करता है |
56 बिट | फ़ैब्रिक आईडी |
8-बिट | 0x00 |
16-बिट | ग्रुप आईडी |
ज़्यादा जानकारी के लिए, Thread प्राइमर के Multicast सेक्शन और आरएफ़सी पर जाएं.
IPv6 Multicast पते बनाते समय, उनमें फ़ैब्रिक आईडी के पहले 56 बिट भी शामिल होते हैं. इसका मतलब यह है कि Multicast का स्कोप, फ़ैब्रिक के अंदर होता है. वहीं, Unicast पते, फ़ैब्रिक के बीच शेयर किए जाते हैं. कई फ़ैब्रिक वाले नोड में, हर फ़ैब्रिक के लिए स्कोप किए गए ओवरलैपिंग नोड ग्रुप को तय करने वाले कई Multicast पते हो सकते हैं.
पोर्ट
Matter मल्टीकास्ट के लिए पोर्ट 5540 का इस्तेमाल करता है.