Microsoft har åbnet op for sin implementering af QUIC-protokollen, der bruges i HTTP/3

Microsoft annonceret om at åbne bibliotekskoden msquic med implementering af netværksprotokollen QUIC. Koden er skrevet i C og distribueret af under MIT-licens. Biblioteket er cross-platform og kan bruges ikke kun på Windows, men også på Linux ved hjælp af kanal eller OpenSSL til TLS 1.3. I fremtiden er det planen at understøtte andre platforme.

Biblioteket er baseret på msquic.sys-driverkoden i Windows 10-kernen (Insider Preview) for at aktivere HTTP og SMB oven på QUIC. Koden bruges også til at implementere HTTP/3 i den interne Windows-stak og i .NET Core. Udvikling af MsQuic-biblioteket vil blive udført udelukkende på GitHub ved hjælp af offentlig peer review, pull-anmodninger og GitHub-problemer. Der er udarbejdet en infrastruktur, der kontrollerer hver commit- og pull-anmodning i et sæt på mere end 4000 tests. Efter stabilisering af udviklingsmiljøet er det planlagt at acceptere ændringer fra tredjepartsudviklere.

MsQuic kan allerede bruges til at oprette servere og klienter, men ikke al funktionaliteten defineret i IETF-specifikationen er i øjeblikket tilgængelig. For eksempel er der ingen understøttelse af 0-RTT, klientmigrering, Path MTU Discovery eller Server Preferred Address-kontrol. Blandt de implementerede funktioner er optimering bemærket for at opnå maksimal gennemstrømning og minimale forsinkelser, understøttelse af asynkron input/output, RSS (Receive Side Scaling) og muligheden for at kombinere input og output UDP-streams. MsQuic-implementeringen er blevet testet for kompatibilitet med eksperimentelle versioner af Chrome- og Edge-browserne.

Husk, at HTTP/3 standardiserer brugen af ​​QUIC-protokollen som en transport for HTTP/2. Protokol QUIC (Quick UDP Internet Connections) er blevet udviklet af Google siden 2013 som et alternativ til TCP+TLS-kombinationen til nettet, hvilket løser problemer med lange opsætnings- og forhandlingstider for forbindelser i TCP og eliminerer forsinkelser, når pakker går tabt under dataoverførsel. QUIC er en udvidelse af UDP-protokollen, der understøtter multipleksing af flere forbindelser og giver krypteringsmetoder svarende til TLS/SSL.

The main Egenskaber QUIC:

  • Høj sikkerhed svarende til TLS (i det væsentlige giver QUIC mulighed for at bruge TLS 1.3 over UDP);
  • Flowintegritetskontrol, forhindrer pakketab;
  • Evnen til øjeblikkeligt at etablere en forbindelse (0-RTT, i ca. 75 % af tilfældene kan data transmitteres umiddelbart efter afsendelse af forbindelsesopsætningspakken) og give minimale forsinkelser mellem afsendelse af en anmodning og modtagelse af et svar (RTT, Round Trip Time);
    Microsoft har åbnet op for sin implementering af QUIC-protokollen, der bruges i HTTP/3

  • Ikke at bruge det samme sekvensnummer ved gentransmission af en pakke, hvilket undgår tvetydighed i at identificere modtagne pakker og slipper af med timeouts;
  • Tab 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 gennem den aktuelle forbindelse;
  • Fejlretningsfunktioner, der minimerer forsinkelser på grund af gentransmission af tabte pakker. Brug af specielle fejlkorrektionskoder på pakkeniveau for at reducere situationer, der kræver gentransmission af mistede pakkedata.
  • Kryptografiske blokgrænser er tilpasset QUIC-pakkegrænser, hvilket reducerer virkningen af ​​pakketab på afkodning af indholdet af efterfølgende pakker;
  • Ingen problemer med blokering af TCP-køer;
  • Understøttelse af forbindelsesidentifikator, som reducerer den tid, det tager at etablere en genforbindelse for mobile klienter;
  • Mulighed for tilslutning af avancerede mekanismer til kontrol af forbindelsesoverbelastning;
  • Bruger per-direction-gennemløbsprognoseteknikker for at sikre, at pakker sendes med optimale hastigheder, hvilket forhindrer dem i at blive overfyldte og forårsage pakketab;
  • Mærkbar vækst ydeevne og gennemløb sammenlignet med TCP. For videotjenester som f.eks. YouTube har QUIC vist sig at reducere tilbagesendelsesoperationer, når man ser videoer med 30 %.

Kilde: opennet.ru

Tilføj en kommentar