OT CLI ile Ağ Verilerini Görüntüleme ve Yönetme

Kaynağı GitHub'da görüntüleyin

Thread Ağ Verileri, Sınır Yönlendiriciler ve Thread ağında kullanılabilen diğer sunucular hakkında bilgi içerir. Sınır Yönlendiriciler ve hizmet sunan cihazlar bilgilerini Lider'e kaydeder. Lider, bu bilgileri Thread Ağ Verileri içinde toplayıp yapılandırır ve bu bilgileri Thread Ağındaki tüm cihazlara dağıtır.

Sınır Yönlendiriciler, Thread ağına atanan ön ekleri ve rota sundukları ön ekleri kaydedebilir. Hizmetler, hizmetin kendisiyle alakalı tüm bilgileri kaydedebilir.

Sınır Yönlendirici ve hizmet bilgileri sabit veya geçici olabilir. Kararlı İleti Dizisi Ağ Verileri, Uykulu Cihazlar (SED'ler) dahil tüm cihazlara dağıtılır. Geçici Ağ Verileri, SED'ler hariç tüm düğümlere dağıtılır.

Ağ Verisi Komutları

netdata komutlarının listesi için help yazın:

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

full komut

full komutları, "net veri dolu" geri çağırmanın çağrılıp çağrılmadığını işaret durumunu bildirir veya işaret izlemeyi takip eder.

Bu komut için OPENPIN_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL gerekir.

length ve maxlength komutları

length komutu, bayt sayısı olarak bildirilen Thread Ağ Verilerinin geçerli uzunluğunu alır. maxlength komutları, gözlemlenen maksimum uzunluğu alır veya izlenen maksimum uzunluğu sıfırlar.

publish komut

Ağ Veri Yayıncısı, ağ verilerini izleyip girişlerin ne zaman ekleneceğini veya kaldırılacağını yöneterek, Thread Ağ Verileri'ndeki benzer Hizmet ve Önek (Mesh Örneği Öneki veya Harici Rota) girişlerinin sayısını sınırlamak için mekanizmalar sağlar.

Yayıncı için OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE gerekiyor.

Form ağı ve ön ek yapılandırma

  1. Yeni ağ yapılandırması oluşturun.

    dataset init new
    Done
    
  2. Ağ yapılandırmasını görüntüleyin.

    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. Yeni veri kümesini kalıcı olmayan depolama alanındaki Etkin Operasyonel Veri Kümesine atayın.

    dataset commit active
    Done
    
  4. Mesaj dizisi arayüzünü etkinleştirin

    ifconfig up
    Done
    thread start
    Done
    
  5. Thread arayüzüne atanan IPv6 adreslerini gösterin.

    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. Thread ağına atanmış bir IPv6 ön eki kaydedin.

    prefix add fd00:dead:beef:cafe::/64 paros med
    Done
    netdata register
    Done
    
  7. Thread Ağ Verilerini görüntüleyin.

    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
    

    Önekler ve rotalara bağımsız eşlemeler ve RLOC değeri dahildir.

    Hizmet kayıtları, otServerConfig::mStable belirtmek için mEnterpriseNumber, mServiceData, otServerConfig::mServerData ve s dahil olmak üzere otServiceConfig değerlerini içerir. RLOC, kaydın sonuna da eklenir.

  8. Bölümün Thread Ağ Verilerinin geçerli uzunluğunu bayt cinsinden görüntüleyin.

    netdata length
    23
    Done
    
  9. Ek önek dahil, Thread arayüzüne atanan IPv6 adreslerini gösterir.

    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
    

Mevcut ağa ekle

Bir cihazın Thread ağına eklenmesi için yalnızca Ağ Anahtarı gereklidir.

Gerekli olmasa da kanalın belirtilmesi, birden fazla kanalda arama yapma zorunluluğunu ortadan kaldırır. Böylece, ekleme işleminin hem gecikmesini hem de verimliliğini artırır.

Bir iş parçacığı iş parçacığı ağına başarıyla eklendikten sonra, etkin Operasyonel Veri Kümesinin tamamı alınır.

  1. Kısmi bir Etkin Operasyonel Veri Kümesi oluşturun.

    dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
    Done
    dataset commit active
    Done
    
  2. Mesaj dizisi arayüzünü etkinleştirin.

    ifconfig up
    Done
    thread start
    Done
    
  3. Mevcut ağa ekledikten sonra Thread Ağ Verilerini görüntüleyin.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    Services:
    Done
    
  4. Bölümün Thread Ağ Verilerinin geçerli uzunluğunu bayt cinsinden görüntüleyin.

    netdata length
    23
    Done
    
  5. Thread arayüzüne atanan IPv6 adreslerini gösterin.

    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
    

Hata ayıklama ve teşhis

Ağ Verilerinin boyutu 254 baytla sınırlıdır. Sınır Yönlendiricileri, Ağ Verilerine giriş (ör. ön ekler, rotalar veya hizmet girişleri) eklemeye devam ederse bağlantı dolabilir. Bu durumda, Sınır Yönlendiriciden yeni öğeler eklemeyle ilgili yeni istekler lider tarafından reddedilir veya yok sayılır. Öncü, reddedilme işlemini Sınır Yönlendiriciye bildirmez, bu nedenle Sınır Yönlendiricisi Ağ Verilerinin doldurulduğunu hemen fark etmeyebilir. Bununla birlikte, Ağ Verilerinin ne zaman dolacağını algılamanın bir yöntemi vardır.

Hem Sınır Yönlendiricilerde hem de öncüde uygulanan algılama yöntemi, bir geri çağırma API'si mekanizması kullanır ve Ağ Verileri dolu olduğunda kullanıcıların bilgilendirilmesini sağlar. Geri çağırma, eski ön ekleri veya hizmet girişlerini kaldırmak gibi işlemler yapmak için kullanılabilir. netdata full komutları, "net veri dolu" geri çağırmanın çağrılıp çağrılmadığını izleyen işaret için kullanılır. Bu komutlar işaretin durumunu bildirebilir veya sıfırlayabilir.

Thread'in tipik kullanım örneklerinde, birçok Sınır Yönlendirici'nin olduğu ve hepsi rota önekleri eklediği durumlarda bile Ağ Verilerinin tam olarak alınması mümkün olmamaktadır.

Ağ Verilerinin teknik olarak dolması teknik olarak mümkündür, ancak bu genellikle yanlış yapılandırmadan veya Sınır Yönlendiricideki bir sorundan kaynaklanır. netdata length ve netdata maxlength komutları, Network Data full hatalarının giderilmesine yardımcı olabilir. length, Ağ Verilerinin mevcut uzunluğunu bayt olarak bildirir, maxlength gözlemlenen maksimum uzunluğu alır ve izlenen maksimum uzunluğu sıfırlayabilir.