الخلاصة

  • PADDING إطار من بايت واحد بلا محتوى أو قيمة دلالية؛ يزيد البايتات المرسلة ولا يحمل بيانات التطبيق أو STREAM أو CRYPTO.
  • الحزمة التي لا تحتوي إلا على PADDING تكون قيد النقل وتستهلك سعة نافذة الازدحام من دون أن تستثير الإقرار الذي يفتحها؛ ويقول RFC 9000 إن على المرسل SHOULD أن يضيف دورياً إطارات أخرى تستثير ACK.
  • يجب على العميل MUST توسيع كل مخطط بيانات UDP يحمل Initial إلى 1200 بايت على الأقل؛ وعلى الخادم MUST فعل ذلك فقط للمخطط الذي يحمل حزمة Initial تستثير ACK. ولا تثبت أي من القاعدتين تقدماً.

يرى المشغل مخطط بيانات UDP بحجم 1200 بايت فيسجل Initial مفيداً. ثم يلاحظ ارتفاع البايتات قيد النقل فيعدّه تقدماً. لكن هذا يخلط بين حقول إثبات مستقلة: طول مخطط بيانات UDP؛ حدود حزم QUIC ونوعها؛ عدد بايتات PADDING؛ وجود إطار يستثير ACK؛ البايتات قيد النقل؛ استخدام نافذة الازدحام؛ الإقرار؛ حالة المصافحة؛ ونتيجة التطبيق.

إطار PADDING في QUIC نوعه 0x00 ويتكون من بايت التعريف وحده. لا محتوى له ولا قيمة دلالية. يمكنه زيادة حجم الحزمة، وتوسيع Initial إلى الحجم المطلوب، وتقليل بعض المعلومات المتاحة لتحليل المرور. لكنه لا يحمل بيانات التطبيق أو STREAM أو CRYPTO، ولا إيصالاً أو نتيجة أو إشارة إكمال. لذلك لا تثبت بايتاته وحدها معالجة مفيدة من النظير، ولا تقدم المصافحة، ولا تسليم البيانات إلى التطبيق.

قد يحمل مخطط البيانات حزمة Initial تحتوي PADDING إلى جانب إطارات أخرى، أو عدة حزم QUIC جُمعت في المخطط نفسه. لا يكشف الطول وحده أي بايتات دفعت المصافحة إلى الأمام. يلزم تحليل مصرح به لحدود الحزم والإطارات المحمية. وقد تحتوي حزمة فيها PADDING على إطار ack-eliciting أيضاً وتُؤكَّد. يظل ACK دليلاً محدوداً على معالجة الحزمة وفق دلالات QUIC، ولا يحول PADDING إلى محتوى مصافحة أو تطبيق.

تكون الحزمة مستثيرة لـ ACK إذا احتوت إطاراً غير ACK وPADDING وCONNECTION_CLOSE. لذلك لا يؤدي PADDING وحده إلى أن يرسل المستقبل ACK. ومع ذلك تُعد الحزمة التي تحتوي PADDING قيد النقل لأغراض التحكم في الازدحام. أما الحزمة التي تحتوي PADDING فقط فتستهلك النافذة ولا تولد الإقرارات التي تفتحها. ولهذا يقول RFC 9000 إن على المرسل SHOULD أن يضيف دورياً إطارات أخرى تستثير ACK. ارتفاع البايتات قيد النقل ليس مرادفاً لتقدم مفيد.

قاعدة 1200 بايت محددة. يجب على العميل MUST توسيع كل مخطط بيانات UDP يحمل حزمة Initial إلى 1200 بايت على الأقل، باستخدام PADDING أو جمع الحزم. ويجب على الخادم MUST توسيع المخطط الذي يحمل حزمة Initial تستثير ACK إلى الحجم نفسه. تختبر القاعدة دعم MTU معقول للمسار، كما يقلل توسيع العميل قدرة الخادم على التضخيم قبل التحقق من العنوان. وليست القاعدة حداً أدنى لمحتوى المصافحة، ولا يعني بلوغ 1200 بايت أن كل Initial يستخدم PADDING.

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