Menampilkan dan Mengelola Data Jaringan dengan OT CLI

Lihat sumber di GitHub

Data Jaringan Thread berisi informasi tentang Border Router dan server lain yang tersedia di jaringan Thread. Border Router dan perangkat yang menawarkan layanan mendaftarkan informasinya kepada Pemimpin. Pemimpin mengumpulkan dan menyusun informasi ini dalam Data Jaringan Thread dan mendistribusikan informasi tersebut ke semua perangkat di Jaringan Thread.

Border Router dapat mendaftarkan awalan yang ditetapkan ke jaringan Thread dan awalan yang mereka tawarkan rutenya. Layanan dapat mendaftarkan informasi apa pun yang relevan dengan layanan itu sendiri.

Border Router dan informasi layanan dapat bersifat stabil atau sementara. Data Jaringan Thread Stabil didistribusikan ke semua perangkat, termasuk Sleepy End Devices (SED). Data Jaringan Sementara didistribusikan ke semua node kecuali SED.

Perintah Data Jaringan

Untuk daftar perintah netdata, ketik help:

netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done

Perintah full

Perintah full melaporkan status flag atau menahan pelacakan flag apakah callback "data bersih penuh" telah dipanggil.

Perintah ini memerlukan OPENminSdkVersion_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Perintah length dan maxlength

Perintah length mendapatkan panjang Data Jaringan Thread saat ini, yang dilaporkan sebagai jumlah byte. Perintah maxlength mendapatkan panjang maksimum yang diamati, atau mereset panjang maksimum yang dilacak.

Perintah publish

Penerbit Data Jaringan menyediakan mekanisme untuk membatasi jumlah entri Layanan dan Awalan (Awalan Mesh atau Rute Eksternal) yang serupa dalam Data Jaringan Thread dengan memantau data jaringan dan mengelola kapan harus menambahkan atau menghapus entri.

Penerbit memerlukan OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE.

Membentuk jaringan dan mengonfigurasi awalan

  1. Buat konfigurasi jaringan baru.

    dataset init new
    Done
    
  2. Menampilkan konfigurasi jaringan.

    dataset
    Active Timestamp: 1
    Channel: 13
    Channel Mask: 0x07fff800
    Ext PAN ID: d63e8e3e495ebbc3
    Mesh Local Prefix: fd3d:b50b:f96d:722d::/64
    Network Key: dfd34f0f05cad978ec4e32b0413038ff
    Network Name: OpenThread-8f28
    PAN ID: 0x8f28
    PSKc: c23a76e98f1a6483639b1ac1271e2e27
    Security Policy: 0, onrcb
    Done
    
  3. Meng-commit set data baru ke Set Data Operasional Aktif di penyimpanan non-volatile.

    dataset commit active
    Done
    
  4. Mengaktifkan antarmuka Thread

    ifconfig up
    Done
    thread start
    Done
    
  5. Menampilkan alamat IPv6 yang ditetapkan ke antarmuka Thread.

    ipaddr
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    
  6. Mendaftarkan awalan IPv6 yang ditetapkan ke jaringan Thread.

    prefix add fd00:dead:beef:cafe::/64 paros med
    Done
    netdata register
    Done
    
  7. Menampilkan Data Jaringan Thread.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    fd49:7770:7fc5:0::/64 s med 4000
    Services:
    44970 5d c000 s 4000
    44970 01 9a04b000000e10 s 4000
    Done
    

    Awalan dan rute mencakup pemetaan argumen dan nilai RLOC.

    Data layanan mencakup nilai otServiceConfig, termasuk mEnterpriseNumber, mServiceData, otServerConfig::mServerData, dan s untuk menunjukkan otServerConfig::mStable. RLOC juga ditambahkan ke akhir data.

  8. Menampilkan panjang Data Jaringan Thread Partition, dalam jumlah byte.

    netdata length
    23
    Done
    
  9. Menampilkan alamat IPv6 yang ditetapkan ke antarmuka Thread, termasuk awalan yang ditambahkan.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

Lampirkan ke jaringan yang ada

Hanya Kunci Jaringan yang diperlukan agar perangkat terpasang ke jaringan Thread.

Meskipun tidak wajib, menentukan saluran menghindari kebutuhan untuk melakukan penelusuran di beberapa saluran, sehingga meningkatkan latensi dan efisiensi proses pemasangan.

Setelah berhasil terhubung ke jaringan Thread, perangkat akan mengambil Set Data Operasional Aktif yang lengkap.

  1. Buat Set Data Operasional Aktif sebagian.

    dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
    Done
    dataset commit active
    Done
    
  2. Mengaktifkan antarmuka Thread.

    ifconfig up
    Done
    thread start
    Done
    
  3. Setelah terhubung ke jaringan yang ada, tampilkan Data Jaringan Thread.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    Services:
    Done
    
  4. Menampilkan panjang Data Jaringan Thread Partition, dalam jumlah byte.

    netdata length
    23
    Done
    
  5. Menampilkan alamat IPv6 yang ditetapkan ke antarmuka Thread.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

Proses debug & diagnostik

Data Jaringan memiliki ukuran terbatas sebesar 254 byte. Jika Border Router terus menambahkan entri (misalnya, awalan, rute, atau entri layanan) ke Data Jaringan, entri akan bersifat penuh. Jika hal ini terjadi, permintaan baru dari Router Border untuk menambahkan item baru akan ditolak atau diabaikan oleh pimpinan. Pemimpin tersebut tidak perlu menandakan penolakan ke Router Pembatas sehingga Router Border mungkin tidak segera menyadari bahwa Data Jaringan sudah penuh. Namun, ada metode yang tersedia untuk mendeteksi kapan Data Jaringan penuh.

Metode deteksi, yang diimplementasikan pada Border Router dan pemimpin, menggunakan mekanisme API callback dan memungkinkan pengguna untuk diberi tahu saat Data Jaringan penuh. Callback dapat digunakan untuk mengambil tindakan, seperti menghapus awalan atau entri layanan yang sudah tidak berlaku. Perintah netdata full digunakan untuk flag yang melacak apakah callback "data bersih penuh" telah dipanggil. Perintah ini dapat melaporkan status flag atau meresetnya.

Untuk kasus penggunaan standar Thread, kecil kemungkinan Data Jaringan akan penuh, bahkan dalam skenario ketika ada banyak Border Router dan semuanya menambahkan awalan rute.

Secara teknis, Data Jaringan dapat terisi penuh, tetapi sering kali ini disebabkan oleh kesalahan konfigurasi atau masalah pada Border Router. Perintah netdata length dan netdata maxlength dapat membantu men-debug error lengkap Data Jaringan. length mendapatkan panjang Data Jaringan saat ini, yang dilaporkan sebagai byte dan maxlength mendapatkan panjang maksimum yang diamati dan juga dapat mereset panjang maksimum yang dilacak.