الخلاصة
- يحدد STREAM نطاق بايتات داخل تدفق واحد مرتب باستخدام stream ID والإزاحة وحقول الترميز.
- لا تبقى حدود إطار STREAM الأصلي محفوظة أثناء الإرسال أو التعافي من الفقد أو التسليم إلى التطبيق.
- يلزم تأطير التطبيق ونتيجة التحليل وإيصال المعالجة لإثبات رسالة أو معاملة.
يبدأ الالتباس عندما يتحول دليل النقل إلى ادعاء عن التطبيق. يرى المشغل إطار STREAM كاملاً فيسجل طلباً مكتملًا، مع أن الإطار يثبت فقط أن نطاقاً من البايتات رُمّز لموضع معين في تدفق معين. لا يعلن الإطار أن هذا النطاق رسالة أو سجل أو معاملة.
يصف RFC 9000 التدفقات بأنها مجاري بايتات مرتبة تعرض على التطبيقات. ويضع المستقبل البيانات اعتماداً على stream ID وOffset. هذا الترتيب محلي لتدفق واحد. ولا تمنح stream ID المختلفة ترتيباً عاماً للتنفيذ لمجرد أن الالتقاط عرضها في تسلسل معين. ترتيب العرض في التتبع ليس ترتيب عمل التطبيق.
تصف OFF وLEN وFIN ترميز النقل. يحدد OFF وجود حقل Offset؛ وعند غيابه تبدأ البيانات من الإزاحة صفر. ويحدد LEN وجود Length؛ وعند غيابه تمتد البيانات إلى نهاية الجزء المتبقي من الحزمة. أما FIN فيحدد الحد النهائي لبايتات التدفق، ويُعرف الحجم النهائي من الإزاحة وطول البيانات. لا يحدد أي من ذلك صياغة التطبيق أو فاصل السجل أو صحة العملية أو نجاحها.
عند الفقد لا يعيد QUIC إرسال الحزمة كاملة ولا يعيد إنشاء تقسيم الإطارات السابق. تُرسل معلومات التدفق من جديد داخل إطارات STREAM جديدة. وقد يغطي الإطار اللاحق نطاقاً مختلفاً مع حمل البايتات المنطقية نفسها. لذلك لا يمثل شكل الإطار الأول هوية ثابتة لرسالة. قد تصل نطاقات مكررة وتُهمل؛ أما البايتات عند الإزاحة نفسها فلا يجوز أن تتغير. اختلاف المحتوى عند الإزاحة نفسها يمثل خرقاً للبروتوكول.
يجب أن يكون الطرف المستقبل قادراً على تخزين بيانات التدفق الواصلة خارج الترتيب حتى حد التحكم في التدفق المعلن، كي يعيد بناء مجرى مرتب. ويظل كشف معلومات التسليم خارج الترتيب للتطبيق خياراً منفصلاً في التنفيذ، وليس متطلباً من QUIC. لا يفرض QUIC نموذجاً موحداً لرسائل التطبيقات. يمكن لبروتوكول أعلى أن يوزع رسالة على عدة إطارات، أو يضع عدة بنى داخل النطاق الذي ينقله إطار واحد، أو ينقل جزءاً فقط من بنية أكبر. يمكن لـ FIN أن يغلق اتجاه الإرسال من دون أن يثبت صحة البيانات أو تحليلها أو قبولها أو تنفيذها أو حفظها بصورة دائمة.
ينبغي أن يفصل سجل التشغيل بين معرف ووقت الملاحظة، واتجاه الطرفين، وpacket number space وpacket number، وstream ID والاتجاه، والإزاحة، والطول المشفر أو قاعدة الجزء المتبقي من الحزمة، وبصمة نطاق البايتات، وFIN والحجم النهائي عند معرفته، ومعالجة النطاقات المكررة، وتسلسل إعادة الإرسال، ودليل ACK، واكتمال إعادة التجميع، ومعرف إطار أو سجل بروتوكول التطبيق، ونتيجة المحلل، وإيصال المعالجة، والنتيجة التجارية الدائمة. يمكن استخدام بصمات تحمي الخصوصية بدلاً من المحتوى الخام. هذا السجل توصية تشغيلية وليس متطلباً من QUIC.
حد الإثبات ضيق. يثبت STREAM ترميز نطاق بايتات لتدفق معين، وقد يضيف تحليل الحزم الموثق دليلاً على وصولها إلى طرف النقل. لكنه لا يثبت رسالة أو طلباً أو استجابة أو تنفيذاً أو تثبيتاً دائماً أو نجاحاً، ولا يثبت ترتيباً بين التدفقات. تظل حدود الرسالة والحجم النهائي ونطاقات البيانات المشفرة ودليل ACK مسائل إثبات منفصلة.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات

