Anasayfa Makale QUIC Protokolü Nedir?

QUIC Protokolü Nedir?

Yeni nesil QUIC taşıma protokolü hakkında bilmeniz gerekenleri bu yazımızda anlatıyoruz.

QUIC, UDP üzerinden daha kararlı veri akışı sağlayan bağlantı yönelimli taşıma protokolüdür. Bağımsız TCP bağlantısına benzemekle birlikte, bağlantı gecikme süresini Zero Round Trip Time Resumption (0-RTT) özelliğiyle sıfıra indirebiliyor. Bu protokolü UDP’nin üzerine HTTP/2 eklenmiş yeni bir protokol (muhtemel HTTP/3) olarak da tanımlamak mümkündür.

İlk olarak SPDY ile elde edilen tecrübeyle birlikte 2012 yılında Google tarafından geliştirilen bu taşıma protokolü, güvenlik özellikleriyle hızlı bağlantı zamanlarını bir araya getiriyor.

QUIC Protokolünü İlginç Yapan Nedir?

QUIC, gecikmeyi azaltmak üzere tasarlandı. Bunu da geliştirilmiş paket kaybı kontrolü, çoklu bağlantı desteği ve azaltılmış geliş gidişler ile mümkün kılıyor.

QUIC, kernel üzerine değil de kullanıcı alanı üzerine bütünleştirilmiş. Böylelikle geliştiriciler gerekli optimizasyonları ve geliştirmeleri daha esnek bir şekilde yapabiliyor. Bu yönüyle QUIC, TCP’den ayrılıyor. Çünkü TCP, kernel içerisine yerleştirilmiş durumda. Kernel güncellemeleri kullanıcı güncellemelerinden daha seyrek yapıldığı için geliştiriciler yeterince esnek olamıyor.

QUIC ayrıca TLS 1.3 ile birlikte güçlü güvenlik özelliklerini de içerisinde barındırıyor. Başlangıçtaki QUIC veri alış verişi TCP ile birlikte gördüğümüz üç yönlü alış veriş ile birlikte TLS 1.3 alış verişini de bir araya getiriyor. QUIC, TLS’nin kayıt katmanını kendi formatı ile değiştiriyor ancak TLS alış veriş mesajlarını aynı tutuyor. HTTP/1 ve HTTP/2 de halihazırda TLS 1.3’ü kullanıyor.

QUIC Protokolü ile WebRTC Arasındaki İlişki Nedir?

WebRTC özelliklerine QUIC protokolünün de eklenmesi geçtiğimiz yıldan beri gündemde. WebRTC geliştiricileri için QUIC’in kullanıcı alanına bütünleştirilmiş esnek yapısı oldukça önemli. WebRTC için QUIC projesi de öncelikle sıfır round trip ile birlikte daha hızlı bağlantı kurulmasını amaçlıyor. İkincil olarak da TCP’den daha verimli şekilde oluşan bağlantı sıkışıklıklarını çözmek hedefleniyor.

QUIC Gecikmeleri Nasıl Azaltıyor?

QUIC gecikmeleri birkaç yöntemle azaltıyor:

  • Geliştirilmiş Çoklu Bağlantı Desteği : TCP protokolü üzerinde HTTP/2 çoklu bağlantıları tek bir bağlantı üzerine yüklüyor. Böylelikle tek bir paket kaybı ya da yeniden iletimi paralel olarak indirilen tüm kaynakların head-of-line blocking (HOLB) özelliğiyle engellenmesine neden oluyor. İlk paket indirme hattının kalanını tutuyor. QUIC ise çoklu bağlantıların bu kısıtlılığını HOL engellemesini kaldırarak aşıyor.
  • Daha Az Gidiş Geliş : QUIC, yeni bir bağlantı kurulması için gerekli gidiş gelişleri azaltmak üzerine odaklanmış. Bu aynı zamanda handshake, şifreleme ve ilk veri talebi aşamalarını da kapsıyor. QUIC, eşleşme bilgilerini ayrı bir pakette değil de başlangıç paketinin içerisine ekleyebiliyor. QUIC sunucuları referans olarak alınabilen statik bir yapılandırma kaydı yayınlıyor. QUIC alıcıları eşleşme çerezi depoluyor ve bu sayede sunucuya herhangi bir zaman kaybı olmadan yeniden bağlanabiliyor.

  • Geliştirilmiş Paket Kaybı Yönetimi : QUIC, paket kaybını birçok modern teknikle birlikte çözümleyebiliyor. QUIC, paket kaybını azaltmak için kriptografik blok sınırlarıyla paket sınırlarını sıralayabiliyor. Bunun yanı sıra geliştirilmiş sıkışma kontrolüyle birlikte bant genişliği tahminine göre paketleri düzenleyebiliyor. Ek olarak da QUIC, en önemli paketlerin kopyalarını gönderebiliyor.

QUIC’nin taşıma protokollerinin gelişimini hızlandıracağı umut ediliyor. QUIC’nin esnekliği de hızlı gelişimine olanak sağlıyor. Yakın gelecekte bu protokolle ilgili gelişmeleri duymamız mümkün.