OT CLI로 서비스 등록 프로토콜 (SRP) 서버 클라이언트 연결 설정

<ph type="x-smartling-placeholder"></ph> GitHub에서 소스 보기

OpenThread는 SRP 서버와 클라이언트 기능을 모두 제공하므로, 유니캐스트로 전송된 표준 DNS 업데이트를 사용하여 DNS 기반 서비스 등록 않습니다 이 기능은 DNS 기반 서비스 검색을 활성화합니다.

이 가이드에서는 보다 일반적인 srp server를 사용하는 기본 작업을 제공합니다. 및 srp client 명령어입니다.

SRP 서버 명령어

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

srp server help
addrmode
auto
disable
domain
enable
help
host
lease
seqnum
service
state
Done

SRP 클라이언트 명령어

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

srp client help
autostart
callback
help
host
keyleaseinterval
leaseinterval
service
start
state
stop
ttl
Done

CLI 명령어 참조

모든 명령어에 대한 설명과 구문은 CLI 명령어 참조를 확인하세요. SRP 서버 명령은 srp 서버 (사용 설정,사용 중지). SRP 클라이언트 명령은 알파벳 순으로 시작됩니다. srp 클라이언트 자동 시작 (get).

스레드 보더 라우터 Codelab

OpenThread 보더 라우터 Codelab 에는 SRP 클라이언트 최종 기기를 설정하는 방법에 대한 정보가 포함되어 있습니다.

몇 가지 기본 SRP 명령어 개요

SRP 서버 및 클라이언트 명령을 순서대로 사용하여 일반적인 SRP 작업을 수행할 수 있습니다.

  1. SRP 서버를 시작합니다.

    스레드 네트워크를 생성한 후 srp server enable는 SRP 서버를 사용 설정합니다.

  2. SRP 클라이언트를 시작합니다.

    • srp client host name는 클라이언트에서 사용할 호스트 이름을 설정합니다.

    • srp client host address (set)는 자동 호스트 클라이언트 주소 모드를 사용 설정하거나 명시적으로 호스트 클라이언트 주소 목록을 설정합니다.

    • srp client service add는 지정된 인스턴스 이름, 서비스로 서비스를 추가합니다. 이름, 포트 번호가 있습니다.

    • srp client autostart enable: 자동 시작 모드를 사용 설정합니다. 또한 수동으로 srp client start를 실행하여 클라이언트를 시작합니다.

  3. 서비스 상태를 확인합니다.

    • srp client hostsrp client service는 클라이언트 호스트와 서비스가 클라이언트 노드에 성공적으로 등록되었는지 여부

    • srp server hostsrp server service는 호스트 및 서비스 상태를 제공합니다. kube-APIserver로 전송합니다

  4. 서비스를 삭제합니다.

    srp client service remove는 서비스를 삭제하지만 서비스 이름은 유지합니다.

  5. 호스트 및 서비스 이름을 삭제합니다.

    srp client host remove는 호스트 및 등록된 모든 서비스를 삭제합니다.

SRP 서버 및 클라이언트 명령 사용의 예

이 예시에서는 기본 CLI 명령어를 사용하여 스레드 네트워크를 설정하고 서버 상태를 확인하고 서비스를 제거합니다. 샘플 데이터 은 설명을 위해 사용됩니다.

SRP 서버 시작

  1. SRP 서버 노드를 시작합니다.

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. 스레드 네트워크를 설정한 다음 srp server enable 명령어를 실행하여 SRP 서버를 사용 설정합니다.

    dataset init new
    Done
    dataset
    Active Timestamp: 1
    Channel: 22
    Channel Mask: 0x07fff800
    Ext PAN ID: 8d6ed7a05a28fb3b
    Mesh Local Prefix: fded:5114:8263:1fe1::/64
    Network Key: 7fcbae4153cc2955c28440c15d4d4219
    Network Name: OpenThread-f7af
    PAN ID: 0xf7af
    PSKc: b658e40f174e3a11be149b302ef07a0f
    Security Policy: 672, onrc
    Done
    dataset commit active
    Done
    ifconfig up
    Done
    thread start
    Done
    state
    leader
    Done
    ipaddr
    fded:5114:8263:1fe1:0:ff:fe00:fc00
    fded:5114:8263:1fe1:0:ff:fe00:c000
    fded:5114:8263:1fe1:68bc:ec03:c1ad:9325
    fe80:0:0:0:a8cd:6e23:df3d:4193
    Done
    srp server enable
    Done
    

SRP 클라이언트 시작

  1. SRP 클라이언트 노드를 시작합니다.

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. 스레드 네트워크에 연결하고 클라이언트 호스트 이름과 주소를 설정합니다. 서비스를 등록할 수 있습니다.

    dataset networkkey 7fcbae4153cc2955c28440c15d4d4219
    Done
    dataset commit active
    Done
    ifconfig up
    Done
    thread start
    Done
    state
    child
    Done
    ipaddr
    fded:5114:8263:1fe1:0:ff:fe00:c001
    fded:5114:8263:1fe1:44f9:cc06:4a2d:534
    fe80:0:0:0:38dd:fdf7:5fd:24e
    Done
    srp client host name my-host
    Done
    srp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534
    Done
    srp client service add my-service _ipps._tcp 12345
    Done
    srp client autostart enable
    Done
    

    위와 같이 srp client autostart enable 명령어를 사용하여 자동으로 시작하도록 할 수 있습니다. 클라이언트는 네트워크 데이터를 모니터링하여 사용 가능한 SRP 서버가 있는 경우 자동으로 시작됩니다.

  3. 클라이언트를 수동으로 시작하는 경우 다음을 실행하고 다음을 포함합니다. 다음과 같이 설정합니다.

    srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
    Done
    

    위의 예에서 SRP 서버 수신 UDP 포트는 c002(49154)입니다.

서비스 상태 확인하기

  1. 호스트와 서비스가 클라이언트 노드에 성공적으로 등록되었는지 확인합니다.

    srp client host
    name:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    srp client service
    instance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0
    Done
    

    출력에 호스트 및 서비스 명령어 모두에 state:Registered가 표시되는지 확인합니다. 사용할 수 있습니다.

  2. 서버 노드에서 호스트 및 서비스를 확인합니다.

    srp server host
    my-host.default.service.arpa.
    deleted: false 
    addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    srp server service
    my-service._ipps._tcp.default.service.arpa.
    deleted: false
    port: 12345
    priority: 0
    weight: 0
    ttl: 7200
    lease: 7200
    key-lease: 1209600
    TXT: []
    host: my-host.default.service.arpa.
    addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534]
    Done
    

    출력에 두 srp server host 모두 deleted: false가 표시되는지 확인합니다. srp server service 명령어를 실행합니다.

서비스 삭제

  1. 클라이언트 노드를 통해 서비스를 삭제합니다.

    srp client service remove my-service _ipps._tcp
    Done
    
  2. 서버 노드를 통해 서비스가 삭제되었는지 확인합니다.

    srp server service
    my-service._ipps._tcp.default.service.arpa.
    deleted: true
    Done
    

    서비스 이름이 다음과 같으므로 서비스 항목이 출력에 나열됩니다. 삭제되지 않음

호스트 및 서비스 이름 삭제

  1. 호스트 및 등록된 모든 서비스를 삭제합니다.

    srp client host remove 1
    Done
    
  2. 서버 노드에서 나열된 호스트 또는 서비스 항목이 없는지 확인합니다.

    srp server host
    Done
    srp server service
    Done
    >