Thread dan IPv6

Matter menggunakan IPv6 untuk komunikasi operasionalnya, dan memanfaatkan alamat IPv6 Unicast dan Multicast untuk mengakses Node dan Grupnya.

Daya Rendah

Beberapa Node Matter menggunakan kabel dan memiliki anggaran energi yang memungkinkannya menjaga radio terus aktif. Jenis Node lain seperti sensor memiliki persyaratan agar dapat berjalan selama bertahun-tahun dengan baterai, yang mengoperasikan radionya pada jaringan berdaya rendah seperti Thread. Arsitektur proxy, beserta Thread Sleepy End Devices, memungkinkan Node dengan daya penuh menyediakan fungsi tingkat jaringan dan tingkat aplikasi yang mengisolasi Node turunannya dari transaksi yang menggunakan banyak energi.

Aspek dasar Matter adalah berfungsi di media jaringan throughput tinggi seperti Wi-Fi dan Ethernet, tetapi juga pada latensi rendah dan bandwidth rendah, seperti Thread. Jika semua paket Multicast dari Wi-Fi dihubungkan ke Thread, kita akan membebani jaringan dan berpotensi membanjiri jaringan tersebut. Tujuan Thread adalah mengaktifkan IPv6 di jaringan mesh berdaya rendah dan berlatensi rendah, bukan transfer data bandwidth tinggi. Meskipun ping ICMPv6 Thread di jaringan lokal biasanya kurang dari beberapa puluhan milidetik RTT, total bandwidth-nya dibatasi hingga 250 kbps pada IEEE 802.15.4 PHY. Dengan transmisi ulang dan overhead paket, bandwidth maksimum biasanya sekitar 125 kbps. Dengan kata lain, urutan magnitudo yang lebih kecil daripada Wi-Fi.

Frame di IEEE 802.15.4 PHY berukuran 127 byte, tetapi unit transmisi maksimum (MTU) terbesar (dan umum) dari paket IPv6 di Thread adalah 1.280 byte. Oleh karena itu, paket IPv6 sering kali perlu dibagi menjadi beberapa frame PHY. Proses ini ditentukan oleh RFC4944.

Untuk mempelajari lebih lanjut, lihat Alamat IPv6 di Primer Thread di openthread.io.

Router Pembatas

Jadi, bagaimana Node dapat hidup berdampingan di kedua media transportasi saat berada di fabric yang sama? Meskipun kedua jaringan berbagi kredensial Matter level aplikasi, keduanya tidak berbagi teknologi link yang sama. Dalam skenario ini, jaringan memerlukan Thread Border Router (BR) untuk mengaktifkan konektivitas. BR adalah {i>Router<i} Stub IPv6.

Router Stub memungkinkan konektivitas antara jaringan stub dan jaringan reguler. Jaringan Stub adalah jaringan "mil terakhir" yang menyediakan konektivitas luar ke anggotanya, tetapi tidak berfungsi sebagai jalur jaringan transportasi umum di antara jaringan lain. Biasanya, Jaringan Stub Matter berbasis Thread. Lihat Draf RFC untuk informasi lebih lanjut tentang jaringan stub.

Oleh karena itu, BR bertanggung jawab untuk menjadi link antara Stub Network dan Adjacent Infrastructure Network, yang merupakan jaringan Wi-Fi atau Ethernet lokal. Pengujian ini hanya meneruskan paket yang relevan dengan jaringan Thread.

Proses ini dilakukan dengan menetapkan awalan IPv6 yang berbeda ke Thread dan Jaringan Infrastruktur yang Berdekatan. Dengan demikian, BR hanya meneruskan unicast ke atau dari awalan IPv6 Thread.

{i>Border Router<i} juga bertanggung jawab untuk:

  • mengonfigurasi awalan dan rute IPv6 secara otomatis untuk Thread dan Jaringan Infrastruktur yang Berdekatan sehingga host di kedua sisi router Border Thread dapat berkomunikasi.
  • memublikasikan paket penemuan DNS-SD mDNS atas nama Node Thread, sehingga dapat ditemukan di jaringan infrastruktur yang berdekatan.

Untuk mempelajari lebih lanjut, lihat panduan Router Pembatas di openthread.io.

Multicast IPv6

Pesan Grup juga penting karena memungkinkan kontrol simultan untuk beberapa Node Matter melalui Multicast. Untuk mengarahkan traffic ini ke jaringan Thread, Matter dan Thread mengimplementasikan Skema Pengalamatan Multicast IPv6 berbasis Awalan Unicast yang ditentukan oleh RFC 3306.

Metode ini memungkinkan pemilihan Node tujuan paket Multicast berdasarkan awalan Unicast IPv6 bersamanya.

Misalnya, alamat Matter Multicast mungkin terlihat seperti ini:

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

Tabel 1 menjelaskan bagaimana alamat ini dibuat:

Tabel 1: Unicast Alamat IPv6 berbasis awalan
Bit Deskripsi
12 bit 0xFF3
4 bit 0x05

Cakupan: site-local

8 bit 0x00

tersimpan

8 bit 0x40

Menunjukkan awalan panjang 64-bit

8 bit 0xFD

Menetapkan awalan ULA

56 bit ID Fabric
8 bit 0x00
16 bit ID Grup

Informasi selengkapnya dapat ditemukan di bagian Multicast Primer Thread dan RFC itu sendiri.

Saat Alamat Multicast IPv6 terbentuk, alamat tersebut juga menyertakan 56-bit atas dari Fabric ID. Implikasi pentingnya adalah cakupan Multicast berada dalam Fabric, sedangkan alamat Unicast digunakan bersama di antara Fabric. Node dengan banyak fabric berpotensi memiliki beberapa alamat Multicast yang menentukan Grup Node tumpang tindih yang dicakupkan pada setiap fabric.

Port

Matter menggunakan Port 5540 untuk Multicast-nya.