Microsoft, HTTP/3'te kullanılan QUIC protokolünün uygulanmasını başlattı

Microsoft açıkladı kütüphane kodunu açma hakkında msquic ağ protokolünün uygulanmasıyla QUIC. Kod C dilinde yazılmıştır ve tarafından dağıtıldı MIT lisansı altında. Kütüphane çapraz platformdur ve yalnızca Windows'ta değil aynı zamanda Linux'ta da kullanılabilir. Schannel veya TLS 1.3 için OpenSSL. İlerleyen süreçte diğer platformların da desteklenmesi planlanıyor.

Kitaplık, HTTP'yi etkinleştirmek için Windows 10 çekirdeğinde (Insider Preview) sağlanan msquic.sys sürücü kodunu temel alır ve SMB QUIC'in üstünde. Kod aynı zamanda dahili Windows yığınında ve .NET Core'da HTTP/3'ü uygulamak için de kullanılır. MsQuic kütüphanesinin geliştirilmesi tamamen GitHub üzerinde, genel akran incelemesi, çekme istekleri ve GitHub Sorunları kullanılarak gerçekleştirilecektir. 4000'den fazla testten oluşan set içerisinde her commit ve pull isteğini kontrol eden bir altyapı hazırlanmıştır. Geliştirme ortamı stabil hale getirildikten sonra üçüncü taraf geliştiricilerden gelen değişikliklerin kabul edilmesi planlanıyor.

MsQuic halihazırda sunucular ve istemciler oluşturmak için kullanılabilir ancak IETF spesifikasyonunda tanımlanan işlevlerin tümü şu anda mevcut değildir. Örneğin, 0-RTT, istemci geçişi, Yol MTU Bulma veya Sunucu Tercih Edilen Adres kontrolü desteği yoktur. Uygulanan özellikler arasında, maksimum verim ve minimum gecikme elde etmek için optimizasyon, eşzamansız giriş/çıkış desteği, RSS (Alma Tarafı Ölçeklendirmesi) ve giriş ve çıkış UDP akışlarını birleştirme yeteneği belirtilmektedir. MsQuic uygulamasının Chrome ve Edge tarayıcılarının deneysel sürümleriyle uyumluluğu test edilmiştir.

HTTP/3'ün, HTTP/2 için aktarım olarak QUIC protokolünün kullanımını standartlaştırdığını hatırlayın. Protokol QUIC (Hızlı UDP İnternet Bağlantıları), 2013 yılından bu yana Google tarafından Web için TCP+TLS kombinasyonuna alternatif olarak geliştirilmiştir; TCP'deki bağlantılarda uzun kurulum ve anlaşma süreleri ile ilgili sorunları çözer ve veri aktarımı sırasında paketler kaybolduğunda ortaya çıkan gecikmeleri ortadan kaldırır. QUIC, birden fazla bağlantının çoğullanmasını destekleyen ve TLS/SSL'ye eşdeğer şifreleme yöntemleri sağlayan UDP protokolünün bir uzantısıdır.

Ana özellikler Hızlı:

  • TLS'ye benzer yüksek güvenlik (esasen QUIC, UDP üzerinden TLS 1.3'ü kullanma yeteneği sağlar);
  • Paket kaybını önlemek için akış bütünlüğü kontrolü;
  • Anında bağlantı kurma yeteneği (0-RTT, vakaların yaklaşık %75'inde, veriler bir bağlantı kurulum paketi gönderildikten hemen sonra iletilebilir) ve bir istek gönderme ile yanıt alma (RTT, Gidiş Dönüş Süresi) arasında minimum gecikme sağlama ;
    Microsoft, HTTP/3'te kullanılan QUIC protokolünün uygulanmasını başlattı

  • Bir paketi yeniden iletirken aynı sıra numarasını kullanmayın, bu, alınan paketlerin belirlenmesinde belirsizliği önlemenizi ve zaman aşımlarından kurtulmanızı sağlar;
  • Paket kaybı, yalnızca kendisiyle ilişkili akışın teslimini etkiler ve mevcut bağlantı üzerinden paralel olarak iletilen akışlardaki verilerin teslimini durdurmaz;
  • Kayıp paketlerin yeniden iletilmesinden kaynaklanan gecikmeleri en aza indiren hata düzeltme araçları. Kayıp paket verilerinin yeniden iletilmesini gerektiren durumları azaltmak için paket düzeyinde özel hata düzeltme kodlarının kullanılması.
  • Kriptografik blok sınırları, QUIC paket sınırlarıyla hizalanır; bu, paket kayıplarının sonraki paketlerin içeriğinin kodunun çözülmesi üzerindeki etkisini azaltır;
  • TCP sırasını engellemede sorun yok;
  • Mobil istemciler için yeniden bağlanma süresini azaltmak için Bağlantı Kimliği desteği;
  • Bağlantı aşırı yükü kontrolü için gelişmiş mekanizmaları bağlama imkanı;
  • Paket göndermenin optimum yoğunluğunu sağlamak için her yönde bant genişliği tahmin tekniklerini kullanmak, paket kaybının olduğu bir tıkanıklık durumuna yuvarlanmayı önlemek;
  • algılanabilir büyüme TCP'ye kıyasla performans ve verim. YouTube gibi video hizmetleri için QUIC'in video yeniden ara belleğe alma işlemlerini %30 oranında azalttığı görülmüştür.

Kaynak: opennet.ru

Yorum ekle