لنتعرّف على الطريقة التي تحدّد بها شبكة Thread كل جهاز في الشبكة، وأنواع العناوين التي تستخدمها للتواصل مع بعضها البعض.
المستويات
هناك ثلاثة نطاقات في شبكة Thread لعنونة الإرسال الأحادي:
- الشبكة المحلية — جميع الواجهات التي يمكن الوصول إليها من خلال عملية إرسال لاسلكي واحدة
- الشبكة المحلية المتداخلة: جميع الواجهات التي يمكن الوصول إليها ضمن شبكة Thread نفسها
- على مستوى العالم: جميع الواجهات التي يمكن الوصول إليها من خارج شبكة Thread
يتوافق النطاقان الأولان مع البادئات التي تحدّدها شبكة Thread.
تحتوي عناوين Link-Local على البادئة fe80::/16، بينما تحتوي عناوين Mesh-Local على البادئة fd00::/8.
Unicast
تتوفّر عناوين أحادية الإرسال متعددة من الإصدار السادس من بروتوكول الإنترنت (IPv6) تحدّد جهاز Thread واحدًا. ولكل منها وظيفة مختلفة استنادًا إلى النطاق وحالة الاستخدام.
قبل أن نوضّح كل نوع بالتفصيل، لنتعرّف على نوع شائع يُعرف باسم محدّد موقع التوجيه (RLOC). يحدّد RLOC واجهة Thread استنادًا إلى موقعها في مخطط الشبكة.
كيف يتم إنشاء أداة تحديد مسار؟
يتم تخصيص معرّف جهاز توجيه ومعرّف جهاز فرعي لكل الأجهزة. يحتفظ كل جهاز رئيسي بجدول يتضمّن جميع الأجهزة الفرعية، ويحدّد هذا الجدول بشكل فريد جهازًا ضمن البنية. على سبيل المثال، ضع في اعتبارك العُقد المميّزة في المخطط التالي، حيث يمثّل الرقم الموجود في موسّع الشبكة المتداخلة (الشكل الخماسي) معرّف جهاز التوجيه، ويمثّل الرقم الموجود في الجهاز الطرفي (الدائرة) معرّف الجهاز الفرعي:
يتوافق معرّف كل جهاز توجيه فرعي مع معرّف الجهاز الرئيسي (موسّع شبكة Mesh). بما أنّ جهاز توسيع شبكة Mesh ليس جهازًا فرعيًا، يكون رقم تعريف الجهاز الفرعي لجهاز توسيع شبكة Mesh دائمًا 0. وتكون هذه القيم فريدة لكل جهاز في شبكة Thread، ويتم استخدامها لإنشاء RLOC16 الذي يمثّل آخر 16 بت من RLOC.
على سبيل المثال، إليك طريقة احتساب RLOC16 للعقدة العلوية اليمنى (معرّف جهاز التوجيه = 1 ومعرّف الجهاز الفرعي = 1):
يشكّل RLOC16 جزءًا من معرّف الواجهة (IID)، الذي يتوافق مع آخر 64 بت من عنوان IPv6. يمكن استخدام بعض معرّفات الواجهات (IID) لتحديد بعض أنواع واجهات Thread. على سبيل المثال، يكون معرّف IID الخاص بسجلات RLOC دائمًا بهذا الشكل:
0000:00ff:fe00:RLOC16
يؤدي معرّف المثيل (IID) مع بادئة الشبكة المحلية إلى إنشاء معرّف الموقع الجغرافي النسبي (RLOC). على سبيل المثال،
باستخدام بادئة Mesh-Local fde5:8dba:82e1:1::/64، يكون عنوان RLOC لعقدة حيث
RLOC16 = 0x401 كما يلي:
يمكن استخدام المنطق نفسه لتحديد RLOC لجميع العُقد المميّزة في نموذج التصميم أعلاه:
ومع ذلك، بما أنّ RLOC يستند إلى موقع العقدة في المخطط الطوبولوجي، يمكن أن يتغيّر RLOC الخاص بالعقدة مع تغيُّر المخطط الطوبولوجي.
على سبيل المثال، قد تتم إزالة العقدة 0x400 من شبكة Thread. تنشئ العقدتان 0x401 و0x402 روابط جديدة بموسّعات شبكة مختلفة، ونتيجةً لذلك، يتم تعيين RLOC16 وRLOC جديدَين لكل منهما:
أنواع عناوين الإرسال الأحادي
إنّ RLOC هو أحد عناوين الإرسال الأحادي العديدة IPv6 التي يمكن أن يتضمّنها جهاز Thread. هناك فئة أخرى من العناوين تُعرف باسم معرّفات نقاط النهاية (EID)، وهي تحدّد واجهة Thread فريدة ضمن قسم شبكة Thread. تكون معرّفات EID مستقلة عن تخطيط شبكة Thread.
في ما يلي تفاصيل عن أنواع البث الأحادي الشائعة.
عنوان الرابط المحلي (LLA) |
|
|---|---|
| معرّف EID يحدّد واجهة Thread يمكن الوصول إليها من خلال عملية إرسال لاسلكي واحدة. | |
| مثال | fe80::54db:881c:3845:57f4 |
| IID | استنادًا إلى العنوان الموسّع 802.15.4 |
| المستوى | Link-Local |
| التفاصيل |
|
معرّف EID للشبكة المحلية (ML-EID) |
|
|---|---|
| معرّف EID يحدّد واجهة Thread، بغض النظر عن مخطط الشبكة. تُستخدَم للوصول إلى واجهة Thread ضمن قسم Thread نفسه. يُعرف أيضًا باسم Unique Local Address (ULA). | |
| مثال | fde5:8dba:82e1:1:416:993c:8399:35ab |
| IID | عشوائي، يتم اختياره بعد اكتمال عملية التكليف |
| المستوى | Mesh-Local |
| التفاصيل |
|
معرّف التوجيه (RLOC) |
|
|---|---|
| تحدّد هذه السمة واجهة Thread استنادًا إلى موقعها في بنية الشبكة. | |
| مثال | fde5:8dba:82e1:1::ff:fe00:1001 |
| IID | 0000:00ff:fe00:RLOC16 |
| المستوى | Mesh-Local |
| التفاصيل |
|
Anycast Locator (ALOC) |
|
|---|---|
| تحدّد هذه السمة واجهة Thread من خلال البحث عن RLOC، وذلك عندما لا يكون RLOC الخاص بالوجهة معروفًا. | |
| مثال | fde5:8dba:82e1:1::ff:fe00:fc01 |
| IID | 0000:00ff:fe00:fcXX |
| المستوى | Mesh-Local |
| التفاصيل |
|
عنوان البث الأحادي العام (GUA) |
|
|---|---|
| معرّف EID يحدّد واجهة Thread على نطاق عالمي، أي خارج شبكة Thread. | |
| مثال | 2000::54db:881c:3845:57f4 |
| IID |
|
| المستوى | جميع أنحاء العالم |
| التفاصيل |
|
البث المتعدد
يُستخدم البث المتعدد لإرسال المعلومات إلى أجهزة متعددة في آنٍ واحد. في شبكة Thread، يتم حجز عناوين معيّنة لاستخدام البث المتعدّد الوجهات مع مجموعات مختلفة من الأجهزة، وذلك حسب النطاق.
| عنوان IPv6 | النطاق | استلموا الرسالة |
|---|---|---|
ff02::1 |
Link-Local | جميع أجهزة FTD وMED |
ff02::2 |
Link-Local | جميع عمليات التداول الوهمي |
ff03::1 |
Mesh-Local | جميع أجهزة FTD وMED |
ff03::2 |
Mesh-Local | جميع عمليات التداول الوهمي |
قد تلاحظ أنّ أجهزة Sleepy End Devices (SED) غير مضمّنة كمتلقّي في جدول البث المتعدد أعلاه. بدلاً من ذلك، يحدّد بروتوكول Thread بادئة الإرسال المتعدد الأحادي المستندة إلى نطاق IPv6 المحلي ونطاق الشبكة المستخدَمة في جميع نقاط Thread، بما في ذلك أجهزة SED. تختلف عناوين البث المتعدد هذه حسب شبكة Thread، لأنّها تستند إلى البادئة الأحادية المحلية للشبكة (راجِع RFC 3306 للحصول على مزيد من التفاصيل حول عناوين البث المتعدد IPv6 المستندة إلى البادئة الأحادية).
تتوفّر أيضًا نطاقات عشوائية تتجاوز النطاقات المدرَجة حاليًا لأجهزة Thread.
Anycast
يتم استخدام Anycast لتوجيه حركة البيانات إلى واجهة Thread عندما لا يكون RLOC الخاص بالوجهة معروفًا. يحدّد Anycast Locator (ALOC) الموقع الجغرافي لواجهات متعدّدة ضمن قسم Thread. تكون آخر 16 بت من ALOC،
المعروفة باسم ALOC16، بالتنسيق 0xfcXX، والذي
يمثّل نوع ALOC.
على سبيل المثال، يتم حجز ALOC16 بين 0xfc01 و0xfc0f لوكلاء DHCPv6. إذا كان RLOC الخاص بوكيل DHCPv6 غير معروف (ربما بسبب تغيُّر بنية الشبكة)، يمكن إرسال رسالة إلى ALOC الخاص بوكيل DHCPv6 للحصول على RLOC.
تحدّد Thread قيم ALOC16 التالية:
| ALOC16 | النوع |
|---|---|
0xfc00 |
قائد |
0xfc01 – 0xfc0f |
وكيل DHCPv6 |
0xfc10 – 0xfc2f |
الخدمة |
0xfc30 – 0xfc37 |
المفوّض |
0xfc40 – 0xfc4e |
Neighbor Discovery Agent |
0xfc38 – 0xfc3f0xfc4f – 0xfcff |
تم الحجز |
ملخّص
ما تعلّمته:
- تتألف شبكة Thread من ثلاثة نطاقات: Link-Local وMesh-Local وGlobal
- يتضمّن جهاز Thread عناوين IPv6 متعددة أحادية الإرسال
- يمثّل RLOC الموقع الجغرافي للجهاز في شبكة Thread
- المعرّف الموسّع الفريد (ML-EID) هو معرّف فريد لجهاز Thread ضمن قسم، ويجب أن تستخدمه التطبيقات.
- تستخدم شبكة Thread البث المتعدد لإعادة توجيه البيانات إلى مجموعات من العُقد
- تستخدم شبكة Thread البث المتعدد إلى أي عنوان عندما يكون عنوان RLOC للوجهة غير معروف.
لمزيد من المعلومات حول عناوين IPv6 في Thread، يُرجى الاطّلاع على القسمَين 5.2 و5.3 من مواصفات Thread.
اختبِر معلوماتكَ
ff03::2. ماذا يوضّح لنا ذلك بشأن الجهاز؟ff03::2. ويتم ذلك في نطاق Mesh-Local.