الخلاصة
- يصف RFC 1055 SLIP بأنه اتفاق صغير لتأطير بيانات IP على الخط التسلسلي: END ينهي الإطار وESC يحمي قيمتي بيانات قد تختلطان بقواعد التأطير.
- إرسال END في البدء يكلّف، في الخط السليم، إطاراً فارغاً يُهمَل، لكنه يمنع بقايا الضجيج من أن تصبح مقدمة للبيان التالي.
- حد الإطار، وسلامة البايتات، وتوافق حالة مفكّك يعتمد على الماضي ليست حقيقة واحدة. يوضح RFC 1144 وRFC 1662 هذا الفصل من دون أن ينسباه إلى الفاصل وحده.
اتفاق لا يدّعي أكثر مما يفعل
تتجلى قوة RFC 1055 في صراحته. فالوثيقة الصادرة عام 1988 تصف Serial Line IP بأنه عرف فعلي لوصلات TCP/IP النقطية عبر الخطوط التسلسلية، لكنها تقول أيضاً إنه ليس معياراً للإنترنت. والأهم أنها تسميه مجرد بروتوكول لتأطير الحزم: يحدد سلسلة محارف تحيط ببيانات IP على خط تسلسلي، ولا يزيد على ذلك.
ليست كلمة «مجرد» اعتذاراً، بل حدّ مسؤولية. لا يقدم SLIP تبادل العناوين، ولا خانة نوع تفرّق البروتوكولات، ولا كشف أخطاء أو تصحيحها، ولا ضغطاً. ينبغي للطرفين أن يعرفا عناوين IP بوسيلة أخرى. ولا تستطيع الوصلة أن تميّز TCP/IP عن بروتوكول آخر بفضل SLIP نفسه. كما أن سلسلة بايتات وصلت بين علامتي نهاية لا تحصل بسبب ذلك على شهادة بأنها وصلت سليمة.
من السهل أن يُقرأ هذا النظام القديم بوصفه PPP ناقصاً. لكن هذا يبدل السؤال التاريخي. في خط بطيء، ما العمل الأدنى الذي يستطيع طرفان تنفيذه والتحقق منه محلياً؟ بالنسبة إلى SLIP، كان الجواب معرفة موضع نهاية بيانات IP في دفق متصل من الأوكتتات، ومنع قيمتين من بيانات الحمولة من التظاهر بأنهما جواب ذلك السؤال. لم يكن عليه أن يمنح نفسه سلطة على العنوان أو الثقة أو موثوقية الوسط.
يحجز RFC 1055 قيمتين. END هو الثماني 0300 والعشري 192؛ وESC هو الثماني 0333 والعشري 219. إذا ظهر END في البيانات، يرسل المرسِل ESC ثم 0334؛ وإذا ظهر ESC، يرسل ESC ثم 0335. وبعد إرسال البيانات المحمية يرسل END. يفك المستقبل هاتين العمليتين داخل نحو SLIP نفسه، ويعامل END على أنه ختام الإطار.
لا تكون END أمراً في كل موضع من العالم. إنها عنصر بنيوي فقط لدى مستقبل دخل بالفعل في حالة تجميع إطار SLIP. وESC لا يعني إلا بديلين محددين. يضع المرسِل أثراً انتقالياً كي لا يلتبس محتوى الطبقة الداخلية بقاعدة الطبقة الخارجية، ثم يزيله قارئ الطبقة نفسها. هذا يحفظ شفافية البيانات؛ لا يقرر أن البيانات صحيحة أو موثوقة أو مصادق عليها.
نهاية صغيرة قبل البداية التالية
تأتي الفكرة التي تمنح المثال دقته من اقتراح Phil Karn: أن يبدأ المرسِل الحزمة أيضاً بـEND. يذكر RFC 1055 السبب بوضوح؛ فالعلامة الأولى تطرد ما قد يكون تراكم في المستقبل من بيانات خاطئة سبّبها ضجيج الخط.
على خط هادئ، يبدو ذلك تكراراً مقصوداً. END الذي أغلق الإطار السابق يجاور END الذي يسبق الإطار الجديد. لا تخفي الوثيقة الثمن: قد ينشأ عن ذلك بيان IP فارغ أو سيئ، وتطرحه طبقة IP؛ أما دالة الاستقبال المعروضة فتتجاهل END إذا لم تكن قد جمعت أي بيانات. الإطار الفارغ ليس خللاً عارضاً، بل كلفة معلنة لحدّ قراءة نظيف.
بعد التشويش، تعمل العلامة ذاتها كفاصل للسلطة. قد تكون في الذاكرة المؤقتة بايتات لا يمكن نسبتها بثقة إلى الحزمة السابقة، ولا ينبغي في الوقت نفسه أن تصبح بداية الحزمة الآتية. ينهي END الأول ذلك التراكم. تُهمل بقايا الضجيج قبل دخول بيانات البيان الجديد، ويعود المستقبل إلى حالة مفهومة: انتظار محتوى بعد حد معروف.
لذلك لا يصح القول إن END «استعاد الحزمة» بالمعنى القوي. لقد استعاد موضع القراءة. لم يصلح ما أُهمل، ولم يثبت أن البايتات اللاحقة لم تتلف، ولم يعرّف طبقة أعلى تعتمد على ذاكرتها بما يجب أن تتذكره. وظيفته أن يمنع الماضي غير المعلوم من كتابة مقدمة التفسير التالي.
ويحافظ كود الاستقبال في RFC 1055 على هذا التواضع. لا يعيد حزمة إلا عند وصول END بعد بعض البيانات؛ ويتجاوز الحالات الفارغة التي تنتجها END المتجاورة. وبعد ESC لا يعيد تكوين END أو ESC إلا إن تبعته إحدى القيمتين المتوقعتين؛ أما غير ذلك فيسميه الكود مخالفة بروتوكول ويخزن البايت كما هو. نحن أمام قارئ حدود مع حمايتين للشفافية، لا أمام قاضٍ عام لصحة الحمولة.
الإطار المستعاد ليس حالة مستعادة
يبين RFC 1144، الخاص بضغط ترويسات TCP/IP على الوصلات التسلسلية البطيئة، لماذا لا يجوز تحميل الفاصل وظائف غيره. يمرر المخطط الحزمة إلى compressor ثم إلى framer. ويحفظ الضاغط، لكل اتصال على الخط التسلسلي، ترويسات سابقة؛ وقد تصف الحزمة المضغوطة اختلافات عن تلك الذاكرة.
إذن قد يكتشف المستقبل END ويقتطع بايتات إطار بصورة صحيحة، من دون أن يملك دليلاً على سلامة تلك البايتات، أو من دون أن تكون لديه الحالة السابقة التي افترضها المرسِل لفك الفروق. يضع RFC 1144 كشف الخطأ عند مستوى framing، ويقول إن مفكّك الضغط يحتاج إلى إشارة بالخطأ كي يطرح الحزمة السيئة ولا ينشر انحراف الحالة. لا تمنح END الأولى تلك الإشارة، ولم تدّع ذلك قط.
ينبغي الفصل بين ثلاثة أسئلة: أين يبدأ الإطار أو ينتهي؟ هل محتواه سليم؟ وهل يشارك المستهلك ذو الحالة التاريخ اللازم؟ يجيب الفاصل عن الأول. وقد تعالج FCS أو checksum الثاني. أما إعادة ضبط الحالة أو مزامنتها فهي عمل آخر. لا يحل تكرار اسم «الاستعادة» محل هذا التقسيم.
يوفر RFC 1662 مقارنة لاحقة محكومة. يؤطر PPP الشبيه بـHDLC بعلامة قد تشير إلى البداية أو النهاية، وبحشو أوكتتات، وبـFCS وبقواعد للإطارات غير الصالحة. كما يحذّر من أن توفير أوكتت باستعمال علامة الإغلاق نفسها كبداية للإطار التالي قد يقلل الموثوقية بعد زمن خمول: فالضجيج قد يلتحق بالإطار التالي إن لم تُرسل علامة فتح جديدة. ليست PPP حكماً أخلاقياً ضد SLIP، بل عقد أوسع سمّى بشكل منفصل الحد والتحقق والرفض.
أن تنتهي سلطة العلامة عند حدها
تقدم ملاحظتا 64 و65 لـHeng Lu منهجاً مناسباً هنا: ابدأ بأصغر وظيفة حتمية يمكن للكود العامل أن يتحقق منها محلياً، ولا حوّلها إلى سلطة عامة. END في SLIP يطوي تراكم الماضي ويمكّن بداية قراءة جديدة. ESC يحمي قيمتين فقط. بعد ذلك لا تستطيع العلامتان توثيق الحمولة التالية أو إعادة حالة نظام آخر.
عند فحص إعادة بدء دفق، ينبغي حفظ البايتات الخام قبل العلامة، وحدث END المرصود، وبايتات الإطار الناتج، وحكم السلامة المستقل، والحالة التي استخدمها كل مفكك يعتمد على حزم سابقة. عبارة «استُعيدت حزمة» تخفي قرارات مستقلة يمكن أن ينجح بعضها ويفشل بعضها الآخر.
المصادر وحدود الدليل
مجموعة الأدلة المغلقة هي RFC 1055 وRFC 1144 وRFC 1662. وهي تثبت نحو END/ESC، وسبب END الأول، وما يصرح SLIP بأنه لا يقدمه، وفصل compressor عن framer، والمقارنة المحدودة مع PPP. ولا تثبت انتشار SLIP عالمياً، أو سلوك أجهزة معاصرة، أو معدل ضجيج مقاس، أو نتيجة أمنية، أو استعمال RFC 1144 في كل وصلة SLIP.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
