Alamat IPv6

Lihat sumber di GitHub

Mari kita lihat cara Thread mengidentifikasi setiap perangkat dalam jaringan, dan jenis alamat yang digunakan untuk saling berkomunikasi.

Cakupan

Cakupan OT

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:

Topologi RLOC OT

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):

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, 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:

OT RLOC

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

Topologi OT dengan Alamat

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:

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 Alamat Lengkap 802.15.4
CakupanLink-Lokal
Detail
  • Digunakan untuk menemukan tetangga, mengonfigurasi link, dan bertukar informasi perutean
  • Bukan alamat yang dapat dirutekan
  • Selalu memiliki awalan fe80::/16

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

Routing Locator (RLOC)

Mengidentifikasi antarmuka Thread, berdasarkan lokasinya dalam topologi jaringan.
Contohfde5:8dba:82e1:1::ff:fe00:1001
IID0000:00ff:fe00:RLOC16
CakupanMesh-Lokal
Detail
  • Dibuat setelah perangkat terhubung ke jaringan
  • Untuk mengirimkan datagram IPv6 dalam jaringan Thread
  • Berubah seiring perubahan topologi
  • Umumnya 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
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 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
0xfc010xfc0f DHCPv6 Agent
0xfc100xfc2f Layanan
0xfc300xfc37 Komisaris
0xfc400xfc4e Agen Penemuan Tetangga
0xfc380xfc3f
0xfc4f0xfcff
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

Tiga cakupan mana yang digunakan untuk pengalamatan unicast di jaringan Thread?
Pribadi
Salah.
Interface-Local
Salah.
Link-Lokal
Benar.
Site-Local
Salah.
Mesh-Lokal
Benar.
Global
Benar.
Apa artinya jika perangkat memiliki ID Anak 0?
Perangkat adalah Anak.
Salah.
Perangkat adalah Perangkat yang Kompatibel dengan Penguat Sinyal.
Hampir benar, tetapi salah.
Perangkat adalah Mesh Extender.
Benar. Mesh Extender selalu memiliki ID Turunan 0.
Kamera, yang merupakan node di 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. Acara ini tidak akan memengaruhi jaringan Thread.
Mesh Extender terputus dari jaringan.
Benar. Saat Mesh Extender keluar dari jaringan, topologi jaringan akan berubah, yang dapat menyebabkan perangkat mempromosikan dirinya menjadi Mesh Extender 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 dapat kita ketahui tentang perangkat ini?
Perangkat ini adalah Perangkat Akhir Minimal (MED).
Salah.
Ini adalah Perangkat Akhir Lengkap (FED).
Salah. (Petunjuk: Mungkin atau mungkin bukan FED.)
Perangkat ini adalah Perangkat Thread Minimal (MTD).
Salah.
Perangkat ini adalah Perangkat Thread Lengkap (FTD).
Benar. Hanya Perangkat Thread Lengkap yang berlangganan ke alamat multicast ff03::2. Mereka melakukannya dalam cakupan Mesh-Local.
Jenis pengalamatan dan perutean apa yang digunakan Thread untuk meneruskan data ke grup node?
{i>unicast<i}
Salah.
{i>anycast<i}
Salah.
multicast
Benar.
siaran
Salah.
Jenis pengalamatan dan perutean apa yang digunakan perangkat Thread saat RLOC penerima pesan yang dituju tidak diketahui?
unicast
Salah.
{i>anycast<i}
Benar. Anycast memungkinkan perangkat menjangkau node yang RLOC-nya tidak diketahui, dengan mengalamati ALOC perangkat.
multicast
Salah.
siaran
Salah.