QUIC (Quick UDP Internet Connections) як протоколи болои UDP мебошад, ки тамоми хусусиятҳои TCP, TLS ва HTTP/2-ро дастгирӣ мекунад ва аксари мушкилоти онҳоро ҳал мекунад. Онро аксар вақт протоколи нав ё "таҷрибавӣ" меноманд, аммо он аз марҳилаи таҷрибавӣ кайҳо гузаштааст: таҳия зиёда аз 7 сол идома дорад. Дар ин муддат протокол муяссар нашуд, ки ба стандарт табдил ёбад, вале боз ҳам васеъ паҳн шуд. Масалан, QUIC аз ҷониби бузургҷуссаҳое ба мисли Google ва Facebook барои суръат бахшидан ба трафик ва кам кардани таъхирҳо дар шабакаҳои мобилӣ истифода мешавад ва IETF фосилаи протоколи худро асоси стандарти HTTP/3 эълон кард (ҳарчанд HTTP/2
Консепсия
QUIC ҳамчун ивазкунандаи TCP-и кӯҳна таҳия шудааст, ки дар ибтидо барои шабакаҳои симии камтараф пешбинӣ шуда буд. TCP бастаҳоро бо тартиб интиқол медиҳад, бинобар ин, агар як баста гум шавад, тамоми навбат қатъ карда мешавад (
Азбаски QUIC ивазкунии TCP ва татбиқи TLS 1.3-ро муттаҳид мекунад, ҳама пайвастҳо ҳамеша рамзгузорӣ карда мешаванд ва рамзкушоии чунин трафик нисбат ба он ки он тавассути HTTPS мегузарад, осонтар нест. Илова бар ин, QUIC дар сатҳи барнома амалӣ карда мешавад, зеро ивази пурраи стеки TCP лозим аст. то абад.
Сарфи назар аз дастгирии мултиплексизатсия дар HTTP/2, мушкилоти бастани сатр аз сабаби зарурати интиқоли пакетҳо дар он ҷо боқӣ монд. QUIC дар болои UDP амалӣ карда мешавад, аз ин рӯ, он аслан блок надорад ва барои пешгирӣ аз гум шудани бастаҳо, онҳо рақамгузорӣ карда мешаванд ва метавонанд қисмҳои "ҳамсояҳо" -ро дар бар гиранд, ки изофиятро таъмин мекунанд. Илова бар ин, QUIC навбати монолитиро ба риштаҳои сершумор барои намудҳои гуногуни дархостҳо дар дохили як пайваст тақсим мекунад. Ҳамин тариқ, агар баста гум шавад, мушкилот танҳо барои як навбат пайдо шуда метавонанд (масалан, барои интиқоли файли мушаххас):
Истифода кунед
Дар аввал, QUIC дар дохили Google таҳия шуда буд ва асосан барои истифода дар дохили ширкат тарҳрезӣ шудааст. Дар соли 2013, он барои стандартизатсия ба IETF интиқол дода шуд (он ҳоло ҳам идома дорад) ва ҳоло ҳама метавонанд дар таҳияи протокол бо пешниҳоди он чизе, ки онҳо намерасанд, иштирок кунанд. Гурӯҳи кории IETF ҷаласаҳои солона ташкил мекунад, ки дар он стандарти нав тасдиқ ва навоварӣ баррасӣ мешавад. Ин татбиқи QUIC яке аз асосӣ ҳисобида мешавад ва дар асоси он стандарти HTTP/3 сертификатсия шудааст.
То ҳол дар бораи дохил кардани HTTP/3 ба сифати протоколи асосӣ гап нест, зеро он ҳанӯз ба итмом нарасидааст ва қариб дастгирӣ намешавад:
Аммо QUIC-ро метавон ҳамчун интиқол байни барнома ва сервер, ки дар Uber бомуваффақият анҷом дод, амалӣ кард:
Шарҳи Uber дар бораи ҷорӣ кардани QUIC
Барои бомуваффақият ҷобаҷо кардани QUIC ва беҳтар кардани иҷрои барнома дар муҳити сусти пайвастшавӣ, мо стеки кӯҳнаро (HTTP/2 бар TLS/TCP) бо протоколи QUIC иваз кардем. Мо китобхонаи шабакавиро истифода мебарем
Кронет аз онЛоиҳаҳои Chromium , ки нусхаи аслии Google-и протокол - gQUIC -ро дар бар мегирад. Ин татбиқ инчунин барои риояи мушаххасоти охирини IETF пайваста такмил дода мешавад.Мо аввал Cronet-ро ба барномаҳои Android-и худ ворид кардем, то ба QUIC дастгирӣ илова кунем. Интегратсия тавре сурат гирифт, ки хароҷоти муҳоҷират то ҳадди имкон кам карда шавад. Ба ҷои пурра иваз кардани стеки шабакавии кӯҳна, ки китобхонаро истифода мебурд
OkHttp , мо Cronet-ро дар доираи чаҳорчӯбаи OkHttp API муттаҳид кардем. Бо ин роҳ, мо аз тағирот дар зангҳои шабакавии худ канорагирӣ кардем (ки аз ҷонибиБозгашт ) дар сатҳи API.Монанди равиш барои дастгоҳҳои Android, мо Cronet-ро ба барномаҳои Uber дар iOS татбиқ кардем, ки трафики HTTP-ро аз шабака бозмедошт.
API истифодаиПротоколи NSURL . Ин абстраксия, ки аз ҷониби Фонди iOS пешниҳод шудааст, маълумотҳои URL-и мушаххаси протоколро коркард мекунад ва кафолат медиҳад, ки мо метавонем Cronet-ро ба замимаҳои iOS-и худ бидуни хароҷоти зиёди муҳоҷират ҳамгиро кунем.
аз
Дар пушти сар онҳо пайвастҳои QUIC-ро тавассути Google Cloud lb гирифтанд, ки он
Тааҷҷубовар нест, ки Google Cloud бо протоколи таҳияшудаи Google хуб кор мекунад, аммо алтернативаҳо кадомҳоянд?
Nginx
Чанде пеш CloudFlare
curl -O https://nginx.org/download/nginx-1.16.1.tar.gz
tar xvzf nginx-1.16.1.tar.gz
git clone --recursive https://github.com/cloudflare/quiche
cd nginx-1.16.1
patch -p01 < ../quiche/extras/nginx/nginx-1.16.patch
Дар ин ҷо шумо метавонед модулҳои худро дар ҳолати зарурӣ пайваст кунед
./configure
--prefix=$PWD
--with-http_ssl_module
--with-http_v2_module
--with-http_v3_module
--with-openssl=../quiche/deps/boringssl
--with-quiche=../quiche
make
Ҳама чизе боқӣ мемонад, ки дастгирии HTTP/3 фаъол карда шавад
events {
worker_connections 1024;
}
http {
server {
# Enable QUIC and HTTP/3.
listen 443 quic reuseport;
# Enable HTTP/2 (optional).
listen 443 ssl http2;
ssl_certificate cert.crt;
ssl_certificate_key cert.key;
# Enable all TLS versions (TLSv1.3 is required for QUIC).
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
# Request buffering in not currently supported for HTTP/3.
proxy_request_buffering off;
# Add Alt-Svc header to negotiate HTTP/3.
add_header alt-svc 'h3-27=":443"; ma=86400';
}
}
Дар браузерҳои муқаррарӣ тавассути HTTP/3 пайваст шудан ҳанӯз имконнопазир аст, аммо шумо метавонед истифода баред --enable-quic
, ба сервери худ ё, масалан, ба сайти quic.rocks равед ва ба намуди пайвастшавӣ дар Tools Developer нигаред:
Ба ҷои HTTP/3 он навишта шудааст http2+quic/99
, аммо он аслан як чиз аст.
Дигар технологияҳо
- QUIC низ дастгирӣ мекунад
LiteSpeed (ки ба Фейсбук тавассути HTTP/3 бо тантанаи бузург пайваст) ва пешрафтаCaddy . Apache ҳоло ин корро карда наметавонад, аммо кор идома дорадпурбор . - 21 январ нав карда шуд
лоиҳаи стандарт барои WebRTC - Танҳо рӯзи дигар Microsoft кушода шуд
рамзи татбиқи msquic , ки дар он на ҳама функсияҳо аз стандарти IETF дастрасанд, аммо ин аллакай як пешрафти бузург аст.
хулоса
Таваҷҷӯҳ ба QUIC ноустувор аст, аммо афзоиш меёбад ва кор барои стандартизатсияи он идома дорад. Татбиқи нави протокол тақрибан ҳар моҳ пайдо мешавад ва ҳар сол бештар ва бештари таҳиягарон боварӣ доранд, ки QUIC оянда аст. Хатто мумкин аст, ки протоколро ба версияҳои ояндаи стеки TCP дохил кунед, яъне ин маънои онро дорад, ки дер ё зуд тамоми Интернет ба пайвастҳои устувортар ва тезтар мегузарад.
Аллакай ҳоло шумо метавонед ҳамкории QUIC-ро барои инфрасохтори худ танзим кунед ё ҳатто онро ба браузерҳо диҳед - ҳамаи онҳо нақша доранд, ки ба протокол дастгирӣ илова кунанд ва омори ғамангез бо caniuse шодтар хоҳад шуд.
Манбаъ: will.com