OpenThread מציע פונקציונליות של שרת SRP ושל לקוח, וכך מאפשר למכשירים לרשום שירותים מבוססי-DNS באמצעות עדכון DNS הרגיל שנשלח כמנות unicast. הפונקציונליות הזו מפעילה גילוי שירות מבוסס-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 Command Reference. פקודות שרת ה-SRP מתחילות בסדר אלפביתי עם שרת srp (הפעלה,השבתה). פקודות לקוח ה-SRP מתחילות בסדר אלפביתי עם start autostart (get) של לקוח srp.
Codelab של נתב Thread Border
ב-OpenThread Border Router codelab מוסבר איך להגדיר את מכשיר הקצה של לקוח ה-SRP.
סקירות כלליות של כמה פקודות SRP בסיסיות
ניתן להשתמש בשרת SRP ובפקודות לקוח ברצף כדי לבצע משימות SRP אופייניות:
-
srp server enable
מפעיל את שרת ה-SRP לאחר היצירה של רשת ה-Thread. -
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 באמצעות הפקודה
srp server enable
: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
כדי להפעיל את מצב ההפעלה האוטומטית בלקוח. הלקוח עוקב אחרי נתוני הרשת כדי לגלות שרתי SRP זמינים בתוך רשת ה-Thread, ואז הלקוח מפעיל את עצמו באופן אוטומטי.אם אתם מפעילים את הלקוח ידנית, מריצים את הפקודה הבאה ומצרפים את הכתובת והיציאה של ה-SRP:
srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
Doneיציאת ה-UDP להאזנה של שרת ה-SRP היא
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מוודאים שהפלט מציג
deleted: false
לפקודהsrp server host
ולפקודה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 >