Perusahaan Microsoft ngeunaan muka kode perpustakaan kalawan palaksanaan protokol jaringan . Kode ieu ditulis dina C jeung под лицензией MIT. Библиотека кроссплатформенная и может использоваться не только в Windows, tapi ogé di Linux с задействованием atanapi OpenSSL pikeun TLS 1.3. Ka hareupna, rencanana bakal ngadukung platform anu sanés.
Библиотека основана на коде драйвера msquic.sys, предоставляемого в ядре Windows 10 (Insider Preview) для обеспечения работы протоколов HTTP и поверх QUIC. В том числе код используется для реализации HTTP/3 во внутреннем стеке Windows и в .NET Core. Разработка библиотеки MsQuic целиком будет вестись на GitHub с использованием публичного рецензирования, pull-запросов и GitHub Issues. Подготовлена инфраструктура, проверяющая каждый коммит и pull-запрос в наборе из более 4000 тестов. После стабилизации окружения для разработки планируется принимать изменения от сторонних разработчиков.
MsQuic parantos tiasa dianggo pikeun nyiptakeun server sareng klien, tapi henteu sadayana fungsionalitas anu ditetepkeun dina spésifikasi IETF ayeuna sayogi. Contona, teu aya dukungan pikeun 0-RTT, migrasi klien, Path MTU Discovery, atanapi kontrol Alamat Pilihan Server. Diantara fitur nu dilaksanakeun, optimasi nyatet pikeun ngahontal throughput maksimum sarta reureuh minimum, rojongan pikeun input / output Asynchronous, RSS (Narima Skala Sisi), sarta kamampuhan pikeun ngagabungkeun input sarta output aliran UDP. Palaksanaan MsQuic parantos diuji pikeun kasaluyuan sareng versi ékspérimén tina browser Chrome sareng Edge.
Ngelingan yén HTTP / 3 standarisasi pamakéan protokol QUIC salaku angkutan pikeun HTTP / 2. Protokol (Gancangan UDP Internet Connections) geus dimekarkeun ku Google saprak 2013 salaku alternatif pikeun kombinasi TCP + TLS pikeun Wéb, ngarengsekeun masalah sareng setelan panjang tur negosiasi kali pikeun sambungan di TCP sarta ngaleungitkeun reureuh nalika pakét leungit salila mindahkeun data. QUIC mangrupikeun penyuluhan protokol UDP anu ngadukung multiplexing sababaraha sambungan sareng nyayogikeun metode enkripsi anu sami sareng TLS / SSL.
utama CEPAT:
- Kaamanan anu luhur sami sareng TLS (dasarna QUIC nyayogikeun kamampuan ngagunakeun TLS 1.3 dina UDP);
- Kontrol integritas aliran, nyegah pakét leungitna;
- Kamampuhan pikeun instan nyieun sambungan (0-RTT, kira-kira 75% kasus data bisa dikirimkeun langsung saatos ngirim pakét setelan sambungan) jeung nyadiakeun reureuh minimal antara ngirim pamundut jeung narima respon (RTT, Round Trip Time);
- Henteu nganggo nomer sekuen anu sami nalika ngirimkeun deui pakét, anu ngahindarkeun ambiguitas dina ngaidentipikasi pakét anu ditampi sareng ngaleungitkeun waktosna;
- Leungitna pakét ngan ukur mangaruhan pangiriman aliran anu aya hubunganana sareng henteu ngeureunkeun pangiriman data dina aliran paralel anu dikirimkeun ku sambungan ayeuna;
- Fitur koréksi kasalahan anu ngaminimalkeun telat kusabab pangiriman ulang pakét anu leungit. Pamakéan kodeu koreksi kasalahan husus dina tingkat pakét pikeun ngurangan kaayaan merlukeun retransmission data pakét leungit.
- Wates blok kriptografis saluyu sareng wates pakét QUIC, anu ngirangan dampak karugian pakét dina ngadekodekeun eusi pakét anu salajengna;
- Teu aya masalah sareng blokir antrian TCP;
- Rojongan pikeun identifier sambungan, nu ngurangan waktu nu diperlukeun pikeun nyieun reconnection pikeun klien mobile;
- Kamungkinan nyambungkeun mékanisme kontrol kamacetan sambungan canggih;
- Ngagunakeun téhnik forecasting throughput per-arah pikeun mastikeun yén pakét dikirim dina ongkos optimal, nyegah aranjeunna tina jadi congested sarta ngabalukarkeun leungitna pakét;
- Perceptible kinerja sarta throughput dibandingkeun TCP. Pikeun jasa pidéo sapertos YouTube, QUIC parantos ditingalikeun ngirangan operasi rebuffering nalika ningali pidéo ku 30%.
sumber: opennet.ru
