Привет, сетевой друг!
Сегодня разберём QUIC + HTTP/3 против TCP + TLS + HTTP/2 - что реально происходит в сети и почему веб переползает на новый транспорт.🟣Классический стек TCP + TLS + HTTP/2: Браузер открывает сайт в несколько этапов: TCP-рукопожатие, потом TLS-рукопожатие, и только после этого летят HTTP-запросы. Даже в хорошей сети это 2–3 RTT до первого байта.
Главный же минус TCP это строгий порядок доставки. В случае потери одного пакета весь поток ждёт повторной передачи. HTTP/2 мультиплексирует запросы, но внутри одного TCP они всё равно блокируют друг друга.
Проверить соединение:
curl -I –http2 https://example.com
Посмотреть задержки:
curl -w “DNS:%{time_namelookup} TCP:%{time_connect} TLS:%{time_appconnect}\n” -o /dev/null -s https://example.com🟣Что меняет QUIC: QUIC работает поверх UDP, сразу шифрован. Нет отдельного TCP и TLS, так как всё слито в один слой. Каждый запрос, как отдельный поток.
1️⃣Потерялся пакет видео - не тормозит загрузку HTML. 2️⃣Потерялся кусок картинки - JS выполняется дальше. Соединение привязано к криптосессии, а не к IP.
3️⃣А если переключился с Wi-Fi на LTE, то соединение продолжает жить.
Проверка HTTP/3:
curl -I –http3 https://cloudflare.com
Сравнение:
curl –http3 -v https://cloudflare.com
curl –http2 -v https://cloudflare.com
🟣Почему QUIC рвёт TCP в реальности: В лаборатории TCP нормальный. В реале: мобильные сети теряют пакеты, Wi-Fi скачет по latency, маршруты меняются. TCP начинает простаивать на retransmission. Эмулируем реальный интернет:
tc qdisc add dev eth0 root netem delay 100ms loss 2%
HTTP/2 залипает, HTTP/3 продолжает качать почти без деградации.
🟣Почему CDN массово перешли: Google, Cloudflare, Meta, Akamai уже отдают большую часть трафика по QUIC:
• меньше handshake-задержек
• нет head-of-line blocking
• лучше на мобилках
• проще масштабируется
Серверная Админа | #QUIC #TCP
