عنونة IPv6

عرض المصدر على جيثب

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

النطاقات

نطاقات OT

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

  • Link-Local - يمكن الوصول إلى جميع الواجهات عن طريق إرسال راديو واحد
  • شبكة محلية - يمكن الوصول إلى جميع الواجهات داخل نفس شبكة الخيط
  • عالمي - يمكن الوصول إلى جميع الواجهات من خارج شبكة الموضوع

يتوافق النطاقان الأولان مع البادئات المعينة بواسطة شبكة خيط. الارتباط المحلي لديها البادئات من fe80::/16 ، في حين أن لديها شبكة-المحلية البادئات من fd00::/8 .

أحادي

هناك عدة عناوين IPv6 أحادية الإرسال تحدد جهاز مؤشر ترابط واحد. لكل منها وظيفة مختلفة بناءً على النطاق وحالة الاستخدام.

قبل أن نفصل كل نوع ، دعنا نتعلم المزيد عن النوع الشائع ، المسمى Routing Locator (RLOC). تحدد RLOC واجهة Thread ، بناءً على موقعها في هيكل الشبكة.

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

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

طوبولوجيا OT RLOC

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

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

OT RLOC16

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

0000:00ff:fe00:RLOC16

ينتج عن IID ، جنبًا إلى جنب مع بادئة الشبكة المحلية ، RLOC. على سبيل المثال، وذلك باستخدام البادئة شبكة-المحلية من fde5:8dba:82e1:1::/64 ، وRLOC لعقدة حيث RLOC16 = 0x401 هو:

OT RLOC

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

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

ومع ذلك ، نظرًا لأن RLOC يعتمد على موقع العقدة في الهيكل ، يمكن أن يتغير RLOC للعقدة مع تغير الهيكل.

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

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

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

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

أنواع الإرسال الأحادي الشائعة مفصلة أدناه.

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

العيد الشبكي المحلي (ML-EID)

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

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

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

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

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

عنوان يونيكست العالمي (GUA)

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

متعدد

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

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

قد تلاحظ أن Sleepy End Devices (SEDs) لم يتم تضمينها كمستلم في جدول الإرسال المتعدد أعلاه. بدلاً من ذلك ، يحدد Thread عنوان الإرسال المتعدد IPv6 المستند إلى بادئة النطاق المحلي والرابط المحلي والمستخدم لجميع عقد الخيط ، بما في ذلك SEDs. (انظر هذه العناوين الإرسال المتعدد تختلف من شبكة الموضوع، لأنها بنيت على الإرسال بادئة شبكة-المحلية RFC 3306 المتعدد IPv6 من أجل مزيد من التفاصيل حول أحادي بادئة المستندة إلى عناوين).

النطاقات التعسفية التي تتجاوز تلك المدرجة بالفعل مدعومة أيضًا لأجهزة Thread.

أنيكاست

يتم استخدام Anycast لتوجيه حركة المرور إلى واجهة مؤشر ترابط عندما تكون RLOC لوجهة غير معروفة. يحدد Anycast Locator (ALOC) موقع واجهات متعددة داخل قسم الخيط. 16 بت الأخيرة من ALOC، ودعا ALOC16، هو في شكل 0xfc XX ، الذي يمثل نوع من ALOC.

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

يحدد مؤشر الترابط قيم ALOC16 التالية:

ALOC16 نوع
0xfc00 زعيم
0xfc01 - 0xfc0f عامل DHCPv6
0xfc10 - 0xfc2f خدمة
0xfc30 - 0xfc37 مفوض
0xfc40 - 0xfc4e وكيل اكتشاف الجار
0xfc38 - 0xfc3f
0xfc4f - 0xfcff
محجوز

خلاصة

ما تعلمته:

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

لمعرفة المزيد حول IPv6 الموضوع لمعالجة، انظر الأقسام 5.2 و 5.3 من الموضوع مواصفات .