عناوين IPv6

الاطّلاع على المصدر على GitHub

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

المستويات

نطاقات الوقت الإضافي

هناك ثلاثة نطاقات في شبكة Thread للمعالجة الأحادية:

  • رابط محلي: جميع الواجهات التي يمكن الوصول إليها من خلال إرسال لاسلكي واحد
  • شبكة متداخلة (Mesh-Local): جميع الواجهات التي يمكن الوصول إليها ضمن شبكة Thread نفسها
  • عالمي: جميع الواجهات التي يمكن الوصول إليها من خارج شبكة Thread

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

Unicast

هناك العديد من عناوين البث الأحادي IPv6 التي تحدِّد جهاز Thread واحد. ولكل منهما دالة مختلفة بناءً على النطاق وحالة الاستخدام.

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

كيفية إنشاء محدِّد مواقع التوجيه

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

طوبولوجيا OT RLOC

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

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

الوقت الإضافي 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 هي:

الوقت الإضافي RLOC

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

طوبولوجيا OT مع العنوان

ومع ذلك، ونظرًا لأن RLOC يعتمد على موقع العقدة في المخطط، يمكن أن يتغير RLOC في أي جزء كلما تغيرت المخطط.

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

طوبولوجيا OT بعد التغيير

أنواع العناوين ذات البث الأحادي

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

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

معرّف شريحة SIM المضمّنة (EID) الذي يحدّد واجهة Thread التي يمكن الوصول إليها من خلال إرسال لاسلكي واحد
مثالfe80::54db:881c:3845:57f4
IIDاستنادًا إلى معيار 802.15.4 الموسع
المستوىرابط محلي
التفاصيل
  • يتم استخدام البيانات لاكتشاف الجيران وإعداد الروابط وتبادل معلومات التوجيه.
  • ليس عنوانًا قابلاً للتوجيه
  • يحتوي دائمًا على بادئة fe80::/16

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

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

محدد مواقع التوجيه (RLOC)

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

محدِّد موقع Anycast (ALOC)

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

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

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

البث المتعدد

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

عنوان IPv6 النطاق تم التسليم إلى
ff02::1 رابط محلي جميع FTD وMED
ff02::2 رابط محلي جميع FTD
ff03::1 شبكة محلية جميع FTD وMED
ff03::2 شبكة محلية جميع FTD

قد تلاحظ أن الأجهزة الطرفية النعاسة (SEDs) غير مدرجة كـ المستلم في جدول البث المتعدد أعلاه. بدلاً من ذلك، تحدد Thread البث المتعدد عبر IPv6 باستخدام بادئة link-local ونطاق محلي حقيقي العنوان المستخدم لجميع عُقد سلسلة التعليمات، بما في ذلك وحدات SED. تعمل أحداث البث المتعدد هذه تختلف العناوين حسب شبكة Thread، لأنها تعتمد على البث الأحادي بادئة الشبكة المحلية (Mesh-Local) (راجِع RFC 3306 للحصول على مزيد من التفاصيل حول عناوين البث المتعدد لـ IPv6 المستندة إلى بادئة أحادية البث).

تتوفّر أيضًا في Thread النطاقات العشوائية غير المدرَجة من قبل الأجهزة.

البث العشوائي

ويتم استخدام Anycast لتوجيه حركة البيانات إلى واجهة Thread عندما يجري RLOC الوجهة غير معروفة. يُحدِّد محدِّد موقع Anycast (ALOC) موقع واجهات متعددة في قسم Thread. آخر 16 بت من ALOC، التي تسمى ALOC16، بالتنسيق 0xfcXX، الذي نوع ALOC.

على سبيل المثال، يتم حجز ALOC16 بين 0xfc01 و0xfc0f لـ DHCPv6 موظّفو الدعم. إذا كان RLOC لوكيل DHCPv6 المحدد غير معروف (ربما بسبب قد تغيرت طوبولوجيا الشبكة)، فيمكن إرسال رسالة إلى وكيل DHCPv6 ALOC إلى الحصول على RLOC.

تحدّد سلسلة التعليمات قيم ALOC16 التالية:

ALOC16 النوع
0xfc00 صاحب الصدارة
0xfc010xfc0f وكيل DHCPv6
0xfc100xfc2f الخدمة
0xfc300xfc37 المفوّض
0xfc400xfc4e وكيل استكشاف الجيران
0xfc380xfc3f
0xfc4f0xfcff
تم الحجز

ملخّص

ما تعلمته:

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

لمعرفة المزيد عن عنونة IPv6 في Thread، راجع القسمين 5.2 و5.3 من مواصفات سلسلة المحادثات:

التحقق من فهمك

ما هي النطاقات الثلاثة المستخدمة للعناوين الأحادية في شبكة Thread؟
خاص
إجابة غير صحيحة
الواجهة المحلية
إجابة غير صحيحة
رابط محلي
إجابة صحيحة.
الموقع الإلكتروني المحلي
إجابة غير صحيحة
شبكة محلية
إجابة صحيحة.
عالمي
إجابة صحيحة.
ما معنى أن يكون للجهاز رقم تعريف طفل 0؟
الجهاز طفل.
إجابة غير صحيحة
الجهاز من النوع REED.
إجابتك مغلقة، لكنها غير صحيحة.
الجهاز هو جهاز توجيه.
إجابة صحيحة. دائمًا ما يكون لدى جهاز التوجيه رقم تعريف ثانوي بقيمة 0.
تتلقّى الكاميرا، وهي عقدة على شبكة Thread، RLOC16 جديدًا. وRLOC. أي من الأحداث التالية ربما تسبب في ذلك؟
نزَّل شخص ما الصور عن بُعد من الكاميرا.
إجابة غير صحيحة لن يكون لهذا الحدث تأثير على سلسلة المحادثات الشبكة.
انقطع اتصال جهاز التوجيه بالشبكة.
إجابة صحيحة. عندما ينقطع جهاز التوجيه عن الشبكة، فإن الشبكة والتي قد تؤدي إلى ترويج الجهاز لنفسه في الموجه والحصول على RLOC جديد.
دخلت الكاميرا في وضع السكون، ما أدى إلى تغيير طوبولوجي الشبكة.
إجابة غير صحيحة لن يؤدي الدخول إلى وضع السكون بالضرورة إلى جعل الجهاز لتلقي عنوان شبكة جديد.
يشترك جهاز متصل بشبكة Thread في ff03::2. عنوان البث المتعدد. ماذا يخبرنا هذا عن الجهاز؟
وهو الحد الأدنى من الأجهزة النهائية (MED).
إجابة غير صحيحة
هو جهاز كامل (FED).
إجابة غير صحيحة (تلميح: قد يكون أو لا يكون برنامجًا FED.)
وهو الحد الأدنى من جهاز مؤشر الترابط (MTD).
إجابة غير صحيحة
أنّ الجهاز مزوّد بمؤشر تسلسلي كامل (FTD).
إجابة صحيحة. لا تشترك سوى أجهزة Threads الكاملة في عنوان البث المتعدد لـ ff03::2. وهو يفعل ذلك في الشبكة المحلية النطاق.
ما نوع العناوين والتوجيه الذي تستخدمه Thread لإعادة توجيه البيانات إليه للعُقد والموجهات؟
البث الأحادي
إجابة غير صحيحة
البث العشوائي
إجابة غير صحيحة
بث متعدّد الوجهات
إجابة صحيحة.
رسالة بث
إجابة غير صحيحة
ما نوع العناوين والتوجيه المستخدم في جهاز Thread عندما هل RLOC لمستلم الرسالة المقصودة غير معروف؟
البث الأحادي
إجابة غير صحيحة
البث العشوائي
إجابة صحيحة. يُتيح Anycast للجهاز الوصول إلى عقدة لا يكون RLOC فيها من خلال معالجة ALOC للجهاز.
بث متعدّد الوجهات
إجابة غير صحيحة
رسالة بث
إجابة غير صحيحة