Matter از IPv6 برای ارتباطات عملیاتی خود استفاده می کند و به ترتیب از آدرس دهی Unicast و Multicast IPv6 برای دسترسی به گره ها و گروه های خود استفاده می کند.
توان کم
برخی از گره های Matter سیمی هستند و دارای بودجه انرژی هستند که به آنها اجازه می دهد رادیوهای خود را به طور مداوم روشن نگه دارند. انواع دیگر گرهها مانند حسگرها برای کارکردن سالها با باتری، کارکرد رادیوهای خود در شبکههای کم مصرف مانند Thread ، الزاماتی دارند. معماری پروکسی، همراه با Thread Sleepy End Devices ، به گرههای پرقدرت اجازه میدهد تا هم عملکردی در سطح شبکه و هم در سطح برنامه ارائه دهند که گرههای فرزندشان را از تراکنشهای پر انرژی محافظت میکند.
یکی از جنبههای اساسی Matter این است که هم روی رسانههای شبکه با توان عملیاتی بالا مانند Wi-Fi و Ethernet کار میکند، بلکه روی شبکههای با تاخیر کم و پهنای باند کم مانند Thread نیز کار میکند. اگر همه بستههای Multicast از Wi-Fi به Thread متصل شوند، شبکه را بیش از حد بارگذاری میکنیم و به طور بالقوه آن را سیل میکنیم. هدف Thread فعال کردن IPv6 در شبکههای مش کم مصرف و تأخیر کم است، نه انتقال داده با پهنای باند بالا. در حالی که پینگ های ICMPv6 Thread در یک شبکه محلی معمولاً کمتر از چند ده میلی ثانیه RTT هستند، پهنای باند کل آن در IEEE 802.15.4 PHY به 250 کیلوبیت در ثانیه محدود می شود. با ارسال مجدد بسته و سربار، حداکثر پهنای باند معمولی حدود 125 کیلوبیت در ثانیه است. به عبارت دیگر، مرتبه های قدر کمتر از Wi-Fi.
فریمها در IEEE 802.15.4 PHY 127 بایت هستند، اما بزرگترین واحد انتقال (و معمولی) حداکثر واحد انتقال (MTU) بستههای IPv6 در Thread 1280 بایت است. بنابراین بسته های IPv6 اغلب باید به چندین فریم PHY تقسیم شوند. این فرآیند توسط RFC4944 تعریف شده است.
برای کسب اطلاعات بیشتر، به آدرس دهی IPv6 در Thread Primer در openthread.io مراجعه کنید.
روترهای مرزی
بنابراین چگونه گره ها می توانند در هر دو رسانه انتقال همزمان در یک پارچه وجود داشته باشند؟ اگرچه هر دو شبکه اعتبارنامه های Matter در سطح برنامه را به اشتراک می گذارند، اما فناوری پیوند یکسانی را به اشتراک نمی گذارند. در این سناریو، شبکه برای فعال کردن اتصال به Thread Border Router (BR) نیاز دارد. BR ها روترهای Stub IPv6 هستند.
مسیریابهای خرد امکان اتصال بین شبکههای خرد و شبکههای معمولی را فراهم میکنند. یک شبکه Stub یک شبکه "آخرین مایل" است که اتصال بیرونی را برای اعضای خود فراهم می کند، اما به عنوان مسیر شبکه ترانزیت بین شبکه های دیگر عمل نمی کند. به طور معمول، شبکه های Matter Stub مبتنی بر Thread هستند. برای اطلاعات بیشتر در مورد شبکه های خرد به پیش نویس RFC مراجعه کنید.
بنابراین BRها مسئولیت پیوند بین شبکه Stub و شبکه زیرساخت مجاور را دارند که شبکه محلی Wi-Fi یا اترنت است. آنها فقط بسته هایی را ارسال می کنند که مربوط به شبکه Thread هستند.
این فرآیند با تخصیص پیشوندهای مختلف IPv6 به Thread و شبکه های زیرساخت مجاور انجام می شود. بنابراین BR فقط unicast ها را به یا از پیشوند Thread IPv6 ارسال می کند.
مسیریابهای مرزی نیز مسئول موارد زیر هستند:
- به طور خودکار پیشوندها و مسیرهای IPv6 را برای شبکه های Thread و زیرساخت مجاور پیکربندی می کند تا میزبان ها در دو طرف روتر Thread Border بتوانند با هم ارتباط برقرار کنند.
- انتشار بستههای کشف mDNS DNS-SD از طرف Thread Nodes، تا بتوان آنها را در شبکه زیرساخت مجاور کشف کرد.
برای کسب اطلاعات بیشتر، به راهنمای Border Router در openthread.io مراجعه کنید.
IPv6 چندپخشی
پیام های گروهی نیز مهم هستند زیرا امکان کنترل همزمان چندین گره Matter را از طریق Multicast می دهند. برای هدایت این ترافیک به شبکه Thread ، هم Matter و هم Thread طرح آدرس دهی Multicast IPv6 مبتنی بر پیشوند Unicast که توسط RFC 3306 تعریف شده است، پیاده سازی می کنند.
این روش امکان انتخاب گره های مقصد یک بسته Multicast را بر اساس پیشوند مشترک IPv6 Unicast آنها فراهم می کند.
برای مثال، یک آدرس Multicast Matter ممکن است به شکل زیر باشد:
FF35:0040:FD<Fabric ID>00:<Group ID>
جدول 1 نحوه ساخت این آدرس را توضیح می دهد:
بیت ها | توضیحات |
12 بیت | 0xFF3 |
4 بیت | 0x05 محدوده: سایت-محلی |
8 بیت | 0x00 رزرو شده است |
8 بیت | 0x40 یک پیشوند طولانی 64 بیتی را نشان می دهد |
8 بیت | 0xFD یک پیشوند ULA تعیین می کند |
56 بیت | شناسه فابریک |
8 بیتی | 0x00 |
16 بیتی | شناسه گروه |
اطلاعات بیشتر را میتوانید در بخش Multicast Thread Primer و خود RFC پیدا کنید.
هنگامی که آدرس های Multicast IPv6 تشکیل می شوند، 56 بیت بالایی Fabric ID را نیز شامل می شوند. مفهوم مهم این است که دامنه Multicast در یک Fabric است، در حالی که آدرسهای Unicast بین Fabric به اشتراک گذاشته میشود. گرههایی با بافتهای زیاد به طور بالقوه میتوانند چندین آدرس Multicast داشته باشند که گروههای گرههای همپوشانی را در هر پارچه تعریف میکنند.
پورت ها
Matter از پورت 5540 برای Multicast خود استفاده می کند.