Mari kita lihat bagaimana Thread mengidentifikasi setiap perangkat dalam jaringan, dan apa jenis alamat yang mereka gunakan untuk berkomunikasi satu sama lain.
Cakupan
Ada tiga cakupan di jaringan Thread untuk pengalamatan unicast:
- Link-Local — semua antarmuka yang dapat dijangkau dengan satu transmisi radio
- Mesh-Local — semua antarmuka yang dapat dijangkau dalam jaringan Thread yang sama
- Global — semua antarmuka yang 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. Masing-masing memiliki fungsi yang berbeda berdasarkan ruang lingkup dan kasus penggunaannya.
Sebelum kita merinci setiap tipe, mari kita pelajari lebih lanjut tentang tipe umum, yang disebut Pencari Rute (RLOC). RLOC mengidentifikasi antarmuka Thread, berdasarkan berada di topologi jaringan.
Cara Pencari Rute dibuat
Semua perangkat diberi ID Router dan ID Turunan. Setiap {i>Router<i} menyimpan tabel semua Anak mereka, kombinasi yang secara unik mengidentifikasi perangkat dalam topologi. Misalnya, perhatikan node yang disorot di berikut ini, di mana jumlah dalam {i>Router<i} (pentagon) adalah {i>Router<i} ID, dan nomor di Perangkat Akhir (lingkaran) adalah ID Anak:
Setiap ID Router Turunan sesuai dengan Induknya (Router). Karena {i>Router<i} adalah bukan Turunan, ID Turunan untuk Router selalu 0. Bersama-sama, nilai-nilai ini unik untuk setiap perangkat dalam jaringan Thread, dan digunakan untuk membuat RLOC16, yang mewakili 16 bit terakhir RLOC.
Misalnya, berikut adalah cara RLOC16 dihitung untuk node kiri atas (Router ID = 1 dan ID Anak = 1):
RLOC16 adalah bagian dari Pengidentifikasi 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 Mesh-Local Prefix, akan menghasilkan RLOC. Misalnya,
menggunakan Mesh-Local Prefix dari fde5:8dba:82e1:1::/64
, RLOC untuk node tempat
RLOC16 = 0x401
adalah:
Logika yang sama ini dapat digunakan untuk menentukan RLOC bagi semua node yang disorot dalam topologi sampel di atas:
Namun, karena RLOC didasarkan pada lokasi {i>node<i} dalam topologi, RLOC {i>node<i} dapat berubah sesuai dengan perubahan topologi.
Misalnya, mungkin node 0x400
dihapus dari jaringan Thread. Node
0x401
dan 0x402
membuat link baru ke Router yang berbeda, dan akibatnya
mereka 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 yang unik dalam partisi jaringan Thread. EID adalah terlepas dari topologi jaringan Thread.
Jenis unicast umum dijelaskan di bawah ini.
{i>Link-Local Address<i} (LLA) |
|
---|---|
EID yang mengidentifikasi antarmuka Thread yang dapat dijangkau oleh satu transmisi radio. | |
Contoh | fe80::54db:881c:3845:57f4 |
IID | Berdasarkan 802.15.4 Alamat yang Diperpanjang |
Cakupan | Link-Lokal |
Detail |
|
EID Mesh-Lokal (ML-EID) |
|
---|---|
EID yang mengidentifikasi antarmuka Thread, terlepas dari topologi jaringan. Digunakan untuk menjangkau antarmuka Thread dalam partisi Thread yang sama. Juga disebut sebagai Alamat Lokal Unik (ULA). | |
Contoh | fde5:8dba:82e1:1:416:993c:8399:35ab |
IID | Acak, dipilih setelah komisi selesai |
Cakupan | Mesh-Lokal |
Detail |
|
Pencari Rute (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 |
|
Pencari Lokasi Anycast (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 |
|
{i>Multicast<i}
Multicast digunakan untuk mengomunikasikan informasi ke beberapa perangkat sekaligus. Di Jaringan Thread, alamat tertentu disediakan untuk penggunaan multicast dengan kelompok perangkat, tergantung dari 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 Mengantuk (SED) tidak disertakan sebagai penerima dalam tabel multicast di atas. Sebagai gantinya, Thread mendefinisikan link-local dan realm-local cakupan unicast awalan IPv6 multicast yang digunakan untuk Semua Node Thread, termasuk SED. Multicast ini alamat bervariasi menurut jaringan Thread, karena dibangun di atas {i>unicast<i} Awalan Mesh-Local (lihat RFC 3306 untuk detail selengkapnya tentang alamat multicast berbasis awalan unicast).
Cakupan arbitrer di luar yang sudah tercantum juga didukung untuk Thread perangkat.
Anycast
{i>Anycast<i} digunakan untuk merutekan lalu lintas ke antarmuka Thread ketika RLOC sebuah
tujuan tidak diketahui. {i>Anycast Locator<i} (ALOC) mengidentifikasi lokasi
beberapa antarmuka dalam
partisi Thread. 16 bit terakhir
dari ALOC,
yang disebut ALOC16, memiliki format 0xfcXX
, yang
mewakili jenis ALOC.
Misalnya, ALOC16 antara 0xfc01
dan 0xfc0f
dicadangkan untuk DHCPv6
Agen. Jika RLOC Agen DHCPv6 spesifik
tidak diketahui (mungkin karena
jaringan telah berubah), pesan dapat
dikirim ke Agen DHCPv6 (ALOC) untuk
mendapatkan RLOC.
Thread menentukan nilai ALOC16 berikut:
ALOC16 | Jenis |
---|---|
0xfc00 |
Posisi teratas |
0xfc01 – 0xfc0f |
Agen DHCPv6 |
0xfc10 – 0xfc2f |
Layanan |
0xfc30 – 0xfc37 |
Komisaris |
0xfc40 – 0xfc4e |
Agen Penemuan Tetangga |
0xfc38 – 0xfc3f 0xfc4f – 0xfcff |
Direservasi |
Rekap
Yang telah Anda pelajari:
- Jaringan Thread terdiri dari tiga cakupan: Link-Local, Mesh-Local, dan Global
- Perangkat Thread memiliki beberapa alamat IPv6 unicast
- RLOC mewakili lokasi perangkat di jaringan Thread
- ML-EID bersifat unik untuk perangkat Thread dalam partisi dan harus digunakan oleh aplikasi
- Thread menggunakan multicast untuk meneruskan data ke grup {i>node<i} dan {i>router<i}
- Thread menggunakan anycast saat RLOC tujuan tidak diketahui
Untuk mempelajari lebih lanjut tentang pengalamatan IPv6 Thread, lihat bagian 5.2 dan 5.3 dari Spesifikasi Thread.
Menguji pemahaman Anda
ff03::2
{i>multicast address<i}. Informasi apa yang dapat diketahui dari perangkat ini?ff03::2
. Mereka melakukannya di bagian {i>Mesh-Local<i}
ruang lingkup proyek.