الخلاصة
- لم ينسخ XDR ترتيب الذاكرة المحلي، بل فرض تمثيلاً خارجياً واحداً يبدأ بالبايت الأعلى أهمية ويُرتّب في مضاعفات أربعة بايتات.
- تحمل القيمة المتغيرة طولها ثم محتواها، وتأتي أصفار المحاذاة بعدها من دون أن تصبح جزءاً من القيمة.
- يحدد المخطط ترتيب الحقول وفرع الاتحاد، بينما تبقى حدود الرسالة والهوية والأمن ومعنى التطبيق في طبقات أخرى.
ثلاثة أصفار تفصل اسماً عن الحقل التالي
يعرض RFC 4506 مثالاً لاسم ملف طوله تسعة بايتات. يكتب XDR طول الاسم في أربعة بايتات، ثم البايتات التسعة، ثم ثلاثة أصفار قبل الحقل التالي. الأصفار موجودة في الترميز، لكن طول الاسم لا يصبح اثني عشر.
ولا يجوز ملء هذا الفراغ بما تصادف وجوده في الذاكرة. لو فعل كل مشفّر ذلك، لأنتجت آلتان تمثيلين مختلفين للقيمة نفسها. عندها لا تبقى المقارنة البايتية أو قيمة التحقق حتمية. لذلك أعطى XDR حتى الفراغ شكلاً واحداً: صفر صريح لا يحمل معنى تطبيقياً.
في هذه الجزئية تظهر الفكرة كلها. لم يطلب المعيار من الحواسيب أن تتطابق في الداخل؛ طلب منها أن تتخلى عن اختلافها عند نشر القيمة خارج حدودها.
التمثيل المحلي يتوقف عند المشفّر
قدّم RFC 1014 عام 1987 لغة XDR لوصف البيانات وترميزها بين معماريات متباينة، وذكر Sun RPC وNFS ضمن استخداماتها. تشبه اللغة C كي تصف البنى بوضوح، لكنها ليست برنامجاً ولا صورة لذاكرة بنية C.
العدد الصحيح الموقّع في XDR له 32 بت بتمثيل المتمم الثنائي، ويأتي البايت الأعلى أهمية أولاً. تتبع عناصر المصفوفة ترتيبها، وتتبع مكونات البنية ترتيب الإعلان. تستطيع كل آلة الاحتفاظ بتمثيلها الداخلي، لكن عليها التحويل إلى الصيغة المشتركة عند الإرسال ومنها عند الاستقبال.
لا توجد راية تختار ترتيب البايتات لكل كائن. اختيار ترتيبين كان سيحتاج بروتوكولاً أعلى ليقول أيهما مستخدم. اختيار واحد يحمّل بعض المعماريات كلفة تحويل أكبر، لكنه يسمح بقراءة بيانات مخزنة من دون استعادة تفاوض سابق.
أما وحدة الأربعة بايتات فكانت حلاً وسطاً. وحدة أصغر تقلل بعض الحشو وتزيد مشكلات المحاذاة، ووحدة أكبر تلائم آلات أكثر لكنها تضخم الترميز. لم يدّع XDR الحياد المادي؛ جعل المفاضلة معلنة وقابلة للتنفيذ.
الطول يحدد القيمة، لا سعة ذاكرة المستقبل
تبدأ البيانات opaque متغيرة الطول بعدد غير موقّع من 32 بت، ثم يأتي العدد المحدد من البايتات، ثم صفر إلى ثلاثة أصفار للمحاذاة. تتبع السلسلة الشكل المعدود نفسه، وتبدأ المصفوفة المتغيرة بعدد عناصرها.
بهذا يستطيع مفكك الترميز أن يقارن الطول بالحد الذي يعلنه البروتوكول، ويتأكد من بقاء بيانات كافية، ويحسب موضع الحقل التالي. تجاوز حد معلن خطأ في الترميز. وإذا لم يحدد مؤلف المخطط حداً، فلا يعني الحد النظري الكبير في اللغة أن على المستقبل تخصيص ذاكرة بلا سقف؛ سيادة الموارد محلية.
وقد تحتوي سلسلة XDR المعدودة على NUL داخلها. مكتبة محلية تعتبر NUL نهاية قد تخصّص وفق طول وتُقارن أو تحرر وفق طول آخر. الاتفاق على البايتات الخارجية لا يعفي التحويل إلى النوع المحلي من التحقق.
المميّز يسمح لفرع واحد فقط
يعتمد XDR الأنواع الضمنية؛ فلا يحمل كل حقل اسمه ووسم نوع عام معه. يعرف الطرفان الإعلان مسبقاً. لذلك يصبح ترتيب أعضاء البنية جزءاً من العقد، وتغييره الصامت يغيّر معنى ما يأتي بعده.
في الاتحاد المميّز يأتي عدد صحيح أو تعداد أو قيمة منطقية أولاً، ثم الفرع الذي اختارته تلك القيمة. إذا لم يوجد فرع افتراضي، فلا يملك المميّز غير المعروف ترميزاً صحيحاً. والبيانات الاختيارية صورة مختصرة: الصواب يتبعه عنصر، والخطأ يختار void ذا الحجم الصفري. الغياب معلن، لا مستنتج من حمولة فارغة.
سلطة المميّز محدودة باختيار البنية التالية. لا يثبت هوية المرسل، ولا يأذن بإجراء بعيد، ولا يجعل محتوى الفرع صحيحاً في الواقع.
تمثيل القيمة ليس إطار الرسالة
وضع RFC 1832 الصيغة المستخدمة على مسار المعايير عام 1995. وفي 2006 صار RFC 4506 هو STD 67 وصرّح بأنه لا يغيّر الترميز تقنياً. أضاف بدلاً من ذلك إرشادات حول حدود الأطوال والمخازن وNUL المضمّن والبنى العودية، مؤكداً أن الصيغة المعيارية لا تضمن تنفيذاً آمناً.
يفصل RFC 5531 الطبقات بوضوح. تُوصف رسائل ONC RPC بواسطة XDR، لكن RPC فوق TCP يضيف record marking خاصاً به. ويقول النص صراحة إن رأس الجزء ليس من صيغة XDR القياسية. إذن لا يكفي فك قيمة XDR لمعرفة نهاية رسالة عشوائية في تيار TCP أو المكالمة التي تنتمي إليها أو نجاح العملية.
ولا يوفر XDR تشفيراً أو مصادقة أو تفويضاً أو حماية من الإعادة. إنه يجعل ادعاءات نحوية محددة قابلة للفحص؛ أما الثقة والقرار فتبقيان لدى البروتوكول الحامل والتطبيق.
المصادر وحدود الاستنتاج
تتكون المجموعة المغلقة من RFC 1014 وRFC 1832 وRFC 4506 وRFC 5531. تثبت هذه الوثائق القواعد واستمرارها والحد مع RPC. لا تقيس الانتشار الحالي، ولا تصدّق منتجاً بعينه، ولا تحول سلامة الشكل إلى هوية أو إذن أو تنفيذ مثبت.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
