mDNS 검색

GitHub에서 소스 보기

OTBR은 OpenThread BorderRouter라는 _meshcop._udp 서비스를 등록합니다. 이 서비스는 OTBR CMakeLists.txt 파일에서 구성됩니다. 스레드 사양에 따라 스레드 보더 라우터는 스레드 보더 에이전트 서비스의 _meshcop._udp 서비스를 게시해야 합니다. 스레드 보더 라우터 기기는 구현하는 다른 서비스를 게시할 수 있지만 이는 각 기기와 개발자에 따라 다릅니다.

Thread 네트워크를 검색하는 방법에는 여러 가지가 있습니다.

DNS 서비스 검색(DNS-SD)

dns-sd를 사용하여 _meshcop._udp. 유형의 서비스 인스턴스를 탐색합니다.

dns-sd -B _meshcop._udp local
Browsing for _meshcop._udp.local
DATE: ---Tue 16 Nov 2021---
13:31:03.197  ...STARTING...
Timestamp     A/R    Flags  if Domain               Service Type         Instance Name
13:31:03.198  Add        2   6 local.               _meshcop._udp.       OpenThread BorderRouter (#3991)

dns-sd를 사용하여 서비스 인스턴스를 확인합니다.

dns-sd -L "OpenThread BorderRouter (#3991)" _meshcop._udp local
Lookup OpenThread BorderRouter #(3991)._meshcop._udp.local
DATE: ---Tue 16 Nov 2021---
13:33:05.197  ...STARTING...
13:33:05.350  OpenThread\032BorderRouter\032(#3991)._meshcop._udp.local. can be reached at raspberrypi.local.:49155 (interface 3)

dns-sd을 사용하여 호스트 이름을 확인합니다.

dns-sd -G v4/v6 raspberrypi.local
DATE: ---Tue 16 Nov 2021---
14:21:29.485  ...STARTING...
Timestamp     A/R Flags if Hostname           Address                                      TTL
14:21:29.486  Add     3  3 raspberrypi.local. FDDE:AD11:11DE:0000:74D0:6FC9:6BE6:3582%<0>  120
14:21:29.486  Add     3  3 raspberrypi.local. FD00:0000:0000:0000:74D0:6FC9:6BE6:3582%<0>  120
14:21:29.486  Add     3  3 raspberrypi.local. FE80:0000:0000:0000:74D0:6FC9:6BE6:3582%eth0 120
14:21:29.486  Add     3  3 raspberrypi.local. FE80:0000:0000:0000:287F:87CA:F4B3:498A%eth0 120
14:21:29.486  Add     2  3 raspberrypi.local. 192.168.0.10                                 120

IP 주소를 핑합니다. dns-sd 결과에서 네트워크에서 연결할 수 있는 주소(예: 전역 <0> 주소 FD00::74D0:6FC9:6BE6:3582)를 선택합니다.

ping -6 FD00::74D0:6FC9:6BE6:3582
PING FD00::74D0:6FC9:6BE6:3582(fd00::74d0:6fc9:6be6:3582) 56 data bytes
64 bytes from fd00::74d0:6fc9:6be6:3582: icmp_seq=1 ttl=64 time=27.1 ms
64 bytes from fd00::74d0:6fc9:6be6:3582: icmp_seq=2 ttl=64 time=3.18 ms
64 bytes from fd00::74d0:6fc9:6be6:3582: icmp_seq=3 ttl=64 time=2.76 ms

Avahi 유틸리티

avahi-daemonavahi-utils를 설치합니다.

sudo apt-get install -y avahi-daemon avahi-utils

avahi-daemon를 시작합니다.

sudo service avahi-daemon start

avahi-browse를 사용합니다.

avahi-browse -r -t _meshcop._udp
+ eth0 IPv6 OpenThread BorderRouter (#3991)   _meshcop._udp        local
= eth0 IPv6 OpenThread BorderRouter (#3991)   _meshcop._udp        local
   hostname = [raspberrypi.local]
   address = [192.168.0.10]
   port = [49155]
   txt = []

mDNS 앱

Google Play에서 mDNS 검색 앱을 검색합니다(예: