Microsoft släppte källkoden för MsQuic, ett nätverksprotokoll som används för HTTP3

Microsofts logotyp

Microsoft-utvecklare tillkännagav lanseringen av källkoden för MsQuic-biblioteket med implementeringen av QUIC-nätverksprotokollet. Biblioteket är plattformsoberoende och kan inte bara användas på Windows utan även på Linux med Schannel eller OpenSSL för TLS 1.3Dessutom fortsätter arbetet med att utöka stödet för andra plattformar i framtiden.

Biblioteket är baserat på msquic.sys drivrutinkod tillhandahålls i Windows 10-kärnan (Intern förhandsvisning) för att garantera drift av HTTP- och SMB-protokoll över QUIC. Kod inkludering används för att implementera HTTP / 3 på den interna Windows stacken och .NET Core.

Utvecklingen av MsQuic-biblioteket kommer att ske helt på GitHub med hjälp av offentlig granskning, pull-förfrågningar och GitHub-problem. En infrastruktur har utarbetats som verifierar varje begäran om att begå och dra i en uppsättning av mer än 4000 tester. Efter att utvecklingsmiljön har stabiliserats är det planerat att acceptera ändringar från externa utvecklare.

Om MsQuic

msquic kan användas för att skapa servrar och klienter, men inte alla funktioner som definieras i IETF-specifikationen är för närvarande tillgängliga. Det finns till exempel inget stöd för 0-RTT, klientmigrering, Path MTU Discovery eller serverföredragen adresskontroll.

Bland de implementerade funktionerna, optimering för maximal prestanda och minsta fördröjning markeras, stöd för jag/ O asynkron, RSS (Få lateral skalning), förmågan att kombinera UDP-in- och utgångsströmmar. MsQuic-implementeringen har testats för kompatibilitet med de experimentella Chrome- och Edge-webbläsargrenarna.

De förmåga att upprätta en anslutning till instante (0-RTT, i ungefär 75% av fallen kan data överföras omedelbart efter att anslutningspaketet har skickats) och garanterar minimala förseningar mellan att skicka en begäran och ta emot ett svar (RTT, tur / retur-tid).

Dessutom, har felkorrigeringsverktyg som minimerar förseningar på grund av återutsändning av förlorade paket.

Användningen av speciella felkorrigeringskoder på paketnivå för att minska situationer som kräver återöverföring av förlorade paketdata ellerAtt känna till tekniken för att förutsäga bandbredd i alla riktningar för att säkerställa optimal leveransintensitetförhindrar att den når ett tillstånd av trängsel där paketförlust observeras.

Av de andra egenskaperna QUIC-tangent:

  • Hög säkerhet, liknar TLS (i själva verket ger QUIC möjlighet att använda TLS 1.3 över UDP).
  • Flödesintegritetskontroll som förhindrar paketförlust.
  • Använd inte samma sekvensnummer vid sändning av ett paket igen, vilket undviker tvetydighet vid bestämning av mottagna paket och eliminerar timeouts.
  • Att förlora ett paket påverkar leveransen av endast den ström som är associerad med det och stoppar inte leveransen av data i parallella strömmar som sänds över den aktuella anslutningen.
  • Kryptografiska blockgränser anpassas till QUIC-paketgränser, vilket minskar effekten av paketförlust på avkodning av innehållet i efterföljande paket.
  • Det finns inga problem med att blockera TCP-kön.
  • Stöd för anslutningsidentifierare, vilket minskar tiden för att skapa en återanslutning för mobila klienter.
  • Den har förmågan att ansluta avancerade mekanismer för att kontrollera anslutningsöverbelastning.
  • Det har anmärkningsvärda prestanda och prestationsvinster jämfört med TCP. För videotjänster som YouTube har QUIC visat en 30% minskning av återbuffringsåtgärder när du tittar på videor.

Slutligen för dem som är intresserade av att veta mer om det Om MsQuic eller vill ta en titt på dess källkod, bör du veta att koden är skriven i C, den är plattform, allmänt, den distribueras under MIT-licensen och den släppta koden är värd på GitHub.

Fuente: https://techcommunity.microsoft.com


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.