רשתות Thread
רשתות של שרשורים מזוהות באמצעות שלושה מזהים ייחודיים:
- מזהה רשת אזור אישי (PAN ID) באורך 2 בייטים
- מזהה רשת אישית מורחבת (XPAN ID) באורך 8 בייטים
- שם רשת שקריא לבני אדם
לדוגמה, לרשת של שיחות בשרשור יכולים להיות המזהים הבאים:
מזהה | ערך |
---|---|
מספר חשבון קבוע (PAN) | 0xBEEF |
מזהה XPAN | 0xBEEF1111CAFE2222 |
שם הרשת | yourThreadCafe |
כשיוצרים רשת חדשה בפרוטוקול Thread או מחפשים רשת קיימת להצטרפות אליה, מכשיר Thread מבצע סריקה פעילה אחר רשתות 802.15.4 בטווח הרדיו:
- המכשיר משדר בקשת איתות 802.15.4 בערוץ ספציפי.
- בתמורה, כל הנתב או מכשירי הקצה שעומדים בדרישות לשימוש בנתב (REED) בטווח משדרים אות איתות (beacon) שמכיל את מזהה ה-PAN של רשת Thread, את מזהה ה-XPAN ואת שם הרשת.
- המכשיר חוזר על שני השלבים הקודמים לכל ערוץ.
אחרי שמכשיר Thread מזהה את כל הרשתות בטווח, הוא יכול להתחבר לרשת קיימת או ליצור רשת חדשה אם לא זוהתה אף רשת.
יצירת קישור Mesh
ב-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 כדי להתחבר כמכשיר צאצא (מכשיר קצה). התהליך הזה משמש לקישורים בין צאצא להורה.
- הצומת הצעיר שולח בקשת הורה ב-multicast לכל הנתבנים וה-REEDs השכנים ברשת היעד.
- כל הנתבנים וה-REEDs השכנים (אם מסכת הסריקה של בקשת ההורה כוללת REEDs) שולחים תגובות הורה עם מידע על עצמם.
- הילד או הילדה בוחרים מכשיר הורה ושולחים אליו בקשה לקבלת מזהה הילד או הילדה.
- ההורה שולח תגובה עם מספר הלקוח של החשבון הצאצא כדי לאשר את הקישור.
1. בקשה מהורה
בקשת הורה היא בקשת multicast מהמכשיר המחובר, שמשמשת לזיהוי נתבים שכנים ומכשירי קצה מתאימים לנתב (REED) ברשת היעד.
תוכן ההודעות של בקשות ההורה | |
---|---|
המצב | תיאור המכשיר המחובר |
אתגר | בדיקה של מהירות התגובה של הורה כדי למנוע התקפות שליחה מחדש |
מסכת סריקה | הגבלת הבקשה למתגים בלבד או גם למתגים וגם ל-REEDs |
2. תגובת ההורה
תגובה של הורה היא תגובה unicast לבקשת הורה שמספקת מידע על נתב או על REED למכשיר המחובר.
תוכן ההודעות של ההורים בתגובה | |
---|---|
גרסה | גרסת הפרוטוקול של Thread |
תגובה | עותק של הבקשה של ההורה לערעור |
מספר הפריימים בקישור | מונה פריימים 802.15.4 בנתב/ב-REED |
MLE Frame Counter | מונה פריימים של MLE בנתב/ב-REED |
כתובת המקור | RLOC16 של הנתב/REED |
הפרדה בין הקישורים | איכות האות שהתקבל מהנתב/מ-REED |
קישוריות | תיאור רמת הקישוריות של הנתב/ה-REED |
Leader Data | מידע על המנהיג של הנתב/ה-REED |
אתגר | בדיקה של מידת העיתוי של בקשת מזהה הילד כדי למנוע התקפות של שחזור (replay) |
3. בקשה למזהה צאצא
בקשה למזהה הצאצא היא בקשה unicast מהמכשיר המחובר (צאצא) שנשלחת לנתב או ל-REED (הורה) כדי ליצור קישור בין הצאצא להורה. אם הבקשה נשלחת ל-REED, הוא משדרג את עצמו למתג לפני שהוא מקבל את הבקשה.
תוכן ההודעה של בקשת מזהה הצאצא | |
---|---|
גרסה | גרסת הפרוטוקול של Thread |
תגובה | עותק של אתגר התשובה של ההורה |
מספר הפריימים בקישור | מונה פריימים 802.15.4 בצאצא |
MLE Frame Counter | מונה הפריימים של MLE בצאצא |
המצב | תיאור הילד |
Timeout | משך הזמן של חוסר הפעילות לפני שההורה מסיר את הילד או הילדה |
רישום של כתובת (רק למכשירי MED ו-SED) | רישום כתובות IPv6 |
4. תגובה למזהה הצאצא
תגובה עם מזהה הצאצא היא תגובה unicast מההורה שנשלחת לצאצא כדי לאשר שהוקם קישור בין הצאצא להורה.
התוכן של הודעות התגובה לגבי מזהי הצאצאים | |
---|---|
כתובת המקור | RLOC16 של ההורה |
Address16 | RLOC16 של הצאצא |
Leader Data | מידע על ה-Leader של ההורה (RLOC, מזהה מחיצה, משקל מחיצה) |
נתוני רשת | מידע על רשת Thread (תחיליות ברשת, הגדרה אוטומטית של כתובות, מסלולים ספציפיים יותר) |
Route (REED בלבד) | ההפצה של מסלולים |
Timeout | משך הזמן של חוסר הפעילות לפני שההורה מסיר את הילד או הילדה |
רישום של כתובת (רק למכשירי MED ו-SED) | אישור הכתובות הרשומים |
Recap
מה למדתם:
- מכשיר Thread מבצע סריקה פעילה כדי לאתר רשתות קיימות
- ב-Thread נעשה שימוש ב-Mesh Link Establishment כדי להגדיר קישורים ולהפיץ מידע על מכשירי הרשת
- הודעות MLE Advertisement מעדכנות מכשירי Thread אחרים לגבי המצב של הרשת והקישור של המכשיר
- תהליך הקישור של MLE יוצר קישורים בין צאצאים להורים