كويك
بروتوكول QUIC ( يُنطق / kwɪk / ) هو بروتوكول شبكة عام للأغراض العامة، مصمم من قِبل جيم روسكيند في جوجل . [ 1 ] [ 2 ] [ 3 ] تم تنفيذه ونشره لأول مرة في عام 2012 [ 4 ] ، وأُعلن عنه رسميًا في عام 2013 مع توسع نطاق التجارب. كما تم شرحه في اجتماع IETF . [ 5 ] [ 6 ] [ 7 ] [ 8 ] يدعم بروتوكول QUIC متصفحات الويب الرئيسية، بما في ذلك Chrome [ 9 ] و Edge [ 10 ] [ 11 ] و Firefox [ 12 ] و Safari [ 13 ] . في Chrome، يُستخدم QUIC في أكثر من نصف الاتصالات بخوادم جوجل. [ 9 ]
يحسّن بروتوكول QUIC أداء تطبيقات الويب الموجهة بالاتصالات التي كانت تعتمد سابقًا على بروتوكول التحكم بالنقل (TCP). [ 2 ] [ 9 ] ويحقق ذلك من خلال إنشاء عدد من الاتصالات المتعددة بين نقطتي نهاية باستخدام بروتوكول بيانات المستخدم (UDP)، وهو مصمم للاستغناء عن TCP في طبقة النقل للعديد من التطبيقات. وعلى الرغم من أن اسمه اقتُرح في البداية كاختصار لعبارة Quick UDP Internet Connections ، إلا أن استخدام IETF لكلمة QUIC ليس اختصارًا؛ بل هو ببساطة اسم البروتوكول. [ 3 ] [ 8 ] [ 1 ]
يعمل بروتوكول QUIC بتناغم تام مع اتصالات HTTP/3 متعددة الإرسال، مما يسمح بوصول تدفقات بيانات متعددة إلى جميع نقاط النهاية بشكل مستقل، وبالتالي بمعزل عن فقدان الحزم في التدفقات الأخرى. في المقابل، قد يعاني بروتوكول HTTP/2، الذي يُنقل عبر بروتوكول TCP، من تأخيرات حظر رأس الطابور إذا تم تجميع تدفقات متعددة على اتصال TCP وتأخرت أو فُقدت أي من حزم TCP على هذا الاتصال.
تشمل الأهداف الثانوية لبروتوكول QUIC تقليل زمن استجابة الاتصال والنقل ، وتقدير عرض النطاق الترددي في كلا الاتجاهين لتجنب الازدحام . كما ينقل خوارزميات التحكم في الازدحام إلى مساحة المستخدم عند كلا الطرفين، بدلاً من مساحة النواة ، وهو ما يُزعم [ 14 ] أنه يسمح لهذه الخوارزميات بالتحسن بشكل أسرع. بالإضافة إلى ذلك، يمكن توسيع البروتوكول بتصحيح الأخطاء الأمامية (FEC) لتحسين الأداء بشكل أكبر عند توقع حدوث أخطاء. وقد صُمم البروتوكول بهدف تجنب جموده .
في يونيو 2015، قُدِّمَت مسودة إنترنت لمواصفات بروتوكول QUIC إلى فريق عمل هندسة الإنترنت (IETF) لاعتمادها كمعيار. [ 15 ] [ 16 ] شُكِّلَ فريق عمل QUIC في عام 2016. [ 17 ] في أكتوبر 2018، قرر فريقا عمل HTTP وQUIC التابعان لـ IETF تسمية ربط HTTP عبر QUIC بـ " HTTP/3 " تمهيدًا لاعتماده كمعيار عالمي. [ 18 ] في مايو 2021، اعتمدت IETF معيار QUIC في RFC 9000 ، بدعم من RFC 8999 و 9001 و 9002 . [ 19 ] يُعدّ DNS-over-QUIC تطبيقًا آخر.
خلفية
يهدف بروتوكول التحكم في الإرسال (TCP) إلى توفير واجهة لإرسال تدفقات البيانات بين نقطتي نهاية. تُرسل البيانات إلى نظام TCP، الذي يضمن وصولها إلى الطرف الآخر بنفس الشكل تمامًا؛ وفي حال حدوث أي اختلافات، يُشير الاتصال إلى وجود خطأ. [ 20 ]
لتحقيق ذلك، يقوم بروتوكول TCP بتقسيم البيانات إلى حزم شبكية ، ويضيف كميات صغيرة من البيانات إلى كل حزمة. تتضمن هذه البيانات الإضافية رقم تسلسل يُستخدم للكشف عن الحزم المفقودة أو التي تصل بترتيب خاطئ، ومجموع اختباري يسمح باكتشاف الأخطاء داخل بيانات الحزمة. عند حدوث أي من هاتين المشكلتين، يستخدم بروتوكول TCP طلب إعادة الإرسال التلقائي (ARQ) ليطلب من المُرسِل إعادة إرسال الحزمة المفقودة أو التالفة. [ 20 ]
في معظم التطبيقات، يعتبر بروتوكول TCP أي خطأ في الاتصال بمثابة عملية حظر، مما يؤدي إلى توقف عمليات النقل اللاحقة حتى يتم حل الخطأ أو اعتبار الاتصال فاشلاً. إذا تم استخدام اتصال واحد لإرسال عدة تدفقات من البيانات، كما هو الحال في بروتوكول HTTP/2 ، فسيتم حظر جميع هذه التدفقات على الرغم من أن أحدها فقط قد يكون به مشكلة. على سبيل المثال، إذا حدث خطأ واحد أثناء تنزيل صورة GIF المستخدمة كرمز للموقع (favicon) ، فستنتظر بقية الصفحة بأكملها حتى يتم حل هذه المشكلة. [ 20 ] تُعرف هذه الظاهرة باسم حظر رأس السطر .
بما أن نظام TCP مصمم ليبدو كـ"قناة بيانات" أو دفق بيانات، فإنه يحتوي عمدًا على معلومات قليلة جدًا حول البيانات التي ينقلها. إذا كانت هذه البيانات تتطلب متطلبات إضافية، مثل التشفير باستخدام TLS ، فيجب إعداد ذلك بواسطة الأنظمة التي تعمل على TCP، والتي تستخدم TCP للتواصل مع برامج مماثلة على الطرف الآخر من الاتصال. تتطلب كل مهمة من مهام الإعداد هذه عملية مصافحة خاصة بها . غالبًا ما يتطلب ذلك عدة جولات من الطلبات والاستجابات حتى يتم إنشاء الاتصال. نظرًا لزمن الاستجابة المتأصل في الاتصالات بعيدة المدى، يمكن أن يُضيف هذا تأخيرًا كبيرًا إلى الإرسال الكلي. [ 20 ]
عانى بروتوكول TCP من جمود البروتوكول ، [ 21 ] نظرًا لأن صورة الشبكة الخاصة به تُرسل كنص عادي، وبالتالي فهي مرئية وقابلة للتعديل من قِبل أجهزة الوسيط . [ 22 ] وقد أظهرت إحدى الدراسات أن ثلث المسارات عبر الإنترنت يمر عبر وسيط واحد على الأقل يُعدّل بيانات TCP الوصفية، وأن 6.5% من المسارات تتعرض لتأثيرات جمود ضارة من قِبل الوسطاء. [ 23 ] وقد تأثرت امتدادات TCP: فقد قيّد سلوك أجهزة الوسيط تصميم بروتوكول TCP متعدد المسارات (MPTCP)، [ 24 ] [ 25 ] كما تعرّض نشر بروتوكول TCP Fast Open للعرقلة أيضًا. [ 26 ] [ 21 ]
صفات

في سياق دعم حركة مرور HTTP المشفرة ، يؤدي بروتوكول QUIC دورًا مشابهًا لدور بروتوكول TCP، ولكن مع تقليل زمن الاستجابة أثناء إنشاء الاتصال واستعادة أكثر كفاءة للبيانات المفقودة عند دمج عدة تدفقات HTTP عبر اتصال واحد. ويتحقق ذلك بشكل أساسي من خلال تغييرين يعتمدان على فهم سلوك حركة مرور HTTP. [ 20 ]
يتمثل التغيير الأول في تقليل الحمل الزائد بشكل كبير أثناء إعداد الاتصال. بما أن معظم اتصالات HTTP تتطلب بروتوكول TLS ، فإن بروتوكول QUIC يجعل تبادل مفاتيح الإعداد وقائمة البروتوكولات المدعومة جزءًا من عملية المصافحة الأولية . عندما يفتح العميل اتصالًا، تتضمن حزمة الاستجابة البيانات اللازمة لاستخدام التشفير في الحزم اللاحقة. هذا يلغي الحاجة إلى إعداد قناة غير مشفرة ثم التفاوض على بروتوكول الأمان كخطوات منفصلة. يمكن خدمة البروتوكولات الأخرى بنفس الطريقة، من خلال دمج عدة خطوات في زوج واحد من الطلب والاستجابة. يمكن بعد ذلك استخدام هذه البيانات لكل من الطلبات اللاحقة في الإعداد الأولي والطلبات المستقبلية التي كان سيتم التفاوض عليها كاتصالات منفصلة. [ 20 ]
التغيير الثاني هو استخدام بروتوكول UDP بدلاً من TCP كأساس، والذي لا يتضمن استعادة البيانات المفقودة . بدلاً من ذلك، يتم التحكم في تدفق كل دفق QUIC على حدة، وتُعاد إرسال البيانات المفقودة على مستوى QUIC، وليس UDP. هذا يعني أنه في حال حدوث خطأ في أحد الدفقات، كما في مثال أيقونة الموقع أعلاه، يمكن لمجموعة البروتوكولات الاستمرار في خدمة الدفقات الأخرى بشكل مستقل. يُعد هذا مفيدًا جدًا في تحسين الأداء على الروابط المعرضة للأخطاء، حيث قد يتم في معظم الحالات استقبال كمية كبيرة من البيانات الإضافية قبل أن يلاحظ TCP فقدان حزمة أو تلفها، ويتم حظر كل هذه البيانات أو حتى حذفها أثناء تصحيح الخطأ. في QUIC، تُتاح هذه البيانات للمعالجة أثناء إصلاح الدفق المتعدد الإرسال. [ 27 ]
يتضمن بروتوكول QUIC عددًا من التغييرات الأخرى التي تُحسّن زمن الاستجابة ومعدل نقل البيانات بشكل عام. على سبيل المثال، تُشفّر الحزم بشكل فردي، بحيث لا يؤدي ذلك إلى انتظار البيانات المُشفّرة لحزم جزئية. هذا غير ممكن عمومًا في بروتوكول TCP، حيث تكون سجلات التشفير في دفق بايتات ، ولا يدرك بروتوكول TCP حدود الطبقات العليا ضمن هذا الدفق. يمكن التفاوض على هذه الحدود بواسطة الطبقات العاملة في الأعلى، لكن يهدف QUIC إلى إنجاز كل ذلك في عملية مصافحة واحدة. [ 8 ]
كان من أهداف نظام QUIC تحسين الأداء أثناء عمليات تبديل الشبكات، كما يحدث عند انتقال مستخدم جهاز محمول من نقطة اتصال Wi-Fi محلية إلى شبكة جوالة . عند حدوث ذلك على بروتوكول TCP، تبدأ عملية مطولة حيث ينقطع كل اتصال قائم تباعًا ثم يُعاد إنشاؤه عند الطلب. لحل هذه المشكلة، يتضمن QUIC مُعرّف اتصال لتحديد الاتصال بالخادم بشكل فريد بغض النظر عن المصدر. يسمح هذا بإعادة إنشاء الاتصال ببساطة عن طريق إرسال حزمة بيانات تحتوي دائمًا على هذا المُعرّف، حيث يظل مُعرّف الاتصال الأصلي صالحًا حتى لو تغير عنوان IP الخاص بالمستخدم. [ 28 ]

يمكن تطبيق بروتوكول QUIC في مساحة التطبيق، بدلاً من تضمينه في نواة نظام التشغيل . وهذا عادةً ما يُضيف عبئًا إضافيًا نتيجةً لتبديل السياق عند نقل البيانات بين التطبيقات. مع ذلك، في حالة QUIC، يُفترض أن يستخدم تطبيق واحد حزمة البروتوكول، حيث يمتلك كل تطبيق يستخدم QUIC اتصالاته الخاصة المُستضافة على بروتوكول UDP. في النهاية، قد يكون الفرق ضئيلاً للغاية لأن جزءًا كبيرًا من حزمة HTTP/2 موجود بالفعل في التطبيقات (أو مكتباتها، في أغلب الأحيان). وضع الأجزاء المتبقية في تلك المكتبات، وتحديدًا تصحيح الأخطاء، لا يُؤثر بشكل كبير على حجم حزمة HTTP/2 أو تعقيدها الإجمالي. [ 8 ]
تُسهّل هذه البنية إجراء التغييرات المستقبلية، إذ لا تتطلب تعديلات على نواة النظام للتحديثات. ومن أهداف QUIC طويلة المدى إضافة أنظمة جديدة لتصحيح الأخطاء الأمامية (FEC) وتحسين التحكم في الازدحام. [ 28 ]
من بين المخاوف المتعلقة بالانتقال من بروتوكول TCP إلى بروتوكول UDP، أن بروتوكول TCP مُعتمد على نطاق واسع، وأن العديد من "الخوادم الوسيطة" في بنية الإنترنت مُهيأة للعمل مع TCP، ما يؤدي إلى تقييد معدل نقل البيانات أو حتى حظر بروتوكول UDP. أجرت جوجل عددًا من التجارب الاستكشافية لتحديد طبيعة هذا الأمر، ووجدت أن عددًا قليلًا فقط من الاتصالات يُحظر بهذه الطريقة. [ 3 ] وقد أدى ذلك إلى استخدام نظام للرجوع السريع إلى بروتوكول TCP؛ حيث يبدأ بروتوكول الشبكة في متصفح كروميوم اتصال QUIC واتصال TCP تقليدي في الوقت نفسه، ما يسمح له بالرجوع إلى بروتوكول TCP بزمن استجابة ضئيل للغاية. [ 29 ]
صُمم بروتوكول QUIC خصيصًا ليكون قابلاً للنشر والتطوير، وليتمتع بخصائص مقاومة للتصلب؛ [ 30 ] وهو أول بروتوكول نقل من IETF يُقلل حجم بياناته السلكية عمدًا لهذه الأغراض. [ 31 ] إضافةً إلى الرؤوس المشفرة، فهو مُحسّن [ 32 ] وله ثوابت بروتوكولية محددة بوضوح. [ 33 ]
تعتمد طبقة الأمان في QUIC على TLS 1.2 أو TLS 1.3. [ 34 ] لا يُسمح باستخدام البروتوكولات غير الآمنة السابقة مثل TLS 1.0 في حزمة QUIC.
جوجل كويك (gQUIC)
طُوّر بروتوكول QUIC، المعروف باسم gQUIC، في الأصل من قِبل جوجل، ونُشر لأول مرة حوالي عام 2012، ثم أُدرج لاحقًا ضمن معايير فريق هندسة الإنترنت (IETF). مع ذلك، يختلف إصدار QUIC الذي اعتمدته IETF اختلافًا كبيرًا عن تطبيق جوجل السابق. [ 35 ] صُمم بروتوكول QUIC من جوجل في البداية كبروتوكول ويب عام، ونُشر بشكل أساسي لدعم بروتوكولي HTTP وHTTPS في متصفح كروميوم، باستخدام آليات التشفير والنقل الخاصة به. [ 36 ] في المقابل، أُعيد تطوير بروتوكول QUIC الخاص بـ IETF كبروتوكول نقل عام يستخدم معيار TLS 1.3 للمصافحة التشفيرية، ويتضمن تصميمًا معياريًا للحزم والاتصالات يهدف إلى تحقيق قابلية تشغيل أوسع. [ 37 ] واصل مطورو كروميوم متابعة تقدم عملية توحيد معايير QUIC من IETF، وعملوا على تبني معايير الإنترنت المتطورة لبروتوكول QUIC والامتثال لها داخل كروميوم. بدأ الانتقال إلى بروتوكول QUIC الخاص بـ IETF في متصفح كروم بشكل علني حوالي عام 2020. [ 38 ]
التطبيقات
طُوِّر بروتوكول QUIC مع مراعاة بروتوكول HTTP، وكان HTTP/3 أول تطبيق له. [ 39 ] [ 40 ] يُعدّ DNS-over-QUIC أحد تطبيقات QUIC لحلّ أسماء النطاقات، حيث يوفر أمانًا للبيانات المنقولة بين خوادم حلّ الأسماء، على غرار DNS-over-TLS . [ 41 ] تعمل IETF على تطوير تطبيقات QUIC لتأمين أنفاق الشبكة [ 40 ] وتوصيل الوسائط المتدفقة . [ 42 ] تمّ تكييف XMPP تجريبيًا لاستخدام QUIC. [ 43 ] ومن التطبيقات الأخرى SMB over QUIC، الذي يُمكنه، وفقًا لمايكروسوفت، توفير "شبكة VPN لـ SMB" دون التأثير على تجربة المستخدم. [ 44 ] تستخدم عملاء SMB بروتوكول TCP افتراضيًا، وستحاول استخدام QUIC إذا فشلت محاولة TCP أو إذا طلبت QUIC عمدًا.
التبني
دعم المتصفح
طُوِّر رمز QUIC تجريبيًا في متصفح جوجل كروم بدءًا من عام 2012، [ 4 ] وأُعلن عنه كجزء من الإصدار 29 من كروميوم (الذي صدر في 20 أغسطس 2013). [ 18 ] وهو مُفعَّل افتراضيًا في كلٍّ من كروميوم وكروم. [ 45 ]
تم توفير الدعم في متصفح فايرفوكس في مايو 2021. [ 46 ] [ 12 ]
أضافت آبل دعمًا تجريبيًا لمحرك WebKit من خلال الإصدار التجريبي 104 من متصفح سفاري في أبريل 2020. [ 47 ] أُضيف الدعم الرسمي في سفاري 14، المُضمّن في نظامي macOS Big Sur و iOS 14 ، [ 48 ] ولكن كان يلزم تفعيل الميزة يدويًا. [ 49 ] ثم تم تفعيلها افتراضيًا في سفاري 16. [ 13 ]
دعم العملاء
تتوفر مكتبة cronet لبروتوكول QUIC وبروتوكولات أخرى لتطبيقات Android كوحدة نمطية قابلة للتحميل عبر خدمات Google Play . [ 50 ]
يدعم cURL 7.66، الذي صدر في 11 سبتمبر 2019، بروتوكول HTTP/3 (وبالتالي QUIC). [ 51 ] [ 52 ]
في أكتوبر 2020، أعلنت فيسبوك [ 53 ] أنها نجحت في نقل تطبيقاتها، بما في ذلك إنستغرام ، وبنية خوادمها التحتية إلى بروتوكول QUIC، حيث يستخدم 75% من حركة مرور الإنترنت لديها هذا البروتوكول. تدعم جميع تطبيقات جوجل للهواتف المحمولة بروتوكول QUIC، بما في ذلك يوتيوب وجيميل . [ 54 ] [ 55 ] كما يستخدم تطبيق أوبر للهواتف المحمولة بروتوكول QUIC أيضًا. [ 55 ]
دعم الخادم
اعتبارًا من عام 2017توجد العديد من التطبيقات التي يتم صيانتها بشكل دوري. تدعم خوادم جوجل بروتوكول QUIC، وقد نشرت جوجل خادمًا تجريبيًا. [ 56 ] تدعم شركة أكاماي تكنولوجيز بروتوكول QUIC منذ يوليو 2016. [ 57 ] [ 58 ] كما يتوفر تطبيق مكتوب بلغة Go يُسمى quic-go [59]، وهو يدعم بروتوكول QUIC تجريبيًا في خادم Caddy . [ 60 ] في 11 يوليو 2017 ، بدأت شركة لايت سبيد تكنولوجيز رسميًا بدعم بروتوكول QUIC في مُوازن الأحمال (WebADC) [ 61 ] ومنتجات خادم الويب لايت سبيد . [ 62 ] اعتبارًا من أكتوبر 2019 استخدمت 88.6% من مواقع QUIC خادم LiteSpeed، بينما استخدمت 10.8% منها خادم Nginx . [ 63 ] على الرغم من أن خوادم جوجل فقط هي التي دعمت اتصالات HTTP عبر QUIC في البداية، إلا أن فيسبوك أطلقت هذه التقنية أيضًا في عام 2018، [ 18 ] كما بدأت Cloudflare بتقديم دعم QUIC تجريبيًا منذ عام 2018. [ 64 ] أضاف موازن الأحمال HAProxy دعمًا تجريبيًا لبروتوكول QUIC في مارس 2022 [ 65 ] وأعلن جاهزيته للاستخدام في بيئات الإنتاج في مارس 2023. [ 66 ] اعتبارًا من أبريل 2023 تستخدم 8.9% من جميع مواقع الويب بروتوكول QUIC، [ 67 ] بزيادة عن 5% في مارس 2021. يدعم نظام التشغيل Microsoft Windows Server 2022 بروتوكولي HTTP/3 [ 68 ] وSMB عبر QUIC [ 69 ] [ 10 ] من خلال MsQuic . يمكن لوحدة التحكم في تسليم التطبيقات من Citrix (Citrix ADC، NetScaler) العمل كوكيل QUIC منذ الإصدار 13. [ 70 ] [ 71 ]
إضافةً إلى ذلك، توجد عدة مشاريع مجتمعية قديمة: تم إنشاء libquic [ 72 ] عن طريق استخراج تطبيق Chromium لبروتوكول QUIC وتعديله لتقليل متطلبات التبعيات، ويوفر goquic [ 73 ] روابط Go لـ libquic. وأخيرًا، quic-reverse-proxy [ 74 ] عبارة عن صورة Docker تعمل كخادم وكيل عكسي ، حيث تترجم طلبات QUIC إلى HTTP عادي يمكن للخادم الأصلي فهمه.
يقدم .NET 5 دعمًا تجريبيًا لبروتوكول QUIC باستخدام مكتبة MsQuic . [ 75 ]
شفرة المصدر
| تطبيق | رخصة | لغة | وصف |
|---|---|---|---|
| الكروم | رخصة BSD-3-Clause | لغة سي++ | هذا هو الكود المصدري لمتصفح الويب Chrome والتطبيق المرجعي لبروتوكول gQUIC. يحتوي على برامج عميل وخادم مستقلة لبروتوكولي gQUIC وQUIC، يمكن استخدامها لأغراض الاختبار. الكود المصدري قابل للتصفح . هذه النسخة هي أيضًا أساس برنامج LINE stellite وبرنامج Google cronet. |
| MsQuic | رخصة MIT | ج | تطبيق QUIC متعدد المنصات من مايكروسوفت، مصمم ليكون مكتبة QUIC للأغراض العامة. يُستخدم في ويندوز وعبر منصات متعددة بواسطة .NET. تتوفر طبقات التوافق مع Rust وC#، بالإضافة إلى فئات تغليف C++ سهلة الاستخدام. |
| مكتبة QUIC (mvfst) | رخصة MIT | لغة سي++ | mvfst (يُنطق move fast) هو تطبيق للعميل والخادم لبروتوكول IETF QUIC بلغة C++ بواسطة فيسبوك. |
| مكتبة LiteSpeed QUIC (lsquic) | رخصة MIT | ج | هذا هو تطبيق QUIC و HTTP/3 المستخدم بواسطة خادم الويب LiteSpeed و OpenLiteSpeed . |
| ngtcp2 | رخصة MIT | ج | هذه مكتبة QUIC مستقلة عن مكتبات التشفير وتعمل مع OpenSSL أو GnuTLS. أما بالنسبة لبروتوكول HTTP/3، فهي تحتاج إلى مكتبة منفصلة مثل nghttp3 . |
| كيش | رخصة BSD ذات البندين | الصدأ | مستقل عن نوع المقبس ويعرض واجهة برمجة تطبيقات C للاستخدام في تطبيقات C/C++. |
| بسرعة | رخصة MIT | ج | هذه المكتبة هي تطبيق QUIC لخادم الويب H2O . |
| كويك جو | رخصة MIT | يذهب | توفر هذه المكتبة دعم QUIC للغة Go . |
| كوين | رخصة أباتشي 2.0، رخصة MIT | الصدأ | تطبيق QUIC سهل الاستخدام مع البرمجة غير المتزامنة في لغة Rust |
| نيكو | رخصة أباتشي 2.0، رخصة MIT | الصدأ | من المقرر دمج هذا التطبيق من موزيلا في مكتبة Necko، وهي مكتبة شبكية تُستخدم في متصفح الويب فايرفوكس. |
| أيوكويك | رخصة BSD-3-Clause | بايثون | تتميز هذه المكتبة بواجهة برمجة تطبيقات خالية من عمليات الإدخال/الإخراج، وهي مناسبة للتضمين في كل من العملاء والخوادم. |
| بيكوكيك | رخصة MIT | ج | تطبيق مبسط لبروتوكول QUIC متوافق مع مواصفات IETF |
| pquic | رخصة MIT | ج | تطبيق QUIC قابل للتوسيع يتضمن آلة افتراضية eBPF قادرة على تحميل الإضافات ديناميكيًا كملحقات. |
| سريع | رخصة BSD-3-Clause | هاسكل | تُنفذ هذه الحزمة بروتوكول QUIC استنادًا إلى خيوط Haskell خفيفة الوزن. |
| برنامج ترميز نيتي-إنكيوبيتور-كويك | رخصة أباتشي 2.0 | جافا | تقوم هذه الحزمة بتنفيذ بروتوكول QUIC في netty استنادًا إلى تطبيق Quiche . |
| nodejs-quic | رخصة MIT | Node.js | تُنفذ هذه الحزمة التجريبية بروتوكول QUIC لـ Nodejs. |
| s2n-quic | رخصة أباتشي 2.0 | الصدأ | تطبيق مفتوح المصدر للغة Rust من خدمات أمازون السحابية |
| سريع-سريع | رخصة أباتشي 2.0 | سويفت | تم اقتراح تطبيق Swift للتطوير في مجموعة عمل خادم Swift . |
| TQUIC | رخصة أباتشي 2.0 | الصدأ | مكتبة QUIC عالية الأداء وخفيفة الوزن ومتعددة المنصات |
| nginx | رخصة BSD ذات البندين | ج | تطبيق خادم QUIC مفتوح المصدر |
| HAProxy | رخصة جنو العمومية العامة الإصدار 2 | ج | تطبيق خادم QUIC مفتوح المصدر |
| كويك | رخصة جنو العمومية الصغرى الإصدار 3 | جافا | تطبيقات العميل والخادم لبروتوكول QUIC مكتوبة بالكامل بلغة جافا. يدعم HTTP3 مع إضافة "Flupke" . |
| OpenSSL | رخصة أباتشي | ج | أضافت OpenSSL دعم QUIC منذ الإصدار 3.2. [ 76 ] |
| Gnutls | رخصة جنو العمومية الصغرى، الإصدار 2.1 | ج | أضافت GnuTLS دعم QUIC منذ الإصدار 3.7. [ 77 ] |
| لينكس كويك | رخصة جنو العمومية العامة الإصدار 2 | ج | تطبيق QUIC داخل النواة لنظام Linux، يوفر واجهات برمجة تطبيقات POSIX القياسية للمقابس لأنظمة النواة الفرعية وتطبيقات مساحة المستخدم. |
انظر أيضاً
- بروتوكول التطبيقات المقيدة (CoAP) – بروتوكول قائم على بروتوكول UDP يستخدم نموذج REST
- بروتوكول التحكم في ازدحام حزم البيانات (DCCP)
- أمان طبقة نقل البيانات (DTLS)
- بروتوكول سريع وآمن
- HTTP/3
- LEDBAT (نقل الخلفية بتأخير إضافي منخفض)
- بروتوكول النقل المصغر (μTP)
- بروتوكول المعاملات متعدد الأغراض (MTP/IP) - بديل لبروتوكول QUIC من شركة Data Expedition, Inc.
- بروتوكول تدفق الوسائط في الوقت الحقيقي (RTMFP)
- بروتوكول بيانات المستخدم الموثوق (RUDP)
- SPDY
- بروتوكول التحكم في نقل البيانات (SCTP UDP Encapsulation؛ RFC 6951)
- النقل المتدفق المنظم
- بروتوكول نقل البيانات القائم على UDP (UDT) – بروتوكول نقل قائم على UDP
مراجع
- 1 2 ج. إينجار؛ م. طومسون، محرران. (مايو 2021). QUIC: بروتوكول نقل آمن ومتعدد الإرسال قائم على UDP . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC9000 . ISSN 2070-1721 . RFC 9000 . المعيار المقترح.
- 1 2 ناثان ويليس. "الاتصال عبر QUIC" . أخبار لينكس الأسبوعية . تم الاسترجاع في 16 يوليو 2013 .
- 1 2 3 "QUIC: وثيقة التصميم وأساسيات المواصفات" . جيم روسكيند، مساهم في مشروع كروميوم.
- 1 2 "أول هبوط لرمز كروميوم: CL 11125002: إضافة QuicFramer وما شابهه" . تم الاسترجاع في 16-10-2012 .
- ↑ "تجربة QUIC" . مدونة كروميوم الرسمية . تم الاطلاع عليه بتاريخ 16-07-2013 .
- ↑ "QUIC، جوجل تريد جعل الويب أسرع" . فرانسوا بوفورت، أحد دعاة كروميوم.
- ↑ "QUIC: الجيل التالي من النقل المتعدد عبر UDP" . يوتيوب. 11 فبراير 2014. تم الاطلاع عليه بتاريخ 4 أبريل 2014 .
- 1 2 3 4 "QUIC: عرض تقديمي لمنطقة TSV في IETF-88" (ملف PDF) . جيم روسكيند، جوجل . تم الاطلاع عليه بتاريخ 7 نوفمبر 2013 .
- 1 2 3 لاردينوا، فريدريك (18 أبريل 2015). "جوجل تسعى لتسريع الإنترنت باستخدام بروتوكول QUIC" . تيك كرانش . تم الاطلاع عليه بتاريخ 25 أكتوبر 2016 .
- 1 2 ماكي، كورت؛ 26 أغسطس 2021. "مايكروسوفت تتبنى بروتوكول QUIC الأصلي في أنظمة تشغيل ويندوز الأحدث ومتصفح إيدج" . مجلة ريدموند . تم الاطلاع عليه بتاريخ 8 مايو 2022 .
{{cite web}}: صيانة CS1: الأسماء الرقمية: قائمة المؤلفين ( رابط ) - ↑ كريستوفر فرنانديز (3 أبريل 2018). "مايكروسوفت ستضيف دعمًا لبروتوكول الإنترنت السريع QUIC من جوجل في ويندوز 10 ريدستون 5" . تم الاطلاع عليه بتاريخ 8 مايو 2020 .
- 1 2 دراغانا داميانوفيتش (16 أبريل 2021). "دعم بروتوكولي QUIC وHTTP/3 متوفر الآن في الإصدارين التجريبيين من فايرفوكس" . موزيلا . تم الاطلاع عليه بتاريخ 11 أكتوبر 2021 .
- 1 2 بيلسون، ديفيد؛ باردو، لوكاس (6 يونيو 2023). "دراسة استخدام بروتوكول HTTP/3 بعد مرور عام" . كلاود فلير . تم الاطلاع عليه في 22 أكتوبر 2023 .
- ↑ لانغلي، آدم؛ ريدوك، أليستير؛ ويلك، أليسا؛ فيسنتي، أنطونيو؛ كراسيك، تشارلز؛ تشانغ، دان؛ يانغ، فان؛ كورانوف، فيدور؛ سويت، إيان؛ إيينغار، جاناردان؛ بيلي، جيف؛ دورفمان، جيريمي؛ روسكيند، جيم؛ كوليك، جوانا؛ ويستين، باتريك؛ تينيتي، رامان؛ شيد، روبي؛ هاميلتون، رايان؛ فاسيليف، فيكتور؛ تشانغ، وان-تيه؛ شي، تشونغي (2017-08-07). "بروتوكول نقل QUIC: التصميم والنشر على نطاق الإنترنت". SIGCOMM '17: وقائع مؤتمر مجموعة الاهتمام الخاصة التابعة لجمعية ACM بشأن اتصالات البيانات . ACM. doi : 10.1145/3098822.3098842 . ISBN 978-1-4503-4653-5ص 195:
إن تطوير ونشر بروتوكولات الشبكات في مساحة المستخدم يجلب فوائد كبيرة، ويجعل دورات التطوير والاختبار والتكرار أسرع وأسهل.
- ↑ "جوجل ستقترح بروتوكول QUIC كمعيار لـ IETF" . InfoQ . تم الاطلاع عليه بتاريخ 25 أكتوبر 2016 .
- ↑ "ID Action: draft-tsvwg-quic-protocol-00.txt" . id-announce (قائمة بريدية). 17 يونيو 2015.
- ↑ "QUIC - مجموعة عمل IETF" . datatracker.ietf.org . تم الاطلاع عليه بتاريخ 25-10-2016 .
- 1 2 3 سيمبانو، كاتالين (12 نوفمبر 2018). "سيتم تغيير اسم HTTP عبر QUIC إلى HTTP/3" . ZDNet .
- ↑ "أصبحت QUIC الآن RFC 9000" . www.fastly.com . 27-05-2021 . تم الاطلاع عليه بتاريخ 28-05-2021 .
- 1 2 3 4 5 6 برايت، بيتر (12 نوفمبر 2018). "الإصدار القادم من بروتوكول HTTP لن يستخدم بروتوكول TCP" . آرس تكنيكا .
- 1 2 Thomson & Pauly 2021 ، A.5. TCP. خطأ في sfn: لا يوجد هدف: CITEREFThomsonPauly2021 ( مساعدة )
- ↑ فيرهرست وبيركنز 2021 ، 4. تشفير وتوثيق رؤوس النقل. خطأ في sfn: لا يوجد هدف: CITEREFFairhurstPerkins2021 ( مساعدة )
- ^ إيديلين ودونيت 2019 ، ص. 175-176.
- ^ رايسيو وآخرون. 2012 ، ص. 1.
- ^ هيسمانز وآخرون. 2013 ، ص. 1.
- ↑ ريبتشينسكا 2020 .
- ↑ بيهر، مايكل؛ سويت، إيان. "تقديم دعم QUIC لموازنة أحمال HTTPS" . مدونة منصة جوجل السحابية . تم الاطلاع عليه بتاريخ 16 يونيو 2018 .
- 1 2 سيمون، كلايتون (مايو 2021). "QUIC: بروتوكول نقل متعدد الإرسال وآمن قائم على UDP" . IETF.org .
- ↑ "قابلية تطبيق بروتوكول نقل QUIC" . مجموعة عمل الشبكة التابعة لـ IETF . 22 أكتوبر 2018.
- ↑ كوربيت 2018 .
- ↑ تراميل وكوهلويند 2019 ، ص 2. خطأ في رقم المرجع: لا يوجد هدف: CITEREFTrammellKuehlewind2019 ( مساعدة )
- ↑ تومسون وباولي 2021 ، 3.3. تزوير الاستخدام الفعلي. خطأ في sfn: لا يوجد هدف: CITEREFThomsonPauly2021 ( مساعدة )
- ↑ تومسون 2021 ، 2. الخصائص الثابتة لجميع إصدارات QUIC. خطأ sfn: لا يوجد هدف: CITEREFThomson2021 ( مساعدة )
- ↑ أندريا غامينارا. تقييم الأداء والأمان لبروتوكولات الأمان TLS وDTLS وQUIC (ملف PDF) (رسالة ماجستير). جامعة تورينو التقنية .
- ↑ "QUIC، بروتوكول نقل متعدد الإرسال عبر UDP" . Chromium.org . تم الاطلاع عليه بتاريخ 19 نوفمبر 2025 .
- ↑ DN.org. "gQUIC مقابل IETF QUIC: ما الذي تغير ولماذا؟" . تم الاطلاع عليه بتاريخ 19 نوفمبر 2025 .
- ↑ "ما الجديد في بروتوكول QUIC" . IETF.org . تم الاطلاع عليه بتاريخ 19 نوفمبر 2025 .
- ↑ "يقوم متصفح كروم بنشر بروتوكول HTTP/3 وبروتوكول IETF QUIC" . blog.chromium.org . 7 أكتوبر 2020. تم الاطلاع عليه بتاريخ 19 نوفمبر 2025 .
- ↑ بيشوب، مايك (21 يونيو 2021). "HTTP/3 وQUIC: الماضي والحاضر والمستقبل" . أكاماي .
- 1 2 ديوك، مارتن؛ ساركر، زاهد الزمان؛ ويستيرلوند، ماغنوس (3 يونيو 2021). "عصر جديد في النقل عبر الإنترنت" . فريق عمل الإنترنت .
- ↑ سي. هويتيما ؛ إس. ديكنسون؛ أ. مانكين (مايو 2022). نظام أسماء النطاقات عبر اتصالات QUIC المخصصة . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC9250 . ISSN 2070-1721 . RFC 9250 . المعيار المقترح.
- ↑ برالي، بريت (25 يناير 2024). "ما هي قصة Media Over QUIC؟" . IETF .
- ^ ترافيس بورتروم (13 يوليو 2022). "XEP-0467: XMPP عبر QUIC" .
- ↑ بايل، نيد (27-06-2023). "SMB عبر QUIC" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 29-06-2023 .
- ↑ ليبيتراو، إتيان (22 يونيو 2018). "كيف يؤثر بروتوكول QUIC من جوجل على أمن الشبكة وإعداد التقارير" . فاستفيو - نظام بسيط لإعداد تقارير استخدام الإنترنت . تم الاطلاع عليه بتاريخ 2 أبريل 2022 .
- ↑ سيمبانو، كاتالين (26 سبتمبر 2019). "Cloudflare وGoogle Chrome وFirefox تُضيف دعم HTTP/3" . ZDNet . تم الاطلاع عليه في 27 سبتمبر 2019 .
- ↑ "ملاحظات الإصدار لمعاينة تقنية سفاري 104" . webkit.org . 8 أبريل 2020. تم الاطلاع عليه في 7 أغسطس 2020 .
- ↑ "ملاحظات إصدار Safari 14" . developer.apple.com . تم الاطلاع عليه بتاريخ 4 ديسمبر 2020 .
- ↑ "كيفية تفعيل بروتوكول HTTP3 في متصفحات Chrome / Firefox / Safari" . bram.us. 8 أبريل 2020.
- ↑ "تنفيذ عمليات الشبكة باستخدام Cronet" . مطورو أندرويد . تم الاطلاع عليه بتاريخ 20 يوليو 2019 .
- ↑ "curl – التغييرات" . curl.haxx.se. تم الاطلاع عليه بتاريخ 30-09-2019 .
- ↑ "curl 7.66.0 – مستقبل HTTP/3 المتوازي هنا | daniel.haxx.se" . 11 سبتمبر 2019. تاريخ الاسترجاع: 30 سبتمبر 2019 .
- ↑ "كيف تُقدّم فيسبوك تقنية QUIC لمليارات المستخدمين" . هندسة فيسبوك . 21 أكتوبر 2020. تاريخ الاطلاع: 23 أكتوبر 2020 .
- ↑ "كيف يؤثر بروتوكول QUIC من جوجل على أمن الشبكة وإعداد التقارير" . فاستفيو . 21 أكتوبر 2020. تم الاطلاع عليه بتاريخ 26 يونيو 2021 .
- 1 2 غرين، إميلي (30 سبتمبر 2020). "هذا ما تحتاج لمعرفته حول بروتوكول QUIC الجديد" . NordVPN . تم الاطلاع عليه بتاريخ 26 يونيو 2021 .
- ↑ "خادم QUIC" . 2012. تم الاسترجاع في 17-08-2022 .
- ↑ بيشوب، مايك (21 يونيو 2021). "HTTP/3 وQUIC: الماضي والحاضر والمستقبل" . أكاماي .
- ↑ روث، يان؛ بوز، إنغمار؛ ديتزل، كريستوف؛ هوهلفيلد، أوليفر (2018). "نظرة أولية على بروتوكول QUIC في بيئة واقعية". القياس السلبي والفعال . سلسلة محاضرات في علوم الحاسوب. المجلد 10771. الصفحات 255-268 . arXiv : 1801.05168 . doi : 10.1007/978-3-319-76481-8_19 . ISBN 978-3-319-76480-1. S2CID 3631501 .
- ^ "لوكاس كليمنتي / كويك جو" . 7 أغسطس 2020 . تم الاسترجاع في 7 أغسطس 2020 – عبر جيثب.
- ↑ دعم QUIC في Caddy ، تم الاطلاع عليه في 13 يوليو 2016.
- ↑ "LiteSpeed Web ADC – موازن الأحمال – LiteSpeed Technologies" . www.litespeedtech.com . تم الاطلاع عليه بتاريخ 7 أغسطس 2020 .
- ↑ منشور مدونة LiteSpeed Technologies QUIC ، تم الاطلاع عليه في 11 يوليو 2017.
- ↑ "توزيع خوادم الويب بين المواقع الإلكترونية التي تستخدم بروتوكول QUIC" . w3techs.com . تم الاطلاع عليه بتاريخ 7 أغسطس 2020 .
- ↑ "ابدأ بداية قوية مع QUIC" . مدونة كلاود فلير . 25-09-2018 . تم الاطلاع عليه بتاريخ 16-07-2019 .
- ↑ "الإعلان عن HAProxy 2.6" . HAProxy Technologies . 31 مايو 2022. تم الاطلاع عليه بتاريخ 16 سبتمبر 2023 .
- ↑ " [ إعلان ] haproxy-2.8.0" . www.mail-archive.com . تاريخ الاسترجاع: 16-09-2023 .
- ↑ "إحصائيات استخدام QUIC للمواقع الإلكترونية، أبريل 2023" . w3techs.com . تم الاطلاع عليه بتاريخ 3 أبريل 2023 .
- ↑ "تمكين دعم HTTP/3 على نظام التشغيل Windows Server 2022" . 24 أغسطس 2021.
- ^ "الشركات الصغيرة والمتوسطة عبر QUIC" . 27 يونيو 2023.
- ↑ "تكوين السياسة لحركة مرور HTTP/3 | Citrix ADC 13.0" .
- ↑ "هل تحتاج إلى السرعة؟ - مجرد مدونة أخرى من مدونات Citrix ADC" .
- ↑ "devsisters/libquic" . 5 أغسطس 2020. تم الاسترجاع في 7 أغسطس 2020 – عبر GitHub.
- ↑ "devsisters/goquic" . 5 أغسطس 2020. تم الاسترجاع في 7 أغسطس 2020 – عبر GitHub.
- ↑ "Docker Hub" . hub.docker.com . تم الاطلاع عليه في 7 أغسطس 2020 .
- ↑ "تحسينات الشبكات في .NET 5" . مدونة .NET . 11 يناير 2021. تاريخ الاطلاع: 26 يناير 2021 .
- ↑ "Openssl-quic - وثائق OpenSSL" .
- ↑ "ما الجديد في GnuTLS 3.7.0 - دايكي أوينو" . 3 ديسمبر 2020.
فهرس
- رايسيو؛ باش؛ بار؛ فورد؛ هوندا؛ دوشين؛ بونافنتور؛ هاندلي (2012). "ما مدى صعوبة ذلك؟ تصميم وتنفيذ بروتوكول TCP متعدد المسارات قابل للنشر" . Usenix NSDI : 399-412 .
- هيسمانز، بنيامين؛ دوشين، فابيان؛ باش، كريستوف؛ ديتال، غريغوري؛ بونافنتور، أوليفييه (2013). هل امتدادات بروتوكول TCP مقاومة لهجمات الوسيط؟ . HotMiddlebox '13. doi : 10.1145/2535828.2535830 .
- كوربيت ، جوناثان (29 يناير 2018). "QUIC كحل لتعظم البروتوكول" . LWN.net .
- إيدلين، كوريان؛ دونيه، بينوا (2019). دراسة من الأسفل إلى الأعلى لتصلب طبقة النقل . مؤتمر قياس وتحليل حركة مرور الشبكة لعام 2019 (TMA). doi : 10.23919/TMA.2019.8784690 .
- ريبتشينسكا، مارتا (13 مارس 2020). "نظرة سريعة على بروتوكول HTTP/3 باستخدام QUIC" . LWN.net .
روابط خارجية
- الموقع الرسمي

- مجموعة عمل IETF QUIC على GitHub
- كروميوم : بروتوكول QUIC، وهو بروتوكول نقل بيانات متعدد الإرسال عبر UDP
- QUIC: وثيقة التصميم وأساسيات المواصفات ، الوثيقة الأصلية لجيم روسكيند (2012/2013)
- دانيال ستينبرغ : شرح بروتوكول HTTP/3
- أخبار لينكس الأسبوعية : الاتصال عبر QUIC (2013)
- QUIC: ، عرض تقديمي لمنطقة TSV التابعة لـ IETF-88 (2013-11-07)
- مدونة كروميوم: تجربة مع بروتوكول QUIC (2013)
- QUIC: الجيل التالي من النقل المتعدد عبر UDP (مطورون جوجل، 2014)
- بروتوكول HTTP عبر بروتوكول UDP: دراسة تجريبية لبروتوكول QUIC
- تمت أرشفة بروتوكول QUIC متعدد المسارات بتاريخ 26-06-2019 على موقع Wayback Machine (امتداد لبروتوكول QUIC)
- ابتكار وسائل النقل باستخدام QUIC: مناهج التصميم وتحديات البحث (2017)
- كلمة رئيسية في مؤتمر EPIQ 2018 - نشر فيسبوك لبروتوكول IETF QUIC ، سوبود إيينجار على يوتيوب
- الكلمة الرئيسية في مؤتمر EPIQ 2021 – QUIC في مايكروسوفت ، نيك بانكسون على يوتيوب
- مؤتمر QUIC في جوجل (2020) – ديفيد شينزي على يوتيوب
- مؤتمر QUIC في شركة آبل (2021) – تومي باولي على يوتيوب
- qvis: مجموعة التصورات QUIC وHTTP/3.
- اتصال QUIC المصور
- RFC 8546 – " صورة السلك لبروتوكول الشبكة، " إعلامي.
- RFC 8999 – " خصائص QUIC المستقلة عن الإصدار " ، المعيار المقترح.
- RFC 9001 – " استخدام TLS لتأمين QUIC " ، المعيار المقترح.
- RFC 9002 – " الكشف عن فقدان QUIC والتحكم في الازدحام، " معيار مقترح.
- RFC 9065 – " اعتبارات حول سرية رأس النقل، وعمليات الشبكة، وتطور بروتوكولات نقل الإنترنت، " إعلامي.
- RFC 9170 – " الاستدامة طويلة الأجل لآليات تمديد البروتوكول " ، المعيار المقترح.
- مواقع الإنترنت التي تم إنشاؤها في عام 2012
- بروتوكولات طبقة النقل
- بروتوكولات الإنترنت
- شبكات الحاسوب
