В експериментални сборки поддръжка на протокол HTTP/3, реализиращ надстройка за осигуряване на работа на HTTP върху протока QUIC. Протоколът QUIC беше добавен в браузъра преди пет години и оттогава се използва за оптимизация на работата със сервисите на Google. Важно е да се отбележи, че версията QUIC от Google, използвана в Chrome, се различаваше в някои детайли от версията на IETF, но сега реализациите са синхронизирани.
HTTP/3 стандартизира използването на QUIC като транспорт за HTTP/2. За включване на HTTP/3 и версията на QUIC от спецификация IETF е необходимо стартиране на Chrome с опции «—enable-quic —quic-version=h3-23», след което при отваряне на тестовия сайт в режим на инспекция на мрежата в инструментите за разработчици активността по HTTP/3 ще се показва като «http/2+quic/99».
Напомняме, че протоколът (Quick UDP Internet Connections) се развива от 2013 година от компанията Google като алтернатива на връзките TCP+TLS за уеб, решаваща проблемите с дългото време за установяване и договаряне на връзките в TCP и елиминираща закъсненията при загуба на пакети при предаване на данни. QUIC е надстройка над протокола UDP, поддържаща мултиплексиране на няколко връзки и осигуряваща методи за криптиране, еквивалентни на TLS/SSL. Обсъжданият протокол вече е интегриран в сървърната инфраструктура на Google, част е от Chrome, за включване във Firefox и активно се използва за обслужване на клиентски заявки на сървърите на Google.
Основни QUIC:
- Висока сигурност, подобна на TLS (по същество QUIC предоставя възможност за използване на TLS върху UDP);
- Контрол на целостта на потока, предотвратяващ загуба на пакети;
- Възможност за незабавно установяване на връзка (0-RTT, в около 75% от случаите данни могат да се предават веднага след изпращане на пакета за установяване на връзката) и осигуряване на минимални забавяния между изпращане на заявка и получаване на отговор (RTT, Round Trip Time);
- Не използването при повторна предаване на пакета с еднакъв номер на последователност, което позволява да се избегне двусмислието при определянето на получените пакети и да се избавим от таймаутите;
- Загубата на пакет влияе само на доставката на свързания с него поток и не спира доставката на данни в паралелно предавани потоци през текущото свързване;
- Средства за корекция на грешки, минимизиращи закъсненията от повторната предавка на загубени пакети. Използване на специални кодове за корекция на грешки на ниво пакет, за да се намалят ситуациите, изискващи повторна предавка на данни от загубения пакет.
- Криптографските граници на блоковете са подравнени с границите на пакетите QUIC, което намалява влиянието на загубите на пакети върху декодиране на съдържанието на следващите пакети;
- Липса на проблеми с блокирането на опашката на TCP;
- Подкрепа за идентификатор на свързване, който позволява да се намали времето за повторно установяване на свързването за мобилни клиенти;
- Възможност за свързване на разширени механизми за контрол на натоварването на свързването;
- Използване на техника за прогнозиране на пропускната способност във всяка посока, за да се осигури оптимална интензивност на изпращане на пакети, предотвратявайки спадането в състояние на натоварване, при което се наблюдават загуби на пакети;
- Забележителна производителност и пропускна способност в сравнение с TCP. За видеосервизи като YouTube, прилагането на QUIC показа намаляване на операциите по повторно буфериране по време на гледане на видео с 30%.
Източник: opennet.ru
