ओटी सीएलआई की मदद से, सर्विस रजिस्ट्रेशन प्रोटोकॉल (एसआरपी) सर्वर-क्लाइंट कनेक्टिविटी सेट अप करें

GitHub पर सोर्स देखें

OpenThread, SRP सर्वर और क्लाइंट, दोनों से जुड़े फ़ंक्शन उपलब्ध कराते हैं. इससे, डिवाइस, यूनिकास्ट पैकेट के तौर पर भेजे गए स्टैंडर्ड डीएनएस अपडेट का इस्तेमाल करके, डीएनएस-आधारित सेवाएं रजिस्टर कर पाते हैं. इस सुविधा की मदद से, डीएनएस पर आधारित सेवा की खोज की जा सकती है.

इस गाइड में ऐसे बुनियादी टास्क के बारे में बताया गया है जिनमें आम तौर पर इस्तेमाल होने वाले srp server और srp client निर्देशों का इस्तेमाल किया जाता है.

एसआरपी सर्वर के निर्देश

srp server कमांड की सूची देखने के लिए, help टाइप करें:

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

एसआरपी क्लाइंट के लिए निर्देश

srp client कमांड की सूची देखने के लिए, help टाइप करें:

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

सीएलआई कमांड रेफ़रंस

सभी निर्देशों की जानकारी और सिंटैक्स के लिए, सीएलआई कमांड रेफ़रंस देखें. एसआरपी सर्वर के निर्देश, srp सर्वर (चालू, बंद करें) के साथ अंग्रेज़ी वर्णमाला के क्रम में शुरू होते हैं. एसआरपी क्लाइंट कमांड, srp क्लाइंट अपने-आप शुरू होने (get) के साथ अंग्रेज़ी वर्णमाला के क्रम में शुरू होते हैं.

थ्रेड बॉर्डर राऊटर कोडलैब

OpenThread Border राऊटर कोडलैब में, SRP क्लाइंट एंड डिवाइस को सेट अप करने के तरीके की जानकारी शामिल है.

एसआरपी के कुछ बुनियादी निर्देशों के बारे में खास जानकारी

SRP सर्वर और क्लाइंट कमांड का इस्तेमाल, सामान्य SRP टास्क करने के लिए एक क्रम में किया जा सकता है:

  1. एसआरपी सर्वर शुरू करें.

    Thread नेटवर्क को बनाने के बाद, srp server enable SRP सर्वर को चालू करता है.

  2. एसआरपी क्लाइंट शुरू करें.

    • srp client host name, क्लाइंट के इस्तेमाल के लिए होस्ट नेम सेट करता है.

    • srp client host address (set), या तो ऑटो होस्ट क्लाइंट पता मोड को चालू करता है या होस्ट क्लाइंट पतों की सूची को साफ़ तौर पर सेट करता है.

    • srp client service add किसी सेवा को जोड़ता है. इसमें इंस्टेंस का नाम, सेवा का नाम, और पोर्ट नंबर शामिल होता है.

    • srp client autostart enable, अपने-आप चालू होने वाला मोड चालू करता है. srp client start चलाकर, मैन्युअल तरीके से भी क्लाइंट को चालू किया जा सकता है.

  3. सेवा की स्थिति की पुष्टि करें.

    • srp client host और srp client service, इस बारे में स्टेटस बताते हैं कि क्लाइंट होस्ट और सेवा को क्लाइंट नोड पर रजिस्टर किया गया है या नहीं.

    • srp server host और srp server service, सर्वर नोड पर होस्ट और सेवा की स्थिति की जानकारी देते हैं.

  4. सेवा हटाएं.

    srp client service remove किसी सेवा को हटा देता है, लेकिन सेवा के नाम को बनाए रखता है.

  5. होस्ट और सेवा के नाम हटाएं.

    srp client host remove, होस्ट और रजिस्टर की गई सभी सेवाओं को हटा देता है.

एसआरपी सर्वर और क्लाइंट कमांड के इस्तेमाल के उदाहरण

इन उदाहरणों में Thread नेटवर्क को सेट अप करने, SRP सर्वर और क्लाइंट को शुरू करने, सर्वर की स्थिति की पुष्टि करने, और किसी सेवा को हटाने के लिए, बुनियादी सीएलआई निर्देशों का इस्तेमाल किया जाता है. सैंपल डेटा का इस्तेमाल, सिर्फ़ समझाने के लिए किया जाता है.

एसआरपी सर्वर शुरू करें

  1. SRP सर्वर नोड शुरू करें:

    ./output/simulation/bin/ot-cli-ftd 1
    
  2. Thread नेटवर्क को सेट अप करें. इसके बाद, 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
    

एसआरपी क्लाइंट शुरू करें

  1. SRP क्लाइंट नोड शुरू करें:

    ./output/simulation/bin/ot-cli-ftd 2
    
  2. Thread नेटवर्क से जुड़ें, क्लाइंट होस्ट का नाम और पता सेट करें, और कोई सेवा रजिस्टर करें:

    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 कमांड का इस्तेमाल करें. क्लाइंट, नेटवर्क डेटा की निगरानी करता है, ताकि Thread नेटवर्क में उपलब्ध एसआरपी सर्वर का पता लगाया जा सके. इसके बाद, क्लाइंट अपने-आप काम करना शुरू कर देता है.

  3. अगर क्लाइंट को मैन्युअल तरीके से शुरू करना है, तो नीचे दी गई चीज़ें चलाएं और एसआरपी पता और पोर्ट शामिल करें:

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

    ऊपर दिए गए उदाहरण में, यूडीपी पोर्ट को सुनने वाला एसआरपी सर्वर 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 और srp server service, दोनों कमांड के लिए deleted: false दिखाता है, जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है.

सेवा हटाएं

  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
    >