OpenThread 同時提供 SRP 伺服器和用戶端功能,可讓裝置 使用標準 DNS 更新 (以單點傳播形式傳送) 來註冊 DNS 型服務 資源數量這項功能可啟用 DNS 型服務探索。
本指南提供使用部分較常見 srp server
的基本工作。
和 srp client
指令
SRP 伺服器指令
如需 srp server
指令的清單,請輸入 help
:
srp server help
addrmode
auto
disable
domain
enable
help
host
lease
seqnum
service
state
Done
SRP 用戶端指令
如需 srp client
指令的清單,請輸入 help
:
srp client help
autostart
callback
help
host
keyleaseinterval
leaseinterval
service
start
state
stop
ttl
Done
CLI 指令參考資料
如需所有指令的說明和語法,請參閱 CLI 指令參考資料。 SRP 伺服器指令會按照字母順序和 srp 伺服器 (啟用、停用)。 SRP 用戶端指令會按照字母順序使用 srp 用戶端 autostart (get)。
Thread 邊界路由器程式碼研究室
OpenThread 邊界路由器程式碼研究室 內含設定 SRP 用戶端裝置的資訊。
部分基本 SRP 指令總覽
SRP 伺服器和用戶端指令可依序用於執行一般 SRP 工作:
-
建立 Thread 網路之後,
srp server enable
就會啟用 SRP 伺服器。 -
srp client host name
可設定用戶端要使用的主機名稱。srp client host address (set)
:啟用自動主機用戶端位址模式,或 明確設定主機用戶端位址清單。srp client service add
會新增具有指定執行個體名稱的服務,即服務 名稱和通訊埠編號srp client autostart enable
可啟用自動啟動模式。您也可以 執行srp client start
來啟動用戶端。
-
「
srp client host
」和「srp client service
」會提供狀態資訊,指出 用戶端主機和服務已成功登錄到用戶端節點。「
srp server host
」和「srp server service
」提供主機和服務狀態 在伺服器節點上運作
移除服務。
srp client service remove
會移除服務,但保留服務名稱。-
srp client host remove
會移除主機和所有已註冊的服務。
SRP 伺服器和用戶端指令使用範例
這些範例使用基本的 CLI 指令設定 Thread 網路 SRP 伺服器和用戶端、驗證伺服器狀態並移除服務。範例資料 做為說明用途
啟動 SRP 伺服器
啟動 SRP 伺服器節點:
./output/simulation/bin/ot-cli-ftd 1
設定 Thread 網路,然後執行
srp server enable
指令來啟用 SRP 伺服器:dataset init new
Donedataset
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 Donedataset commit active
Doneifconfig up
Donethread start
Donestate
leader Doneipaddr
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 Donesrp server enable
Done
啟動 SRP 用戶端
啟動 SRP 用戶端節點:
./output/simulation/bin/ot-cli-ftd 2
加入 Thread 網路、設定用戶端主機名稱和位址,然後 註冊服務:
dataset networkkey 7fcbae4153cc2955c28440c15d4d4219
Donedataset commit active
Doneifconfig up
Donethread start
Donestate
child Doneipaddr
fded:5114:8263:1fe1:0:ff:fe00:c001 fded:5114:8263:1fe1:44f9:cc06:4a2d:534 fe80:0:0:0:38dd:fdf7:5fd:24e Donesrp client host name my-host
Donesrp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534
Donesrp client service add my-service _ipps._tcp 12345
Donesrp client autostart enable
Done如上所示,使用
srp client autostart enable
指令啟用 用戶端的自動開始模式。用戶端會監控網路資料,以找出 Thread 網路中可用的 SRP 伺服器,接著是 並自動啟動如果手動啟動用戶端,請執行下列指令,並加入 SRP 位址和通訊埠:
srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
Done在上述範例中,SRP 伺服器監聽 UDP 通訊埠的是
c002(49154)
。
驗證服務狀態
檢查主機和服務是否已在用戶端節點上成功註冊:
srp client host
name:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp client service
instance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0 Done確認主機和服務指令的輸出內容都顯示
state:Registered
。 與上述範例一樣檢查伺服器節點上的主機和服務:
srp server host
my-host.default.service.arpa. deleted: false addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp 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
的deleted: false
和srp server service
指令,如上方範例所示。
移除服務
透過用戶端節點移除服務:
srp client service remove my-service _ipps._tcp
Done透過伺服器節點確認服務已移除:
srp server service
my-service._ipps._tcp.default.service.arpa. deleted: true Done輸出內容會列出服務項目,因為服務名稱 未移除。
移除主機和服務名稱
移除主機及其所有已註冊的服務:
srp client host remove 1
Done確認伺服器節點中未列出任何主機或服務項目:
srp server host
Donesrp server service
Done >