Khám phá mDNS

Xem mã nguồn trên GitHub

OTBR đăng ký dịch vụ _meshcop._udp có tên OpenThread BorderRouter. Dịch vụ này được định cấu hình trong tệp CMakeLists.txt của OTBR. Thông số kỹ thuật của Thread yêu cầu Bộ định tuyến biên Thread phải phát hành dịch vụ _meshcop._udp cho dịch vụ Thread Border Agent. Các thiết bị Trình định tuyến biên giới luồng có thể phát hành các dịch vụ khác mà chúng triển khai, nhưng điều này phụ thuộc vào từng thiết bị và nhà phát triển cụ thể.

Có một số cách để khám phá mạng Thread.

Khám phá dịch vụ DNS (DNS-SD)

Sử dụng dns-sd để duyệt qua các thực thể dịch vụ thuộc loại _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)

Sử dụng dns-sd để phân giải thực thể dịch vụ:

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)

Sử dụng dns-sd để phân giải tên máy chủ:

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

Ping địa chỉ IP của bạn. Trong kết quả dns-sd, hãy chọn một địa chỉ có thể truy cập được từ mạng của bạn, ví dụ: địa chỉ <0> toàn cục 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

Tiện ích Avahi

Cài đặt avahi-daemonavahi-utils:

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

Bắt đầu avahi-daemon:

sudo service avahi-daemon start

Sử dụng 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 = []

Ứng dụng mDNS

Tìm kiếm các ứng dụng khám phá mDNS trên Google Play, ví dụ: