Microsoft telah membuka implementasi protokol QUIC yang digunakan di HTTP/3

Microsoft mengumumkan tentang membuka kode perpustakaan msquic dengan penerapan protokol jaringan QUIC. Kode ditulis dalam C dan didistribusikan oleh di bawah lisensi MIT. Perpustakaan ini bersifat lintas platform dan dapat digunakan tidak hanya di Windows, tetapi juga di Linux menggunakan saluran atau OpenSSL untuk TLS 1.3. Kedepannya direncanakan untuk mendukung platform lain.

Pustaka ini didasarkan pada kode driver msquic.sys yang disediakan di kernel Windows 10 (Pratinjau Orang Dalam) untuk mengaktifkan HTTP dan SMB di atas QUIC. Kode ini juga digunakan untuk mengimplementasikan HTTP/3 di tumpukan internal Windows dan di .NET Core. Pengembangan perpustakaan MsQuic akan dilakukan sepenuhnya di GitHub menggunakan tinjauan sejawat publik, permintaan penarikan, dan Masalah GitHub. Infrastruktur telah disiapkan yang memeriksa setiap permintaan commit dan pull dalam serangkaian lebih dari 4000 pengujian. Setelah menstabilkan lingkungan pengembangan, direncanakan untuk menerima perubahan dari pengembang pihak ketiga.

MsQuic sudah dapat digunakan untuk membuat server dan klien, tetapi tidak semua fungsi yang ditentukan dalam spesifikasi IETF tersedia saat ini. Misalnya, tidak ada dukungan untuk 0-RTT, migrasi klien, Path MTU Discovery, atau kontrol Alamat Pilihan Server. Di antara fitur-fitur yang diterapkan, optimasi dicatat untuk mencapai throughput maksimum dan penundaan minimum, dukungan untuk input/output asinkron, RSS (Receive Side Scaling), dan kemampuan untuk menggabungkan aliran UDP input dan output. Implementasi MsQuic telah diuji kompatibilitasnya dengan versi eksperimental browser Chrome dan Edge.

Ingatlah bahwa HTTP/3 menstandarkan penggunaan protokol QUIC sebagai transport untuk HTTP/2. Protokol QUIC (Koneksi Internet UDP Cepat) telah dikembangkan oleh Google sejak tahun 2013 sebagai alternatif kombinasi TCP+TLS untuk Web, memecahkan masalah dengan waktu penyiapan dan negosiasi yang lama untuk koneksi dalam TCP dan menghilangkan penundaan ketika paket hilang selama transfer data. QUIC adalah perpanjangan dari protokol UDP yang mendukung multiplexing beberapa koneksi dan menyediakan metode enkripsi yang setara dengan TLS/SSL.

Utama fitur CEPAT:

  • Keamanan tinggi mirip dengan TLS (pada dasarnya QUIC menyediakan kemampuan untuk menggunakan TLS 1.3 melalui UDP);
  • Kontrol integritas aliran, mencegah kehilangan paket;
  • Kemampuan untuk membuat koneksi secara instan (0-RTT, pada sekitar 75% kasus, data dapat dikirim segera setelah mengirim paket pengaturan koneksi) dan memberikan penundaan minimal antara pengiriman permintaan dan penerimaan respons (RTT, Round Trip Time);
    Microsoft telah membuka implementasi protokol QUIC yang digunakan di HTTP/3

  • Tidak menggunakan nomor urut yang sama saat mengirimkan ulang sebuah paket, yang menghindari ambiguitas dalam mengidentifikasi paket yang diterima dan menghilangkan batas waktu;
  • Hilangnya suatu paket hanya mempengaruhi pengiriman aliran yang terkait dengannya dan tidak menghentikan pengiriman data dalam aliran paralel yang dikirimkan melalui koneksi saat ini;
  • Fitur koreksi kesalahan yang meminimalkan penundaan akibat pengiriman ulang paket yang hilang. Penggunaan kode koreksi kesalahan khusus pada tingkat paket untuk mengurangi situasi yang memerlukan transmisi ulang data paket yang hilang.
  • Batas-batas blok kriptografi diselaraskan dengan batas-batas paket QUIC, yang mengurangi dampak kehilangan paket pada decoding isi paket berikutnya;
  • Tidak ada masalah dengan pemblokiran antrian TCP;
  • Dukungan untuk pengidentifikasi koneksi, yang mengurangi waktu yang diperlukan untuk membuat koneksi ulang untuk klien seluler;
  • Kemungkinan menghubungkan mekanisme kontrol kelebihan koneksi tingkat lanjut;
  • Menggunakan teknik prediksi throughput per arah untuk memastikan tingkat penerusan paket yang optimal, mencegah kemacetan dan kehilangan paket;
  • Jelas pertumbuhan kinerja dan throughput dibandingkan dengan TCP. Untuk layanan video seperti YouTube, QUIC telah terbukti mengurangi operasi rebuffering saat menonton video sebesar 30%.

Sumber: opennet.ru

Tambah komentar