Alamat IPv6

Lihat sumber di GitHub

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

Cakupan

Cakupan OT

Ada tiga cakupan dalam jaringan Thread untuk pemberian alamat 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 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 jenis lebih lanjut, mari pelajari lebih lanjut satu jenis, yang disebut Pemilih Lokasi (RLOC). RLOC mengidentifikasi antarmuka Thread, berdasarkan lokasinya di topologi jaringan.

Cara Pencari Pemilihan 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 disorot dalam topologi berikut, dengan angka di Router (pentagon) adalah ID Router, dan angka di Perangkat Akhir (lingkaran) adalah ID Turunan:

Topologi RLOC OT

Setiap ID Router Anak sesuai dengan Induknya (Router). Karena Router bukan merupakan Turunan, ID Turunan untuk Router selalu 0. Bersama-sama, 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 (ID Router = 1 dan ID Turunan = 1):

OT RLOC16

RLOC16 adalah bagian dari Interface Identifier (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 format ini:

0000:00ff:fe00:RLOC16

IID, yang dikombinasikan dengan Awalan Lokal-Mesh, menghasilkan RLOC. Misalnya, menggunakan Awalan Lokal-Mesh fde5:8dba:82e1:1::/64, RLOC untuk node dengan RLOC16 = 0x401 adalah:

OTK OT

Logika yang sama ini dapat digunakan untuk menentukan RLOC untuk semua node yang ditandai dalam contoh topologi 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 sebagai hasilnya keduanya 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 Identifier (EID), yang mengidentifikasi antarmuka Thread unik dalam partisi jaringan Thread. EID tidak bergantung pada topologi jaringan Thread.

Jenis unicast umum dijelaskan di bawah ini.

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 pemilihan rute
  • Bukan alamat yang dapat dirutekan
  • Selalu memiliki awalan fe80::/16

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

Pencari Rute (RLOC)

Mengidentifikasi antarmuka Thread, berdasarkan lokasinya di topologi jaringan.
Contohfde5:8dba:82e1:1::ff:fe00:1001
ID0000:00ff:fe00:RLOC16
CakupanLokal-Mesh
Detail
  • Dibuat 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
ID0000:00ff:fe00:fcXX
CakupanLokal-Mesh
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
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. Dalam jaringan Thread, alamat tertentu dicadangkan untuk penggunaan multicast dengan grup perangkat yang berbeda, bergantung pada cakupan.

Alamat IPv6 Cakupan Terkirim ke
ff02::1 Link Lokal Semua FTD dan MED
ff02::2 Link Lokal Semua FTD
ff03::1 Lokal-Mesh Semua FTD dan MED
ff03::2 Lokal-Mesh 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 link-local dan realm-local yang digunakan untuk Semua Node Thread, termasuk SED. Alamat multicast ini bervariasi menurut jaringan Thread, karena dibuat di awalan unish-Local unicast (lihat RFC 3306 untuk 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, memiliki format 0xfcXX, yang mewakili jenis ALOC.

Misalnya, ALOC16 antara 0xfc01 dan 0xfc0f dicadangkan untuk Agen DHCPv6. Jika Agen RLOC DHCPv6 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
0xfc010xfc0f Agen DHCPv6
0xfc100xfc2f Layanan
0xfc300xfc37 Komisaris
0xfc400xfc4e Agen Penemuan Tetangga
0xfc380xfc3f
0xfc4f0xfcff
Direservasi

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 pengalamatan IPv6 Thread lebih lanjut, lihat bagian 5.2 dan 5.3 dari Spesifikasi Thread.

Menguji pemahaman

Manakah tiga cakupan yang digunakan untuk pemberian alamat unicast dalam jaringan Thread?
Privat
Salah.
Antarmuka-Lokal
Salah.
Link Lokal
Benar.
Lokal Situs
Salah.
Lokal-Mesh
Benar.
Global
Benar.
Apa artinya jika perangkat memiliki ID Anak 0?
Perangkat ini adalah Child.
Salah.
Perangkat ini adalah REED.
Hampir benar.
Perangkatnya adalah Router.
Benar. Router selalu memiliki ID Anak 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 keluar 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 ke alamat multicast ff03::2. Apa informasi yang kita terima dari perangkat ini?
Ini adalah Perangkat Akhir Minimal (MED).
Salah.
Ini adalah Perangkat Akhir Penuh (FED).
Salah. (Petunjuk: FED tersebut mungkin atau mungkin tidak.)
Ini adalah Perangkat Rangkaian Pesan Minimal (MTD).
Salah.
Ini adalah Perangkat Rangkaian Lengkap (FTD).
Benar. Hanya Perangkat Thread Penuh yang berlangganan alamat multicast ff03::2. Hal ini dilakukan dalam 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.
siaran
Salah.
Apa jenis pengalamatan dan pemilihan rute yang digunakan perangkat Thread saat RLOC penerima pesan yang dimaksud tidak diketahui?
Unicast
Salah.
Anycast
Benar. Anycast memungkinkan perangkat untuk menjangkau node yang RLOC-nya tidak diketahui, dengan menangani ALOC perangkat.
multicast
Salah.
siaran
Salah.