QUIC
- Okunuşu
- kuik
Kısaca
QUIC, UDP üzerine kurulu; şifreli, güvenilir ve çoklu akışlı bağlantıları hızlı kurulumla sağlayan, HTTP/3'ün temelini oluşturan modern bir taşıma protokolüdür.
QUIC nedir?
QUIC, TCP ile TLS'nin genellikle birlikte yaptığı işi, yani veriyi güvenilir ve şifreli iletmeyi yapan, ama UDP'nin üzerinde çalışan bir taşıma protokolüdür. 2010'ların başında Google'da bir deney olarak başladı ve IETF tarafından 2021'de RFC 9000 olarak standartlaştırıldı; HTTP/3, QUIC üzerinde çalışan HTTP olarak tanımlanır. Ad, Quick UDP Internet Connections'ın kısaltması olarak başladı, ama standart QUIC'i yalnızca bir ad olarak ele alır.
QUIC, TLS 1.3 şifrelemesini doğrudan el sıkışmasının içine yerleştirir; bu yüzden yeni bir bağlantı genellikle tek bir gidiş-dönüşten sonra hazır olur, TCP artı TLS ise veri akmadan önce ek gidiş-dönüşler gerektirir ve geri dönen bir istemci ilk paketinde bile veri gönderebilir (0-RTT). Tek bir bağlantı birçok bağımsız akış taşır ve QUIC kayıp paketleri akış başına izlediği için kaybolan bir paket, arkasındaki her şeyi değil yalnızca kendi akışını geciktirir; buna head-of-line blocking (kuyruğun başında engellenme) sorunu denir. Bağlantılar IP adresi ve port yerine bağlantı kimlikleriyle tanımlanır, bu yüzden bir indirme, telefonun Wi-Fi'dan mobil veriye geçmesinden sağ çıkabilir.
TCP, tıkanan tek bir arabanın arkasındaki herkesi tuttuğu tek şeritli bir yolsa, QUIC her şeridin kendi başına ilerlemeye devam ettiği çok şeritli bir yoldur. Başlıca tarayıcıların, web sitelerinin ve CDN'lerin çoğu HTTP/3 için QUIC kullanır; QUIC ayrıca DNS over QUIC'i ve daha yeni gerçek zamanlı medya protokollerini de taşır. QUIC, işletim sistemi çekirdeği yerine uygulamaların ve kitaplıkların içinde kullanıcı alanında çalıştığı için TCP'den çok daha hızlı gelişebilir.
QUIC, UDP üzerinde çalıştığı için çoğu zaman güvenilmez sanılır. UDP yalnızca zarftır: QUIC kendi onaylarını, yeniden iletimlerini, her akış içindeki sıralamayı ve tıkanıklık denetimini ekler; bu yüzden uygulamalar TCP'dekiyle aynı güvenilirliği elde eder. HTTP/3 ile de aynı şey değildir, çünkü QUIC alttaki taşımadır ve başka protokoller de onun üzerinde çalışabilir. Pratik bir tuzak, bazı kurumsal güvenlik duvarlarının UDP 443 portunu engellemesidir; bu durumda tarayıcılar sessizce TCP üzerinden HTTP/2'ye geri döner.
Önemli noktalar
- QUIC, UDP üzerinde çalışan güvenilir ve şifreli bir taşıma protokolüdür.
- TLS 1.3 şifrelemesi yerleşiktir ve yeni bağlantılar genellikle yalnızca bir gidiş-dönüş gerektirir.
- Bağımsız akışlar, TCP'nin head-of-line blocking sorununu önler.
- Bağlantı kimlikleri, bir bağlantının Wi-Fi'dan mobil veriye geçmek gibi ağ değişikliklerinden sağ çıkmasını sağlar.
- HTTP/3, QUIC üzerindeki HTTP'dir; UDP engellendiğinde TCP üzerinden HTTP/2'ye geri dönülür.
Örnek
# Request a page over HTTP/3 (needs a curl build with HTTP/3 support)
curl --http3 -sI https://example.com | head -n 1
# HTTP/3 200
# Servers advertise HTTP/3 support in the Alt-Svc response header
curl -sI https://example.com | grep -i alt-svc
# alt-svc: h3=":443"; ma=86400
# QUIC traffic is UDP on port 443, so the firewall must allow it
sudo ufw allow 443/udpSık sorulan sorular
QUIC ile TCP arasındaki fark nedir?
TCP, işletim sistemine gömülü güvenilir bir bayt akışıdır ve şifreleme için genellikle TLS ile eşleştirilir. QUIC ise UDP üzerinde çalışır, yerleşik şifrelemeye sahiptir, bağlantıları daha az gidiş-dönüşle kurar, head-of-line blocking olmadan bağımsız akışlar taşır ve IP adresi değişikliklerinden sağ çıkar.
QUIC, HTTP/3 ile aynı şey midir?
Hayır. QUIC taşıma protokolüdür; HTTP/3 ise onun üzerinde çalışmak üzere tasarlanmış HTTP sürümüdür. DNS over QUIC gibi diğer protokoller de QUIC kullanır.
UDP kullanıyorsa QUIC güvenilir midir?
Evet. QUIC, UDP'yi yalnızca paketlerini taşımak için kullanır ve kendi onaylarını, yeniden iletimlerini ve tıkanıklık denetimini ekler; böylece veri her akış içinde eksiksiz ve sıralı ulaşır.
İlgili sayfalar
- UDPAğlar, s. 33UDP, bağlantı kurmadan datagram adı verilen küçük ve bağımsız mesajlar gönderen, garantili teslimat yerine hızı seçen hafif bir internet protokolüdür.
- TCPAğlar, s. 28TCP, bir bağlantı kurup kaybolan verileri yeniden göndererek iki program arasında veriyi güvenilir ve sıralı biçimde ileten temel bir internet protokolüdür.
- TLSGüvenlik, s. 44TLS, ağda gönderilen veriyi şifreleyen ve sunucunun kimliğini doğrulayan, HTTPS, e-posta ve birçok başka bağlantıyı güvenceye alan kriptografik protokoldür.
- HTTPWeb Geliştirme, s. 20HTTP, tarayıcıların, uygulamaların ve sunucuların basit bir istek-yanıt döngüsüyle web sayfaları ve veri alışverişi yapmasını sağlayan protokoldür.
- GecikmeAğlar, s. 9Gecikme, bir istek ile yanıtın başlaması arasında geçen süredir; genellikle milisaniyeyle ölçülür ve bir uygulamanın ne kadar hızlı hissettirdiğini belirler.
- PortAğlar, s. 22Port, bir cihazdaki belirli bir programı ya da hizmeti tanımlayan, 0 ile 65535 arasında bir sayıdır; IP adresine gelen trafik böylece doğru uygulamaya ulaşır.
- HTTP/2Ağlar, s. 11HTTP/2, birçok istek ve yanıtı kompakt bir ikili biçimde tek bağlantı üzerinden aynı anda gönderen ve sayfaları hızlandıran, HTTP'nin ikinci büyük sürümüdür.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin