الخلاصة

  • عرّفت RFC 3108 الاتجاه الأمامي في SDP بأنه المبتعد عن عقدة ATM الموصوفة، بينما عرّفته إشارة الحامل بأنه الخارج من الطرف الذي بدأ setup. عند إنشاء SVC عكسي، يحمل المعامل نفسه اسمين متعاكسين بين الطبقتين.
  • ربط eecid ذو الأربعة bytes سجل مكالمة خدمية بطلب bearer لاحق ربطًا واحدًا لواحد. كان مفتاح ارتباط محليًا، لا هوية ولا مصادقة ولا اسم اتصال عالمي ولا دليلًا على مرور الوسائط.

الكلمة واحدة ونقطة الأصل مختلفة

تنظر بوابة إلى الحركة الخارجة منها فتسميها forward. تنظر شبكة ATM إلى طلب إنشاء الحامل فتسمي الحركة الخارجة من مرسل الطلب forward. إذا بدأ الطرف نفسه المكالمة والحامل، تتطابق السهمان. وإذا بدأت جهة المكالمة وتلقت setup الحامل، انعكس الاسمان على المسار نفسه.

نشرت RFC 3108 في مايو 2001 ضمن Standards Track. واستخدمت صياغة SDP الواردة في RFC 2327 لوصف اتصالات ATM وAAL2، مضيفةً سمات للعناوين وطبقات التكييف ووصف المرور وجودة الخدمة وأنواع الحوامل والقنوات واختيارات الخدمة. وكان يمكن نقل هذه الأوصاف مع SIP أو MGCP أو Megaco/H.248.

لكن القضية الأهم كانت استقلال المسارين. الطرف الذي بدأ مكالمة صوتية أو متعددة الوسائط لم يكن بالضرورة الطرف الذي يبدأ الاتصال الافتراضي الحامل لها. في اصطلاح SDP الخاص بالوثيقة، الأمام هو الاتجاه المبتعد عن عقدة ATM محل الوصف، والخلف هو المتجه إليها، بصرف النظر عن منشئ المكالمة أو الحامل.

أما إشارة ATM/AAL2 فجعلت الأمام من الطرف الذي يرسل طلب الإنشاء إلى الطرف الذي يستقبله. في نموذج backward setup، تستقبل بوابة منشأ الخدمة طلب الحامل. يصبح PCR الخارج منها forward في SDP وbackward في رسالة ATM. كان على البوابة تبديل الاتجاه عند الترجمة.

لذلك لم تكن سلامة النسخ كافية. يمكن أن تبقى القيمة والرسالة قانونيتين، لكن السعة أو شرط التأخير أو الفقد يوضع على التدفق الخطأ. الدقة النصية لا تضمن الدقة الدلالية.

الاتجاه جزء من الحالة

حملت سمات مثل atmQOSparms وatmTrfcDesc حقل directionFlag بقيم f أو b أو fb. وكان الحقل إلزاميًا، حتى حين تستخدم المعلمات الأخرى لأنها غير محددة أو غير منطبقة أو ضمنية أو معروفة من آلية أخرى.

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

وفي بعض الحقول فوّض الرمز $ الاختيار إلى المتلقي. أثبت الوصف وجود خيارات مسموحة، لا الاختيار الذي نُفذ ولا قبول المورد في العتاد. كما لم يحمل معنى واحدًا في جميع المواضع. تفحص القواعد إمكان القراءة؛ أما السياسة والحالة الجارية فتحتاجان أدلة مستقلة.

مفتاح يعود إلى من يحتاج التعرّف

قد يصل سياق المكالمة عبر وحدات التحكم أولًا، ثم يأتي طلب ATM مباشرة من البوابة الأخرى. احتاج المستقبل إلى معرفة أي سجل خدمة يخصه الطلب. استخدمت RFC 3108 لهذا eecid، أي end-to-end connection identifier، وهو مرادف bnc-id ذي الأربعة bytes في السياقات المذكورة.

في forward bearer establishment تختار البوابة التي تنهي المكالمة القيمة، وترسلها عبر SDP إلى جهة المنشأ، ثم تستعيدها في setup الذي تبدأه تلك الجهة. وفي backward establishment تختارها بوابة منشأ المكالمة، وترسلها إلى الجهة النهائية، ثم تستعيدها حين تبدأ الجهة النهائية الحامل.

إذن تختار العقدة التي ستستقبل setup مفتاح البحث عن الطلب المستقبلي. لا يلزم أن يكون فريدًا خارج تلك العقدة. ويتحكم المعيِّن في تحريره وإعادة استخدامه، مع توصية بالاحتفاظ به حتى انتهاء الاتصال.

لا يثبت التطابق هوية مشترك أو مصادقة peer أو إنشاء دائرة. إنه يثبت الارتباط فقط. يثبت تبادل setup/connect حالة الحامل، وتثبت الحزم في الاتجاهين وقياسات التطبيق نتيجة الخدمة. كما تركت الوثيقة طريقة ترميز المفتاح في رسالة الحامل للبروتوكولات المعنية، وإن ذكرت وسائل ممكنة.

الوصف ليس الإنشاء، والإنشاء ليس المرور

في الأمثلة تتبادل وحدات التحكم معلومات الخدمة وتأمر البوابات. بعدها ترسل بوابة setup ATM وفيه eecid، فتجد الأخرى السياق السابق وتعيد connect. بعد هذه السلسلة فقط يمكن للوسائط استخدام الحامل.

يبيّن SDP ما وُصف. ويبيّن إقرار التحكم أن تعليمة قُبلت. ويبيّن setup محاولة، ويبيّن connect حالة اتصال منطقية. ولا يثبت أي واحد منها بمفرده حركة ثنائية الاتجاه أو تأخيرًا فعليًا أو فقدًا أو جودة عند المستخدم.

وفصلت سمة chain طبقات الوصف أيضًا. فقد تكون أوصاف SDP المتتالية بدائل، أو طبقات مختلفة من اتصال واحد مثل IP فوق ATM. ربطها يحافظ على بساطة كل سجل ويعلن العلاقة، لكنه لا يثبت أن الطبقات نُفذت أو حملت المرور.

ويجب احترام التاريخ. جاءت RFC 3264 بنموذج offer/answer في 2002، ثم راجعت RFC 4566 وRFC 8866 بروتوكول SDP. يثبت هذا تسلسلًا وثائقيًا، لا انتشار RFC 3108 ولا تطبيق النموذج اللاحق على كل تبادل في 2001.

الأمن في الغلاف لا في الوصف

ذكرت RFC 3108 أن تشفير حوامل ATM/AAL2 لم يكن قد استقر مثل تشفير payload في RTP، وأن مصادقة إشارة الحامل لم تكن مستقرة كذلك. ويمكن لسطر k= أن يمثل مفتاحًا أو طريقة الحصول عليه، لكن تمثيله لا يثبت تشغيل الحماية.

قد يأتي الوصف من معدات لدى المشترك وفي موقع غير موثوق. لذلك اعتمدت الوثيقة على أمن البروتوكول الحاوي أو الطبقات الأدنى. أمكن لـSIP وMGCP وMegaco استعمال مصادقة IPsec وتشفير اختياري. الإمكان التصميمي ليس واقعًا تشغيليًا.

تحتاج سلسلة الدليل إلى SDP الأصلي ومرسله والعقدة المرجعية، وأدوار المكالمة والحامل، والقيم قبل الترجمة وبعدها، ومُصدر eecid ونطاقه وعمره، ورسائل setup/connect/release، وحالة المصادقة والتشفير، وQoS المثبتة، والعدادات، وحزم الاتجاهين ونتيجة التطبيق.

ما بقي هو خطر الكلمات المحمولة

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

لم تستطع بوابة RFC 3108 اختيار وثيقة «أعلى» وإلغاء الأخرى؛ فكل اصطلاح كان سلطة داخل طبقته. كان عليها أن تترجم وتحفظ المصدر، ثم تستخدم المفتاح لضم السجلين من دون دمجهما. وتبقى الحالة الجارية والمرور المرصود حقيقة ثالثة.

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

المصادر

  1. https://www.rfc-editor.org/rfc/rfc3108.html
  2. https://www.rfc-editor.org/info/rfc3108
  3. https://datatracker.ietf.org/doc/rfc3108/
  4. https://www.rfc-editor.org/rfc/rfc2327.html
  5. https://www.rfc-editor.org/info/rfc2327
  6. https://datatracker.ietf.org/doc/rfc2327/
  7. https://www.rfc-editor.org/rfc/rfc2543.html
  8. https://www.rfc-editor.org/info/rfc2543
  9. https://www.rfc-editor.org/rfc/rfc2705.html
  10. https://www.rfc-editor.org/rfc/rfc2805.html
  11. https://www.rfc-editor.org/rfc/rfc3015.html
  12. https://www.rfc-editor.org/rfc/rfc3264.html
  13. https://www.rfc-editor.org/rfc/rfc4566.html
  14. https://www.rfc-editor.org/rfc/rfc8866.html