Microsoft ir atvērusi HTTP/3 izmantotā QUIC protokola ieviešanu

Microsoft paziņoja par bibliotēkas koda atvēršanu msquic ar tīkla protokola ieviešanu QUIC. Kods ir rakstīts C un izplata saskaņā ar MIT licenci. Bibliotēka ir vairāku platformu, un to var izmantot ne tikai operētājsistēmā Windows, bet arī Linux s kanāls vai OpenSSL TLS 1.3. Nākotnē plānots atbalstīt arī citas platformas.

Bibliotēkas pamatā ir msquic.sys draivera kods, kas nodrošināts Windows 10 kodolā (Insider Preview), lai iespējotu HTTP un SMB virs QUIC. Kods tiek izmantots arī HTTP/3 ieviešanai iekšējā Windows kaudzē un .NET Core. MsQuic bibliotēkas izstrāde pilnībā tiks veikta GitHub, izmantojot publisku salīdzinošo pārskatīšanu, izvilkšanas pieprasījumus un GitHub problēmas. Ir sagatavota infrastruktūra, kas vairāk nekā 4000 testu komplektā pārbauda katru saistību un izvilkšanas pieprasījumu. Pēc izstrādes vides stabilizācijas plānots pieņemt izmaiņas no trešo pušu izstrādātājiem.

MsQuic jau var izmantot, lai izveidotu serverus un klientus, taču pašlaik nav pieejama visa IETF specifikācijā definētā funkcionalitāte. Piemēram, netiek atbalstīta 0-RTT, klienta migrācija, ceļa MTU atklāšana vai servera vēlamās adreses vadība. Starp ieviestajām funkcijām ir atzīmēta optimizācija, lai panāktu maksimālu caurlaidspēju un minimālu aizkavi, asinhronās ievades/izvades atbalstu, RSS (Receive Side Scaling) un iespēju apvienot ievades un izvades UDP straumes. MsQuic ieviešana ir pārbaudīta attiecībā uz saderību ar pārlūkprogrammu Chrome un Edge eksperimentālajām versijām.

Atcerieties, ka HTTP/3 standartizē QUIC protokola izmantošanu kā HTTP/2 transportu. Protokols QUIC (Quick UDP Internet Connections) Google ir izstrādājis kopš 2013. gada kā alternatīvu TCP+TLS kombinācijai tīmeklim, risinot problēmas ar ilgu iestatīšanas un sarunu laiku savienojumiem TCP un novēršot aizkavi, kad datu pārsūtīšanas laikā tiek zaudētas paketes. QUIC ir UDP protokola paplašinājums, kas atbalsta vairāku savienojumu multipleksēšanu un nodrošina TLS/SSL līdzvērtīgas šifrēšanas metodes.

Galvenais Features QUIC:

  • Augsta drošība, kas līdzīga TLS (būtībā QUIC nodrošina iespēju izmantot TLS 1.3, izmantojot UDP);
  • Straumes integritātes kontrole, lai novērstu pakešu zudumu;
  • Iespēja uzreiz izveidot savienojumu (0-RTT, aptuveni 75% gadījumu datus var pārsūtīt uzreiz pēc savienojuma iestatīšanas paketes nosūtīšanas) un nodrošināt minimālu aizkavi starp pieprasījuma nosūtīšanu un atbildes saņemšanu (RTT, Round Trip Time) ;
    Microsoft ir atvērusi HTTP/3 izmantotā QUIC protokola ieviešanu

  • Pārsūtot paketi, neizmantojiet vienu un to pašu kārtas numuru, kas ļauj izvairīties no neskaidrībām saņemto pakešu noteikšanā un atbrīvoties no taimauta;
  • Pakešu zudums ietekmē tikai ar to saistītās straumes piegādi un neaptur datu piegādi straumēs, kas tiek pārraidītas paralēli pašreizējā savienojumā;
  • Kļūdu labošanas rīki, kas samazina aizkavi zaudēto pakešu atkārtotas pārsūtīšanas dēļ. Īpašu kļūdu labošanas kodu izmantošana pakešu līmenī, lai samazinātu situācijas, kurās nepieciešams atkārtoti nosūtīt zaudētos pakešdatus.
  • Kriptogrāfisko bloku robežas tiek saskaņotas ar QUIC pakešu robežām, kas samazina pakešu zudumu ietekmi uz nākamo pakešu satura dekodēšanu;
  • Nav problēmu ar TCP rindas bloķēšanu;
  • Savienojuma ID atbalsts, lai samazinātu atkārtota savienojuma laiku mobilajiem klientiem;
  • Iespēja pieslēgt progresīvus mehānismus savienojuma pārslodzes kontrolei;
  • Izmantojot joslas platuma prognozēšanas paņēmienus katrā virzienā, lai nodrošinātu optimālu pakešu nosūtīšanas intensitāti, novēršot pārtīšanu pārslodzes stāvoklī, kurā notiek pakešu zudumi;
  • Uztverams izaugsmi veiktspēju un caurlaidspēju salīdzinājumā ar TCP. Ir pierādīts, ka video pakalpojumiem, piemēram, YouTube, QUIC samazina video atkārtotas buferizācijas darbības par 30%.

Avots: opennet.ru

Pievieno komentāru