ProHoster > Log > Internett-nyheter > Microsoft har åpnet for implementeringen av QUIC-protokollen som brukes i HTTP/3
Microsoft har åpnet for implementeringen av QUIC-protokollen som brukes i HTTP/3
Microsoft kunngjort om å åpne bibliotekkoden msquic med implementering av nettverksprotokollen QUIC. Koden er skrevet i C og distribuert av under MIT-lisens. Biblioteket er på tvers av plattformer og kan brukes ikke bare på Windows, men også på Linux Kanal eller OpenSSL for TLS 1.3. I fremtiden er det planlagt å støtte andre plattformer.
Biblioteket er basert på msquic.sys-driverkoden gitt i Windows 10-kjernen (Insider Preview) for å aktivere HTTP og SMB på toppen av QUIC. Koden brukes også til å implementere HTTP/3 i den interne Windows-stakken og i .NET Core. Utviklingen av MsQuic-biblioteket vil bli utført utelukkende på GitHub ved bruk av offentlig fagfellevurdering, pull-forespørsler og GitHub-problemer. Det er utarbeidet en infrastruktur som sjekker hver commit- og pull-forespørsel i et sett med mer enn 4000 tester. Etter å ha stabilisert utviklingsmiljøet er det planlagt å akseptere endringer fra tredjepartsutviklere.
MsQuic kan allerede brukes til å lage servere og klienter, men ikke all funksjonalitet definert i IETF-spesifikasjonen er tilgjengelig for øyeblikket. For eksempel er det ingen støtte for 0-RTT, klientmigrering, Path MTU Discovery eller Server Preferred Address-kontroll. Blant de implementerte funksjonene er optimalisering notert for å oppnå maksimal gjennomstrømning og minimale forsinkelser, støtte for asynkron input/output, RSS (Receive Side Scaling), og muligheten til å kombinere input og output UDP-strømmer. MsQuic-implementeringen har blitt testet for kompatibilitet med eksperimentelle versjoner av Chrome- og Edge-nettleserne.
Husk at HTTP/3 standardiserer bruken av QUIC-protokollen som transport for HTTP/2. Protokoll QUIC (Quick UDP Internet Connections) har blitt utviklet av Google siden 2013 som et alternativ til TCP+TLS-kombinasjonen for nettet, og løser problemer med lange oppsett- og forhandlingstider for tilkoblinger i TCP og eliminerer forsinkelser når pakker går tapt under dataoverføring. QUIC er en utvidelse av UDP-protokollen som støtter multipleksing av flere tilkoblinger og gir krypteringsmetoder tilsvarende TLS/SSL.
Høy sikkerhet som ligner på TLS (i hovedsak gir QUIC muligheten til å bruke TLS 1.3 over UDP);
Flytintegritetskontroll, forhindrer pakketap;
Muligheten til å umiddelbart opprette en forbindelse (0-RTT, i omtrent 75 % av tilfellene kan data overføres umiddelbart etter sending av tilkoblingsoppsettpakken) og gir minimale forsinkelser mellom sending av en forespørsel og mottak av svar (RTT, Round Trip Time);
Å ikke bruke samme sekvensnummer når du sender en pakke på nytt, noe som unngår tvetydighet i å identifisere mottatte pakker og eliminerer tidsavbrudd;
Tap av en pakke påvirker bare leveringen av strømmen knyttet til den og stopper ikke leveringen av data i parallelle strømmer som overføres gjennom den gjeldende forbindelsen;
Feilrettingsfunksjoner som minimerer forsinkelser på grunn av reoverføring av tapte pakker. Bruk av spesielle feilrettingskoder på pakkenivå for å redusere situasjoner som krever reoverføring av tapte pakkedata.
Kryptografiske blokkgrenser er justert med QUIC-pakkegrenser, noe som reduserer effekten av pakketap på dekoding av innholdet i påfølgende pakker;
Ingen problemer med blokkering av TCP-kø;
Støtte for tilkoblingsidentifikator, som reduserer tiden det tar å etablere en ny tilkobling for mobilklienter;
Mulighet for å koble til avanserte mekanismer for kontroll av overbelastning;
Bruker prognoseteknikker per retning for å sikre at pakker sendes med optimale hastigheter, og forhindrer at de blir overbelastet og forårsaker pakketap;
Merkbar vekst ytelse og gjennomstrømning sammenlignet med TCP. For videotjenester som YouTube, har QUIC vist seg å redusere tilbakestillingsoperasjoner når du ser på videoer med 30 %.