Mari kita lihat cara Thread mengidentifikasi setiap perangkat dalam jaringan, dan jenis alamat yang digunakan untuk saling berkomunikasi.
Cakupan
Ada tiga cakupan dalam jaringan Thread untuk pengalamatan unicast:
- Link-Lokal — semua antarmuka dapat dijangkau oleh satu transmisi radio
- Mesh-Lokal — semua antarmuka dapat dijangkau dalam jaringan Thread yang sama
- Global — semua antarmuka dapat dijangkau dari luar jaringan Thread
Dua cakupan pertama sesuai dengan awalan yang ditetapkan oleh jaringan Thread.
Link-Local memiliki awalan fe80::/16, sedangkan Mesh-Local memiliki awalan
fd00::/8.
Unicast
Ada beberapa alamat unicast IPv6 yang mengidentifikasi satu perangkat Thread. Setiap cakupan memiliki fungsi yang berbeda berdasarkan cakupan dan kasus penggunaan.
Sebelum membahas setiap jenis secara mendetail, mari kita pelajari lebih lanjut jenis yang umum, yang disebut Routing Locator (RLOC). RLOC mengidentifikasi antarmuka Thread, berdasarkan lokasinya dalam topologi jaringan.
Cara Routing Locator dibuat
Semua perangkat diberi ID Router dan ID Turunan. Setiap Induk memelihara tabel semua Turunannya, yang kombinasinya secara unik mengidentifikasi perangkat dalam topologi. Misalnya, perhatikan node yang ditandai dalam topologi berikut, dengan angka dalam Mesh Extender (pentagon) adalah ID Router, dan angka dalam Perangkat Akhir (lingkaran) adalah ID Turunan:
Setiap ID Router Turunan sesuai dengan Induknya (Mesh Extender). Karena Mesh Extender bukan Turunan, ID Turunan untuk Mesh Extender selalu 0. Bersama-sama, nilai ini bersifat unik untuk setiap perangkat di jaringan Thread, dan digunakan untuk membuat RLOC16, yang merepresentasikan 16 bit terakhir RLOC.
Misalnya, berikut cara penghitungan RLOC16 untuk node kiri atas (Router ID = 1 dan Child ID = 1):
RLOC16 adalah bagian dari ID Antarmuka (IID), yang sesuai dengan 64 bit terakhir dari alamat IPv6. Beberapa IID dapat digunakan untuk mengidentifikasi beberapa jenis antarmuka Thread. Misalnya, IID untuk RLOC selalu dalam bentuk ini:
0000:00ff:fe00:RLOC16
IID, yang dikombinasikan dengan Awalan Mesh-Lokal, menghasilkan RLOC. Misalnya, menggunakan Awalan Lokal Mesh fde5:8dba:82e1:1::/64, RLOC untuk node dengan RLOC16 = 0x401 adalah:
Logika yang sama dapat digunakan untuk menentukan RLOC untuk semua node yang disorot dalam topologi sampel di atas:
Namun, karena RLOC didasarkan pada lokasi node dalam topologi, RLOC node dapat berubah seiring perubahan topologi.
Misalnya, node 0x400 dihapus dari jaringan Thread. Node 0x401 dan 0x402 membuat link baru ke Mesh Extender yang berbeda, dan sebagai hasilnya, masing-masing diberi RLOC16 dan RLOC baru:
Jenis alamat unicast
RLOC hanyalah salah satu dari banyak alamat unicast IPv6 yang dapat dimiliki perangkat Thread. Kategori alamat lainnya disebut ID Endpoint (EID), yang mengidentifikasi antarmuka Thread unik dalam partisi jaringan Thread. EID tidak bergantung pada topologi jaringan Thread.
Jenis unicast umum dijelaskan di bawah.
Alamat Link-Lokal (LLA) |
|
|---|---|
| EID yang mengidentifikasi antarmuka Thread yang dapat dijangkau oleh satu transmisi radio. | |
| Contoh | fe80::54db:881c:3845:57f4 |
| IID | Berdasarkan Alamat Lengkap 802.15.4 |
| Cakupan | Link-Lokal |
| Detail |
|
EID Lokal Jaringan (ML-EID) |
|
|---|---|
| EID yang mengidentifikasi antarmuka Thread, terlepas dari topologi jaringan. Digunakan untuk menjangkau antarmuka Thread dalam partisi Thread yang sama. Juga disebut Alamat Lokal Unik (ULA). | |
| Contoh | fde5:8dba:82e1:1:416:993c:8399:35ab |
| IID | Acak, dipilih setelah penugasan selesai |
| Cakupan | Mesh-Lokal |
| Detail |
|
Routing Locator (RLOC) |
|
|---|---|
| Mengidentifikasi antarmuka Thread, berdasarkan lokasinya dalam topologi jaringan. | |
| Contoh | fde5:8dba:82e1:1::ff:fe00:1001 |
| IID | 0000:00ff:fe00:RLOC16 |
| Cakupan | Mesh-Lokal |
| Detail |
|
Anycast Locator (ALOC) |
|
|---|---|
| Mengidentifikasi antarmuka Thread melalui pencarian RLOC, saat RLOC tujuan tidak diketahui. | |
| Contoh | fde5:8dba:82e1:1::ff:fe00:fc01 |
| IID | 0000:00ff:fe00:fcXX |
| Cakupan | Mesh-Lokal |
| Detail |
|
Alamat Unicast Global (GUA) |
|
|---|---|
| EID yang mengidentifikasi antarmuka Thread pada cakupan global, di luar jaringan Thread. | |
| Contoh | 2000::54db:881c:3845:57f4 |
| IID |
|
| Cakupan | Global |
| Detail |
|
Multicast
Multicast digunakan untuk mengomunikasikan informasi ke beberapa perangkat sekaligus. Di jaringan Thread, alamat tertentu dicadangkan untuk penggunaan multicast dengan berbagai grup perangkat, bergantung pada cakupannya.
| Alamat IPv6 | Cakupan | Terkirim ke |
|---|---|---|
ff02::1 |
Link-Lokal | Semua FTD dan MED |
ff02::2 |
Link-Lokal | Semua FTD |
ff03::1 |
Mesh-Lokal | Semua FTD dan MED |
ff03::2 |
Mesh-Lokal | Semua FTD |
Anda mungkin melihat bahwa Perangkat Akhir yang Tidur (SED) tidak disertakan sebagai penerima dalam tabel multicast di atas. Sebagai gantinya, Thread menentukan alamat multicast IPv6 berbasis awalan unicast cakupan link-lokal dan cakupan realm-lokal yang digunakan untuk Semua Node Thread, termasuk SED. Alamat multicast ini bervariasi menurut jaringan Thread, karena dibangun di awalan Mesh-Local unicast (lihat RFC 3306 untuk mengetahui detail selengkapnya tentang alamat multicast IPv6 berbasis awalan unicast).
Cakupan arbitrer di luar cakupan yang sudah tercantum juga didukung untuk perangkat Thread.
Anycast
Anycast digunakan untuk merutekan traffic ke antarmuka Thread saat RLOC
tujuan tidak diketahui. Anycast Locator (ALOC) mengidentifikasi lokasi beberapa antarmuka dalam partisi Thread. 16 bit terakhir ALOC, yang disebut ALOC16, menggunakan format 0xfcXX, yang merepresentasikan jenis ALOC.
Misalnya, ALOC16 antara 0xfc01 dan 0xfc0f dicadangkan untuk Agen DHCPv6. Jika RLOC Agen DHCPv6 tertentu tidak diketahui (mungkin karena
topologi jaringan telah berubah), pesan dapat dikirim ke ALOC Agen DHCPv6 untuk
mendapatkan RLOC.
Thread menentukan nilai ALOC16 berikut:
| ALOC16 | Jenis |
|---|---|
0xfc00 |
Posisi teratas |
0xfc01 – 0xfc0f |
DHCPv6 Agent |
0xfc10 – 0xfc2f |
Layanan |
0xfc30 – 0xfc37 |
Komisaris |
0xfc40 – 0xfc4e |
Agen Penemuan Tetangga |
0xfc38 – 0xfc3f0xfc4f – 0xfcff |
Direservasi |
Rangkuman
Yang telah Anda pelajari:
- Jaringan Thread terdiri dari tiga cakupan: Link-Lokal, Mesh-Lokal, dan Global
- Perangkat Thread memiliki beberapa alamat IPv6 unicast
- RLOC merepresentasikan lokasi perangkat dalam jaringan Thread
- ML-EID unik untuk perangkat Thread dalam partisi dan harus digunakan oleh aplikasi
- Thread menggunakan multicast untuk meneruskan data ke grup node
- Thread menggunakan anycast saat RLOC tujuan tidak diketahui
Untuk mempelajari lebih lanjut pengalamatan IPv6 Thread, lihat bagian 5.2 dan 5.3 dari Spesifikasi Thread.
Uji pemahaman Anda
ff03::2. Apa yang dapat kita ketahui tentang perangkat ini?ff03::2. Mereka melakukannya dalam cakupan Mesh-Local.