בחירת נתב

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

קבוצה דומיננטית מחוברת

קבוצת OT מקושרת דומיננטית
דוגמה לקבוצה דומיננטית מקושרת

הנתב חייב ליצור קבוצה דומיננטית מקושרת (CDS), כלומר:

  1. יש נתיב נתבים בלבד בין כל שני נתבים.
  2. כל נתב ברשת Thread יכול להגיע לכל נתב אחר, כל עוד הוא נשאר בתוך קבוצת הנתב.
  3. כל מכשיר קצה ברשת Thread מחובר ישירות לנתב.

אלגוריתם מבוזר שומר על ה-CDS, וכך מבטיח רמה מינימלית של יתירות. כל מכשיר מתחבר לרשת בהתחלה כמכשיר קצה (צאצא). כשהמצב של רשת Thread משתנה, האלגוריתם מוסיף או מסיר נתבים כדי לשמור על ה-CDS.

Thread מוסיף נתבים אל:

  • הגדלת הכיסוי אם הרשת נמצאת מתחת לסף של הנתב (16)
  • הגדלת המגוון של הנתיבים
  • שמירה על רמה מינימלית של יתירות
  • הרחבת הקישוריות ותמיכה בעוד ילדים

הסרת נתב מהשרשור:

  • צמצום מצב הניתוב מתחת למספר המקסימלי של 32 נתבים
  • לאפשר נתבים חדשים בחלקים אחרים של הרשת לפי הצורך

שדרוג לנתב

אחרי שמתחברים לרשת Thread, המכשיר הצאצא יכול לבחור להפוך לנתב. לפני שמתחילים את תהליך בקשת הקישור של MLE, הצאצא שולח הודעה של בקשת כתובת ל-Leader, שבה הוא מבקש מזהה נתב. אם המארח מקבל את הבקשה, הוא משיב עם מזהה נתב והצאצא משדרג את עצמו לנתב.

לאחר מכן, תהליך הבקשה לקישור MLE משמש ליצירת קישורים דו-כיווניים בין נתבים עם נתבים שכנים.

  1. הנתב החדש שולח בקשת קישור ב-multicast לנתב השכן.
  2. הנתב מגיב בהודעות Link Accept and Request.
  3. הנתב החדש משיב לכל נתב באמצעות Link Accept (אישור קישור) של unicast כדי ליצור את הקישור בין הנתב לנתב.

בקשת קישור היא בקשה מהנתב לכל שאר הנתבים ברשת Thread. כשהמכשיר הופך לנתב בפעם הראשונה, הוא שולח בקשת קישור ב-multicast אל ff02::2. לאחר מכן, אחרי שהמכשירים מאתרים את הנתב האחר באמצעות מודעות MLE, הם שולחים בקשות קישור ל-unicast.

בקשת קישור ל-MLE של OT
תוכן ההודעה של בקשת הקישור
גרסה גרסת הפרוטוקול של Thread
אתגר בדיקה של מהירות התגובה של הקישור כדי למנוע התקפות של שחזור (replay)
כתובת המקור RLOC16 של השולח
Leader Data מידע על המנהיג של הנתב, כפי שהוא מאוחסן בשולח (RLOC,‏ Partition ID, ‏ Partition weight)

'בקשה לקישור ואישור קישור' היא שילוב של ההודעות 'בקשה לקישור' ו'אישור קישור'. Thread משתמש באופטימיזציה הזו בתהליך של בקשת הקישור ל-MLE כדי לצמצם את מספר ההודעות מ-4 ל-3.

אישור ובקשה של קישור OT MLE

'אישור קישור' הוא תגובה unicast לבקשת קישור מרשתת שכנה, שמספקת מידע על עצמה ומאשרת את הקישור לרשתת השכנה.

אישור קישור של OT MLE
קישור תוכן ההודעה לאישור
גרסה גרסת הפרוטוקול של Thread
תגובה בדיקה של מהירות התגובה של הקישור כדי למנוע התקפות של שחזור (replay)
מספר הפריימים בקישור מונה פריימים 802.15.4 בשולח
MLE Frame Counter מונה הפריימים של MLE בשולח
כתובת המקור RLOC16 של השולח
Leader Data מידע על המנהיג של הנתב, כפי שהוא מאוחסן בשולח (RLOC,‏ Partition ID, ‏ Partition weight)

שדרוג לאחור ל-REED

כשנתב עובר לשדרוג לאחור ל-REED, הקישורים בין הנתב לנתב מתנתקים והמכשיר מתחיל את תהליך ה-MLE Attach כדי ליצור קישור בין הצאצא להורה.

מידע נוסף על תהליך הקישור של MLE זמין במאמר הצטרפות לרשת קיימת.

במקרים מסוימים, יכול להיות שתצטרכו ליצור קישור חד-כיווני לקבלת הודעות.

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

מכשיר קצה יכול גם ליצור קישור לקבלה עם נתבים שכנים שאינם נתבים הורים כדי לשפר את האמינות של ה-multicast. נרחיב על כך בהמשך, בקטע 'ניתוב Multicast'.

Recap

מה למדתם:

  • הנתבנים ברשת Thread חייבים ליצור קבוצה דומיננטית מחוברת (CDS)
  • מכשירים עם Thread משודרגים לנתב או מוחזרים למכשיר קצה כדי לשמור על CDS
  • התהליך של בקשת הקישור ב-MLE משמש ליצירת קישורים בין נתבים

בדיקת ההבנה

אילו מהכללים האלה לא נאכפים על ידי קבוצה דומיננטית מקושרת (CDS)?
יש נתיב נתבים בלבד בין כל שני נתבים.
תשובה לא נכונה.
כל נתב ברשת Thread יכול להגיע לכל נתב אחר, כל עוד הוא נשאר בתוך קבוצת הנתב.
תשובה לא נכונה.
כל מכשיר קצה ברשת Thread מחובר ישירות לנתב.
תשובה לא נכונה.
רק נתב אחד ברשת Thread יכול להיות נתב גבול.
נכון. לרשת Thread יכולים להיות כמה נתבי גבולות.
למה נתב עשוי להסיר מרשת Thread?
כדי להקטין את מצב הניתוב מתחת למספר המקסימלי של 32 נתבים.
נכון. ברשתות Thread מנסים לשמור על מספר אופטימלי של נתבים. מספר הנתבנים המקסימלי בכל רשת Thread הוא 32.
כדי לפנות ערוצים.
תשובה לא נכונה. למספר הנתב אין קשר לשימוש בערוץ או לקיבולת שלו.
כדי לאפשר בחירת נתבים חדשים בחלקים אחרים של הרשת במקרה הצורך.
נכון. הפחתת מספר הנתבנים הפעילים בחלק אחד של רשת Thread מגדילה את היכולת שלה להגדיל את קיבולת הניתוב במקומות אחרים.
מה צריך לקרות לפני ש-REED שמנסה להפוך לנתב יכול ליצור קישורים ישירים עם הנתב האחרים?
ה-REED צריך לשלוח הודעה של בקשה לקבלת כתובת ל-Leader של הרשת.
נכון.
המארח צריך להקצות מזהה נתב ל-REED.
נכון. בלי מזהה נתב, ה-REED יישאר מכשיר צאצא.
ה-REED צריך לשלוח בקשת קישור MLE.
לא נכון. בקשת הקישור של MLE היא הדרך שבה המכשיר יוצר קישורים לנתב אחר אחרי שהוא הופך לנתב.
איזו מההצהרות הבאות מתארת במדויק מה קורה כשמתבצע שדרוג לאחור של נתב?
המכשיר נשאר ברשת באופן אוטומטי, אבל כמכשיר צאצא (REED).
לא נכון. יש עוד שלבים שצריך לבצע כשרוצים להוריד גרסה של נתב.
המכשיר צריך להתחיל את תהליך ה-MLE Attach כדי ליצור חיבור חדש לרשת.
נכון. מכשיר שמתבצעת בו הורדה לרמה נמוכה יותר מנתב ל-REED מנותק, וצריך לנהל מחדש את ההסכם על החיבור שלו לרשת.
איזה תהליך משמש ליצירת קישורים בין נתבים?
תהליך בקשת הקישור של MLE.
נכון.
תהליך הבקשה והאישור של קישורים.
תשובה לא נכונה. אין דבר כזה 'תהליך בקשה לאישור קישור'. הודעות של בקשת קישור ואישור קישור נשלחות על ידי נתבים בתגובה להודעות של בקשת קישור, כחלק מתהליך בקשת הקישור של MLE.
תהליך הקישור של MLE.
תשובה לא נכונה. תהליך ה-MLE Attach הוא התהליך שבו מכשיר מצטרף לרשת Thread קיימת.