1. शुरुआती जानकारी
थ्रेड बॉर्डर राऊटर क्या है?
Thread, आईपी पर आधारित कम पावर वाला वायरलेस मेश नेटवर्किंग प्रोटोकॉल है. इसकी मदद से, एक डिवाइस से दूसरे डिवाइस पर सुरक्षित तरीके से और एक से दूसरे डिवाइस पर सुरक्षित तरीके से बातचीत की जा सकती है. थ्रेड नेटवर्क, टोपोलॉजी से जुड़े बदलावों के हिसाब से काम कर सकते हैं, ताकि किसी एक पॉइंट के फ़ेल होने की स्थिति से बचा जा सके.
थ्रेड बॉर्डर राऊटर, थ्रेड नेटवर्क को वाई-फ़ाई या ईथरनेट जैसे दूसरे आईपी आधारित नेटवर्क से कनेक्ट करता है. थ्रेड नेटवर्क को, अन्य नेटवर्क से कनेक्ट करने के लिए बॉर्डर राऊटर की ज़रूरत होती है. थ्रेड बॉर्डर राऊटर के लिए ये सुविधाएं उपलब्ध हैं:
- Thread और वाई-फ़ाई/Ethernet नेटवर्क के बीच, बाईडायरेक्शनल आईपी कनेक्टिविटी.
- mDNS (वाई-फ़ाई/ईथरनेट लिंक पर) और ThreadP (Thread नेटवर्क पर) के ज़रिए दो-तरफ़ा सेवा की खोज.
- थ्रेड-ओवर-इन्फ़्रास्ट्रक्चर, जिससे थ्रेड के बंटवारे को, आईपी पर आधारित लिंक पर मर्ज कर दिया जाता है.
- थ्रेड डिवाइस को पुष्टि करने और उसमें शामिल होने के लिए, थ्रेड थ्रेड कमीशन (उदाहरण के लिए, मोबाइल फ़ोन) पर.
Google का रिलीज़ किया गया OpenThread बॉर्डर राऊटर (OTBR) Thread बॉर्डर बॉर्डर को ओपन-सोर्स लागू करता है.
आपको क्या बनाना है
इस कोडलैब में, बॉर्डर राऊटर को सेट अप करने पर, आपको मोबाइल फ़ोन को बॉर्डर राऊटर की मदद से Thread एंड डिवाइस से कनेक्ट करने की सुविधा मिलेगी.
आप इन चीज़ों के बारे में जानेंगे
- OTBR सेट अप करने का तरीका
- OTBR से थ्रेड नेटवर्क कैसे बनाएं
- एसआरपी सुविधा वाला OpenThread सीएलआई डिवाइस बनाने का तरीका
- एसआरपी के साथ कोई सेवा रजिस्टर करने का तरीका
- किसी Thread एंड डिवाइस को खोजने और उस तक पहुंचने का तरीका.
आपको इनकी ज़रूरत होगी
- Raspबेरी Pi 3/4 डिवाइस और एसडी कार्ड जिसमें कम से कम 8 जीबी क्षमता हो.
- दो नॉर्डिक सेमीकंडक्टर nRF52840 डेवलपर बोर्ड.
- ऐसा वाई-फ़ाई एपी जिसके लिए IPv6 राऊटर के विज्ञापन गार्ड मौजूद नहीं हैं.
- कम से कम iOS 14 या कम से कम Android 8.1 वाले Android फ़ोन के लिए.
2. OTBR सेटअप करें
राज़बेरी पी सेट करें
rapberpi.org पर दिए गए निर्देशों का पालन करके, rpi-imager
टूल के साथ एक नया Raspबेरी Pi डिवाइस सेट अप करना आसान है. इसके बजाय, टूल में नए Raspबेरी Pi OS का इस्तेमाल करने के बजाय, सिर्फ़ 2021-05-07-raspios-buster-arROAS-light डाउनलोड करें. कोडलैब के इस मॉड्यूल में मोबाइल फ़ोन से सभी चरण पूरे करने के लिए, आपको Raspber Pi को वाई-फ़ाई एपी से कनेक्ट करना होगा. वायरलेस कनेक्टिविटी सेट अप करने के लिए, इस गाइड का पालन करें. एसएसएच के साथ राज़बेरी पी में लॉग इन करना आसान है. आपको यहां निर्देश मिल सकते हैं.
OTBR कोड पाएं
GitHub से ot-br-posix
अपने Raspber Pi में लॉगिन करें और क्लोन करें:
$ git clone https://github.com/openthread/ot-br-posix.git --depth 1
OTBR बनाना और इंस्टॉल करना
OTBR में दो स्क्रिप्ट होती हैं, जो थ्रेड बॉर्डर राऊटर को सेट अप करती हैं और इसे सेट अप करती हैं:
$ cd ot-br-posix $ ./script/bootstrap $ INFRA_IF_NAME=wlan0 ./script/setup
OTBR, Thread इंटरफ़ेस और इन्फ़्रास्ट्रक्चर नेटवर्क इंटरफ़ेस, जैसे कि वाई-फ़ाई/ईथरनेट पर काम करता है. इस इंटरफ़ेस के बारे में INFRA_IF_NAME
में बताया गया है. Thread इंटरफ़ेस खुद OTBR से बनाया जाता है और इसे डिफ़ॉल्ट रूप से wpan0
नाम दिया जाता है. अगर INFRA_IF_NAME
के बारे में साफ़ तौर पर नहीं बताया गया है, तो इंफ़्रास्ट्रक्चर इंटरफ़ेस की डिफ़ॉल्ट वैल्यू wlan0
होती है. अगर आपकी Raspबेरी Pi, ईथरनेट केबल से कनेक्ट है, तो ईथरनेट इंटरफ़ेस का नाम बताएं (उदाहरण: eth0
):
$ INFRA_IF_NAME=eth0 ./script/setup
देखें कि OTBR ठीक से इंस्टॉल हुआ है या नहीं:
$ sudo service otbr-agent status ● otbr-agent.service - Border Router Agent Loaded: loaded (/lib/systemd/system/otbr-agent.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Mon 2021-03-01 05:43:38 GMT; 2s ago Process: 2444 ExecStart=/usr/sbin/otbr-agent $OTBR_AGENT_OPTS (code=exited, status=2) Main PID: 2444 (code=exited, status=2)
otbr-agent
सेवा चालू नहीं है. ऐसा इसलिए है, क्योंकि इसे चलाने के लिए, RCP
चिप की ज़रूरत है.
बदलावों को लागू करने के लिए, Raspber Pi को फिर से चालू करें.
आरसीपी फ़र्मवेयर बनाना और फ़्लैश करना
OTBR का इस्तेमाल, रेडियो को-प्रोसेसर (RCP) मोड में 15.4 रेडियो चिप के साथ किया जा सकता है. इस मोड में, OpenThread स्टैक होस्ट पर चल रहा है और IEEE802.15.4 ट्रांसीवर पर फ़्रेम ट्रांसमिट/पाता है.
nRF52840 आरसीपी डिवाइस बनाने और फ़्लैश करने के लिए, nRF52840 बोर्ड और OpenThread कोडलैब के साथ, थ्रेड नेटवर्क बनाएं का यह चौथा चरण अपनाएं:
$ script/build nrf52840 USB_trans
OTBR शुरू करें और स्थिति सत्यापित करें
nRF52840 बोर्ड को अपने Raspरिच Pi से कनेक्ट करें और otbr-agent
सेवा शुरू करें:
$ sudo service otbr-agent restart
पुष्टि करें कि otbr-agent
सेवा चालू है:
$ sudo service otbr-agent status ● otbr-agent.service - Border Router Agent Loaded: loaded (/lib/systemd/system/otbr-agent.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-03-01 05:46:26 GMT; 2s ago Main PID: 2997 (otbr-agent) Tasks: 1 (limit: 4915) CGroup: /system.slice/otbr-agent.service └─2997 /usr/sbin/otbr-agent -I wpan0 -B wlan0 spinel+hdlc+uart:///dev/ttyACM0 Mar 01 05:46:26 raspberrypi otbr-agent[2997]: Stop publishing service Mar 01 05:46:26 raspberrypi otbr-agent[2997]: [adproxy] Stopped Mar 01 05:46:26 raspberrypi otbr-agent[2997]: PSKc is not initialized Mar 01 05:46:26 raspberrypi otbr-agent[2997]: Check if PSKc is initialized: OK Mar 01 05:46:26 raspberrypi otbr-agent[2997]: Initialize OpenThread Border Router Agent: OK Mar 01 05:46:26 raspberrypi otbr-agent[2997]: Border router agent started. Mar 01 05:46:26 raspberrypi otbr-agent[2997]: [INFO]-CORE----: Notifier: StateChanged (0x00038200) [NetData PanId NetName ExtPanId] Mar 01 05:46:26 raspberrypi otbr-agent[2997]: [INFO]-PLAT----: Host netif is down
3. Thread नेटवर्क बनाना
ot-ctl
निर्देश से otbr-agent
सेवा को कंट्रोल किया जा सकता है. ot-ctl
, OpenThread सीएलआई के सभी निर्देशों को स्वीकार करता है. ज़्यादा जानकारी के लिए, OpenThread सीएलआई गाइड देखें.
OTBR का इस्तेमाल करके, थ्रेड नेटवर्क बनाएं:
$ sudo ot-ctl dataset init new Done $ sudo ot-ctl dataset commit active Done $ sudo ot-ctl ifconfig up Done $ sudo ot-ctl thread start Done
कुछ सेकंड इंतज़ार करें, हम देख पाएंगे कि OTBR Thread leader
की तरह काम कर रहा है और थ्रेड नेटवर्क डेटा में off-mesh-routable
(OMR) प्रीफ़िक्स है:
$ sudo ot-ctl state leader Done $ sudo ot-ctl netdata show Prefixes: Prefixes: fd76:a5d1:fcb0:1707::/64 paos med 4000 Routes: fd49:7770:7fc5:0::/64 s med 4000 Services: 44970 5d c000 s 4000 44970 01 9a04b000000e10 s 4000 Done $ sudo ot-ctl ipaddr fda8:5ce9:df1e:6620:0:ff:fe00:fc11 fda8:5ce9:df1e:6620:0:0:0:fc38 fda8:5ce9:df1e:6620:0:ff:fe00:fc10 fd76:a5d1:fcb0:1707:f3c7:d88c:efd1:24a9 fda8:5ce9:df1e:6620:0:ff:fe00:fc00 fda8:5ce9:df1e:6620:0:ff:fe00:4000 fda8:5ce9:df1e:6620:3593:acfc:10db:1a8d fe80:0:0:0:a6:301c:3e9f:2f5b Done
4. एसआरपी क्लाइंट एंड डिवाइस सेट अप करें
ओटी सीएलआई बनाना और फ़्लैश करना
nbr52840 सीएलआई एंड डिवाइस बनाने और फ़्लैश करने के लिए, nRF52840 बोर्ड और OpenThread कोडलैब के थ्रेड नेटवर्क को बनाने के लिए, चरण 5 का पालन करें.
OT_COMMISSIONER
और OT_JOINER
को चालू करने के बजाय, सीएलआई नोड के लिए OT_SRP_CLIENT
और OT_ECDSA
की सुविधाओं की ज़रूरत होती है.
इसलिए, शुरू करने का पूरा न्योता कुछ ऐसा दिखना चाहिए:
$ script/build nrf52840 USB_trans -DOT_SRP_CLIENT=ON -DOT_ECDSA=ON
OTBR नेटवर्क से जुड़ें
otbr-agent
सेवा से बनाए गए थ्रेड नेटवर्क में शामिल होने के लिए, हमें OTBR डिवाइस से ऐक्टिव ऑपरेशनल डेटासेट लेना होगा. चलिए otbr-agent
कमांड लाइन पर वापस जाएं और सक्रिय डेटासेट पाएं:
$ sudo ot-ctl dataset active -x 0e080000000000010000000300001235060004001fffe002083d3818dc1c8db63f0708fda85ce9df1e662005101d81689e4c0a32f3b4aa112994d29692030f4f70656e5468726561642d35326532010252e204103f23f6b8875d4b05541eeb4f9718d2f40c0302a0ff Done
एसआरपी क्लाइंट नोड स्क्रीन के सेशन पर वापस जाएं और चालू डेटासेट सेट करें:
> dataset set active 0e080000000000010000000300001235060004001fffe002083d3818dc1c8db63f0708fda85ce9df1e662005101d81689e4c0a32f3b4aa112994d29692030f4f70656e5468726561642d35326532010252e204103f23f6b8875d4b05541eeb4f9718d2f40c0302a0ff Done
इसके बाद, थ्रेड इंटरफ़ेस को शुरू करें:
> ifconfig up Done > thread start Done
कुछ देर इंतज़ार करें और देखें कि Thread नेटवर्क से जुड़ना सफल रहा या नहीं:
> state child Done > netdata show Prefixes: fd76:a5d1:fcb0:1707::/64 paos med 4000 Routes: fd49:7770:7fc5:0::/64 s med 4000 Services: 44970 5d c000 s 4000 44970 01 9a04b000000e10 s 4000 Done > ipaddr fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927 fda8:5ce9:df1e:6620:0:ff:fe00:4001 fda8:5ce9:df1e:6620:ed74:123:cc5d:74ba fe80:0:0:0:d4a9:39a0:abce:b02e Done
पक्का करें कि नेटवर्क डेटा, OTBR पर प्रिंट किए गए डेटा से मेल खाता हो. हम अब OTBR के OMR पते पर पिंग कर सकते हैं:
> ping fd76:a5d1:fcb0:1707:f3c7:d88c:efd1:24a9 Done > 16 bytes from fd76:a5d1:fcb0:1707:f3c7:d88c:efd1:24a9: icmp_seq=1 hlim=64 time=49ms
5. सेवा को अंतिम डिवाइस पर प्रकाशित करें
mDNS का इस्तेमाल लिंक-लोकल पर डीएनएस-एसडी सेवा प्रकाशित करने के लिए बड़े पैमाने पर होता है. हालांकि, मल्टीकास्ट मैसेज बहुत ज़्यादा बैंडविड्थ का इस्तेमाल करते हैं और कम पावर वाले डिवाइसों की बैटरी जल्दी खर्च कर देते हैं. थ्रेड, अपनी सेवाओं को बॉर्डर राऊटर के साथ रजिस्टर करने के लिए, यूनिकास्ट SRP प्रोटोकॉल का इस्तेमाल करता है और वाई-फ़ाई या ईथरनेट लिंक पर मौजूद सेवाओं का विज्ञापन देने के लिए, बॉर्डर राऊटर की मदद लेता है.
हम srp client
निर्देश की मदद से किसी सेवा को रजिस्टर कर सकते हैं.
एसआरपी क्लाइंट नोड स्क्रीन के सेशन पर जाएं और एसआरपी क्लाइंट को अपने-आप शुरू करें:
> srp client autostart enable Done
वाई-फ़ाई/ईथरनेट लिंक पर जिस होस्टनेम का विज्ञापन दिया जाएगा उसे सेट करें:
> srp client host name ot-host Done
वाई-फ़ाई/ईथरनेट लिंक वाले किसी डिवाइस से Thread एंड डिवाइस तक पहुंचने के लिए, एंड डिवाइस के ओएमआर पते का विज्ञापन दिखाना ज़रूरी है:
> srp client host address fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927 Done
आखिर में, _ipps._tcp
पर नकली सेवा रजिस्टर करें:
> srp client service add ot-service _ipps._tcp 12345 Done
कुछ देर इंतज़ार करें और हम रजिस्टर की गई सेवा को देख पाएंगे:
> srp client service instance:"ot-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0 Done
हमने सेट अप के सभी काम पूरे कर लिए हैं. साथ ही, वाई-फ़ाई/ईथरनेट लिंक पर _ipps._tcp
सेवा का विज्ञापन दिया जाना चाहिए. अब असली डिवाइस को खोजने और उस तक पहुंचने का समय आ गया है!
6. सेवा के बारे में जानें
मोबाइल फ़ोन से सेवा के बारे में जानना
हम सेवा ब्राउज़र ऐप्लिकेशन का इस्तेमाल करके, Android फ़ोन पर mDNS की सेवाएं खोजते हैं. iOS मोबाइल डिवाइसों के लिए, ऐसा ऐप्लिकेशन भी पाया जा सकता है. ऐप्लिकेशन खोलें और _ipps._tcp
की सेवा दिखनी चाहिए.
Linux होस्ट की मदद से सेवा के बारे में जानना
अगर आपको किसी दूसरे Linux होस्ट से सेवा के बारे में जानना है, तो avahi-browse
कमांड का इस्तेमाल करें.
avahi-daemon
और avahi-utils
इंस्टॉल करें:
$ sudo apt-get install -y avahi-daemon avahi-utils
सेवा से जुड़ी समस्याएं ठीक करें:
$ sudo service avahi-daemon start # Ensure the avahi daemon is started. $ avahi-browse -r _ipps._tcp + wlan0 IPv6 ot-service Secure Internet Printer local = wlan0 IPv6 ot-service Secure Internet Printer local hostname = [ot-host.local] address = [fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927] port = [12345] txt = [] ...
macOS होस्ट की मदद से सेवा खोजना
इस सेवा को ठीक करने के लिए, macOS पर dns-sd
का इस्तेमाल किया जा सकता है:
$ dns-sd -Z _ipps._tcp local. Browsing for _ipps._tcp.local. DATE: ---Sun 14 Mar 2021--- 21:31:42.125 ...STARTING... ; To direct clients to browse a different domain, substitute that domain in place of '@' lb._dns-sd._udp PTR @ ; In the list of services below, the SRV records will typically reference dot-local Multicast DNS names. ; When transferring this zone file data to your unicast DNS server, you'll need to replace those dot-local ; names with the correct fully-qualified (unicast) domain name of the target host offering the service. _ipps._tcp PTR ot-service._ipps._tcp ot-service._ipps._tcp SRV 0 0 12345 ot-host.local. ; Replace with unicast FQDN of target host ot-service._ipps._tcp TXT "" ...
7. एंड डिवाइस को पिंग करें
मोबाइल फ़ोन से पिंग करना
उदाहरण के तौर पर Pixel फ़ोन को उदाहरण के तौर पर देखें. हम सर्विस ब्राउज़र ऐप्लिकेशन में सेवा इंस्टेंस के ज़्यादा जानकारी वाले पेज पर, पहले से रजिस्टर की गई "ot-service" सेवा का ओएमआर पता ढूंढ सकते हैं.
अब हम ओएमआर पते को किसी दूसरे नेटवर्क विश्लेषक ऐप्लिकेशन से पिंग कर सकते हैं.
माफ़ करें, नेटवर्क विश्लेषक ऐप्लिकेशन का Android वर्शन, पिंग सुविधा के लिए mDNS क्वेरी की सुविधा नहीं देता. साथ ही, हम होस्टनेम ot-host.local
सीधे पिंग नहीं कर सकते (हम ऐप्लिकेशन के iOS वर्शन के साथ होस्टनेम को पिंग कर सकते हैं).
Linux/macOS होस्ट से पिंग करना
थ्रेड बॉर्डर राऊटर, ICMPv6 राऊटर के विज्ञापनों (आरए) को वाई-फ़ाई/ईथरनेट लिंक पर प्रीफ़िक्स (प्रीफ़िक्स इन्फ़ॉर्मेशन विकल्प के ज़रिए) और रूट (रकम की जानकारी के विकल्प के ज़रिए) का विज्ञापन करने के लिए भेजता है.
Linux होस्ट तैयार करना
यह पक्का करना ज़रूरी है कि आपके होस्ट पर RA और RIO चालू हों:
- अगर ip फ़ॉरवर्ड करने की सुविधा चालू नहीं है, तो
net.ipv6.conf.wlan0.accept_ra
कम से कम1
होना चाहिए. अगर ऐसा नहीं है, तो2
होना चाहिए. net.ipv6.conf.wlan0.accept_ra_rt_info_max_plen
का साइज़64
से कम नहीं होना चाहिए.
ज़्यादातर डिस्ट्रिब्यूशन के लिए, accept_ra
की डिफ़ॉल्ट वैल्यू 1
होती है. हो सकता है कि कुछ अन्य नेटवर्क डीमन हों, जो इस विकल्प को बदल देंगे (उदाहरण के लिए, Raspber Pi पर dhcpcd
accept_ra
को 0
में ओवरराइड कर देगा. आप accept_ra
का मान देख सकते हैं:
$ sudo sysctl -n net.ipv6.conf.wlan0.accept_ra 0
इसके साथ वैल्यू को, 1
या आईपी फ़ॉरवर्ड करने की सुविधा चालू होने पर 2
पर सेट करें:
$ sudo sysctl -w net.ipv6.conf.wlan0.accept_ra=1 Net.ipv6.conf.wlan0.accept_ra = 1
ज़्यादातर Linux डिस्ट्रिब्यूशन का accept_ra_rt_info_max_plen
विकल्प 0
के लिए डिफ़ॉल्ट होता है, इसे इसके साथ 64
पर सेट करें:
$ sudo sysctl -w net.ipv6.conf.wlan0.accept_ra_rt_info_max_plen=64 net.ipv6.conf.wlan0.accept_ra_rt_info_max_plen = 64
होस्ट को फिर से चालू करने के बाद, बदलाव सेव नहीं होगा. उदाहरण के लिए, RIO को स्थायी रूप से चालू करने के लिए, नीचे दिए गए /etc/sysctl.conf
कमांड जोड़ें:
$ net.ipv6.conf.wlan0.accept_ra_rt_info_max_plen = 64
इन कॉन्फ़िगरेशन को बदलने में बहुत देर हो सकती है, क्योंकि OTBR पहले से ही RA मैसेज भेज रहा है और दो अनचाहे RA मैसेज के बीच का अंतराल कई सौ सेकंड तक हो सकता है. इसका एक तरीका यह है कि राऊटर की समस्याओं से जुड़े मैसेज भेजने के लिए, वाई-फ़ाई एपी को डिसकनेक्ट करके फिर से कनेक्ट करें. इससे, OTBR अनुरोध किए गए आरएसए को जवाब देगा. बॉर्डर राऊटर पर बॉर्डर रूटिंग फ़ंक्शन को रीस्टार्ट करने का दूसरा तरीका यह है:
$ sudo ot-ctl br disable Done $ sudo ot-ctl br enable Done
अगर आप वाई-फ़ाई को फिर से कनेक्ट करने या ईथरनेट इंटरफ़ेस को रीस्टार्ट करने की कोशिश कर रहे हैं, तो पक्का कर लें कि dcpcd का इस्तेमाल आपके वाई-फ़ाई/ईथरनेट IPv6 नेटवर्क को मैनेज करने के लिए नहीं किया जाता है. क्योंकि जब भी इंटरफ़ेस रीस्टार्ट होता है, तब dcpcd हमेशा accept_ra
विकल्प को ओवरराइड करता है, इसलिए आपका accept_ra
कॉन्फ़िगरेशन खो जाएगा. /etc/dhcpcd.conf
noipv6 noipv6rs
बदलाव लागू करने के लिए, आपको डिवाइस को फिर से चालू करना होगा.
macOS होस्ट तैयार करना
दोनों accept_ra*
विकल्प डिफ़ॉल्ट रूप से चालू होते हैं. हालांकि, आपको अपने सिस्टम को कम से कम macOS Big Sur में अपग्रेड करना होगा.
होस्टनेम या IPv6 पते को पिंग करना
अब हम कमांड ot-host.local
से ping -6
होस्टनेम को पिंग कर सकते हैं (macOS के लिए ping6
):
$ ping -6 ot-host.local. PING ot-host.local.(fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927 (fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927)) 56 data bytes 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927 (fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927): icmp_seq=1 ttl=63 time=170 ms 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927 (fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927): icmp_seq=2 ttl=63 time=64.2 ms 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927 (fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927): icmp_seq=3 ttl=63 time=22.8 ms 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927 (fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927): icmp_seq=4 ttl=63 time=37.7 ms 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927 (fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927): icmp_seq=5 ttl=63 time=28.7 ms ...
यह गड़बड़ी, शायद "Name or service not known"
गड़बड़ी वाले Linux होस्ट पर काम न करे. ऐसा इसलिए, क्योंकि ping
कमांड, mDNS क्वेरी वाले ot-host.local.
नाम का समाधान नहीं कर रहा है. /etc/nsswitch.conf
खोलें और hosts
से शुरू होने वाली लाइन में mdns6_minimal
जोड़ें:
hosts: files mdns4_minimal mdns6_minimal dns
आप सीधे IPv6 पते पर पिंग कर सकते हैं:
$ ping -6 fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927 PING fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927(fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927) 56 data bytes 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927: icmp_seq=1 ttl=63 time=32.9 ms 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927: icmp_seq=2 ttl=63 time=27.8 ms 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927: icmp_seq=3 ttl=63 time=29.9 ms 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927: icmp_seq=4 ttl=63 time=73.5 ms 64 bytes from fd76:a5d1:fcb0:1707:d3dc:26d3:f70b:b927: icmp_seq=5 ttl=63 time=26.4 ms ...
8. असली डिवाइस सेवा को अनपब्लिश करना
एसआरपी क्लाइंट नोड से रजिस्टर किए गए पते और सेवा को हटाने के लिए:
> srp client host remove Done
आपको अब _ipps._tcp
सेवा नहीं मिलनी चाहिए.
9. बधाई हो
बधाई हो, आपने थ्रेड बॉर्डर बॉर्डर के तौर पर ओटीबीआर को सेट अप कर लिया है. इसकी मदद से, थ्रेड खत्म होने के बाद वाले डिवाइसों के लिए, दो दिशाओं में चलने वाला आईपी कनेक्टिविटी और सेवा खोजने की सुविधा मिलती है.
आगे क्या करना है?
इनमें से कुछ कोडलैब देखें...