Thread dan IPv6

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

Daya Rendah

Beberapa Matter Node menggunakan kabel dan memiliki anggaran energi yang memungkinkan mereka terus mengaktifkan radio. Jenis Node lainnya, seperti sensor, memiliki persyaratan untuk beroperasi selama bertahun-tahun dengan baterai, mengoperasikan radio mereka di jaringan berdaya rendah seperti Thread. Arsitektur proxy, bersama dengan Thread Perangkat Akhir Tidur, memungkinkan Node berdaya penuh menyediakan fungsi tingkat jaringan dan tingkat aplikasi yang mengisolasi Node turunan mereka dari transaksi yang menggunakan banyak energi.

Aspek mendasar dari Matter adalah bahwa Matter berfungsi pada media jaringan dengan throughput tinggi seperti Wi-Fi dan Ethernet, tetapi juga pada latensi rendah, bandwidth rendah, seperti Thread. Jika semua Multicast paket dari Wi-Fi dijembatani ke Thread, kita akan membebani jaringan secara berlebihan, dan berpotensi membanjirinya. Tujuan Thread adalah mengaktifkan IPv6 dalam jaringan mesh berdaya rendah, latensi rendah, bukan transfer data bandwidth tinggi. Meskipun Thread's ping ICMPv6 dalam jaringan lokal biasanya berada di bawah beberapa puluh milidetik RTT, total bandwidth-nya dibatasi hingga 250 kbps pada IEEE 802.15.4 PHY. Dengan transmisi ulang dan overhead paket, bandwidth maks yang umum adalah sekitar 125 kbps. Dengan kata lain, beberapa kali lebih rendah dari Wi-Fi.

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

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

Router Pembatas

Jadi, bagaimana Node dapat berjalan bersama di kedua media transportasi saat berada di fabric yang sama? Meskipun kedua jaringan berbagi kredensial Matter tingkat aplikasi, keduanya tidak berbagi teknologi link yang sama. Dalam skenario ini, jaringan memerlukan Thread Router Pembatas (BR) untuk mengaktifkan konektivitas. BR adalah Router IPv6 Stub.

Router Stub memungkinkan konektivitas antara jaringan stub dan jaringan reguler. Jaringan Stub adalah jaringan "last-mile" yang menyediakan konektivitas luar kepada anggotanya, tetapi tidak berfungsi sebagai jalur jaringan transit antara jaringan lain. Biasanya, Matter Jaringan Stub berbasis Thread. Lihat draf RFC untuk mengetahui informasi lebih lanjut tentang jaringan stub.

Oleh karena itu, BR memiliki tanggung jawab untuk menjadi link antara Jaringan Stub dan Jaringan Infrastruktur Berdekatan, yang merupakan jaringan Wi-Fi atau Ethernet lokal. BR hanya meneruskan paket yang relevan dengan jaringan Thread.

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

Router Pembatas juga bertanggung jawab untuk:

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

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

Multicast IPv6

Pesan GrupMatter juga penting karena memungkinkan kontrol simultan beberapa Node melalui Multicast. Untuk merutekan traffic ini ke jaringan Thread, Matter dan Matter Thread menerapkan Unicast Berbasis Awalan IPv6 Multicast Skema Pengalamatan yang ditentukan oleh RFC 3306.

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

Misalnya, alamat Matter Multicast mungkin terlihat seperti ini:

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

Tabel 1 menjelaskan cara alamat ini dibuat:

Tabel 1: Unicast Alamat IPv6 Berbasis Awalan
Bit Deskripsi
12 bit 0xFF3
4 bit 0x05

Cakupan: lokal situs

8 bit 0x00

tersimpan

8 bit 0x40

Menunjukkan awalan panjang 64-bit

8 bit 0xFD

Menentukan awalan ULA

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

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

Saat Alamat IPv6 Multicast dibentuk, alamat tersebut juga menyertakan 56 bit atas ID Fabric. Implikasi pentingnya adalah cakupan Multicast berada dalam Fabric, sedangkan Unicast alamat dibagikan antar-Fabric. Node dengan banyak fabric berpotensi memiliki beberapa alamat Multicast yang menentukan Grup Node yang tumpang-tindih yang dicakup di setiap fabric.

Port

Matter menggunakan Port 5540 untuk Multicast-nya.