fabric של Weave הוא אוסף של משאבים שתומכים ב-Weave. הוא מספק דרך נוחה ליצירת הודעות מאובטחות בין צמתים של Weave בבית של משתמש.
ה-fabric מוקצה על ידי הצומת הראשון במערכת Weave. אחרי שמקצים את הצמתים, צמתים אחרים יכולים להצטרף למרקם בצורה מאובטחת באמצעות אישורי Weave. נפרט יותר בנושא אישורים ואבטחה, אבל חשוב לזכור שהתאמת מכשירים והצטרפות עם בדים ב-Weave תמיד מאובטחות.
לכל משאב ב-fabric מוקצה כתובת IPv6 מיוחדת לשימוש באפליקציית Weave. לא משנה באיזו טכנולוגיה אלחוטית שניתן לנתב אתם משתמשים. Ethernet, Wi-Fi או Thread – כל עוד כל צומת פועל עם Weave וחבר ב-fabric, אפשר לשלוח ולקבל הודעות.
דוגמה
נניח שיש לכם רשת ביתית פשוטה (HAN) שמכילה משאבים שמחוברים גם באמצעות Wi-Fi וגם באמצעות Thread. שתי הרשתות האלה מחוברות באמצעות נתב גבול, שמשתתף בשתי הרשתות ומשמש כנתב לניתוב התנועה ביניהן.
המשאבים בכל רשת משתמשים בהגדרות סטנדרטיות של ניתוב IP כדי לתקשר ביניהם באמצעות פרוטוקולי תעבורה כמו UDP או TCP, אבל אחרי שמקצים מארג Weave, הם יכולים להעביר הודעות Weave באותם פרוטוקולים.
כתובות IPv6
באמצעות Weave fabric אפשר להקצות כתובת מקומית ייחודית (ULA)
לכל משאב ב-fabric, וכך לבצע ניתוב פשוט של IPv6 בין אפליקציות Weave. האפליקציה Weave משתמשת בכתובת הזו כדי לנתב הודעות של Weave.דוגמה לכתובת IPv6 Weave של צומת:
fd00::fab1:2:3e36:13ff:fe33:732e
בואו נעבור על הרכיבים השונים שמרכיבים את הכתובת.
קידומת גלובלית
כל הצמתים של Weave משתמשים בקידומת גלובלית של IPv6 fd00::/48
. כתובות בבלוק הזה מוגדרות על ידי IETF במסמך RFC-4193 לשימוש ברשתות פרטיות, כמו HAN.
מזהה Fabric
במהלך הקצאת המשאבים של fabric, מוקצה למרקם מזהה ייחודי של 64 ביט שנוצר באופן אקראי. המזהה הזה הופך לחלק מהתחילית הגלובלית של IPv6.
לדוגמה, אם למארג נתון מזהה Fabric fab1
, הקידומת הגלובלית של המארג תהיה:
fd00:0000:fab1::/48
מזהה צומת
כל צומת באריג מקצה לעצמו מזהה צומת Weave, שנראה כמו מזהה ייחודי מורחב (EUI-64) של IEEE. רוב הצמתים מקבלים את מזהה הצומת שלהם מכתובת ה-MAC שלהם. לצומת יכולה להיות כתובת MAC באורך 48 או 64 ביט, שמשויכת בדרך כלל לממשקי ה-Wi-Fi או ה-802.15.4 שלו, בהתאמה. כשהאפשרות זמינה, המערכת של Weave מעדיפה להשתמש בערך של 64 סיביות בתור מזהה הצומת.
אם לצומת יש כתובת MAC של 48 ביט בלבד, בהתאם ל-RFC 4291, Weave מוסיפה את ערך 16-ביט של FF:FE
באמצע כדי ליצור את ערך EUI-64 שמשמש כמזהה ה-Weave Node.
לדוגמה, אם כתובת ה-MAC של הצומת היא 3c:36:13:33:73:2e
באורך 48 ביט, מזהה הצומת ב-Weave יהיה 3c3613fffe33732e
.
כדי להשתמש במזהה הצומת בכתובת IPv6, צריך להפוך אותו למזהה ממשק על ידי היפוך הבייט השביעי, שנקרא בייט אוניברסלי/מקומי. כך, מזהה הצומת 3c3613fffe33732e
הופך למזהה הממשק 3e3613fffe33732e
.
רשת משנה
החלק האחרון בכתובת ה-IPv6 של Weave הוא תת-הרשת, ערך של 16 ביט המשמש לזיהוי ממשקי הרשת. הערכים האלה נקבעים לפי הרשתות הבסיסיות. לדוגמה, Wi-Fi או Thread.
בדוגמה הזו, נניח ש-subnet שלנו הוא 0x0002
.
סיכום של כל המידע
שילוב כל הרכיבים שלמעלה יוצר כתובת IPv6 של Weave:
כשמשאב מצטרף למרקם, פרופילים של Weave יכולים להעביר הודעות בינו לבין משאבים אחרים במרקם דרך כתובת ה-IPv6 שהוקצה לצומת על ידי Weave. בהמשך נסביר על העקרונות הבסיסיים של שליחת הודעות ב-Weave.
Recap
מה למדת:
- מארג הוא אוסף של משאבים שתומכים ב-Weave, שפועלים יחד כדי לספק שירותים למשתמש ולמבנה
- המשאבים תמיד מאומתים ומצורפים בצורה מאובטחת ל-fabric
- לכל משאב ב-fabric מוקצית כתובת IPv6 מקומית ייחודית לשימוש של Weave
- הודעות Weave מועברות בין כתובות ה-IPv6 האלה, ללא קשר לטכנולוגיה האלחוטית או לתשתית התעבורה