Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Pemberian Alamat IPv6

Lihat sumber di GitHub

Mari kita lihat cara Thread mengidentifikasi setiap perangkat di jaringan, dan jenis alamat yang digunakan untuk berkomunikasi satu sama lain.

Teropong senjata api

Cakupan OT

Ada tiga cakupan di jaringan Thread untuk penanganan unicast:

  • Link-Local — semua antarmuka yang dapat dijangkau oleh 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 perangkat Thread tunggal. Masing-masing memiliki fungsi yang berbeda berdasarkan cakupan dan kasus penggunaan.

Sebelum merinci setiap jenis, mari kita pelajari lebih lanjut jenis yang umum, yang disebut Pencari Lokasi Perutean (RLOC). RLOC mengidentifikasi antarmuka Thread, berdasarkan lokasinya dalam topologi jaringan.

Cara Pemilihan Rute Pemilihan Rute dibuat

Semua perangkat diberi ID Router dan ID Anak. Setiap Router menyimpan tabel semua Turunannya, yang kombinasinya mengidentifikasi perangkat secara unik dalam topologi. Misalnya, pertimbangkan node yang ditandai dalam topologi berikut, dengan angka pada Router (pentagon) adalah ID Router, dan angka pada Perangkat Akhir (lingkaran) adalah ID Turunan:

Topologi OT RLOC

Setiap ID Router Turunan sesuai dengan Induk (Router). Karena Router bukan Turunan, ID Turunan untuk Router selalu 0. Bersama-sama, nilai ini unik untuk setiap perangkat di jaringan Thread, dan digunakan untuk membuat RLOC16, yang mewakili 16 bit terakhir RLOC.

Misalnya, berikut adalah cara menghitung RLOC16 untuk node kiri atas (ID Router = 1 dan ID Turunan = 1):

OT RLOC16

RLOC16 adalah bagian dari Interface Identifier (IID), yang sesuai dengan 64 bit terakhir 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-Local, menghasilkan RLOC. Misalnya, dengan menggunakan Awalan Mesh-Local fde5:8dba:82e1:1::/64, RLOC untuk node yang mana RLOC16 = 0x401 adalah:

OT RLOC

Logika yang sama ini dapat digunakan untuk menentukan RLOC untuk semua node yang disorot dalam topologi contoh di atas:

Topologi OT dengan Alamat

Namun, karena RLOC didasarkan pada lokasi node dalam topologi, RLOC node dapat berubah seiring dengan topologi yang berubah.

Misalnya, mungkin node 0x400 dihapus dari jaringan Thread. Node 0x401 dan 0x402 membuat link baru ke Router yang berbeda, dan akibatnya masing-masing ditetapkan ke RLOC16 dan RLOC baru:

Topologi OT setelah Perubahan

Jenis alamat Unicast

RLOC hanyalah salah satu dari banyak alamat unicast IPv6 yang dapat dimiliki perangkat Thread. Kategori alamat lain disebut Endpoint ID (EID), yang mengidentifikasi antarmuka Thread unik di dalam partisi jaringan Thread. EID tidak bergantung pada topologi jaringan Thread.

Jenis unicast yang umum dijelaskan secara mendetail di bawah.

EID yang mengidentifikasi antarmuka Thread yang dapat dijangkau oleh satu transmisi radio.
Contohfe80::54db:881c:3845:57f4
IDBerdasarkan 802.15.4 Alamat yang Diperpanjang
CakupanLink-Lokal
Detail
  • Digunakan untuk menemukan tetangga, mengonfigurasi link, dan bertukar informasi perutean
  • Bukan alamat yang dapat dirutekan
  • Selalu memiliki awalan fe80::/16

EID Mesh-Local (ML-EID)

EID yang mengidentifikasi antarmuka Thread, tidak bergantung pada topologi jaringan. Digunakan untuk menjangkau antarmuka Thread dalam partisi Thread yang sama. Juga disebut Alamat Lokal Unik (ULA).
Contohfde5:8dba:82e1:1:416:993c:8399:35ab
IDAcak, dipilih setelah komisioning selesai
CakupanMesh-Lokal
Detail
  • Tidak berubah saat topologi berubah
  • Harus digunakan oleh aplikasi
  • Selalu memiliki awalan fd00::/8

Pemilihan Rute Perutean (RLOC)

Mengidentifikasi antarmuka Thread, berdasarkan lokasinya di topologi jaringan.
Contohfde5:8dba:82e1:1::ff:fe00:1001
ID0000:00ff:fe00:RLOC16
CakupanMesh-Lokal
Detail
  • Dibuat setelah perangkat terhubung ke jaringan
  • Untuk mengirimkan datagram IPv6 dalam jaringan Thread
  • Perubahan saat topologi berubah
  • Biasanya tidak digunakan oleh aplikasi

Anycast Locator (ALOC)

Mengidentifikasi antarmuka Thread melalui pencarian RLOC, saat RLOC tujuan tidak diketahui.
Contohfde5:8dba:82e1:1::ff:fe00:fc01
ID0000:00ff:fe00:fcXX
CakupanMesh-Lokal
Detail
  • fcXX = Tujuan ALOC, yang mencari RLOC yang sesuai
  • Biasanya tidak digunakan oleh aplikasi

Alamat Unicast Global (GUA)

EID yang mengidentifikasi antarmuka Thread pada cakupan global, di luar jaringan Thread.
Contoh2000::54db:881c:3845:57f4
ID
  • SLAAC — Ditetapkan secara acak oleh perangkat itu sendiri
  • DHCP — Ditetapkan oleh server DHCPv6
  • Manual — Ditetapkan oleh lapisan aplikasi
CakupanGlobal
Detail
  • Alamat IPv6 publik
  • Selalu memiliki awalan 2000::/3

Multicast

Multicast digunakan untuk menyampaikan informasi ke beberapa perangkat sekaligus. Di jaringan Thread, alamat tertentu dicadangkan untuk penggunaan multicast dengan beberapa 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 Sleepy End Devices (SED) tidak disertakan sebagai penerima dalam tabel multicast di atas. Sebagai gantinya, Thread menentukan alamat multicast IPv6 berbasis awalan unicast yang bersifat link-local dan realm yang digunakan untuk Semua Thread Node, termasuk SED. Alamat multicast ini bervariasi menurut jaringan Thread, karena dibuat di awalan Mesh-Local unicast (lihat RFC 3306 untuk mengetahui detail lebih lanjut tentang 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. ALOC16, 16 bit terakhir ALOC, adalah dalam format 0xfcXX, yang mewakili jenis ALOC.

Misalnya, ALOC16 antara 0xfc01 dan 0xfc0f dicadangkan untuk Agen DHCPv6. Jika Agen RLOC DHCPv6 tertentu tidak diketahui (mungkin karena topologi jaringan telah berubah), pesan dapat dikirim ke Agen RLOC DHCPv6 untuk mendapatkan RLOC.

Thread menentukan nilai ALOC16 berikut:

ALOC16 Jenis
0xfc00 Posisi teratas
0xfc010xfc0f Agen DHCPv6
0xfc100xfc2f Layanan
0xfc300xfc37 Komisaris
0xfc400xfc4e Agen Pencari Tetangga
0xfc380xfc3f
0xfc4f0xfcff
Dengan fungsi khusus

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 merepresentasikan 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 node dan router
  • Thread menggunakan anycast saat RLOC tujuan tidak diketahui

Untuk mempelajari pengalamatan IPv6 Thread lebih lanjut, lihat bagian 5.2 dan 5.3 Spesifikasi Thread.

Memeriksa pemahaman Anda

Tiga cakupan manakah yang digunakan untuk pemberian alamat unicast di jaringan Thread?
Privat
Salah.
Antarmuka-Lokal
Salah.
Link-Lokal
Benar.
Situs-Lokal
Salah.
Mesh-Lokal
Benar.
Global
Benar.
Apa artinya jika perangkat memiliki ID Anak 0?
Perangkat tersebut adalah Turunan.
Salah.
Perangkat ini adalah REED.
Tutup, tetapi salah.
Perangkat adalah Router.
Benar. Router selalu memiliki ID Turunan 0.
Kamera, yang merupakan node pada jaringan Thread, menerima RLOC16 dan RLOC baru. Manakah dari peristiwa berikut yang mungkin menyebabkan hal ini?
Seseorang mendownload gambar dari kamera dari jarak jauh.
Salah. Peristiwa ini tidak akan berpengaruh pada jaringan Thread.
Router terputus dari jaringan.
Benar. Saat router beralih dari jaringan, topologi jaringan akan berubah, yang dapat menyebabkan perangkat mempromosikan dirinya sendiri ke router dan mendapatkan RLOC baru.
Kamera memasuki mode tidur, yang mengubah topologi jaringan.
Salah. Memasuki mode tidur tidak selalu menyebabkan perangkat menerima alamat jaringan baru.
Perangkat di jaringan Thread berlangganan alamat multicast ff03::2. Apa yang perangkat ini beri tahukan kepada kami?
Ini adalah Perangkat Akhir Minimal (MED).
Salah.
Ini adalah Perangkat Full End (FED).
Salah. (Petunjuk: Mungkin berupa FED atau bukan.)
Ini adalah Perangkat Thread Minimal (MTD).
Salah.
Ini adalah Perangkat Thread Lengkap (FTD).
Benar. Hanya Perangkat Thread Lengkap yang berlangganan alamat multicast ff03::2. Hal ini dilakukan di cakupan Mesh-Local.
Apa jenis pengalamatan dan pemilihan rute yang digunakan Thread untuk meneruskan data ke grup node dan router?
unicast
Salah.
Anycast
Salah.
multicast
Benar.
siarkan
Salah.
Apa jenis alamat dan perutean yang digunakan perangkat Thread saat RLOC penerima pesan yang dituju tidak diketahui?
unicast
Salah.
Anycast
Benar. Anycast memungkinkan perangkat menjangkau node yang RLOC-nya tidak diketahui, dengan menangani ALOC perangkat.
multicast
Salah.
siarkan
Salah.