גילוי ויצירה של רשתות

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

רשתות Thread

רשתות של שרשורים מזוהות באמצעות שלושה מזהים ייחודיים:

  • מזהה רשת אזור אישי (PAN ID) באורך 2 בייטים
  • מזהה רשת אישית מורחבת (XPAN ID) באורך 8 בייטים
  • שם רשת שקריא לבני אדם

לדוגמה, לרשת של שיחות בשרשור יכולים להיות המזהים הבאים:

מזהה ערך
מספר חשבון קבוע (PAN) 0xBEEF
מזהה XPAN 0xBEEF1111CAFE2222
שם הרשת yourThreadCafe
OT Active Scan

כשיוצרים רשת חדשה בפרוטוקול Thread או מחפשים רשת קיימת להצטרפות אליה, מכשיר Thread מבצע סריקה פעילה אחר רשתות 802.15.4 בטווח הרדיו:

  1. המכשיר משדר בקשת איתות 802.15.4 בערוץ ספציפי.
  2. בתמורה, כל הנתב או מכשירי הקצה שעומדים בדרישות לשימוש בנתב (REED) בטווח משדרים אות איתות (beacon) שמכיל את מזהה ה-PAN של רשת Thread, את מזהה ה-XPAN ואת שם הרשת.
  3. המכשיר חוזר על שני השלבים הקודמים לכל ערוץ.

אחרי שמכשיר Thread מזהה את כל הרשתות בטווח, הוא יכול להתחבר לרשת קיימת או ליצור רשת חדשה אם לא זוהתה אף רשת.

ב-Thread נעשה שימוש בפרוטוקול Mesh Link Establishment ‏ (MLE) כדי להגדיר קישורים ולהפיץ מידע על הרשת למכשירי Thread.

בהגדרת הקישור, MLE משמש כדי:

  • איתור קישורים למכשירים סמוכים
  • קביעת האיכות של קישורים למכשירים שכנים
  • יצירת קישורים למכשירים שכנים
  • משא ומתן עם עמיתים על פרמטרים של קישור (סוג המכשיר, ספירת פריימים, זמן קצוב לתפוגה)

MLE מפרסם את סוגי המידע הבאים למכשירים שרוצים ליצור קישורים:

  • נתוני מנהיג (Leader RLOC, מזהה מחיצה, משקל מחיצה)
  • נתוני רשת (תחיליות ברשת, הגדרה אוטומטית של כתובות, מסלולים ספציפיים יותר)
  • ההפצה של מסלולים

ההפצה של נתיבי הניתוב ב-Thread פועלת באופן דומה ל-Routing Information Protocol‏ (RIP), פרוטוקול ניתוב של וקטור מרחק.

יצירת רשת חדשה

אם המכשיר בוחר ליצור רשת חדשה, הוא בוחר את הערוץ הפחות עמוס ומזהה PAN שלא נמצא בשימוש ברשתות אחרות, הופך לנתב ובוחר בעצמו כמנהיג. המכשיר הזה שולח הודעות MLE Advertisement למכשירי 802.15.4 אחרים כדי להודיע להם על מצב הקישור שלו, ומגיב לבקשות Beacon ממכשירי Thread אחרים שמבצעים סריקה פעילה.

הצטרפות לרשת קיימת

אם המכשיר בוחר להצטרף לרשת קיימת, הוא מגדיר את הערוץ, מזהה ה-PAN, מזהה ה-XPAN ושם הרשת כך שיתאימו לאלה של רשת היעד באמצעות Thread Commissioning, ולאחר מכן עובר את תהליך ה-MLE Attach כדי להתחבר כמכשיר צאצא (מכשיר קצה). התהליך הזה משמש לקישורים בין צאצא להורה.

  1. הצומת הצעיר שולח בקשת הורה ב-multicast לכל הנתבנים וה-REEDs השכנים ברשת היעד.
  2. כל הנתבנים וה-REEDs השכנים (אם מסכת הסריקה של בקשת ההורה כוללת REEDs) שולחים תגובות הורה עם מידע על עצמם.
  3. הילד או הילדה בוחרים מכשיר הורה ושולחים אליו בקשה לקבלת מזהה הילד או הילדה.
  4. ההורה שולח תגובה עם מספר הלקוח של החשבון הצאצא כדי לאשר את הקישור.

1. בקשה מהורה

בקשת הורה היא בקשת multicast מהמכשיר המחובר, שמשמשת לזיהוי נתבים שכנים ומכשירי קצה מתאימים לנתב (REED) ברשת היעד.

OT MLE Attach Parent Request
תוכן ההודעות של בקשות ההורה
המצב תיאור המכשיר המחובר
אתגר בדיקה של מהירות התגובה של הורה כדי למנוע התקפות שליחה מחדש
מסכת סריקה הגבלת הבקשה למתגים בלבד או גם למתגים וגם ל-REEDs

2. תגובת ההורה

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

OT MLE Attach Parent Response
תוכן ההודעות של ההורים בתגובה
גרסה גרסת הפרוטוקול של Thread
תגובה עותק של הבקשה של ההורה לערעור
מספר הפריימים בקישור מונה פריימים 802.15.4 בנתב/ב-REED
MLE Frame Counter מונה פריימים של MLE בנתב/ב-REED
כתובת המקור RLOC16 של הנתב/REED
הפרדה בין הקישורים איכות האות שהתקבל מהנתב/מ-REED
קישוריות תיאור רמת הקישוריות של הנתב/ה-REED
Leader Data מידע על המנהיג של הנתב/ה-REED
אתגר בדיקה של מידת העיתוי של בקשת מזהה הילד כדי למנוע התקפות של שחזור (replay)

3. בקשה למזהה צאצא

בקשה למזהה הצאצא היא בקשה unicast מהמכשיר המחובר (צאצא) שנשלחת לנתב או ל-REED (הורה) כדי ליצור קישור בין הצאצא להורה. אם הבקשה נשלחת ל-REED, הוא משדרג את עצמו למתג לפני שהוא מקבל את הבקשה.

בקשה לצרף מזהה צאצא של OT MLE
תוכן ההודעה של בקשת מזהה הצאצא
גרסה גרסת הפרוטוקול של Thread
תגובה עותק של אתגר התשובה של ההורה
מספר הפריימים בקישור מונה פריימים 802.15.4 בצאצא
MLE Frame Counterמונה הפריימים של MLE בצאצא
המצב תיאור הילד
Timeout משך הזמן של חוסר הפעילות לפני שההורה מסיר את הילד או הילדה
רישום של כתובת (רק למכשירי MED ו-SED) רישום כתובות IPv6

4. תגובה למזהה הצאצא

תגובה עם מזהה הצאצא היא תגובה unicast מההורה שנשלחת לצאצא כדי לאשר שהוקם קישור בין הצאצא להורה.

תגובה של OT MLE Attach Child ID
התוכן של הודעות התגובה לגבי מזהי הצאצאים
כתובת המקור RLOC16 של ההורה
Address16 RLOC16 של הצאצא
Leader Data מידע על ה-Leader של ההורה (RLOC, מזהה מחיצה, משקל מחיצה)
נתוני רשת מידע על רשת Thread (תחיליות ברשת, הגדרה אוטומטית של כתובות, מסלולים ספציפיים יותר)
Route (REED בלבד) ההפצה של מסלולים
Timeout משך הזמן של חוסר הפעילות לפני שההורה מסיר את הילד או הילדה
רישום של כתובת (רק למכשירי MED ו-SED) אישור הכתובות הרשומים

Recap

מה למדתם:

  • מכשיר Thread מבצע סריקה פעילה כדי לאתר רשתות קיימות
  • ב-Thread נעשה שימוש ב-Mesh Link Establishment כדי להגדיר קישורים ולהפיץ מידע על מכשירי הרשת
  • הודעות MLE Advertisement מעדכנות מכשירי Thread אחרים לגבי המצב של הרשת והקישור של המכשיר
  • תהליך הקישור של MLE יוצר קישורים בין צאצאים להורים

בדיקת ההבנה

איזה מזהה לא משמש לזיהוי רשת Thread?
מזהה רשת אישית (PAN ID) באורך 2 בייטים.
תשובה לא נכונה. רשת של שיחה מזוהה, בין היתר, באמצעות מזהה PAN.
מזהה רשת אישית מורחבת (XPAN ID) באורך 8 בייטים.
תשובה לא נכונה. רשת של שיחה בשרשור מזוהה, בין היתר, באמצעות מזהה XPAN.
שם רשת שקריא לבני אדם.
תשובה לא נכונה. רשת של חוט מזהה, בין היתר, על ידי שם רשת שקריא לבני אדם.
SSID בן 32 תווים.
נכון. בניגוד לרשת Wi-Fi 802.11, מזהי רשתות Thread לא משתמשים ב-SSID.
למה משמש בקשת הורה?
כדי לזהות נתבים שכנים ומכשירי קצה מתאימים לנתבים (REED) ברשת היעד.
נכון. בקשת הורה נשלחת על ידי מכשיר שמנסה להתחבר לרשת.
כדי להודיע שנתיב הופך להורה.
תשובה לא נכונה. נתב לא יוצר קשר של הורה-צאצא עם מכשיר רשת אחר. במקום זאת, מכשיר רשת בוחר נתב שיהיה הצאצא שלו.
כדי לבקש שיקפיצו מכשיר קצה שעומד בדרישות לשימוש כנתב לנתב.
תשובה לא נכונה.
באיזה סוג כתובת נעשה שימוש בבקשה להורה?
unicast
תשובה לא נכונה.
anycast
תשובה לא נכונה.
multicast
נכון.
שידור
תשובה לא נכונה.
מהי הסיווג של המכשיר כשמתבצע חיבור ראשוני לרשת Thread?
הילד או הילדה (מכשיר קצה)
נכון. מכשיר שמצטרף לרשת Thread תמיד מתחיל בתור מכשיר קצה ברשת הזו.
FTD (מכשיר Thread מלא)
תשובה לא נכונה.
REED (מכשיר קצה מתאים לרוטר)
תשובה לא נכונה.