الخلاصة

  • نطاق التهيئة، أو PvD، حدّ اتساق يربط عنوان المصدر وخادم DNS والموجّه الأول وسائر الإعدادات. يعرّف FQDN والأعلام ورقم التسلسل هذا الحد ويحدّثه، لكن أياً منها ليس ترتيباً لأفضلية المسارات.
  • تُبنى الثقة على مراحل: تُجلب المعلومات الإضافية داخل PvD نفسه، وتُفحص الشهادة والمعرّف والانتهاء والتغطية البادئية، ثم تطبّق سياسة المضيف. ويأتي إثبات القرار من عنوان المصدر والمحلّل والقفزة التالية ونتيجة الاتصال الفعلية.

الاسم المألوف لم يكن مناسباً لهذا الطلب

يتلقى جهاز نطاقي PvD صريحين على الوصلة نفسها. يحمل الأول اسم FQDN لمشغّل معروف، ويرفع العلم H الدال على وجود معلومات إضافية، كما أن رقم تسلسله أحدث من القراءة السابقة. تعرضه لوحة المراقبة بوصفه النطاق المختار.

لكن ملف JSON الموثّق عبر HTTPS يحتوي noInternet: true. النطاق يعمل كما صُمم: يقدم خدمة محلية مقيدة. أما اتصال المتصفح بالإنترنت العام فيحتاج إلى PvD الثاني، فتختاره سياسة المضيف. ويمكن لتطبيق داخلي أن يستخدم النطاق الأول في الوقت نفسه.

لا يوجد عطل في البروتوكول. الهوية، وحداثة المعلومات، وملاءمة النطاق لغرض معين، والاختيار المنفذ أربع دعاوى منفصلة. الخطأ أن اللوحة اختزلتها في حالة واحدة.

يحاول معمار PvD منع مشكلة مألوفة في الأجهزة متعددة الاتصال: عنوان مصدر من شبكة، وDNS من شبكة ثانية، وموجّه افتراضي من ثالثة. كل عنصر صحيح بمفرده، لكن تركيبها قد يفسد العودة أو الرؤية الاسمية أو السياسة. لذلك عرّفت RFC 7556 نطاق التهيئة ليحفظ سياق الإعدادات.

النطاق ليس اسماً آخر للواجهة

تعرّف RFC 7556 الـPvD بأنه مجموعة متسقة من معلومات تهيئة الشبكة. قد تشمل بادئات عناوين المصدر وخوادم DNS ولاحقات البحث والوكيل والبوابات الافتراضية.

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

يميز المعمار بين نطاق ضمني يُستدل عليه من مصدر التهيئة ونطاق صريح يحمل هوية. في الحالتين يحافظ المضيف الواعي بـPvD على صلة كل إعداد بنطاقه. وعند إنشاء اتصال تختار منظومة التشغيل أو المستخدم أو التطبيق نطاقاً يناسب الأمن والكلفة والوصول والغرض، ثم تستخدم إعداداته المتماسكة.

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

إعلان الموجّه يقدّم السياق

تعرّف RFC 8801 خيار PvD بالرقم 21 ضمن إعلانات موجّه IPv6. يحمل الخيار معرّف PvD بصيغة FQDN، والأعلام H وL وR، ورقم تسلسل من 16 بتاً، وحقل Delay، وأحياناً معلومات RA داخلية.

ينبغي أن يملك المشغّل المعلن اسم FQDN وأن يديره. ولا يستخدم المعرّف نفسه إلا عندما تكون الخدمة النهائية متطابقة فعلاً؛ أما الخدمات المختلفة فتحتاج إلى أسماء مختلفة. يمنح ذلك المشغّل سلطة تسمية مستقرة، ولا يمنح الاسم وحده مصادقة للموجّه المحلي. يستطيع مهاجم على الوصلة كتابة اسم مشهور في إعلان مزور.

لكل علم معنى ضيق. H يعلن إمكان جلب معلومات إضافية عبر HTTPS. وL يربط معلومات DHCPv4 القديمة. وR يشير إلى رأس RA وخيارات داخلية للمضيف الواعي بالنطاق. لا يثبت H نجاح الجلب أو قبول الملف، ولا يعني R الأفضلية.

ورقم التسلسل ليس درجة. تغيّره يجعل المعلومات السابقة متقادمة وقد يطلق إعادة جلب مؤجلة عشوائياً. لا تتفوق القيمة 42 في نطاق على 7 في نطاق آخر، لأن لكل منهما سلسلة تحديث مستقلة. وينظم Delay الحمل، لا الاستعجال أو القيمة التجارية.

يجب أن يبقى الجلب داخل النطاق قيد الفحص

عندما يكون H مرفوعاً، يجوز للمضيف طلب https://<PvD-ID>/.well-known/pvd. وعندما لا يكون مرفوعاً، لا يجوز استخدام هذه الآلية. تحمل الاستجابة النوع application/pvd+json.

القيد الأهم هو مسار الطلب نفسه. يجب أن تستخدم عملية حل اسم PvD ID وفحوص الشهادة واتصال HTTPS واختيار عنوان المصدر والقفزة التالية إعدادات PvD المدروس حصراً. استخدام DNS من شبكة ثانية ومسار من ثالثة يقطع الرابطة التي يفترض أن العملية تتحقق منها.

هذا القيد يحمي الخصوصية أيضاً. قد يعطي split DNS إجابات مختلفة بحسب السياق، وقد تحدد بادئة المصدر الموجّه الأول الصحيح. وسؤال شبكة أخرى عن اسم PvD خاص بمؤسسة يكشف أن الجهاز اتصل بتلك المؤسسة. حفظ عنوان URL النهائي وحده لا يكفي للتحقيق.

يجب أن تحتوي شهادة TLS على DNS-ID يساوي PvD ID. عند الفشل يغلق المضيف الاتصال ويعامل النطاق كأنه بلا معلومات إضافية. يثبت ذلك أن مالك FQDN أجاز خدمة المعلومات للاسم، لكنه لا يثبت وحده صحة الإعلان المحلي ولا انتماء جميع البادئات.

يربط JSON الاسم بالبادئات

يحتوي الكائن الصحيح على identifier وexpires وprefixes. يطابق المعرّف الاسم المعلن، ويكون وقت الانتهاء في المستقبل، وتغطي البادئات جميع Prefix Information Options المرتبطة بالإعلان. يؤدي غياب حقل إلزامي أو فساده إلى تجاهل الكائن، كما يمنع عدم تغطية بادئة استخدامه.

هكذا تُقارن عبارتان مستقلتان. يقول الموجّه المحلي إن مجموعة إعدادات تنتمي إلى اسم؛ وتقول خدمة موثقة إن ذلك الاسم يعترف ببادئات معينة. السيطرة على أحد السطحين لا تعطي سلطة كاملة على العلاقة.

يمكن أن تصف dnsZones نطاقات DNS المتاحة. أما noInternet: true فيعني خدمة مقيدة، لا تهيئة معطلة. قد يكون غياب الإنترنت العام مطلوباً في مصنع أو مستشفى أو شبكة مؤسسة.

تُتجاهل المفاتيح غير المعروفة حتى يتطور التنسيق. تدير IANA السجل المشترك، وتوضع الامتدادات الخاصة في قاموس فرعي تنظيمي أو vendor-*. التسجيل يوحّد الدلالة، لكنه لا يصدق قيمة بعينها ولا يثبت انتشار التنفيذ.

للحداثة والتحديث حد توقف

يؤدي تغير التسلسل أو بلوغ الانتهاء إلى تقادم المعلومات المخزنة. يوزع Delay والنطاق العشوائي طلبات التحديث كي لا تضرب آلاف الأجهزة الخادم معاً. وقد تكون ساعة المضيف خاطئة، لذلك لا يصلح الانتهاء المطلق وحده أساساً لقرار أمني حساس.

يستطيع موجّه خبيث نشر معرفات كثيرة ودفع الأجهزة إلى اتصالات DNS وTLS وHTTP نحو خوادم مختلفة. يحد المضيف معدل الطلبات، ويتوقف عن سؤال معرّف بعد فشل الشهادة أو HTTP أو JSON طوال الارتباط الحالي، وبعد عشر حالات فشل أو أكثر يوقف كل طلبات معلومات PvD لذلك الارتباط.

كما يتحمل المشغّل مسؤولية عند رفع H. حتى خلف captive portal يجب السماح قبل تسجيل الدخول بحل DNS وفحص الشهادة وHTTPS اللازم. وينبغي للمضيف استخدام عنوان IPv6 مؤقت من النطاق وتجنب ملفات الارتباط أو الترويسات المعرِّفة.

الاختيار يظهر في تنفيذ المضيف

بعد التحقق من النطاقات تبقى سياسة لكل اتصال. يسمّي المشغّل سياقاً متسقاً ويهيئه. يجيز مالك FQDN خدمة المعلومات. يصف JSON حدود الخدمة. ويقرر المضيف إن كانت تلائم التطبيق الحالي.

الدليل النهائي هو عنوان المصدر والمحلّل والموجّه الأول والوجهة والنتيجة التي شوهدت فعلاً. لا تعني أولوية الشيفرة العاملة تجاوز المواصفة، بل إثبات أن التنفيذ حافظ على العلاقات الدنيا التي جعلتها المواصفة مشتركة.

المصادر