OT CLI로 데이터 세트 표시 및 관리

GitHub에서 소스 보기

스레드 네트워크 구성 매개변수는 활성 및 대기 중인 운영 데이터 세트 객체를 사용하여 관리됩니다. OT CLI에는 활성 및 대기 중 데이터 세트를 가져오고 설정하는 명령어가 포함되어 있습니다.

경고 - 프로덕션 사용 제한

활성 및 대기 중인 운영 데이터 세트를 쓰거나 변경하는 CLI 명령어를 사용하면 테스트 목적으로 잘못된 매개변수 또는 잘못된 매개변수 조합을 설정할 수 있습니다. 이러한 CLI 명령어는 다음 경우에만 사용할 수 있습니다.

  • 새로 생성된 스레드 네트워크의 첫 번째 기기에 네트워크 매개변수를 구성합니다.
  • 테스트용입니다 (프로덕션 기기에는 적용되지 않음).

프로덕션 스레드 네트워크에서 운영 데이터 세트를 쓰거나 변경하는 올바른 방법은 커밋을 실행하는 커미셔너를 사용하는 것입니다. 활성 커미셔닝자가 아니며 스레드 네트워크에 속하는 프로덕션 기기는 어떠한 방식으로도 운영 데이터 세트를 수정하면 안 됩니다(MUST NOT).

활성 운영 데이터 세트

활성 운영 데이터 세트에는 현재 전체 스레드 네트워크에서 사용 중인 매개변수가 포함됩니다. 활성 운영 데이터 세트에는 다음이 포함됩니다.

  • 활성 타임스탬프
  • 채널
  • 채널 마스크
  • 확장된 PAN ID
  • 메시-로컬 프리픽스
  • 네트워크 이름
  • PAN ID
  • PSKC
  • 보안 정책

기기가 스레드 네트워크의 전체 구성원이 되도록 기기를 쉽게 구성하려면 dataset active -x 명령어를 사용하여 16진수로 인코딩된 TLV를 가져오고 dataset set active 명령어를 사용하여 새 기기에 데이터 세트를 설정하면 됩니다.

기존 기기에서 16진수로 인코딩된 TLV를 가져옵니다.

dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

새 기기에서 활성 데이터 세트를 설정합니다.

dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

운영 중인 데이터 세트 대기 중

대기 중인 운영 데이터 세트는 변경사항이 적용되기 전에 활성 운영 데이터 세트에 변경사항을 전달하는 데 사용됩니다. 대기 중인 운영 데이터 세트에는 다음 항목 외에 활성 운영 데이터 세트의 모든 매개변수가 포함됩니다.

  • 지연 타이머
  • 대기 중인 타임스탬프

시작하기

명령줄에서 데이터 세트를 관리하려면 Docker로 시뮬레이션 Codelab을 완료하고 CLI 명령어 참조를 검토하세요.

시뮬레이션 Codelab으로 이동

CLI 명령어 참조로 이동

dataset 명령어 목록을 보려면 help를 입력합니다.

dataset help
help
active
activetimestamp
channel
channelmask
clear
commit
delay
extpanid
init
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkkey
networkname
panid
pending
pendingtimestamp
pskc
securitypolicy
Done

인수 매핑

보안 정책

보안 정책 명령어는 인수 매핑을 사용하여 otSecurityPolicy 구성원을 가져오고 설정합니다. 예를 들어 dataset active의 경우 다음과 같습니다.

dataset active
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

이 예에서 Security Policy: 0mRotationTime을 나타냅니다.

다음은 모든 보안 정책 CLI 인수와 각 인수에 해당하는 otSecurityPolicy 멤버의 목록입니다.

dataset securitypolicy get 및 set 명령어도 동일한 인수 매핑을 사용합니다. 예를 들어 securitypolicy를 설정하고 o, n, r, c를 전달합니다.

dataset securitypolicy 672 onrc
Done

데이터 세트 구성요소 및 mgmt 명령어

다른 매개변수와 함께 활성 및 대기 중인 데이터 세트의 mgmtgetcommandmgmtsetcommand를 사용하면 otOperationalDatasetComponents의 조합을 가져오고 설정할 수 있습니다.

  • activetimestamp
  • pendingtimestamp
  • networkkey
  • networkname
  • extpanid
  • localprefix
  • delaytimer
  • panid
  • channel
  • securitypolicy

mgmtgetcommand의 경우 원하는 순서로 이러한 구성요소를 지정하여 해당 값을 가져올 수 있습니다. 원하는 경우 -x를 전달하여 TLV의 바이트 시퀀스 표현으로 처리되는 16진수 문자열을 사용할 수도 있습니다. 다른 매개변수 외에 추가할 수 있는 공급업체별 TLV일 수 있습니다.

mgmtgetcommand를 사용하면 리더의 IPv6 주소를 선택적으로 지정할 수도 있습니다. 그렇지 않으면 리더 ALOC가 사용됩니다.

dataset mgmtgetcommand {active|pending} [address leader-address] [dataset-components] [-x tlv-list]

예를 들어 activetimestampsecuritypolicy를 가져오려면 다음 인수를 사용합니다.

dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done

구성요소를 설정하기 위해 데이터 세트 구성요소를 원하는 순서로 입력한 다음 구성요소 값을 제공할 수도 있습니다.

dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]

activetimestampsecuritypolicy를 설정하려면 다음 인수를 사용합니다.

dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done