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

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 pemberian alamat unicast:

  • Link-Local — semua antarmuka yang dapat dijangkau oleh satu transmisi radio
  • Mesh-Local — semua antarmuka 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 cakupan dan kasus penggunaan.

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

Cara Pencari Rute dibuat

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

Topologi OT RLOC

Setiap ID Router Anak sesuai dengan Induknya (Router). Karena Router bukan Turunan, ID Anak untuk Router selalu 0. Nilai-nilai ini bersifat 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 (ID Rute = 1 dan ID Turunan = 1):

OT RLOC16

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, digabungkan dengan Awalan Lokal Mesh, menghasilkan RLOC. Misalnya, menggunakan Mesh-Local Prefix dari fde5:8dba:82e1:1::/64, RLOC untuk node dengan RLOC16 = 0x401 adalah:

OT RLOC

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

Topologi OT dengan Alamat

Namun, karena RLOC didasarkan pada lokasi node dalam topologi, RLOC node dapat berubah saat topologi berubah.

Misalnya, mungkin node 0x400 dihapus dari jaringan Thread. Node 0x401 dan 0x402 membuat link baru ke Router yang berbeda, dan akibatnya keduanya ditetapkan 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 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.

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

EID Mesh-Local (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).
Contohfde5:8dba:82e1:1:416:993c:8399:35ab
IIDAcak, yang dipilih setelah komisi selesai
CakupanMesh-Lokal
Detail
  • Tidak berubah seiring perubahan topologi
  • Harus digunakan oleh aplikasi
  • Selalu memiliki awalan fd00::/8

Pencari Lokasi Perutean (RLOC)

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

Pencari Lokasi Anycast (ALOC)

Mengidentifikasi antarmuka Thread melalui pencarian RLOC, ketika RLOC tujuan tidak diketahui.
Contohfde5:8dba:82e1:1::ff:fe00:fc01
IID0000:00ff:fe00:fcXX
CakupanMesh-Lokal
Detail
  • fcXX = Tujuan ALOC, yang mencari RLOC yang sesuai
  • Umumnya 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
IID
  • 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. Dalam jaringan Thread, alamat tertentu dicadangkan untuk penggunaan multicast dengan grup perangkat yang berbeda, bergantung pada cakupannya.

Alamat IPv6 Cakupan Terkirim ke
ff02::1 Tautkan Lokal Semua FTD dan MED
ff02::2 Tautkan Lokal Semua FTD
ff03::1 Mesh-Lokal Semua FTD dan MED
ff03::2 Mesh-Lokal Semua FTD

Anda mungkin menyadari bahwa Sleepy End Devices (SED) tidak disertakan sebagai penerima dalam tabel multicast di atas. Sebagai gantinya, Thread mendefinisikan alamat multicast IPv6 berbasis awalan link-local dan realm-local yang digunakan untuk Semua Node Thread, termasuk SED. Alamat multicast ini bervariasi menurut jaringan Thread, karena dibuat berdasarkan awalan Mesh-Local unicast (lihat RFC 3306 untuk detail selengkapnya tentang alamat multicast IPv6 berbasis awalan unicast).

Cakupan arbitrer di luar yang sudah tercantum juga didukung untuk perangkat Thread.

Anycast

Anycast digunakan untuk merutekan traffic ke antarmuka Thread saat RLOC tujuan tidak diketahui. Pencari Lokasi Anycast (ALOC) mengidentifikasi lokasi beberapa antarmuka dalam partisi Thread. 16 bit terakhir ALOC, disebut ALOC16, menggunakan 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 ALOC DHCPv6 untuk mendapatkan RLOC.

Thread menentukan nilai ALOC16 berikut:

ALOK16 Jenis
0xfc00 Posisi teratas
0xfc010xfc0f Agen DHCPv6
0xfc100xfc2f Layanan
0xfc300xfc37 Komisaris
0xfc400xfc4e Agen Neighbor Discovery
0xfc380xfc3f
0xfc4f0xfcff
Dengan fungsi khusus

Rangkuman

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

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

Menguji pemahaman Anda

Tiga cakupan mana yang digunakan untuk pemberian alamat unicast di jaringan Thread?
Privat
Salah.
Antarmuka-Lokal
Salah.
Tautkan Lokal
Tepat sekali.
Lokal-Situs
Salah.
Mesh-Lokal
Tepat sekali.
Global
Tepat sekali.
Apa artinya jika perangkat memiliki ID Anak 0?
Perangkatnya adalah Anak-anak.
Salah.
Perangkat ini adalah REED.
Hampir benar, tetapi salah.
Perangkat adalah Router.
Tepat sekali. Router selalu memiliki ID Anak 0.
Kamera, yang merupakan node di jaringan Thread, menerima RLOC16 dan RLOC baru. Manakah di antara 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.
Tepat sekali. Saat router keluar dari jaringan, topologi jaringan berubah, yang dapat mengakibatkan 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 ke alamat multicast ff03::2. Apa yang ditunjukkan data tentang perangkat tersebut?
Ini adalah Perangkat Akhir Minimal (MED).
Salah.
Ini adalah Perangkat Akhir Lengkap (FED).
Salah. (Petunjuk: Mungkin FED mungkin atau tidak.)
Ini adalah Perangkat Thread Minimal (MTD).
Salah.
Ini adalah Perangkat Thread Penuh (FTD).
Tepat sekali. Hanya Perangkat Thread Lengkap yang berlangganan alamat multicast ff03::2. Mereka melakukannya dalam cakupan Mesh-Local.
Apa jenis pemberian alamat dan pemilihan rute yang digunakan Thread untuk meneruskan data ke grup node dan router?
unicast
Salah.
Anycast
Salah.
multicast
Tepat sekali.
siarkan
Salah.
Apa jenis pemberian alamat dan pemilihan rute yang digunakan perangkat Thread saat RLOC penerima pesan yang dituju tidak diketahui?
unicast
Salah.
Anycast
Tepat sekali. Anycast memungkinkan perangkat menjangkau node yang RLOC-nya tidak diketahui, dengan menangani ALOC perangkat.
multicast
Salah.
siarkan
Salah.