Kullanıcılarınız Wi-Fi kapsamasından çıkıp 4G/5G hücresel hatta geçtiğinde veya baz istasyonu değiştiğinde HTTP/3'ün Connection ID (CID) mimarisiyle 2 RTT yeniden el sıkışma ve Head-of-Line gecikmesini nasıl ortadan kaldırdığını hesaplayın.
IP degisiminde 4-tuple baglanti kopar. Yeni TCP SYN ve TLS el sikismasi zorunludur.
Connection ID ile IP'den bagimsiz oturum surdurulur. Sifir el sikisma ve kesintisiz akis.
# Nginx 1.25+ / 1.27+ Native HTTP/3 ve QUIC Baglanti Gocu Yapilandirmasi
# /etc/nginx/conf.d/quic.conf
server {
# Standart HTTPS (TCP) ve HTTP/3 (UDP) ayni portta dinlenir
listen 443 ssl;
listen 443 quic reuseport;
listen [::]:443 ssl;
listen [::]:443 quic reuseport;
# Istemciye HTTP/3 destegini bildiren Alt-Svc basligi (1 gun gecerli)
add_header Alt-Svc 'h3=":443"; ma=86400';
add_header QUIC-Status $http3;
# QUIC Baglanti Gocu (Connection Migration) optimizasyonlari
quic_retry on;
quic_gso on;
ssl_early_data on; # 0-RTT hizlandirmasi
ssl_protocols TLSv1.3;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}Klasik TCP protokolünde (HTTP/1.1 ve HTTP/2) bir oturum katı bir şekilde 4 bileşene (4-tuple) bağımlıdır: İstemci IP'si, İstemci Portu, Sunucu IP'si ve Sunucu Portu. Bir akıllı telefon ev Wi-Fi ağından çıkıp caddeye adım attığında IP adresi anında değişir.
Bu durum mevcut tüm TCP oturumlarının çöpe gitmesine (TCP RST veya zaman aşımı) yol açar. Telefon yeni IP'siyle sunucuya baştan TCP 3-way handshake (1 RTT) ve TLS 1.3 el sıkışması (1 RTT) yapmak zorundadır. Bu sırada aktarılan video, ödeme veya API istekleri çöker; mobil kullanıcı ekranda 200 - 800 milisaniye süren can sıkıcı bir donma (stall) veya ağ hatası yaşar.
HTTP/3'ün temelini oluşturan QUIC protokolü (RFC 9000), bağlantıyı IP adresinden tamamen soyutlar. Oturum, istemci ve sunucu arasında anlaşılan 64 ila 160 bit uzunluğundaki rastgele Connection ID (CID) ile tanımlanır.
Telefon hücresel veriye geçtiğinde tek bir byte bile kaybetmeden yeni IP'si üzerinden aynı CID ile veri paketlerini göndermeye devam eder. Sunucu paketi anında kabul eder ve veri akışını kesmeden arka planda asenkron PATH_CHALLENGE doğrulaması yapar. Sonuç: Sıfır RTT ek gecikme, sıfır kopan bağlantı ve pürüzsüz mobil kullanıcı deneyimi.