הפרמטרים להגדרה של רשת Thread מנוהלים באמצעות אובייקטים פעילים של מערך נתונים תפעולי ואובייקטים בהמתנה. ה-CLI OT כולל פקודות לקבלת מערכי נתונים של מערכי נתונים פעילים ובהמתנה להגדרה.
אזהרה – הגבלות לשימוש בסביבת ייצור!
יכול להיות שפקודות ה-CLI שכותבות או משנים את מערכי הנתונים הפעילים והממתינים עשויות לאפשר הגדרה של פרמטרים לא חוקיים, או שילובי פרמטרים לא חוקיים, למטרות בדיקה. ניתן להשתמש בפקודות ה-CLI הבאות רק:
- כדי להגדיר פרמטרים של רשת למכשיר הראשון ברשת חדשה של Thread שנוצרה.
- לבדיקה (לא רלוונטי למכשירים בסביבת ייצור).
ברשתות של Thread בסביבת ייצור, השיטה הנכונה לכתוב או לשנות מערכי נתונים תפעוליים היא באמצעות נציב (Commissioner) שמבצע עמלה. אסור לשנות בשום צורה את מערכי הנתונים התפעוליים במכשירי ייצור שהם לא Commiter פעיל, והם חלק מרשת של Thread.
מערך נתונים תפעולי פעיל
מערך הנתונים התפעולי הפעיל כולל פרמטרים שנמצאים כרגע בשימוש ברשת Thread שלמה. מערך הנתונים התפעולי הפעיל מכיל:
- חותמת זמן פעילה
- ערוץ
- מסכת ערוץ
- מזהה PAN מורחב
- קידומת רשת-מקומית
- שם הרשת
- מזהה PAN
- PSKc
- מדיניות האבטחה
כדי להגדיר בקלות מכשיר כך שיהיה חלק מלא ברשת ה-Thread, תוכלו להשתמש בפקודה dataset active -x כדי לקבל TLV בקידוד הקסדצימלי, ובפקודה מערך נתונים פעיל כדי להגדיר את מערך הנתונים במכשיר חדש.
במכשיר קיים, מחפשים את רכיב ה-TLV בקידוד הקסדצימלי:
dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done
במכשיר חדש, מגדירים את מערך הנתונים הפעיל:
dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done
מערך נתונים תפעולי בהמתנה
מערך הנתונים התפעולי בהמתנה משמש להעברת שינויים במערך הנתונים התפעולי הפעיל לפני שהם נכנסים לתוקף. מערך הנתונים Pending Operationsal Dataset מכיל את כל הפרמטרים ממערך הנתונים התפעולי הפעיל, בנוסף לפרמטרים הבאים:
- השהיית טיימר
- חותמת זמן של המתנה
תחילת העבודה
כדי לנהל מערכי נתונים משורת הפקודה, צריך להשלים את הסימולציה של Codelab באמצעות Docker ולעיין ב-CLI Command Reference.
כניסה למאמר בנושא פקודות ב-CLI
כדי להציג את רשימת הפקודות של dataset
, מקלידים help
:
dataset help
help
active
activetimestamp
channel
channelmask
clear
commit
delay
extpanid
init
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkkey
networkname
panid
pending
pendingtimestamp
pskc
securitypolicy
Done
מיפויים של ארגומנטים
מדיניות האבטחה
פקודות של מדיניות האבטחה משתמשות במיפויי ארגומנטים כדי לקבל ולהגדיר חברים ב-otSecurityPolicy. לדוגמה, dataset active
:
dataset active
Active Timestamp: 1
Channel: 13
Channel Mask: 0x07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d::/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
בדוגמה הזו, Security Policy: 0
מציין mRotationTime.
הנה רשימה של כל הארגומנטים של ה-CLI של מדיניות האבטחה והחבר otSecurityPolicy
המתאים לכל ארגומנט:
o
: mObtainNetworkKeyEnabledn
: mNativeCommissioningEnabledr
: mRoutersEnabledc
: mExternalCommissioningEnabledb
: mBeaconsEnabledC
: mCommercialCommissioningEnablede
: mAutonomousEnrollmentEnabledp
: mNetworkKeyProvisioningEnabledR
: mNonCcmRoutersEnabled
גם בפקודות get ו-set של dataset securitypolicy
נעשה שימוש באותם מיפויי ארגומנטים, לדוגמה, הגדרת securitypolicy
והעברת o
, n
, r
ו-c
:
dataset securitypolicy 672 onrc
Done
רכיבי מערך הנתונים ופקודות mgmt
יחד עם פרמטרים אחרים, mgmtgetcommand
ו-mgmtsetcommand
למערכי נתונים פעילים ובהמתנה מאפשרים לקבל ולהגדיר כל שילוב של otOperationalDatasetComponents:
activetimestamp
pendingtimestamp
networkkey
networkname
extpanid
localprefix
delaytimer
panid
channel
securitypolicy
עבור המאפיין mgmtgetcommand
, אפשר לציין את הרכיבים האלה בכל סדר שתרצו לקבל את הערכים התואמים. לחלופין, אפשר גם להעביר את -x
כדי להשתמש במחרוזת הקסדצימלית שמטופלת כייצוג של רצף בייטים של TLV. אלה יכולים להיות ספקי TLV ספציפיים לספק, שאולי תרצו להוסיף בנוסף לפרמטרים אחרים.
mgmtgetcommand
מאפשר גם לציין את כתובת ה-IPv6 של ה-Leader. אחרת, נעשה שימוש ב-ALOC המוביל.
dataset mgmtgetcommand {active|pending} [address leader-address] [dataset-components] [-x tlv-list]
לדוגמה, כדי לקבל activetimestamp
ו-securitypolicy
, משתמשים בארגומנטים הבאים:
dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done
כדי להגדיר רכיבים, אפשר גם לספק את רכיבי מערך הנתונים בכל סדר, ואחריו את ערך הרכיב.
dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]
כדי להגדיר את activetimestamp
ואת securitypolicy
, משתמשים בארגומנטים הבאים:
dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done