الخلاصة

  • تقترح draft-levine-dnsextlang-14 وصف RRTYPE داخل سجلات TXT كي تدعم البرمجيات أنواعاً كثيرة عبر الإعدادات. وهي مسودة إنترنت فردية، لا RFC ولا خدمة IANA عاملة.
  • تشير X إلى حاجة النوع لمعالجة خاصة وتتيح رفضه عند غيابها. لا تجلب الرمز التنفيذي ولا تثبت أن الخادم يملكه.
  • يثبت DNSSEC أصل RRset وسلامته وفق سياسة المدقق. أما صحة المعنى والتوافق والإذن بالتفعيل فتحتاج إلى أدلة منفصلة.

تبدأ المشكلة حين تبدو الواجهة مكتملة. وصل TXT موقع، وظهرت حقول الإدخال، ونجح فحص الصياغة. لكن الخادم السلطوي لم يثبت بعد أنه سيخرج RDATA المتوقعة بعد التخزين والتوقيع وAXFR وإعادة التحميل.

تعالج المسودة كلفة حقيقية: كل RRTYPE جديد قد يتطلب تحديث محلل الملف الرئيسي وأداة التزويد. تصف stanza الاسم والرقم والخيارات والحقول. يستطيع الخادم تحويل النص إلى تمثيل ثنائي، ويستطيع المصدر إعادة النص من بيانات النقل، وتستطيع الواجهة بناء نموذج. لم يختف التنفيذ؛ انتقل جزء منه إلى بيانات مفسرة.

اسمان لا يصنعان نسخة ذرية

تنشر المسودة TXT متطابقاً بالرقم تحت RRTYPE.ARPA وبالاسم تحت RRNAME.ARPA، ويمكن أن يكون أحدهما CNAME. وتحمل السوابق اللغوية أوصاف البشر. لكن النص لا يحدد أي نسخة تفوز عند الاختلاف. قد ترى المخابئ أجيالاً مختلفة، وقد يتقدم البديل اللغوي على الافتراضي، ويضيف الملف المحلي الاختياري سلطة أخرى.

وفي النص نفسه فجوة: تذكر الفقرة _LIST.RRTYPE.ARPA بينما يستخدم المثال _LIST.RRNAME.ARPA. هذا أمر يحتاج إلى تصحيح في المسودة، لا إلى اختيار صامت من كل منتج.

لا يجعل TTL الانتقال متزامناً. ويجيز RFC 8767 في ظروف فشل محددة تقديم بيانات stale. لا تفرض المسودة ذلك، لكن إيصال التنفيذ يجب أن يميز الجواب السلطوي الحالي، والذاكرة الصالحة، والرجوع القديم. ويجب أن يظهر hash الملف المحلي وأولويته.

DNSSEC لا يراجع المعنى

يشير قسم الأمن إلى الانتحال وإلى DNSSEC. يحدد RFC 4033 الضمان في مصادقة أصل RRset وسلامته عبر مرساة ثقة وسلسلة مصادقة. تنجح المصادقة في إثبات من نشر البايتات وأنها لم تتغير خفية. ولا تثبت تطابق الاسمين، أو سلامة الأطوال، أو دعم المحلل، أو موافقة المشغل.

النشر والمصادقة والتفعيل أفعال مختلفة. يبقى الخطأ الموقع خطأ. ولا يجوز تحويل التوقيع إلى إذن تنفيذ لم يمنحه.

X حد توقف وليست إضافة برمجية

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

يوفر RFC 3597 أصلاً صيغة TYPEnn \# الطول hex للأنواع المجهولة ومعاملة شفافة بلا معالجة للقسم الإضافي. تضيف اللغة الجديدة سهولة القراءة والنماذج والتحويل الجدولي، ولا تخترع نقل RDATA المجهولة. وتبقى الصيغة العامة مساراً محافظاً عند رفض الصيغة الودية.

إيصال التنفيذ يربط النص بالجواب

تحذر المسودة من أن تعريفات غير صحيحة قد تثير أخطاء غريبة، وأن القدرة على تمثيل سجلات اعتباطية قد تتجاوز قيود التزويد. لذلك يجب حفظ: مراجعة الوثيقة؛ جواب الدليل؛ hashes النسخ الرقمية والرمزية واللغوية؛ نتيجة DNSSEC وسياستها؛ TTL وعمر الذاكرة وstale؛ override المحلي؛ إصدارات الخادم والمحلل والخلفية؛ الوحدة التي تلبي كل X؛ اختبارات صحيحة وخاطئة وحدود الموارد؛ بايتات دورة text–wire–text؛ تحميل منطقة معزولة؛ استعلام سلطوي؛ نطاق التفعيل وrollback.

هذا نموذج تشغيلي يقترحه المقال، لا نصاً معيارياً في المسودة. يمنع الدليل من انتحال الدليل التالي: التوقيع ليس اختباراً، والاختبار ليس تحميلاً، والتحميل ليس جواباً، وجواب خادم واحد ليس تقارب الأسطول.

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

طبقة مشتركة رقيقة

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

هذه هي فكرة Heng Lu عن الحد الأدنى للمواصفة الأولى: لا يُمركز إلا ما يلزم للتبادل، وتبقى القرارات اللاحقة محلية، ويثبت التبني الطوعي بواسطة running code. يمكن لـ override ظاهر وRFC 3597 أن يتعايشا مع المصدر المركزي؛ لا يمكن لاختلاف خفي في الأجيال أن يفعل ذلك.