Hiển thị và quản lý dữ liệu mạng bằng OT CLI

Xem nguồn trên GitHub

Dữ liệu mạng luồng chứa thông tin về Bộ định tuyến biên và các máy chủ khác có sẵn trong mạng Thread. Bộ định tuyến biên giới và thiết bị cung cấp dịch vụ đăng ký thông tin với Người lãnh đạo. Người lãnh đạo thu thập và xây dựng cấu trúc thông tin này trong Dữ liệu mạng Thread và phân phối thông tin cho tất cả thiết bị trong Thread Network.

Bộ định tuyến biên có thể đăng ký tiền tố được gán cho mạng Thread và các tiền tố mà chúng cung cấp tuyến đường. Dịch vụ có thể đăng ký bất kỳ thông tin nào có liên quan đến chính dịch vụ đó.

Bộ định tuyến biên giới và thông tin dịch vụ có thể ổn định hoặc tạm thời. Luồng ổn định Dữ liệu mạng được phân phối cho tất cả các thiết bị, bao gồm cả Thiết bị cuối đang ngủ (SED). Dữ liệu mạng tạm thời được phân phối cho tất cả các nút, ngoại trừ SED.

Lệnh dữ liệu mạng

Để xem danh sách các lệnh netdata, hãy nhập help:

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

Lệnh full

Các lệnh full báo cáo trạng thái gắn cờ hoặc đăng ký lại tính năng theo dõi cờ "dữ liệu ròng đầy" đã được gọi.

Lệnh này yêu cầu phải có giá trị OpenGL_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Lệnh lengthmaxlength

Lệnh length lấy độ dài hiện tại của Thread Network Data (Dữ liệu mạng Thread) được báo cáo dưới dạng số byte. Các lệnh maxlength có độ dài tối đa quan sát được, hoặc đặt lại thời lượng tối đa được theo dõi.

Lệnh publish

Nhà xuất bản dữ liệu mạng cung cấp cơ chế để giới hạn số lượng dữ liệu tương tự Các mục nhập Dịch vụ và tiền tố (Tiền tố trên lưới hoặc Tuyến bên ngoài) trong chuỗi Dữ liệu mạng bằng cách giám sát dữ liệu mạng và quản lý thời điểm cần thêm hoặc xoá mục nhập.

Nhà xuất bản yêu cầu OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE.

Tạo mạng lưới và định cấu hình tiền tố

  1. Tạo cấu hình mạng mới.

    dataset init new
    Done
    
  2. Hiển thị cấu hình mạng.

    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. Xác nhận tập dữ liệu mới vào Tập dữ liệu hoạt động đang hoạt động ở trạng thái không biến động bộ nhớ.

    dataset commit active
    Done
    
  4. Bật giao diện Thread

    ifconfig up
    Done
    thread start
    Done
    
  5. Hiển thị địa chỉ IPv6 được gán cho giao diện 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. Đăng ký một tiền tố IPv6 được gán cho mạng Thread.

    prefix add fd00:dead:beef:cafe::/64 paros med
    Done
    netdata register
    Done
    
  7. Hiển thị dữ liệu mạng chuỗi.

    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
    

    Tiền tố và tuyến bao gồm ánh xạ đối số và giá trị rlOC.

    Hồ sơ dịch vụ bao gồm otServiceConfig các giá trị, bao gồm mEnterpriseNumber, mServiceData, otServerConfig::mServerDatas để cho biết otServerConfig::mStable. rlOC cũng được thêm vào cuối đoạn mã ghi lại.

  8. Hiển thị độ dài hiện tại, tính bằng số byte, của Mạng Thread của Phân vùng Dữ liệu.

    netdata length
    23
    Done
    
  9. Hiển thị địa chỉ IPv6 được gán cho giao diện Thread, bao gồm đã thêm tiền tố.

    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
    

Đính kèm vào mạng hiện có

Thiết bị chỉ cần có Khoá mạng để đính kèm vào mạng Thread.

Mặc dù không bắt buộc, việc chỉ định kênh sẽ giúp bạn tránh phải tìm kiếm trên nhiều kênh, cải thiện cả độ trễ và hiệu quả của quá trình đính kèm.

Sau khi thiết bị đã đính kèm thành công vào mạng Thread, thiết bị sẽ truy xuất Tập dữ liệu hoạt động đang hoạt động hoàn chỉnh.

  1. Tạo một tập dữ liệu hoạt động đang hoạt động một phần.

    dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
    Done
    dataset commit active
    Done
    
  2. Bật giao diện Thread.

    ifconfig up
    Done
    thread start
    Done
    
  3. Sau khi đính kèm vào mạng hiện có, hãy hiện Thread Network Data (Dữ liệu mạng Thread).

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    Services:
    Done
    
  4. Hiển thị độ dài hiện tại, tính bằng số byte, của Mạng Thread của Phân vùng Dữ liệu.

    netdata length
    23
    Done
    
  5. Hiển thị địa chỉ IPv6 được gán cho giao diện 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
    

Gỡ lỗi & chẩn đoán

Dữ liệu mạng có kích thước giới hạn là 254 byte. Nếu Bộ định tuyến biên tiếp tục thêm mục nhập (ví dụ: tiền tố, tuyến hoặc mục nhập dịch vụ) vào Dữ liệu mạng mà mục nhập đó có thể bị đầy. Khi điều này xảy ra, các yêu cầu mới từ Bộ định tuyến biên để thêm mục sẽ bị người lãnh đạo từ chối hoặc bỏ qua. Người lãnh đạo không nhất thiết phải báo hiệu sự từ chối tới Bộ định tuyến biên để Bộ định tuyến biên có thể không nhận ra ngay rằng Dữ liệu mạng đang đầy. Tuy nhiên, có một có sẵn để phát hiện khi nào Dữ liệu mạng bị đầy.

Phương thức phát hiện được triển khai trên cả Bộ định tuyến biên và bộ định tuyến biên, sử dụng cơ chế API gọi lại và cho phép người dùng được thông báo khi Dữ liệu mạng được đầy. Bạn có thể sử dụng lệnh gọi lại để thực hiện hành động, chẳng hạn như xoá các tiền tố cũ hoặc các mục nhập dịch vụ. Các lệnh netdata full được dùng để gắn cờ theo dõi liệu "dữ liệu ròng đã đầy" đã được gọi. Các lệnh này có thể báo cáo hoặc đặt lại trạng thái của cờ.

Đối với các trường hợp sử dụng thông thường của Thread, ít có khả năng Dữ liệu mạng sẽ nhận được đầy đủ, ngay cả trong trường hợp có nhiều Bộ định tuyến biên giới và chúng thêm tiền tố tuyến.

Dữ liệu mạng có thể đầy về mặt kỹ thuật, tuy nhiên điều này thường xảy ra do cấu hình sai hoặc có sự cố trên Bộ định tuyến biên giới. netdata lengthnetdata maxlength đều có thể giúp gỡ lỗi toàn bộ Dữ liệu mạng. length nhận độ dài hiện tại của Dữ liệu mạng, được báo cáo dưới dạng byte và maxlength nhận thời lượng tối đa quan sát được và cũng có thể đặt lại thời lượng được theo dõi độ dài tối đa.