תצוגה וניהול של נתוני רשת באמצעות OT CLI

הצגת המקור ב-GitHub

נתוני רשת בפרוטוקול Thread מכילים מידע על נתבי גבול ועל שרתים אחרים זמינה ברשת בפרוטוקול Thread. נתבי גבול ומכשירים שמציעים שירותים לרשום את הפרטים שלהם אצל המנהיג. המנהיג אוסף ובונה של המידע הזה בנתוני הרשת של פרוטוקול Thread, ומפיץ את המידע לכל המכשירים ברשת בפרוטוקול Thread.

נתבי גבול עשויים לרשום קידומות שהוקצו לרשת פרוטוקול Thread וקידומות שהם מציעים להם מסלולים. השירותים עשויים לרשום כל מידע שרלוונטי השירות עצמו.

הפרטים של נתב הגבול ופרטי השירות יכולים להיות יציבים או זמניים. פרוטוקול Thread יציב נתוני הרשת מופצים לכל המכשירים, כולל מכשירי קצה ישנים (SED). נתוני הרשת הזמניים מופצים לכל הצמתים, למעט SED.

פקודות לנתוני רשת

לרשימה של פקודות netdata, מקלידים help:

netdata help
help
full
length
maxlength
publish
register
show
steeringdata
unpublish
Done

פקודות full

הפקודות full מדווחות על סטטוס הדגל או שומרות את המעקב אחרי הדגל את הערכים 'net data full' הקריאה החוזרת (callback) הופעלה.

פקודה זו דורשת OPENthread_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

פקודות length ו-maxlength

הפקודה length מקבלת את האורך הנוכחי של נתוני רשת Thread, שדווחו במספר הבייטים. פקודות maxlength מקבלות את האורך המקסימלי שנמדד, או מאפס את האורך המקסימלי במעקב.

פקודות publish

בעל האתר של נתוני הרשת מספק מנגנונים להגבלת מספר רשומות של שירות וקידומת (קידומת ב-On-Mesh או נתיב חיצוני) ב-thread נתוני רשת על ידי מעקב אחר נתוני הרשת וקביעת מועד להוספה או הוספה של להסיר רשומות.

המוציא לאור דורש OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE.

יצירת רשת והגדרת קידומת

  1. יצירת הגדרה חדשה של הרשת.

    dataset init new
    Done
    
  2. הצגת הגדרות הרשת.

    dataset
    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
    
  3. שמירת מערך הנתונים החדש למערך הנתונים התפעולי הפעיל אחסון.

    dataset commit active
    Done
    
  4. הפעלת הממשק של פרוטוקול Thread

    ifconfig up
    Done
    thread start
    Done
    
  5. הצגת כתובות IPv6 שמוקצות לממשק פרוטוקול Thread.

    ipaddr
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    
  6. רישום קידומת IPv6 שהוקצתה לרשת של פרוטוקול Thread.

    prefix add fd00:dead:beef:cafe::/64 paros med
    Done
    netdata register
    Done
    
  7. הצגת נתונים של רשת פרוטוקול Thread.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    fd49:7770:7fc5:0::/64 s med 4000
    Services:
    44970 5d c000 s 4000
    44970 01 9a04b000000e10 s 4000
    Done
    

    הקידומות והמסלולים כוללים מיפויי ארגומנטים וערך ה-RLOC.

    רשומות השירות כוללות otServiceConfig ערכים, כולל mEnterpriseNumber, mServiceData, otServerConfig::mServerData ו-s כדי לציין otServerConfig::mStable. ה-RLOC מצורף גם לסוף רשומה.

  8. הצגת האורך הנוכחי, במספר הבייטים, של רשת פרוטוקול Thread של המחיצה נתונים.

    netdata length
    23
    Done
    
  9. הצגת כתובות IPv6 שמוקצות לממשק פרוטוקול Thread, כולל נוספה קידומת.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

צירוף לרשת קיימת

רק מפתח הרשת נדרש כדי שמכשיר יתחבר לרשת בפרוטוקול Thread.

אמנם אין חובה, אבל ציון הערוץ חוסך את הצורך לחפש מספר ערוצים, וכך משפרים גם את זמן האחזור וגם את היעילות של תהליך הצירוף.

אחרי שמכשיר מתחבר בהצלחה לרשת של פרוטוקול Thread, המכשיר מאחזר מערך הנתונים התפעולי המלא.

  1. יוצרים מערך נתונים תפעולי חלקי חלקי.

    dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
    Done
    dataset commit active
    Done
    
  2. הפעלת הממשק של פרוטוקול Thread.

    ifconfig up
    Done
    thread start
    Done
    
  3. אחרי החיבור לרשת הקיימת, מציגים את נתוני Thread Network.

    netdata show
    Prefixes:
    fd00:dead:beef:cafe::/64 paros med dc00
    Routes:
    Services:
    Done
    
  4. הצגת האורך הנוכחי, במספר הבייטים, של רשת פרוטוקול Thread של המחיצה נתונים.

    netdata length
    23
    Done
    
  5. הצגת כתובות IPv6 שמוקצות לממשק פרוטוקול Thread.

    ipaddr
    fd00:dead:beef:cafe:4da8:5234:4aa2:4cfa
    fd3d:b50b:f96d:722d:0:ff:fe00:fc00
    fd3d:b50b:f96d:722d:0:ff:fe00:dc00
    fd3d:b50b:f96d:722d:393c:462d:e8d2:db32
    fe80:0:0:0:a40b:197f:593d:ca61
    Done
    

ניפוי באגים ו אבחון

הגודל של נתוני הרשת מוגבל ל-254 בייטים. אם נתבי גבול ממשיכים להוסיף רשומות (לדוגמה, קידומות, נתיבים או רשומות של שירותים) לנתוני רשת יכול להיות מלא. כשזה קורה, בקשות חדשות מנתב גבול להוסיף פריטים יידחו או שהמנהיג יתעלם מהם. המנהיג לא לאותת בהכרח לנתב הגבול, כדי שנתב הגבול יוכל לא מבין מיד שנתוני הרשת יתמלאו. עם זאת, זמינה לזיהוי מתי נתוני רשת מלאים.

שיטת הזיהוי שמוטמעת גם בנתבי גבול וגם במובילה, משתמשת מנגנון קריאה חוזרת (callback) ומאפשר למשתמשים לקבל הודעה כשנתוני הרשת מלא. אפשר להשתמש בקריאה חוזרת (callback) כדי לבצע פעולה, כמו הסרה של תחיליות לא פעילות או רשומות של שירות. הפקודות netdata full משמשות לדגל עוקב אחר הערך 'נתוני נטו מלאים' הקריאה החוזרת (callback) הופעלה. הפקודות האלה יכול לדווח על סטטוס הדגל או לאפס אותו.

בתרחישים לדוגמה טיפוסיים של פרוטוקולי Thread לא סביר שנתוני הרשת יקבלו מלאה, גם בתרחיש שבו יש נתבי גבול רבים הוספת תחיליות של מסלולים.

מבחינה טכנית אפשר למלא את נתוני הרשת בצורה מלאה, אבל לעיתים קרובות בגלל הגדרה שגויה או בעיה בנתב הגבולות. netdata length ופקודות netdata maxlength יכולות לעזור לנפות באגים בשגיאות נתוני רשת מלאים. הפונקציה length מקבלת את האורך הנוכחי של נתוני הרשת, מדווחת כבייטים maxlength מקבל את האורך המקסימלי שנמדד, והוא יכול גם לאפס את באורך המקסימלי.