Microsoft frigav kildekoden til MsQuic, en netværksprotokol, der bruges til HTTP3

Microsoft-logo

Microsoft udviklere annoncerede udgivelsen af ​​kildekoden til MsQuic-biblioteket med implementering af QUIC netværksprotokollen. Biblioteket er tværplatform og kan bruges ikke kun på Windows, men også på Linux ved hjælp af Schannel eller OpenSSL til TLS 1.3, udover at arbejde videre med at udvide supporten til andre platforme i fremtiden.

Biblioteket er baseret på msquic.sys-driverkoden leveres i Windows 10-kernen (intern forhåndsvisning) for at sikre driften af ​​HTTP- og SMB-protokollerne over QUIC. Kodeinkluderingen bruges til at implementere HTTP/3 i Windows interne stak og i .NET Core.

Udvikling af MsQuic-biblioteket vil blive udført udelukkende på GitHub ved hjælp af offentlig gennemgang, pull-anmodninger og GitHub-problemer. Der er udarbejdet en infrastruktur, der verificerer hver commit- og pull-anmodning mod et sæt på mere end 4000 tests. Efter stabilisering af udviklingsmiljøet er det planlagt at acceptere ændringer fra eksterne udviklere.

Om MsQuic

msquic kan bruges til at oprette servere og klienter, men ikke alle de funktioner, der er defineret i IETF-specifikationen, er tilgængelige i øjeblikket. For eksempel er der ingen understøttelse af 0-RTT, klientmigrering, Path MTU Discovery eller serverforetrukket adressekontrol.

Blandt de implementerede funktioner, optimering for maksimal gennemstrømning og minimale forsinkelser understreges, støtte til I/O asynkron, RSS (Modtag lateral skalering), evnen til kombinere UDP input og output streams. MsQuic-implementeringen er blevet testet for kompatibilitet med de eksperimentelle Chrome- og Edge-browsergrene.

Det mulighed for at oprette forbindelse med det sammee (0-RTT, i ca. 75 % af tilfældene kan data transmitteres umiddelbart efter afsendelse af forbindelsesopsætningspakken) og sikre minimale forsinkelser mellem afsendelse af en anmodning og modtagelse af et svar (RTT , Rundturstid).

Derudover Har fejlrettelsesværktøjer som minimerer forsinkelser på grund af retransmission af tabte pakker.

Brugen af ​​særlige fejlkorrektionskoder på pakkeniveau for at reducere situationer, der kræver gentransmission af mistede pakkedata ellerBrug af teknikken til at forudsige båndbredde i alle retninger for at sikre optimal pakkevideresendelsesintensitet, hvilket forhindrer det i at nå en overbelastningstilstand, hvor pakketab observeres.

Af de andre egenskaber QUIC nøgle:

  • Høj sikkerhed, der ligner TLS (faktisk giver QUIC mulighed for at bruge TLS 1.3 over UDP).
  • Flowintegritetskontrol, der forhindrer pakketab.
  • Brug ikke det samme sekvensnummer ved gentransmission af en pakke, hvilket undgår tvetydighed ved bestemmelse af modtagne pakker og eliminerer ventetider.
  • Tabet af en pakke påvirker kun leveringen af ​​den strøm, der er knyttet til den, og stopper ikke leveringen af ​​data i parallelle strømme, der transmitteres over den aktuelle forbindelse.
  • De kryptografiske blokgrænser er tilpasset QUIC-pakkegrænserne, hvilket reducerer effekten af ​​pakketab på dekodning af indholdet af efterfølgende pakker.
  • Der er ingen problemer med blokering af TCP-køer.
  • Understøttelse af forbindelsesidentifikator, som reducerer tiden til at etablere en genforbindelse for mobile klienter.
  • Den har evnen til at forbinde avancerede mekanismer for at kontrollere forbindelsesoverbelastning.
  • Det kan prale med bemærkelsesværdig ydeevne og præstationsforbedringer i forhold til TCP. For videotjenester som YouTube har QUIC demonstreret en reduktion på 30 % i rebuffering, når man ser videoer.

Endelig for dem der er interesserede i at vide mere om det om MsQuic eller ønsker at tage et kig på dens kildekode, skal du vide, at koden er skrevet i C, den er på tværs af platforme, generelt formål, den distribueres under MIT-licensen, og den frigivne kode er hostet på GitHub.

kilde: https://techcommunity.microsoft.com


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.