المعلوماتية > اتصالات وشبكات
غوغل تخطط لتسريع الإنترنت باستخدام بروتوكولها الجديد QUIC
إن كنت مستخدماً لمتصفح غوغل كروم فإنك بالتأكيد قد استخدمت بروتوكول QUIC!
يمثل اسم بروتوكول QUIC اختصاراً لعبارة Quick UDP Internet Connection ، أي اتصال إنترنت سريع من خلال بروتوكول UDP، وهو بروتوكول تجريبي موجود ضمن طبقة الشبكة تم تطويره من قِبل غوغل واستخدامه عام 2013 ضمن متصفح كروم.
يشكل البروتوكول UDP -وهو اختصار لـUser Datagram Protocol أي بروتوكول رزمة المستخدم- النظير الأساسي-لبروتوكول TCP ( اختصار لـTransport Control Protocol أي بروتوكول التحكم بالنقل)، حيث يشكل الأخير بالاشتراك مع بروتوكول الإنترنت IP النواة الرئيسية للغة الاتصال في شبكة الإنترنت، ويعمل هذا البروتوكول على إرسال البيانات بشكل موثوق عن طريق إقامة الاتصال بين طرفي الاتصال.
يعتبر بروتوكول UDP أقل تعقيداً من بروتوكول TCP، لكنه في المقابل يقدِّمُ خدماتٍ أقل فيما يتعلق بتصحيح الأخطاء من بروتوكول TCP. وهذا يعني أن مخدم الإرسال لا يتأكد من المخدم المستقبِل إن كانت الرزم قد وصلت أو لا، أو إن كانت قد وصلت بالترتيب الصحيح، وبالتالي تصبح عملية الاتصال أسرع حيث لا تتم إضاعة الوقت في تصحيح الأخطاء الناتجة عن عمليات الإرسال.
تهدف غوغل بواسطة هذا البروتوكول إلى دمج بعض أفضل خصائص بروتوكولي UDP وTCP مع أدوات الأمن الحديثة، من خلال الاتصال بين نقطتين باستخدام UDP وتأمين حماية مساوية للمقدمة من قبل TLS/TCP (بروتوكول لأمن طبقة النقل أي Transport Layer Security)، وتقليل التأخير الناتج عن الاتصال والنقل وأخذ عرض الحزمة بعين الاعتبار بالتالي التقليل من الازدحام.
يقوم بحل مجموعة من مشاكل طبقة النقل وطبقة التطبيقات، وهو شبيه جداً لبروتوكولات TCP و TLSو SPYD.
في اتصال TCP الآمن المثالي، يأخذ المتصفح عادةً وقتاً معيناً حتى يبدأ باستقبال البيانات، حيث يقوم بعملية تُدعى عملية التصافح وتتم من خلال إرسال إشارات بين المتصفح والمخدم حتى يتم تأسيس اتصال آمن. أما باستخدام بروتوكول QUIC، بإمكان المتصفح البدء فوراً بتلقي البيانات من المخدم إذا كان قد قام بالاتصال به سابقاً، أو يقوم بتأسيس اتصال بوقت أقل من الوقت اللازم باستخدام بروتوكول TCP.
يقدم هذا البروتوكول ميزتين جديدتين هما التحكم بالازدحام وإعادة الإرسال الآلية، مما يجعله ذات وثوقية أكبر من UDP. ويمكن تلخيص نقاط تفوّق بروتوكول QUIC على البروتوكولات السابقة بما يلي:
1-انخفاض كبير في زمن تأسيس الاتصال:
تتم عملية مصافحة واحدة بين الزبون والمخدم في حال كان الاتصال لأول مرة. ويتم الاتصال بشكل فوري في حال وُجِد اتصال سابق باستخدام QUIC، بينما نحتاج لثلاث عمليات مصافحة أو أكثر باستخدام البروتوكولات السابقة في حال الاتصال للمرة الأولى، ومصافحة واحدة عند تواجد اتصال سابق بين الزبون والمخدم.
2-تحسين نظام التحكم بالازدحام:
يقوم البروتوكول الجديد بتزويد خوارزمية التحكم بالازدحام بمعلومات كثيرة لم تكن تحصل عليها من خلال TCP، وتساهم هذه المعلومات بالتحكم بشكل أفضل بالازدحام.
هجرة الاتصال Connection Migration
يستخدم QUIC رقم معرف للاتصال مكوّن من 64 بت يتم توليده عشوائياً من الزبون، بينما يستخدم TCP معرف مكوّن من 4 أجزاء تعبر عن عنوان المصدر والهدف ومنفذ المصدر والهدف بالتالي عند تغيير أي منها مثل الانتقال من شبكة wi-fi إلى بيانات شبكة الهاتف المحمول سيؤدي الى قطع الاتصال، وهذا ما لا يحدث مع البروتوكول الجديد QUIC.
إعادة إرسال تصحيح الأخطاء Forward Error Correction
وذلك بهدف استعادة الرزم المفقودة خلال عملية الإرسال، يقوم QUIC بإضافة رزمة FEC أي رزمة إرسال تصحيح الأخطاء إلى كل مجموعة رزم، حيث تضم هذه الرزمة نُسخاً من الباكيتات الموجودة ضمن هذه المجموعة بحيث إذا فُقد أحدها تتم استعادته من الرزمة FEC.
3-الدمج Multiplexing
تكمن المشكلة الأساسية مع بروتوكول SPYD* أنه التطبيق العامل على الكمبيوتر، ويرى الاتصال كسَيل من البايتات عبر مجموعة من المجاري، بالتالي عند فقدان أي رزمة مرسلة لن نستطيع استقبال باقي الرزم في كل المجاري من خلال هذا الاتصال حتى يتم إعادة إرسال الرزمة المفقودة من خلال مجرى آخر.
وبما أن QUIC قد صُمم من البداية للاعتماد على عمليات التجميع بالتالي تم تفادي هذه المشكلة، والرزمة المفقودة تؤثر فقط في المجرى الذي فُقدت فيه ولا تؤثر على باقي المجاري.
قد يسأل البعض لماذا لا تقوم غوغل بتطوير البروتوكول TCP بدلاً من ذلك كله؟ المشكلة هنا وبحسب الشركة أن البروتوكول TCP يتم بناؤه بشكل مباشر داخل نواة نظام التشغيل أو ما يُعرف بـ kernel، وليس لدى غوغل أي صلاحية في تعديل نواة أنظمة التشغيل. "QUIC يسمح لنا باختبار وتجريب أفكار جديدة، والحصول على النتائج بوقت أسرع" هذا ما صرح به الفريق العامل على تطوير البروتوكول.
تقول غوغل بأنه قد تمت ملاحظة تحسن بنسبة 3% في متوسط الزمن اللازم لتحميل الصفحة عند استخدام بروتوكول QUIC باستخدام محرك البحث غوغل. لا يبدو لك الرقم كبيراً، لكن يجب أن لا ننسى أن محرك البحث غوغل مُحسن بقدر الإمكان.
وستشهد المواقع الأخرى تحسينات أفضل، فمستخدمي موقع YouTube من خلال QUIC يلاحظون أن نسبة إعادة التخزين المؤقت قلَّت بنسبة 30% عند مشاهدة مقاطع الفيديو. وكذلك بسبب التحسين في بروتوكول QUIC على مستوى التحكم بالتصادم واستعادة الرزم الضائعة من خلال UDP، يمكن لمستخدمي الإنترنت ذي السرعة البطيئة أن يشهدوا تحسناً عند تحميل الصفحات.
الحاشية:
SYPD* هو بروتوكول تم تطويره بواسطة غوغل لنقل محتوى الويب وهو يعالج الازدحام الناتج عن استعمال HTTP مع تقليل زمن التأخير في تحميل الصفحات وتطوير أمن الإنترنت، ويعتبر قاعدة للمعيار HTTP/2.
المصادر :