Thread و IPv6

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 (BR) نیاز دارد. BRها روترهای Stub IPv6 هستند.

روترهای Stub امکان اتصال بین شبکه‌های Stub و شبکه‌های معمولی را فراهم می‌کنند. یک شبکه Stub یک شبکه "آخرین مایل" است که اتصال بیرونی را برای اعضای خود فراهم می‌کند، اما به عنوان مسیر شبکه ترانزیت بین شبکه‌های دیگر عمل نمی‌کند. معمولاً، شبکه‌های Matter Stub مبتنی بر Thread هستند. برای اطلاعات بیشتر در مورد شبکه‌های Stub به پیش‌نویس RFC مراجعه کنید.

بنابراین، BRها مسئولیت ایجاد ارتباط بین شبکه Stub و شبکه زیرساخت مجاور ، که همان شبکه محلی Wi-Fi یا اترنت است، را بر عهده دارند. آنها فقط بسته‌هایی را که مربوط به شبکه Thread هستند، ارسال می‌کنند.

این فرآیند با اختصاص پیشوندهای IPv6 مختلف به شبکه‌های Thread و زیرساخت مجاور انجام می‌شود. بنابراین، BR فقط یونی‌کست‌ها را به یا از پیشوند IPv6 Thread ارسال می‌کند.

روترهای مرزی همچنین مسئول موارد زیر هستند:

  • پیکربندی خودکار پیشوندها و مسیرهای IPv6 برای شبکه‌های زیرساخت Thread و Adjacent به گونه‌ای که میزبان‌های دو طرف روتر Thread Border بتوانند با هم ارتباط برقرار کنند.
  • انتشار بسته‌های کشف mDNS DNS-SD از طرف گره‌های Thread ، به طوری که بتوان آنها را در شبکه زیرساخت مجاور کشف کرد.

برای کسب اطلاعات بیشتر، به راهنمای Border Router در openthread.io مراجعه کنید.

IPv6 چندپخشی

پیام‌های گروهی نیز مهم هستند زیرا امکان کنترل همزمان چندین گره Matter را از طریق Multicast فراهم می‌کنند. برای هدایت این ترافیک به شبکه Thread ، Matter و Thread هر دو طرح آدرس‌دهی Multicast IPv6 مبتنی بر Unicast Prefix را که توسط RFC 3306 تعریف شده است، پیاده‌سازی می‌کنند.

این روش امکان انتخاب گره‌های مقصد یک بسته Multicast را بر اساس پیشوند مشترک IPv6 Unicast آنها فراهم می‌کند.

برای مثال، یک آدرس Matter Multicast ممکن است به این شکل باشد:

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

جدول ۱ نحوه ساخت این آدرس را شرح می‌دهد:

جدول ۱: آدرس‌های IPv6 مبتنی بر پیشوند Unicast
بیت‌ها توضیحات
۱۲ بیت 0xFF3
۴ بیت 0x05

محدوده: محلی-محلی

۸ بیت 0x00

رزرو شده

۸ بیت 0x40

یک پیشوند ۶۴ بیتی را نشان می‌دهد

۸ بیت 0xFD

یک پیشوند ULA را تعیین می‌کند

۵۶ بیت شناسه پارچه
۸ بیتی 0x00
۱۶ بیت شناسه گروه

اطلاعات بیشتر را می‌توانید در بخش Multicast از Thread Primer و در خود RFC بیابید.

وقتی آدرس‌های Multicast IPv6 تشکیل می‌شوند، شامل ۵۶ بیت بالایی شناسه Fabric نیز می‌شوند. نکته مهم این است که دامنه Multicast درون یک Fabric است، در حالی که آدرس‌های Unicast بین Fabricها به اشتراک گذاشته می‌شوند. گره‌هایی با Fabricهای زیاد می‌توانند به طور بالقوه چندین آدرس Multicast داشته باشند که گروه‌های گره همپوشانی را در هر Fabric تعریف می‌کنند.

بنادر

Matter از پورت ۵۵۴۰ برای Multicast های خود استفاده می‌کند.