פרוטוקול Thread ו-IPv6

Matter משתמש ב-IPv6 לתקשורת התפעולית, וממנף גם כתובות IPv6 Unicast וגם Multicast לגישה לצמתים ולקבוצות, בהתאמה.

אספקת החשמל נמוכה

צמתים מסוימים מסוג Matter מחוברים בצורה קווית ומוגדרים להם תקציבי אנרגיה שמאפשרים להם להפעיל את מכשירי הרדיו באופן רציף. סוגים אחרים של צמתים, כמו חיישנים, צריכים לפעול במשך שנים על סוללה ולהפעיל את מכשירי הרדיו ברשתות עם צריכת חשמל נמוכה, כמו Thread. ארכיטקטורת שרת ה-proxy, יחד עם Thread Sleepy End Devices, מאפשרת לצמתים בהספק מלא לספק פונקציונליות ברמת הרשת וברמת האפליקציה, שמבודדת את הצמתים הצאצאים מעסקאות שצורכות אנרגיה.

היבט בסיסי של Matter הוא שהוא פועל גם במדיות רשת עם תפוקה גבוהה, כמו Wi-Fi ואתרנט, אבל גם בזמן אחזור נמוך וברוחב פס נמוך, כמו Thread. אם כל Multicast החבילות של ה-Wi-Fi קושרו אל Thread, הדבר עלול לגרום לעומס יתר על הרשת. המטרה של Thread היא להפעיל את IPv6 ברשת אריג עם הספק נמוך ועם זמן אחזור נמוך, ולא בהעברת נתונים ברוחב פס גבוה. פינגים ICMPv6 של Thread ברשת מקומית הם בדרך כלל פחות מכמה עשרות אלפיות השנייה, אבל רוחב הפס הכולל מוגבל ל-250Mbps ב-IEEE 802.15.4 PHY. עם העברת חבילות ותקורה, רוחב הפס המקסימלי הטיפוסי הוא בערך 125kbps. במילים אחרות, הרבה יותר סדר גודל שונה בהשוואה ל-Wi-Fi.

המסגרות ב-IEEE 802.15.4 PHY הן 127 בייטים, אבל יחידת ההעברה המקסימלית הגדולה (והטיפוסית) של חבילות IPv6 ב-Thread היא 1,280 בייטים. לכן, בדרך כלל צריך לפצל חבילות IPv6 לכמה מסגרות PHY. התהליך הזה מוגדר על ידי RFC4944.

למידע נוסף, קראו על IPv6 Addressing ב-Thread Primer ב-openthread.io.

נתבי גבולות

אז איך צמתים יכולים להתקיים בו-זמנית בשני אמצעי תחבורה כשהם באותו מארג? על אף ששתי הרשתות חולקות פרטי כניסה ל-Matter ברמת האפליקציה, הן לא משתמשות באותה טכנולוגיית קישורים. בתרחיש הזה, צריך לחבר לרשת Thread Border Router (BR) כדי להפעיל קישוריות. BRs הם נתבי Stub IPv6.

נתבי Stub מאפשרים קישוריות בין רשתות stub לרשתות רגילות. Stub Network היא רשת מסוג 'המייל האחרון' שמספקת קישוריות חיצונית לחברים בה, אבל לא משמשת כנתיב רשת לתחבורה ציבורית בין רשתות אחרות. בדרך כלל, הרשת Matter Stub Networks מבוססת על Thread. תוכלו לקרוא מידע נוסף על רשתות stub כדי לעיין ב-RFC draft.

לכן, ה-BR צריך להיות הקישור בין רשת Stub לבין Adjacent Infrastructure Network, שהיא רשת ה-Wi-Fi או אתרנט המקומית. הן מעבירות רק את החבילות שרלוונטיות לרשת Thread.

כדי לעשות את זה, מקצים קידומות IPv6 שונות ל-Thread ולרשתות תשתית סמוכות. לכן ה-BR מעביר רק העברות אוניברסליות אל קידומת IPv6 Thread או ממנה.

נתבי גבולות אחראים גם על:

  • הגדרה אוטומטית של קידומות ונתיבים ב-IPv6 לרשתות Thread ולרשתות התשתית הסמוכות, כדי שהמארחים מכל צד של נתב הגבולות Thread יוכלו לתקשר.
  • לפרסם מנות גילוי של mDNS DNS-SD מטעם Thread צמתים, כדי שאפשר יהיה לגלות אותן ברשת התשתית הסמוכה.

למידע נוסף, עיינו במדריך על נתב גבול בכתובת openthread.io.

IPv6 Multicast

גם צ'אטים קבוצתיים חשובים כי הם מאפשרים שליטה בו-זמנית על מספר Matter צמתים דרך Multicast. כדי לנתב את תעבורת הנתונים הזו לרשת Thread, צריך להטמיע גם ב-Matter וגם ב-Thread את סכמת הכתובות של IPv6 מבוססת קידומת שמוגדרת ב-RFC 3306.UnicastMulticast

השיטה הזו מאפשרת לבחור את צומתי היעד של מנת Multicast על סמך קידומת IPv6 Unicast המשותפת שלהם.

לדוגמה, כתובת Matter Multicast עשויה להיראות כך:

FF35:0040:FD<Fabric ID>00:<Group ID>

טבלה 1 מפרטת כיצד כתובת זו בנויה:

טבלה 1: Unicast כתובות IPv6 המבוססות על קידומת
ביטים תיאור
12 ביטים 0xFF3
4 ביטים 0x05

היקף: site-local

8 ביטים 0x00

שמורה

8 ביטים 0x40

מציין קידומת באורך של 64 סיביות

8 ביטים 0xFD

מציין קידומת ULA

56 ביטים מזהה בד
8 ביט 0x00
16 ביט מזהה קבוצה

מידע נוסף זמין בקטע Multicast ב-Primer של Thread וב-RFC עצמו.

כשנוצרות כתובות Multicast מסוג IPv6, הן כוללות גם את המזהה העליון (56-ביט) של ה-Fabric ID. המשמעות החשובה היא שההיקף של Multicast נמצא בתוך Fabric, בעוד שהכתובות Unicast משותפות בין Fabrics. לצמתים עם הרבה בדים יכולות להיות כמה כתובות Multicast, שמגדירות קבוצות צמתים חופפות לכל בד.

היציאות

Matter משתמש ביציאה 5540 לשידורים מרובים.