الخلاصة
- لم تكن
SENDER_TSPECوADSPECوFLOWSPECسجلًا واحدًا للحجز؛ فالأولى تصريح من المرسل، والثانية إعلان مركب يصنعه المسار، والثالثة طلب ينشئه المستقبِل ويتجه صعودًا. - يعني break bit العام أن عنصرًا واحدًا على الأقل لا يدعم RSVP/Integrated Services؛ وعند ارتفاعه تعد RFC 2210 بقية معاملات ADSPEC غير موثوقة كتجميع شامل للمسار.
- يعبّر break bit الخاص بخدمة عن فجوة أضيق: عنصر يفهم RSVP لكنه لا يقدم الخدمة المحددة.
- تنخفض
PATH_MTUإلى أصغر قيمة عبر المسار وعند دمج الحجوزات، بينما يبقى الحد الأقصى الأصلي الذي صرّح به المرسل من دون إعادة كتابة؛ وقد تنال الحزم الأكبر من الحد المغطى معاملة best effort فقط. - لا يثبت الإعلان أو القبول أو الدمج أو حساب حد للتأخير أن المسار ثابت، أو أن المرور مطابق، أو أن المعاملة شوهدت فعلًا، أو أن التطبيق نجح.
ملخص لا يسجل كل قفزة
اعتمد ADSPEC نموذج One Pass With Advertising.
كل عنصر قادر على المشاركة كان يحدّث القيم المركبة أثناء انتقال PATH نحو المستقبِل. وبدل إضافة سجل جديد لكل موجه، بقي حجم الكائن ثابتًا تقريبًا. يحصل المستقبِل على نتيجة قابلة للاستخدام من دون أن يحمل البروتوكول دفترًا متناميًا لكل خطوة.
هذا الضغط يزيل تفاصيل عن قصد.
عرض النطاق المعلن ليس قائمة بالقيم المحلية. وPATH_MTU يحتفظ بالأصغر ولا يروي وحده موضع الاختناق. ومعاملات Guaranteed service تتراكم وفق قواعد تركيب، لا كسلسلة من الحسابات المنفصلة.
لذلك احتاجت البنية إلى حفظ حقيقة من نوع مختلف: هل شارك كل الجزء المطلوب من المسار في عملية التركيب؟
إذا عجز عنصر عن دعم RSVP وIntegrated Services، رُفع break bit العام. عندئذ لم يعد من المشروع قراءة الأرقام الأخرى كحقيقة متصلة من طرف إلى طرف. قد تكون بعض الحسابات المحلية صحيحة تمامًا، لكن اكتمال المسار لم يعد مثبتًا.
العنصر اللاحق لا يصلح الانقطاع السابق
قد يأتي بعد الفجوة موجه يدعم كل الآليات المطلوبة. يستطيع هذا الموجه تحديث مساهمته وإدارة حالته المحلية، لكنه لا يستطيع تحويل العنصر السابق إلى مشارك بأثر رجعي.
لهذا يبقى البت مرفوعًا.
إنه ذاكرة عن صلاحية عملية التجميع، لا وصفًا لقدرة آخر عنصر فقط. ولو سمح لعنصر لاحق بمسحه، لتحولت القدرة المحلية في نهاية الطريق إلى ادعاء كاذب عن الطريق كله.
من هذه الزاوية، يحمل break bit معلومة عن منشأ الدليل. يحدد متى فقد الملخص حقه في التحدث باسم جميع القفزات.
ثلاثة كائنات وثلاث جهات متكلمة
ينشئ المرسل SENDER_TSPEC ويرسله باتجاه downstream داخل PATH.
تصف هذه البنية حركة المرور التي قد ينتجها، ومنها معلمات token bucket والحجم الأقصى للحزمة M. تمرر العناصر الوسيطة تصريح المرسل الأصلي من دون تعديله كي يطابق حدودها المحلية.
ينتقل ADSPEC في الاتجاه نفسه، لكن الشبكة المشاركة هي التي تكتبه. يضيف كل عنصر مساهمته المركبة. فهو إعلان عن خصائص المسار الذي اجتازه PATH، لا قياس لحركة المرسل ولا طلب من المستقبِل.
أما FLOWSPEC فينشئه المستقبِل ويتحرك upstream داخل RESV. يعبّر عن الخدمة المطلوبة، ويمكن أن يتغير نتيجة دمج حجوزات متعددة أو معالجة تحكم محلية.
هذه الفروق تمنع اختزال الجميع في عبارة «تم الحجز».
وجود TSpec لا يثبت أن الحزم طابقت التصريح. وجود ADSPEC لا يثبت قبول الموارد. وجود FLOWSPEC لا يثبت أن المجدولات قدمت الخدمة. كل كائن شهادة عن مرحلة محدودة وصادرة عن جهة مختلفة.
إعلان نظيف مرتبط بمسار وزمن
عدم ارتفاع break bit معلومة إيجابية، لكنها ليست وعدًا دائمًا.
يعني ذلك أن الإعلان لم يسجل نوع الانقطاع المقصود على المسار الذي سلكه PATH في تلك اللحظة. لا يعني أن التوجيه لن يتغير بعد ذلك، أو أن الموارد المحلية ستبقى متاحة، أو أن سياسة كل عقدة ستقبل RESV.
إذا تغير next hop، قد تسلك حزم البيانات مجموعة أخرى من العناصر. وإذا انضم مستقبِل جديد، قد تتغير نتيجة الدمج. وإذا تبدلت السعة أو السياسة، قد يفشل admission control رغم أن الإعلان السابق بدا سليمًا.
إذن ADSPEC دليل مقيد بمساره ووقته. قيمته لا تزول، لكن نطاقها يجب ألا يتوسع إلى المستقبل من دون إشارة جديدة.
PATH_MTU يحفظ اختلاف التصريحات
يوضح الحد الأقصى للحزمة كيف احتفظ البروتوكول بعدة حقائق بدل صهرها في رقم واحد.
قيمة M في TSpec تقول ما الذي يستطيع المرسل توليده. أما PATH_MTU فتتناقص عندما يصادف المسار MTU محليًا أصغر. وعندما يتعامل المستقبِل مع أكثر من مرسل، يستخدم أصغر قيمة ذات صلة. وعند دمج فروع الحجز، ينتقل أصغر حد مقبول صعودًا.
لا يُعاد تعديل تصريح المرسل الأصلي كي يساوي النتيجة.
يمكن إذن أن يكون الحد الذي يستطيع المرسل إنتاجه أكبر من الحد الذي يغطيه المسار، وهذا بدوره قد يكون مختلفًا عن الحد المشترك بين فروع الاستقبال. ليست هذه مشكلة تناسق؛ إنها ثلاث إجابات لثلاثة أسئلة.
تذكر RFC 2210 أيضًا أن الحزم التي تتجاوز الحد المغطى قد تحصل على best effort فقط. وجود حجز لا يمنح كل حجم من الحزم المعاملة نفسها.
المستقبِل يصنع طلبًا من الإعلان
بعد استلام PATH، يوازن المستقبِل بين حاجته التطبيقية وTSpec وADSPEC والسياسة المحلية، ثم ينشئ FLOWSPEC.
في Guaranteed service يمكنه استخدام المعاملات المركبة مع وصف المرور لحساب حجز يناسب حدًا مطلوبًا للتأخير. وفي Controlled-Load يطلب السلوك الذي تعرفه تلك الخدمة بصورة مستقلة.
هذه عملية قرار، لا نسخ لوعد جاهز.
كل عنصر RSVP يستقبل RESV يمرر TSpec وFLOWSPEC إلى خدمة التحكم المروري المناسبة. ما زالت السياسة المحلية وadmission control قادرتين على الرفض. وإذا التقت طلبات عدة، قد تُدمج، فيصبح FLOWSPEC المتجه إلى المرسل تمثيلًا لحالة مشتركة لا نسخة من طلب مستقبِل واحد.
الدمج يثبت ما فعله منطق التحكم في تلك النقطة، ولا يثبت كيف عوملت الحزم في خطة البيانات.
انقطاع عام وانقطاع خاص بالخدمة
يشير البت العام إلى غياب دعم RSVP/Integrated Services في موضع ما، ولذلك يؤثر في صلاحية ملخص ADSPEC كله.
أما البت الخاص بخدمة فيجيب عن سؤال أدق. قد يفهم عنصر RSVP ويشارك في المعلمات العامة، لكنه لا ينفذ Guaranteed service. يجب عندها إظهار غياب الخدمة من دون الادعاء بأن كل بنية RSVP مفقودة.
وبالعكس، لا يكفي أن يدعم العنصر RSVP كي نستنتج أنه يقدم كل خدمة QoS يمكن حمل كائناتها.
فصل البتين يسمح للمستقبِل أن يميز بين العودة الكاملة إلى best effort، وبين اختيار خدمة أخرى، وبين رفض طلب محدد.
Controlled-Load التزام بلا رقم ثابت
تحدد RFC 2211 خدمة Controlled-Load باعتبارها محاولة لتقديم سلوك قريب مما يراه مرور مطابق في شبكة best effort غير محملة. تستخدم admission control، لكنها لا تعد برقم محدد للتأخير أو الفقد.
لهذا لا يحتاج مقطع ADSPEC الخاص بها إلى معاملات Guaranteed المركبة. لكنه يحتاج إلى break bit يبين أن عنصرًا ما لا يقدم الخدمة.
اسم الخدمة لا يخفي ضمانًا عدديًا. وأي لوحة تحول الاسم وحده إلى هدف ثابت تضيف معنى لم تضعه المواصفة.
Guaranteed حساب مشروط
تحمل ADSPEC لخدمة Guaranteed القيم Ctot وDtot وCsum وDsum. تُركب هذه القيم حسب RFC 2212، ويمكن استخدامها مع معلمات المرور لاشتقاق حد لتأخير الطوابير.
قوة هذا الحد تأتي من شروطه.
يجب أن يطابق المرور تصريحه، وأن تدعم العناصر الخدمة، وأن ينجح القبول، وأن تظل معلمات المسار منطبقة. كما أن الحساب يتعلق بسلوك الشبكة المحدد، لا بإنجاز تطبيق بعيد لمهمته.
الرياضيات لا تفشل بسبب وجود شروط. الخطأ هو حذف الشروط ثم الاحتفاظ بالنتيجة.
RSVP ينقل معنى لا يملكه كله
سمحت البنية لبروتوكول الإعداد أن يحمل كائنات خدمة يعاملها بوصفها بيانات معتمة، بينما تفسرها وحدات الخدمة.
تحدد RFC 2205 حركة PATH وRESV والحالة اللينة. وتحدد RFC 2211 وRFC 2212 الخدمتين. وتشرح RFC 2215 تركيب المعلمات، بينما تضع RFC 2216 الخدمة في نطاق عنصر شبكة منفرد. تأتي RFC 2210 عند نقطة الربط بين هذه المسؤوليات.
لذلك لا يصبح نجاح الإشارة نجاحًا للخدمة تلقائيًا. ولا يصبح دعم عنصر واحد دعمًا للمسار كله.
حتى الوصول إلى QoS محسّن يحتاج إلى سياسة ومصادقة؛ كائن صحيح البنية لا يمنح صاحبه حق الموارد بنفسه.
دلالة معيار وليست سجل نشر
نشرت RFC 2210 في سبتمبر 1997 بصفة Proposed Standard. تثبت المصادر معنى الكائنات والقواعد، لكنها لا تثبت انتشارًا حاليًا، أو جودة تنفيذ معين، أو أداء مشغل، أو نجاحًا تجاريًا.
قيمتها التاريخية هي الانضباط: توصيل الإعلان والطلب والخدمة مع إبقاء الحدود واضحة، وإعطاء النظام وسيلة صريحة ليقول إن ملخصه لم يعد صالحًا ككل.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
