Предварительный выпуск nginx с поддержкой QUIC и HTTP/3

Компания NGINX njoftoi о начале тестирования implementation протоколов QUIC и HTTP/3 в HTTP-сервере и прокси nginx. Реализация основана на 27 черновике спецификации IETF-QUIC и доступна через отдельный репозиторий, ответвлённый от выпуска 1.19.0. Код распространяется под лицензией BSD и не пересекается с предложенной ранее реализацией HTTP/3 для nginx от компании Cloudflare, которая является отдельным проектом.

Поддержка HTTP/3 в nginx помечена как экспериментальная, так как не все возможности протокола реализованы. При этом nginx уже может применяться для отправки ответов на простые запросы HTTP/3 поверх QUIC и загрузки/отдачи больших файлов. Из пока отсутствующих возможностей протокола отмечаются средства согласования версии протокола, ECN и контроль перегрузки, структурированные логи, режим восстановления (QUIC recovery, управление потоком и перегрузкой), NAT Rebinding, мобильные адреса, Server push, присоединение данных (trailer). Также предложена только базовая поддержка обработки ACK-пакетов и управления потоком, которая требует доработки. Не все требования стандарта учтены.

Для активации HTTP/3 требуется собрать nginx с модулем http_v3_module и добавить дополнительную директиву
«listen» с флагом «http3″ для создания слушающего UDP-сокета. Например:

server {
listen 443 ssl; # TCP-сокет для HTTP/1.1
listen 443 http3 reuseport; # UDP-сокет для QUIC+HTTP/3

ssl_protocols TLSv1.3; # в QUIC обязателен TLS 1.3
ssl_certificate ssl/www.example.com.crt;
ssl_certificate_key ssl/www.example.com.key;

add_header Alt-Svc ‘quic=»:443″‘; # признак доступности QUIC
add_header QUIC-Status $quic; # Заголовок со статусом использования QUIC
}

Le të përkujtojmë se HTTP/3 standardizon përdorimin e protokollit QUIC si transport për HTTP/2. Protokolli QUIC (Quick UDP Internet Connections) c 2013 года развивается компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. На стороне клиентского ПО экспериментальная поддержка HTTP/3 уже добавлена в Curl, Firefox и Chromium.

Предварительный выпуск nginx с поддержкой QUIC и HTTP/3

Main e veçanta QUIC:

  • Высокая безопасность, аналогичная TLS (по сути QUIC предоставляет возможность использования TLS 1.3 поверх UDP);
  • Kontrolli mbi integritetin e rrjedhës, që parandalon humbjen e pacakove;
  • Mundësia për të vendosur një lidhje menjëherë (0-RTT, në rreth 75% të rasteve, të dhënat mund të transmetohen menjëherë pas dërgimit të paketës së vendosjes së lidhjes) dhe të sigurojë vonesa minimale midis dërgimit të kërkesës dhe marrjes së përgjigjes (RTT, Round Trip Time);
    Предварительный выпуск nginx с поддержкой QUIC и HTTP/3
  • Mos përdorimi i numrit të njëjtë të rendit për dërgimin përsëri të paketës, që lejon shmangien e dyshimeve në përcaktimin e paketave të marra dhe eliminimin e kohëve të pritjes;
  • Humorja e paketës ndikon vetëm në dërgesën e fluksit lidhur me të dhe nuk ndalon dërgimin e të dhënave në flukset që dërgohen paralelisht nëpërmjet lidhjes aktuale;
  • Mjetet për korrigjimin e gabimeve, që minimizojnë vonesat për shkak të dërgimit përsëritës të paketave të humbura. Përdorimi i kodeve speciale për korrigjimin e gabimeve në nivelin e paketës për të reduktuar situatat që kërkojnë dërgim përsëritës të të dhënave të paketës së humbur.
  • Kufijtë e bllokave kriptografikë janë përputhur me kufijtë e paketave QUIC, duke zvogëluar ndikimin e humbjeve të paketave në dekodimin e përmbajtjes së paketave të ardhshme;
  • Mungesa e problemeve me bllokimin e radhës TCP;
  • Mbështetje për identifikuesin e lidhjes, që lejon zvogëlimin e kohës për vendosjen e lidhjes përsëritëse për klientët mobilë;
  • Mundësia e lidhjes së mekanizmave të zgjeruar të kontrollit të ngarkesës së lidhjes;
  • Përdorimi i teknikave të parashikimit të kapacitetit në çdo drejtim për të siguruar intensitetin optimal të dërgimit të paketave, duke parandaluar rënien në një gjendje ngarkese, ku humbjet e paketave vërehen;
  • Rritje të dukshme e ndjeshme performancës dhe kapacitetit, në krahasim me TCP. Për shërbimet video, si YouTube, përdorimi i QUIC ka treguar një ulje të operacioneve të ripërtypjes gjatë shikimit të videove me 30%.

Burimi: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster