کوییک
پروتکل ارتباطات | |
دلیل | هدف‐عمومی |
---|---|
توسعهدهنده | کارگروه مهندسی اینترنت |
معرفیشده | ۲۷ مه ۲۰۲۱ |
OSI layer | لایه انتقال |
درخواست نظر | RFC 8999, RFC 9000 |
کوییک یک پروتکل پروتکل شبکه لایه حمل و نقل است در ابتدا توسط جیم راسکیند در گوگل طراحی اجرا شده در سال ۲۰۱۲ مستقر، عمومی در سال ۲۰۱۳ به صورت گسترده آزمایش و به IETF شرح داده شده در حالی که هنوز یک پیش نویس اینترنتی است، QUIC توسط بیش از نیمی از همه اتصالات از مرورگر وب Chrome به سرورهای Google استفاده میشود.[۱] مایکروسافت Edge[۲] و Firefox,[۳] حتی اگر بهطور پیش فرض فعال نباشند، پشتیبانی میکنند، همینطور Safari Technology Preview.[۴]
اگرچه نام آن در ابتدا به عنوان مخفف "اتصالهای سریع اینترنت UDP" پیشنهاد شده بود، استفاده IETF از کلمه QUIC مخفف نیست. این نام پروتکل است.
در میان برنامههای دیگر، QUIC عملکرد برنامههای وب متصل به اتصال که در حال حاضر از TCP استفاده میکنند را بهبود میبخشد.[۱] این کار با ایجاد تعدادی از اتصالات چند ضلعی بین دو نقطه انتهایی بر روی پروتکل داده کاربر (UDP) انجام میشود. این کار به صورت دستی با اتصالات چند منظوره HTTP/2 انجام می شود، اجازه میدهد چندین جریان داده بهطور مستقل به تمام نقاط انتهایی برسند، و از این رو مستقل از ضررهای بستهای که شامل جریانهای دیگر هستند. در مقابل، HTTP / 2 میزبانی شده در پروتکل کنترل انتقال (TCP) ممکن است در صورت تأخیر یا گم شدن هر یک از بستههای TCP باعث تأخیر در مسدود شدن خط از همه جریانهای چند برابر شود.
اهداف ثانویه QUIC شامل کاهش تأخیر اتصال و حمل و نقل و برآورد پهنای باند در هر جهت برای جلوگیری از ازدحام است. همچنین الگوریتمهای کنترل تراکم در هر دو نقطه انتهایی به فضای کاربر منتقل میشود، نه فضای هسته، که گفته میشود این الگوریتمها اجازه میدهند با سرعت بیشتری بهبود یابند. علاوه بر این، پروتکل را میتوان با تصحیح خطای رو به جلو (FEC) افزایش داد تا عملکرد بیشتری در هنگام انتظار خطاها بهبود یابد، و این به عنوان مرحله بعدی در تکامل پروتکل مشاهده میشود.
در ژانویه ۲۰۱۵، پیش نویس اینترنتی مشخصات مربوط به QUIC برای استانداردسازی به IETF ارسال شد.[۵] یک گروه کاری QUIC در سال ۲۰۱۶ تأسیس شد.[۶] در اکتبر سال ۲۰۱۸، کارگروههای HTTP و QUIC IETF بهطور مشترک تصمیم گرفتند که نقشهبرداری HTTP را بر روی QUIC HTTP / 3 انجام دهند و آن را به یک استاندارد جهانی تبدیل کنند.[۷]
زمینه[ویرایش]
پروتکل کنترل انتقال (TCP) با هدف ایجاد واسط برای ارسال جریان دادهها بین دو نقطه انتهایی است. داده به سیستم TCP تحویل داده میشود، که تضمین میکند داده دقیقاً در همان فرم به انتهای دیگر تبدیل میشود، یا اتصال نشان میدهد که یک شرایط خطا وجود دارد.[۸]
برای این کار، TCP دادهها را در بستههای شبکه تجزیه میکند و مقادیر کمی از دادهها را به هر بسته اضافه میکند. این دادههای اضافی شامل یک عدد دنباله است که برای تشخیص بستههای گم شده یا خارج از نظم استفاده میشود، و یک چک که میتواند خطاهای درون دادههای بسته را تشخیص دهد. در صورت بروز هر دو مشکل، TCP از درخواست تکرار خودکار (ARQ) برای ارسال به ارسال کننده میخواهد تا بسته بسته گمشده یا آسیب دیده را دوباره ارسال کند.[۸]
در اکثر پیادهسازیها، TCP هرگونه خطایی را در یک اتصال به عنوان یک عملیات مسدود کردن مشاهده میکند ، انتقال بیشتری را متوقف میکند تا اینکه خطا برطرف شود یا اتصال به نظر نرسد. اگر از یک اتصال واحد برای ارسال چندین جریان داده استفاده شود، همانطور که در پروتکل HTTP / 2 وجود دارد، همه این جریانها مسدود میشوند اگرچه فقط یکی از آنها ممکن است مشکل داشته باشد. به عنوان مثال، اگر یک خطای واحد هنگام بارگیری یک تصویر GIF که برای یک فاویکون استفاده میشود، رخ میدهد، در حالی که این مشکل برطرف شود، تمام قسمتهای صفحه منتظر خواهند ماند.[۸]
از آنجا که سیستم TCP به گونه ای طراحی شدهاست که مانند «لوله داده» یا جریان باشد، عمداً حاوی درک کمی از دادههای منتقل شدهاست. اگر این دادهها نیازهای اضافی مانند رمزگذاری با استفاده از TLS را داشته باشند، این کار باید توسط سیستمهایی که بالای TCP کار میکنند تنظیم شود و از TCP برای ارتباط با نرمافزارهای مشابه در انتهای دیگر اتصال استفاده شود. هر یک از این نوع کارهای تنظیم نیاز به روند دستیابی به خود دارد. این کار اغلب تا زمان برقراری اتصال به چندین سفر درخواستی و پاسخی نیاز دارد. با توجه به تأخیر ذاتی ارتباطات از راه دور، این میتواند سربار قابل توجهی به انتقال کلی اضافه کند.[۸]
جستارهای وابسته[ویرایش]
منابع[ویرایش]
- ↑ ۱٫۰ ۱٫۱ Lardinois, Frederic. "Google Wants To Speed Up The Web With Its QUIC Protocol". TechCrunch. Retrieved 2016-10-25.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ Christopher Fernandes (April 3, 2018). "Microsoft to add support for Google's QUIC fast internet protocol in Windows 10 Redstone 5". Retrieved 2020-05-08.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "How to enable HTTP3 in Chrome / Firefox / Safari". bram.us. April 8, 2020.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "Release Notes for Safari Technology Preview 104". WebKit.org. April 8, 2020.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "Google Will Propose QUIC As IETF Standard". InfoQ. Retrieved 2016-10-25.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "QUIC - IETF Working Group". datatracker.ietf.org. Retrieved 2016-10-25.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ Cimpanu, Catalin (12 November 2018). "HTTP-over-QUIC to be renamed HTTP/3". ZDNet.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ ۸٫۰ ۸٫۱ ۸٫۲ ۸٫۳ Bright, Peter (12 November 2018). "The next version of HTTP won't be using TCP". Arstechnica.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
This article "کوییک" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:کوییک. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.