الخلاصة
- أتاحت RFC 3102 لمضيف في realm خاص استخدام عنوان عام كامل أو عنوان مشترك مع منافذ محددة، بينما احتفظت البوابة بالحوض و
bindومدة الإيجار والسياسة. - ظهور المعلمة العامة داخل المضيف لم يحسم المسار؛ كان عليه التمييز بين وجهة محلية ونفق عام، ولم يوجد حل عام لتطبيقات متعددة الأطراف موزعة بين realms.
حضور عام مستعار داخل مضيف خاص
كان NAT التقليدي يجري المقايضة عند الحد. يصنع المضيف حزمة بعنوان خاص، ثم يغيّر المترجم العنوان أو المنفذ في الخروج ويحاول عكس العملية عند العودة. وفّر ذلك سهولة نشر، لكنه اصطدم بالبروتوكولات التي تحمل عنوانًا داخل payload أو تتطلب بقاء header من دون تعديل.
وزعت RFC 3102 إلى RFC 3105، المنشورة في أكتوبر 2001، العمل بطريقة أخرى. يسجل RSIP host نفسه أولًا لدى gateway تفصل realmين للعناوين، ثم يطلب موارد من realm العام. يثبت المضيف المعلمات الممنوحة في stack الخاصة به، ويبني الحزمة الداخلية بالمصدر العام المستعار، ويرسلها داخل tunnel إلى البوابة. تزيل البوابة التغليف الخارجي وتوجّه الحزمة من دون إعادة كتابة المصدر الداخلي.
في RSA-IP يحصل مضيف واحد على عنوان عام كامل وفريد طوال lease. وفي RSAP-IP يمكن لعدة مضيفين مشاركة العنوان نفسه، مع مجموعة منافذ غير متداخلة لكل واحد. الأول يشبه استعارة المنزل كله، والثاني يشبه استعارة مداخل معينة تحت رقم واحد.
في الحالتين يرى المضيف المعلمة العامة، لكنه لا يكتسب ملكية دائمة. يظل العنوان الخاص وسيلته للوصول إلى البوابة، وتظل البوابة مالكة قرار التخصيص والرفض والاسترداد. أصبح الوسيط مرئيًا، ولم يختفِ.
لم يكن التخصيص حقيقة واحدة
حوّلت RFC 3103 الفكرة إلى state machine. يسجل المضيف ويحصل على client ID. وقد تحمل استجابة التخصيص عنوانًا ومنافذ وbind ID ومدة lease ونوع tunnel وسياسة flow. ثم توجد رسائل للتمديد والاستعلام وطلب استقبال inbound traffic والتحرير وإلغاء التسجيل.
لكل سجل دلالة محدودة. التسجيل يعني أن البوابة تعرف جلسة العميل. التخصيص يعني السماح بموارد محددة وفق شروط. يربط bind هوية المضيف في الجانب الخاص بالمعلمات العامة. يحدد lease الزمن، وتحدد policy الوجهات أو المنافذ البعيدة المسموحة.
لا يثبت أي واحد منها اكتمال الخطوة التالية. assignment response لا تثبت تركيب route. وbind لا يثبت عمل tunnel. وخروج حزمة من المضيف لا يثبت قبولها في البوابة، كما أن تمريرها إلى الخارج لا يثبت عودة الرد. لا تصبح السلسلة حقيقة تشغيلية إلا برصد كل مرحلة والاتجاهين.
يستطيع المضيف اقتراح عنوان أو منفذ، لكن البوابة تستطيع رفضه بسبب الانشغال أو النفاد أو السياسة. وإذا استعمل المضيف عنوانًا أو tuple أو وجهة أو tunnel غير مصرح به، فعلى البوابة إسقاط الحزمة. يكتب المضيف المصدر العام؛ وتقرر البوابة هل ينتمي الاستخدام إلى grant ساري.
المحليّة سؤال يجب حله قبل الإرسال
بعد أن صار للمضيف تمثيلان، وجب عليه اختيار المسار لكل وجهة: توصيل مباشر في الشبكة الخاصة أم RSIP interface وtunnel العام؟ في subnet بسيط قد يكفي mask. وفي شبكة أعقد اقترحت RFC 3102 أن تحتفظ البوابة بقائمة الشبكات الخاصة وتجيب عن queries.
لكن الإجابة تشيخ مع routing. إذا تغيرت topology أسرع من جلسة RSIP فقد يضطر المضيف إلى السؤال عن كل وجهة. اعترف المستند بأن تطوير حل عام متين كان صعبًا، وأن شدة المشكلة الفعلية لم تكن معروفة.
كشفت التطبيقات متعددة الأطراف التناقض الأعمق. قد يمرر طرف عنوان IP إلى طرف آخر على أنه global endpoint من دون معرفة realm التي ينظر منها المتلقي. قد يكون العنوان الخاص غير قابل للوصول من الخارج، وقد يجبر العنوان العام طرفين محليين على المرور بالبوابة. قالت RFC 3102 إنه لا يوجد حل عام معروف.
لم تكن المشكلة عيب تنفيذ فحسب. كان حقل واحد يُطلب منه أن يكون موضعًا طوبولوجيًا ودليل وصول وهوية في الوقت نفسه. جعل RSIP الاستعارة صريحة، لكنه لم يجعل معنى «محلي» واحدًا لدى جميع الأطراف.
انتهى الإيجار قبل أن تختفي كل الآثار
حد lease من سلطة المضيف وأعاد الموارد النادرة إلى الحوض. يستطيع المضيف التمديد أو التحرير، وتستطيع البوابة انتظار الانتهاء أو سحب bind. لكن الساعة الإدارية لا تمحو transport state في اللحظة نفسها.
قد يحتفظ TCP بالtuple القديم في TIME_WAIT. إذا أعيد إقراض العنوان والمنفذ بسرعة، فقد تتقاطع حزم متأخرة أو حماية الاتصال السابق مع المنحة الجديدة. انتهاء lease وإعادة الاستخدام الآمنة حدثان مختلفان.
وتفصل الأعطال الذاكرتين. بعد reboot للمضيف قد تحتفظ البوابة بbindings نسيها. وبعد reboot للبوابة قد يظن المضيف أن assignment ما زال صالحًا بينما فقده الخادم. وصفت RFC 3103 تبادلًا لإعادة بناء العلاقة، لكنها لم تجعل ذاكرة أحد الطرفين حقيقة كاملة.
ينبغي حفظ بدء الإيجار وتمديده وتحريره أو انتهائه، وأعطال الطرفين، وأول حزمة قُبلت بعد reconciliation. قد يبقى الرقم نفسه، بينما تتغير generation السلطة التي تسمح باستعماله.
العنوان المشترك لم يعد هوية واحدة
مع RSA-IP يشبه dynamic DNS حالة DHCP، لأن مضيفًا واحدًا يستعمل العنوان كله خلال الفترة. أما RSAP-IP فيسمح لعدة FQDNs بالإشارة إلى عنوان واحد بينما تقود منافذ مختلفة إلى مضيفين مختلفين. وقد يفترض peer عام أن كل الخدمات في العنوان تخص logical host واحدًا. لذلك أوصت RFC 3102 بالحذر الشديد في الجمع بين RSAP-IP وDNS الديناميكي.
شددت RFC 3104 هذا الفصل في IPsec. يمكن لعملاء RSIP يتشاركون عنوانًا عامًا بدء IKE وIPsec نحو peer لا يعرف RSIP. لا يصلح source address الظاهر هويةً للpeer الحقيقي؛ يجب أن تحمل IKE identifiers هذا المعنى.
يمكن فصل ردود IKE وفق destination port وinitiator cookie وdestination address. أما AH أو ESP فتستخدم protocol وSPI والعنوان. وكان على SPI أن يكون فريدًا في مساحة العميل ومساحة البوابة المشتركة معًا. ظل العنوان locator للدخول، لا principal تشفيريًا.
ولم يكن الامتداد شاملًا. ركز على الجلسات التي يبدأها العميل، واحتاج إلى تعاون IPsec implementation، ولم يتوقع من bump-in-the-stack أن يعمل بلا تعديل. شفافية header لم تكن شفافية التطبيق.
العثور على البوابة لا يمنح حق استخدامها
استخدمت RFC 3105 بروتوكول SLP لنشر URL من نوع service:rsip مع capabilities وlifetime وload اختياري. تسمح scopes بتوجيه مجموعات عملاء إلى خوادم معينة، ويمكن للعميل اختيار الخادم الذي يعلن عدد اتصالات أقل.
لكن SLP scope ليست access control. الإعلان يصف ما يقول الخادم إنه يقدمه، ولا يثبت استحقاق العميل للموارد. وقد تصبح قيمة load قديمة قبل الاتصال. وبعد discovery يبقى التسجيل والموافقة وتركيب الطريق ورصد الحزم.
وهكذا تتوزع سلطات واضحة: يوجه administrator الاكتشاف، وتمنح البوابة الموارد والسياسة، ويختار المضيف المحليّة ويبني الحزم، ويقرر peer البعيد قبول الهوية والجلسة. لا يملك أي طرف وحده دليل النتيجة.
قيمة تجربة لم تخفِ تكلفتها
كانت RFC 3102–3105 مستندات Experimental وليست Internet Standards. حذرت ملاحظة IESG من تغييرات مهمة في المضيف والبوابة، ومشكلات تسببها المنافذ المتحركة، وتعقيد تشغيلي يجب موازنته ببدائل أخرى. وقال framework نفسه إن RSIP ليس حلًا طويل الأجل لنقص IPv4. ولا تقدم المصادر دليلًا على انتشار واسع أو إزاحة NAT.
تبقى التجربة مهمة لأنها فككت الحالة التي يخفيها المترجم: registration وallocation وbind وlease وpolicy وdiscovery وrecovery واختيار locality. نقل المعلمة العامة إلى المضيف جعل مشاركة العنوان مسألة توزيع حالة وسلطة بصورة أوضح.
يستطيع العنوان المستعار أن يبين realm التي تريد الحزمة الظهور فيها. ولا يثبت ملكية دائمة أو هوية وحيدة أو مسارًا صحيحًا أو authentication أو delivery. أقرضت البوابة locator؛ وجعلته سجلات متوافقة وحالة جارية وحزم في الاتجاهين خدمة فعلية.
المصادر
- https://www.rfc-editor.org/rfc/rfc3102.html
- https://www.rfc-editor.org/info/rfc3102
- https://datatracker.ietf.org/doc/rfc3102/
- https://www.rfc-editor.org/rfc/rfc3103.html
- https://www.rfc-editor.org/info/rfc3103
- https://datatracker.ietf.org/doc/rfc3103/
- https://www.rfc-editor.org/rfc/rfc3104.html
- https://www.rfc-editor.org/info/rfc3104
- https://datatracker.ietf.org/doc/rfc3104/
- https://www.rfc-editor.org/rfc/rfc3105.html
- https://www.rfc-editor.org/info/rfc3105
- https://www.rfc-editor.org/rfc/rfc1631.html
- https://www.rfc-editor.org/rfc/rfc2663.html
- https://www.rfc-editor.org/rfc/rfc2993.html
- https://www.rfc-editor.org/rfc/rfc3022.html
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
