فتحت Microsoft تطبيقها لبروتوكول QUIC المستخدم في HTTP / 3

مايكروسوفت أعلن حول فتح رمز المكتبة مسكويك مع تنفيذ بروتوكول الشبكة QUIC. الكود مكتوب بلغة C و وزعت من خلال بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. المكتبة متعددة المنصات ويمكن استخدامها ليس فقط في Windows، ولكن أيضًا في Linux باستخدام شانيل أو OpenSSL لـ TLS 1.3. ومن المقرر دعم منصات أخرى في المستقبل.

تعتمد المكتبة على رمز برنامج التشغيل msquic.sys المتوفر في Windows 10 kernel (Insider Preview) لتمكين HTTP و SMB على كويك. يتضمن ذلك التعليمات البرمجية المستخدمة لتنفيذ HTTP/3 في مكدس Windows الداخلي وفي .NET Core. سيتم تطوير مكتبة MsQuic بأكملها على GitHub باستخدام المراجعات العامة وطلبات السحب ومشكلات GitHub. تم إعداد بنية تحتية تتحقق من كل طلب التزام وسحب في مجموعة مكونة من أكثر من 4000 اختبار. بعد استقرار بيئة التطوير، من المخطط قبول التغييرات من مطوري الطرف الثالث.

يمكن بالفعل استخدام MsQuic لإنشاء خوادم وعملاء، ولكن ليست كل الوظائف المحددة في مواصفات IETF متاحة حاليًا. على سبيل المثال، لا يوجد دعم لـ 0-RTT وترحيل العميل واكتشاف مسار MTU والتحكم في عنوان الخادم المفضل حتى الآن. من بين الميزات المنفذة، تتم الإشارة إلى التحسين لتحقيق أقصى قدر من الإنتاجية والحد الأدنى من التأخير، ودعم الإدخال / الإخراج غير المتزامن، RSS (تحجيم جانب الاستقبال)، والقدرة على الجمع بين تدفقات الإدخال والإخراج UDP. تم اختبار تطبيق MsQuic للتأكد من توافقه مع الفروع التجريبية لمتصفحي Chrome وEdge.

تذكر أن HTTP / 3 يوحّد استخدام بروتوكول QUIC كوسيلة نقل لـ HTTP / 2. بروتوكول QUIC (Quick UDP Internet Connections) تم تطويره بواسطة Google منذ عام 2013 كبديل لـ TCP + TLS للويب ، وحل المشكلات المتعلقة بأوقات الإعداد والتفاوض الطويلة للاتصالات في TCP والقضاء على التأخير في حالة فقدان الحزمة أثناء نقل البيانات. QUIC هي وظيفة إضافية لبروتوكول UDP تدعم تعدد إرسال اتصالات متعددة وتوفر طرق تشفير مكافئة لـ TLS / SSL.

رئيسي ملامح كويك:

  • الأمان العالي ، على غرار TLS (في الواقع ، يوفر QUIC القدرة على استخدام TLS 1.3 عبر UDP) ؛
  • التحكم في تكامل الدفق لمنع فقدان الحزمة ؛
  • القدرة على إنشاء اتصال على الفور (0-RTT ، في حوالي 75٪ من الحالات ، يمكن إرسال البيانات فورًا بعد إرسال حزمة إعداد الاتصال) وضمان الحد الأدنى من التأخير بين إرسال طلب وتلقي استجابة (RTT ، ذهاب وإياب وقت) ؛
    فتحت Microsoft تطبيقها لبروتوكول QUIC المستخدم في HTTP / 3

  • لا تستخدم نفس رقم التسلسل عند إعادة إرسال حزمة ، مما يسمح لك بتجنب الغموض في تحديد الحزم المستلمة والتخلص من المهلات ؛
  • يؤثر فقدان الحزمة فقط على تسليم الدفق المرتبط به ولا يوقف تسليم البيانات في التدفقات المرسلة بالتوازي عبر الاتصال الحالي ؛
  • أدوات تصحيح الأخطاء التي تقلل التأخير بسبب إعادة إرسال الحزم المفقودة. استخدام أكواد خاصة لتصحيح الأخطاء على مستوى الحزمة لتقليل المواقف التي تتطلب إعادة إرسال بيانات الحزمة المفقودة.
  • تتم محاذاة حدود كتل التشفير مع حدود حزم QUIC ، مما يقلل من تأثير فقدان الحزمة على فك تشفير محتويات الحزم التالية ؛
  • لا توجد مشاكل مع حظر قائمة انتظار TCP ؛
  • دعم معرف الاتصال لتقليل وقت إعادة الاتصال للعملاء المتنقلين ؛
  • إمكانية توصيل الآليات المتقدمة للتحكم في الحمل الزائد للاتصال ؛
  • استخدام تقنيات التنبؤ بعرض النطاق الترددي في كل اتجاه لضمان الكثافة المثلى للحزم المرسلة ، ومنع التدحرج في حالة الازدحام التي يحدث فيها فقد للحزم ؛
  • محسوس نمو الأداء والإنتاجية مقارنةً بـ TCP. بالنسبة لخدمات الفيديو مثل YouTube ، فقد ثبت أن QUIC يقلل من عمليات إعادة تخزين الفيديو بنسبة 30٪.

المصدر: opennet.ru

إضافة تعليق