عناوين IPv6

عرض المصدر على GitHub

لنتعرّف على الطريقة التي تحدّد بها شبكة Thread كل جهاز في الشبكة، وأنواع العناوين التي تستخدمها للتواصل مع بعضها البعض.

المستويات

نطاقات OT

هناك ثلاثة نطاقات في شبكة Thread لعنونة الإرسال الأحادي:

  • الشبكة المحلية — جميع الواجهات التي يمكن الوصول إليها من خلال عملية إرسال لاسلكي واحدة
  • الشبكة المحلية المتداخلة: جميع الواجهات التي يمكن الوصول إليها ضمن شبكة Thread نفسها
  • على مستوى العالم: جميع الواجهات التي يمكن الوصول إليها من خارج شبكة Thread

يتوافق النطاقان الأولان مع البادئات التي تحدّدها شبكة Thread. تحتوي عناوين Link-Local على البادئة fe80::/16، بينما تحتوي عناوين Mesh-Local على البادئة fd00::/8.

Unicast

تتوفّر عناوين أحادية الإرسال متعددة من الإصدار السادس من بروتوكول الإنترنت (IPv6) تحدّد جهاز Thread واحدًا. ولكل منها وظيفة مختلفة استنادًا إلى النطاق وحالة الاستخدام.

قبل أن نوضّح كل نوع بالتفصيل، لنتعرّف على نوع شائع يُعرف باسم محدّد موقع التوجيه (RLOC). يحدّد RLOC واجهة Thread استنادًا إلى موقعها في مخطط الشبكة.

كيف يتم إنشاء أداة تحديد مسار؟

يتم تخصيص معرّف جهاز توجيه ومعرّف جهاز فرعي لكل الأجهزة. يحتفظ كل جهاز رئيسي بجدول يتضمّن جميع الأجهزة الفرعية، ويحدّد هذا الجدول بشكل فريد جهازًا ضمن البنية. على سبيل المثال، ضع في اعتبارك العُقد المميّزة في المخطط التالي، حيث يمثّل الرقم الموجود في موسّع الشبكة المتداخلة (الشكل الخماسي) معرّف جهاز التوجيه، ويمثّل الرقم الموجود في الجهاز الطرفي (الدائرة) معرّف الجهاز الفرعي:

OT RLOC Topology

يتوافق معرّف كل جهاز توجيه فرعي مع معرّف الجهاز الرئيسي (موسّع شبكة Mesh). بما أنّ جهاز توسيع شبكة Mesh ليس جهازًا فرعيًا، يكون رقم تعريف الجهاز الفرعي لجهاز توسيع شبكة Mesh دائمًا 0. وتكون هذه القيم فريدة لكل جهاز في شبكة Thread، ويتم استخدامها لإنشاء RLOC16 الذي يمثّل آخر 16 بت من RLOC.

على سبيل المثال، إليك طريقة احتساب RLOC16 للعقدة العلوية اليمنى (معرّف جهاز التوجيه = 1 ومعرّف الجهاز الفرعي = 1):

OT RLOC16

يشكّل RLOC16 جزءًا من معرّف الواجهة (IID)، الذي يتوافق مع آخر 64 بت من عنوان IPv6. يمكن استخدام بعض معرّفات الواجهات (IID) لتحديد بعض أنواع واجهات Thread. على سبيل المثال، يكون معرّف IID الخاص بسجلات RLOC دائمًا بهذا الشكل:

0000:00ff:fe00:RLOC16

يؤدي معرّف المثيل (IID) مع بادئة الشبكة المحلية إلى إنشاء معرّف الموقع الجغرافي النسبي (RLOC). على سبيل المثال، باستخدام بادئة Mesh-Local‏ fde5:8dba:82e1:1::/64، يكون عنوان RLOC لعقدة حيث RLOC16 = 0x401 كما يلي:

OT RLOC

يمكن استخدام المنطق نفسه لتحديد RLOC لجميع العُقد المميّزة في نموذج التصميم أعلاه:

مخطط شبكة تكنولوجيا التشغيل مع العنوان

ومع ذلك، بما أنّ RLOC يستند إلى موقع العقدة في المخطط الطوبولوجي، يمكن أن يتغيّر RLOC الخاص بالعقدة مع تغيُّر المخطط الطوبولوجي.

على سبيل المثال، قد تتم إزالة العقدة 0x400 من شبكة Thread. تنشئ العقدتان 0x401 و0x402 روابط جديدة بموسّعات شبكة مختلفة، ونتيجةً لذلك، يتم تعيين RLOC16 وRLOC جديدَين لكل منهما:

طوبولوجيا تكنولوجيا التشغيل بعد التغيير

أنواع عناوين الإرسال الأحادي

إنّ RLOC هو أحد عناوين الإرسال الأحادي العديدة IPv6 التي يمكن أن يتضمّنها جهاز Thread. هناك فئة أخرى من العناوين تُعرف باسم معرّفات نقاط النهاية (EID)، وهي تحدّد واجهة Thread فريدة ضمن قسم شبكة Thread. تكون معرّفات EID مستقلة عن تخطيط شبكة Thread.

في ما يلي تفاصيل عن أنواع البث الأحادي الشائعة.

معرّف EID يحدّد واجهة Thread يمكن الوصول إليها من خلال عملية إرسال لاسلكي واحدة.
مثالfe80::54db:881c:3845:57f4
IIDاستنادًا إلى العنوان الموسّع 802.15.4
المستوىLink-Local
التفاصيل
  • يُستخدَم لاكتشاف الأجهزة المجاورة وإعداد الروابط وتبادل معلومات التوجيه.
  • عنوان غير قابل للتوجيه
  • يحتوي دائمًا على البادئة fe80::/16

معرّف EID للشبكة المحلية (ML-EID)

معرّف EID يحدّد واجهة Thread، بغض النظر عن مخطط الشبكة. تُستخدَم للوصول إلى واجهة Thread ضمن قسم Thread نفسه. يُعرف أيضًا باسم Unique Local Address (ULA).
مثالfde5:8dba:82e1:1:416:993c:8399:35ab
IIDعشوائي، يتم اختياره بعد اكتمال عملية التكليف
المستوىMesh-Local
التفاصيل
  • لا يتغيّر عند تغيُّر المخطّط
  • يجب أن تستخدمها التطبيقات
  • يحتوي دائمًا على بادئة fd00::/8

معرّف التوجيه (RLOC)

تحدّد هذه السمة واجهة Thread استنادًا إلى موقعها في بنية الشبكة.
مثالfde5:8dba:82e1:1::ff:fe00:1001
IID0000:00ff:fe00:RLOC16
المستوىMesh-Local
التفاصيل
  • يتم إنشاؤه عند اتصال الجهاز بشبكة
  • لتسليم مخططات بيانات IPv6 ضمن شبكة Thread
  • التغييرات عند تغيُّر المخطط
  • لا تستخدمها التطبيقات عمومًا

Anycast Locator (ALOC)

تحدّد هذه السمة واجهة Thread من خلال البحث عن RLOC، وذلك عندما لا يكون RLOC الخاص بالوجهة معروفًا.
مثالfde5:8dba:82e1:1::ff:fe00:fc01
IID0000:00ff:fe00:fcXX
المستوىMesh-Local
التفاصيل
  • fcXX = وجهة ALOC، التي تبحث عن RLOC المناسب
  • لا تستخدمها التطبيقات عمومًا

عنوان البث الأحادي العام (GUA)

معرّف EID يحدّد واجهة Thread على نطاق عالمي، أي خارج شبكة Thread.
مثال2000::54db:881c:3845:57f4
IID
  • SLAAC: يتم تعيينه بشكل عشوائي من خلال الجهاز نفسه
  • DHCP — يتم تعيينه بواسطة خادم DHCPv6
  • يدوي: يتم تعيينه من خلال طبقة التطبيق
المستوىجميع أنحاء العالم
التفاصيل
  • عنوان IPv6 عام
  • يحتوي دائمًا على البادئة 2000::/3

البث المتعدد

يُستخدم البث المتعدد لإرسال المعلومات إلى أجهزة متعددة في آنٍ واحد. في شبكة 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 قائد
0xfc010xfc0f وكيل DHCPv6
0xfc100xfc2f الخدمة
0xfc300xfc37 المفوّض
0xfc400xfc4e Neighbor Discovery Agent
0xfc380xfc3f
0xfc4f0xfcff
تم الحجز

ملخّص

ما تعلّمته:

  • تتألف شبكة Thread من ثلاثة نطاقات: Link-Local وMesh-Local وGlobal
  • يتضمّن جهاز Thread عناوين IPv6 متعددة أحادية الإرسال
    • يمثّل RLOC الموقع الجغرافي للجهاز في شبكة Thread
    • المعرّف الموسّع الفريد (ML-EID) هو معرّف فريد لجهاز Thread ضمن قسم، ويجب أن تستخدمه التطبيقات.
  • تستخدم شبكة Thread البث المتعدد لإعادة توجيه البيانات إلى مجموعات من العُقد
  • تستخدم شبكة Thread البث المتعدد إلى أي عنوان عندما يكون عنوان RLOC للوجهة غير معروف.

لمزيد من المعلومات حول عناوين IPv6 في Thread، يُرجى الاطّلاع على القسمَين 5.2 و5.3 من مواصفات Thread.

اختبِر معلوماتكَ

ما هي النطاقات الثلاثة المستخدَمة في عنونة الإرسال الأحادي في شبكة Thread؟
الخصوصية
إجابة غير صحيحة.
Interface-Local
إجابة غير صحيحة.
Link-Local
إجابة صحيحة.
Site-Local
إجابة غير صحيحة.
Mesh-Local
إجابة صحيحة.
جميع أنحاء العالم
إجابة صحيحة.
ماذا يعني أن يكون رقم تعريف الجهاز 0؟
الجهاز هو جهاز الطفل.
إجابة غير صحيحة.
الجهاز هو جهاز متوافق مع أداة "توسيع نطاق الوصول".
إجابتك مقبولة، لكنها ليست صحيحة تمامًا.
الجهاز هو موسّع شبكة متداخلة.
إجابة صحيحة. يحتوي موسّع شبكة Mesh دائمًا على رقم تعريف للعقدة الفرعية يبلغ 0.
تتلقّى الكاميرا، وهي عقدة على شبكة Thread، معرّف RLOC16 جديدًا ومعرّف RLOC. أيّ من الأحداث التالية قد يكون السبب في ذلك؟
نزّل أحدهم صورًا من الكاميرا عن بُعد.
إجابة غير صحيحة. ولن يكون لهذا الحدث أي تأثير على شبكة Thread.
انقطاع اتصال جهاز توسيع شبكة Mesh بالشبكة
إجابة صحيحة. عندما يتوقف جهاز Mesh Extender عن العمل على شبكة، تتغير بنية الشبكة، ما قد يؤدي إلى ترقية الجهاز إلى جهاز Mesh Extender والحصول على RLOC جديد.
دخلت الكاميرا في وضع السكون، ما أدّى إلى تغيير بنية الشبكة.
إجابة غير صحيحة. لن يؤدي الانتقال إلى وضع السكون بالضرورة إلى حصول الجهاز على عنوان شبكة جديد.
يشترك الجهاز على شبكة Thread في عنوان البث المتعدد ff03::2. ماذا يوضّح لنا ذلك بشأن الجهاز؟
وهو جهاز طرفي بسيط (MED).
إجابة غير صحيحة.
وهو جهاز نهائي كامل (FED).
إجابة غير صحيحة. (ملاحظة: قد يكون أو لا يكون هذا الحساب حسابًا تابعًا لاتحاد كرة القدم).
وهو جهاز Minimal Thread Device (MTD).
إجابة غير صحيحة.
وهو جهاز Thread كامل الوظائف (FTD).
إجابة صحيحة. تشترك أجهزة Full Thread فقط في عنوان البث المتعدد ff03::2. ويتم ذلك في نطاق Mesh-Local.
ما نوع العنونة والتوجيه الذي يستخدمه بروتوكول Thread لإعادة توجيه البيانات إلى مجموعات من العُقد؟
البث الأحادي
إجابة غير صحيحة.
البث العشوائي
إجابة غير صحيحة.
البث المتعدد
إجابة صحيحة.
رسالة بث
إجابة غير صحيحة.
ما هو نوع العنونة والتوجيه الذي يستخدمه جهاز Thread عندما يكون عنوان RLOC الخاص بمستلم الرسالة المقصود غير معروف؟
البث الأحادي
إجابة غير صحيحة.
البث العشوائي
إجابة صحيحة. تتيح خدمة Anycast لجهاز الوصول إلى عقدة لا يُعرف عنوان RLOC الخاص بها، وذلك من خلال توجيه الطلب إلى عنوان ALOC الخاص بالجهاز.
البث المتعدد
إجابة غير صحيحة.
رسالة بث
إجابة غير صحيحة.