스레드 네트워크 데이터에는 스레드 라우터에서 사용할 수 있는 보더 라우터와 기타 서버에 관한 정보가 포함됩니다. 보더 라우터와 서비스를 제공하는 기기는 리더에 정보를 등록합니다. 리더는 스레드 네트워크 데이터 내에서 이 정보를 수집하고 구조화하여 스레드 네트워크의 모든 기기에 정보를 배포합니다.
경계 라우터는 스레드 네트워크에 할당된 프리픽스와 경로를 제공하는 프리픽스를 등록할 수 있습니다. 서비스는 서비스 자체와 관련된 모든 정보를 등록할 수 있습니다.
보더 라우터와 서비스 정보는 안정적이거나 일시적일 수 있습니다. 안정적인 스레드 네트워크 데이터는 Sleeped End Devices (SED)를 비롯한 모든 기기에 배포됩니다. 임시 네트워크 데이터는 SED를 제외한 모든 노드에 분산됩니다.
네트워크 데이터 명령어
netdata
명령어 목록을 보려면 help
를 입력합니다.
netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done
full
명령어
full
명령어는 플래그 상태를 보고하거나 'net data full' 콜백이 호출되었는지를 추적하는 플래그의 리스팅을 처리합니다.
이 명령어에는 OPENSpanner_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL이 필요합니다.
length
및 maxlength
명령어
length
명령어는 스레드 네트워크 데이터의 현재 길이를 가져와 바이트 수로 보고합니다. maxlength
명령어는 관찰된 최대 길이를 가져오거나 추적된 최대 길이를 재설정합니다.
publish
명령어
네트워크 데이터 게시자는 네트워크 데이터를 모니터링하고 항목을 추가 또는 삭제할 시점을 관리하여 스레드 네트워크 데이터에서 유사한 서비스 및 접두어 (On-Mesh 접두사 또는 외부 경로) 항목의 수를 제한하는 메커니즘을 제공합니다.
게시자에게는 OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE
가 필요합니다.
네트워크 구성 및 프리픽스 구성
새 네트워크 구성을 생성합니다.
dataset init new
Done네트워크 구성을 표시합니다.
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비휘발성 저장소의 활성 작업 데이터 세트에 새 데이터 세트를 커밋합니다.
dataset commit active
Done스레드 인터페이스 사용 설정
ifconfig up
Donethread start
Done스레드 인터페이스에 할당된 IPv6 주소를 표시합니다.
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스레드 네트워크에 할당된 IPv6 프리픽스를 등록합니다.
prefix add fd00:dead:beef:cafe::/64 paros med
Donenetdata register
Done스레드 네트워크 데이터를 표시합니다.
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프리픽스와 경로에는 인수 매핑과 RLOC 값이 포함됩니다.
서비스 레코드에는
otServerConfig::mStable
를 나타내는mEnterpriseNumber
,mServiceData
,otServerConfig::mServerData
,s
를 비롯한 otServiceConfig 값이 포함됩니다. RLOC도 레코드 끝에 추가됩니다.Partition의 Thread Network 데이터의 현재 길이를 바이트 수로 표시합니다.
netdata length
23 Done추가된 프리픽스를 포함하여 스레드 인터페이스에 할당된 IPv6 주소를 표시합니다.
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
기존 네트워크에 연결
스레드 네트워크에 기기를 연결하려면 네트워크 키만 있으면 됩니다.
필수 사항은 아니지만 채널을 지정하면 여러 채널에서 검색할 필요가 없으므로 연결 프로세스의 지연 시간과 효율성이 모두 향상됩니다.
기기가 성공적으로 스레드 네트워크에 연결되면 전체 활성 작업 데이터 세트를 가져옵니다.
부분 운영 운영 데이터 세트를 만듭니다.
dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Donedataset commit active
Done스레드 인터페이스를 사용 설정합니다.
ifconfig up
Donethread start
Done기존 네트워크에 연결한 후 스레드 네트워크 데이터를 표시합니다.
netdata show
Prefixes: fd00:dead:beef:cafe::/64 paros med dc00 Routes: Services: DonePartition의 Thread Network 데이터의 현재 길이를 바이트 수로 표시합니다.
netdata length
23 Done스레드 인터페이스에 할당된 IPv6 주소를 표시합니다.
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
디버깅 및 진단
네트워크 데이터의 크기는 254바이트로 제한됩니다. 보더 라우터가 계속 네트워크 데이터에 항목 (예: 프리픽스, 경로 또는 서비스 항목)을 추가하면 가득 찰 수 있습니다. 이 경우 보더 라우터에서 새 항목 추가를 요청하는 새 요청이 거부되거나 무시됩니다. 리더가 거부를 경계 라우터에 알릴 필요는 없으므로, 보더 라우터는 네트워크 데이터가 가득 찼다는 것을 즉시 인식하지 못할 수 있습니다. 그러나 네트워크 데이터가 가득 찼을 때 이를 감지하는 메서드가 있습니다.
보더 라우터와 리더 모두에 구현된 감지 메서드는 콜백 API 메커니즘을 사용하며 네트워크 데이터가 가득 찼을 때 사용자에게 알림을 보낼 수 있습니다. 콜백은 비활성 프리픽스 또는 서비스 항목 삭제와 같은 작업을 하는 데 사용할 수 있습니다. netdata full
명령어는 'net data full' 콜백이 호출되었는지 추적하는 플래그에 사용됩니다. 이러한 명령어는 플래그 상태를 보고하거나 재설정할 수 있습니다.
일반적인 스레드 사용 사례에서는 보더 라우터가 많고 모두 경로 프리픽스를 추가하는 경우에도 네트워크 데이터가 가득 찰 가능성이 낮습니다.
기술적으로는 네트워크 데이터가 가득 차는 경우가 있지만, 이는 주로 잘못된 구성 또는 Border Router의 문제로 인해 발생합니다. netdata length
및 netdata maxlength
명령어는 네트워크 데이터의 전체 오류를 디버그하는 데 도움이 될 수 있습니다.
length
는 네트워크 데이터의 현재 길이를 바이트로 보고하고 maxlength
는 관찰된 최대 길이를 가져오며 추적된 최대 길이를 재설정할 수도 있습니다.