اكتشاف نظام أسماء النطاقات (DNS)

عرض المصدر على GitHub

تسجِّل OTBR خدمة _meshcop._udp باسم OpenThread BorderRouter. يتم ضبط هذه الخدمة في ملف OTBR CMakeLists.txt. تتطلّب مواصفات Thread من أجهزة توجيه الحدود في Thread نشر خدمة _meshcop._udp لخدمة Thread Border Agent. قد تنشر أجهزة Thread Borderr خدمات أخرى تنفّذها ولكن هذا الأمر يتعلّق بكل جهاز ومطوّر محدّدين.

تتوفّر عدة طرق لاكتشاف شبكة Thread.

اكتشاف خدمة نظام أسماء النطاقات (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-daemon وavahi-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، على سبيل المثال: