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

ברשת שרשור יש שלושה היקפים לטיפול ב-unicast:
- קישור מקומי - כל הממשקים שניתן להגיע אליהם באמצעות שידור רדיו יחיד
- Mesh-Local — כל הממשקים זמינים באותה רשת Thread
- בכל העולם – ניתן לגשת לכל הממשקים מחוץ לרשת Thread
שני ההיקפים הראשונים תואמים לתחיליות שהוקצו על ידי רשת שרשור.
ל-Link-Local יש קידומות של fe80::/16
, ול-Mesh-Local יש קידומות של
fd00::/8
.
Unicast
יש מספר כתובות unicast מסוג IPv6 שמזהה מכשיר יחיד בשרשור. לכל פונקציה יש פונקציה שונה, המבוססת על ההיקף ועל התרחיש לדוגמה.
לפני שנפרט כל סוג, בואו נלמד על סוג משותף, שנקרא ממקם הניתוב (RLOC). ה-RLOC מזהה ממשק של שרשור, על סמך המיקום שלו בטופולוגיה של הרשת.
איך נוצר ממקם הניתוב
לכל המכשירים מוקצה מזהה נתב ומזהה ילדים. בכל נתב יש טבלה של כל הילדים, והשילוב שלהם מזהה מכשיר באופן ייחודי בטופולוגיה. לדוגמה, נניח שהצמתים המודגשים בטופולוגיה הבאה, שבהם המספר בנתב (פנטגון) הוא מזהה הנתב, והמספר במכשיר קצה (עיגול) הוא מזהה הצאצא:

כל מזהה נתב של ילד או ילדה תואם להורים שלהם (נתב). כי נתב הוא לא ילד, מספר המזהה של הנתב הוא תמיד 0. הערכים האלה ייחודיים לכל מכשיר ברשת השרשורים, ומשמשים ליצירת RLOC16, שמייצג את 16 הביטים האחרונים ב-RLOC.
לדוגמה, כך מחשבים את ה-RLOC16 בצומת השמאלי העליון (נתב מזהה = 1 ומזהה ילדים = 1):

ה-RLOC16 הוא חלק ממזהה הממשק (IID), שתואם ל-64 הביטים האחרונים בכתובת IPv6. ניתן להשתמש במזהי IID מסוימים כדי לזהות סוגים מסוימים של ממשקי Thread. לדוגמה, ה-IDI ל-RLOC מופיע תמיד בטופס הזה:
0000:00ff:fe00:RLOC16
ה-IID, בשילוב עם קידומת Mesh-Local, מוביל ל-RLOC. לדוגמה, באמצעות קידומת Mesh-Local של fde5:8dba:82e1:1::/64
, ה-RLOC בצומת של
RLOC16 = 0x401
הוא:

ניתן להשתמש בלוגיקה הזו כדי לקבוע את ה-RLOC לכל הצמתים המודגשים בטופולוגיה שלמעלה.

עם זאת, מאחר שה-RLOC מבוסס על מיקום הצומת בטופולוגיה, ה-RLOC של הצומת יכול להשתנות בהתאם לשינויים בטופולוגיה.
לדוגמה, ייתכן שהצומת 0x400
יוסר מרשת השרשורים. צמתים
0x401
ו-0x402
יוצרים קישורים חדשים לנתבים שונים, ולכן כל אחד מהם מוקצה ל-RLOC16 ול-RLOC חדש:

סוגי כתובות של שידור חד-פעמי
ה-RLOC הוא רק אחת מכתובות ה-IPv6 ה-IPv6 הללו. קטגוריה נוספת של כתובות נקראת Endpoint Identifies (EIDs), שמזהים ממשק ייחודי של Thread בתוך חלוקת רשת של Thread. מזהי EID אינם תלויים בטופולוגיה של רשת השרשורים.
סוגי יוניסקס נפוצים מפורטים בהמשך.
כתובת קישור מקומית (LLA) |
|
---|---|
מספר EID שמזהה ממשק שרשור שניתן להגיע אליו דרך שידור רדיו יחיד. | |
דוגמה | fe80::54db:881c:3845:57f4 |
מזהה (IDI) | על סמך 802.15.4 כתובת מורחבת |
היקף | קישור מקומי |
לפרטים |
|
Mesh-Local EID (ML-EID) |
|
---|---|
מספר EID שמזהה ממשק שרשור, ללא קשר לטופולוגיה של הרשת. משתמשים באפשרות הזו כדי להגיע לממשק שרשור באותה קטגוריה. נקרא גם כתובת מקומית ייחודית (ULA). | |
דוגמה | fde5:8dba:82e1:1:416:993c:8399:35ab |
מזהה (IDI) | באקראי, נבחר לאחר סיום ההזמנה |
היקף | רשת מקומית |
לפרטים |
|
ממקם ניתוב (RLOC) |
|
---|---|
מזהה ממשק של שרשור, על סמך המיקום שלו בטופולוגיה של הרשת. | |
דוגמה | fde5:8dba:82e1:1::ff:fe00:1001 |
מזהה (IDI) | 0000:00ff:fe00:RLOC16 |
היקף | רשת מקומית |
לפרטים |
|
Anycater Locat (ALOC) |
|
---|---|
מזהה ממשק Thread באמצעות חיפוש RLOC, כאשר RLOC של יעד לא ידוע. | |
דוגמה | fde5:8dba:82e1:1::ff:fe00:fc01 |
מזהה (IDI) | 0000:00ff:fe00:fcXX |
היקף | רשת מקומית |
לפרטים |
|
כתובת Global Unicast (GUA) |
|
---|---|
מספר EID שמזהה ממשק Thread בהיקף גלובלי, מעבר לרשת שרשור. | |
דוגמה | 2000::54db:881c:3845:57f4 |
מזהה (IDI) |
|
היקף | כללי |
לפרטים |
|
שידור לקבוצה
שידור לקבוצה משמש להעברת מידע למספר מכשירים בו-זמנית. ברשת Thread, כתובות ספציפיות נשמרות לשימוש בשידורים מרובים עם קבוצות שונות של מכשירים, בהתאם להיקף.
כתובת IPv6 | ההיקף | נשלחה אל |
---|---|---|
ff02::1 |
קישור מקומי | כל אירועי ה-FTD ומכשירי ה-MED |
ff02::2 |
קישור מקומי | כל ה-FTD |
ff03::1 |
רשת מקומית | כל אירועי ה-FTD ומכשירי ה-MED |
ff03::2 |
רשת מקומית | כל ה-FTD |
ייתכן שתבחינו בכך שמכשירי שינה ישנים (SED) אינם נכללים כנמענים בטבלה של מספר שידורי בכורה. במקום זאת, Thread מגדיר את כתובת ה-IPv של ריבוי שידורים חד-פעמיים בהיקף מקומי-קישור בהיקף מקומי, עבור שרשור של כל השרשורים, כולל SED. כתובות ה-ריבוי שידורים משתנות בהתאם לרשת השרשורים, מאחר שהיא מבוססת על הקידומת unicast-Mesh-Local (ראו RFC 3306{/1} למידע נוסף על כתובות IPv6 המבוססות על unicast-prefix.
היקפים שרירותיים, מעבר לאלה שכבר רשומים, נתמכים גם למכשירי Thread.
Anycast
Anycast משמש לניתוב תנועה לממשק Thread כאשר RLOC
של יעד לא ידוע. ממקם Anycast (ALOC) מזהה את המיקום של ממשקים מרובים במחיצת שרשור. 16 הביטים האחרונים של ALOC,
נקראים ALOC, הם בפורמט 0xfcXX
,
שמייצג את סוג ה-ALOC.
לדוגמה, ALOC16 בין 0xfc01
ל-0xfc0f
שמור לנציגי DHCPv6. אם ה-DHCPv6 סוכן RLOC לא ידוע (אולי כי הטופולוגיה של הרשת השתנתה), אפשר לשלוח הודעה ל-ALOC של סוכן DHCPv6 כדי להשיג את ה-RLOC.
השרשור מגדיר את ערכי ה-ALOC16 הבאים:
ALOC16 | סוג |
---|---|
0xfc00 |
המוביל/ה |
0xfc01 – 0xfc0f |
סוכן DHCPv6 |
0xfc10 – 0xfc2f |
שירות |
0xfc30 – 0xfc37 |
קומישינר |
0xfc40 – 0xfc4e |
סוכן סמוי |
0xfc38 - 0xfc3f 0xfc4f עד 0xfcff |
שמורה |
תקציר
מה למדתם:
- רשת שרשור מורכבת משלושה היקפים: Link-Local, Mesh-Local ו-Global
- במכשיר Thread יש כתובות IPv6 מרובות של unicast
- RLOC מייצג את מיקום המכשיר ברשת שרשור
- ML-EID הוא ייחודי למכשיר Thread בתוך מחיצה ויש להשתמש בו באפליקציות.
- השרשור משתמש בשידור לקבוצה כדי להעביר נתונים לקבוצות של צמתים ונתבים
- השרשור משתמש ב-Anycast כאשר ה-RLOC של יעד לא ידוע
לקבלת מידע נוסף על כתובות IPv6 של Thread, יש לעיין בסעיפים 5.2 ו-5.3 במפרט השרשור.
בדיקת ההבנה
ff03::2
של שידור לקבוצה. מה זה אומר על המכשיר?ff03::2
. הם עושים זאת בהיקף של Mesh-Local.