Microsoft heeft de broncode vrijgegeven voor MsQuic, een netwerkprotocol dat wordt gebruikt voor HTTP3

Microsoft-logo

Microsoft-ontwikkelaars kondigde de release aan van de broncode van de MsQuic-bibliotheek met de implementatie van het QUIC netwerkprotocol. De bibliotheek is platformonafhankelijk en kan niet alleen op Windows worden gebruikt, maar ook op Linux met Schannel of OpenSSL voor TLS 1.3Bovendien wordt er in de toekomst verder gewerkt aan het uitbreiden van de ondersteuning voor andere platforms.

De bibliotheek is gebaseerd op de stuurprogrammacode msquic.sys geleverd in Windows 10-kernel (interne preview) om de werking van de HTTP- en SMB-protocollen via QUIC te garanderen. Code-opname wordt gebruikt om HTTP / 3 te implementeren op de interne Windows-stack en op .NET Core.

De ontwikkeling van de MsQuic-bibliotheek zal volledig op GitHub gebeuren met behulp van openbare beoordelingen, pull-verzoeken en GitHub-problemen. Er is een infrastructuur voorbereid die elk commit- en pull-verzoek verifieert aan de hand van een set van meer dan 4000 tests. Nadat de ontwikkelomgeving is gestabiliseerd, is het de bedoeling om wijzigingen van externe ontwikkelaars te accepteren.

Over MsQuic

msquic kan worden gebruikt om servers en clients te maken, maar niet alle functionaliteit die is gedefinieerd in de IETF-specificatie is momenteel beschikbaar. Er is bijvoorbeeld geen ondersteuning voor 0-RTT, clientmigratie, Path MTU Discovery of server-voorkeursadresbeheer.

Onder de geïmplementeerde functies, optimalisatie voor maximale prestaties en minimale vertraging is gemarkeerd, ondersteuning voor I/ O asynchroon, RSS (Ontvang laterale schaalvergroting), de mogelijkheid om combineer UDP-invoer- en uitvoerstromen​ De MsQuic-implementatie is getest op compatibiliteit met de experimentele Chrome- en Edge-browsertakken.

De mogelijkheid om een ​​verbinding tot stand te brengen met Instante (0-RTT, in ongeveer 75% van de gevallen kunnen de gegevens onmiddellijk worden verzonden na het verzenden van het verbindingssetuppakket) en garanderen minimale vertragingen tussen het verzenden van een verzoek en het ontvangen van een antwoord (RTT, Round-trip-tijd).

Bovendien, heeft foutcorrectietools die vertragingen als gevolg van het opnieuw verzenden van verloren pakketten minimaliseren.

Het gebruik van speciale foutcorrectiecodes op pakketniveau om situaties te verminderen waarin het opnieuw verzenden van verloren pakketgegevens ofDe techniek kennen om bandbreedte te voorspellen in elke richting om een ​​optimale leveringsintensiteit van het pakket te garanderen, waardoor wordt voorkomen dat het een toestand van congestie bereikt waarin pakketverlies wordt waargenomen.

Van de andere kenmerken QUIC-toets:

  • Hoge beveiliging, vergelijkbaar met TLS (in feite biedt QUIC de mogelijkheid om TLS 1.3 via UDP te gebruiken).
  • Flow-integriteitscontrole die pakketverlies voorkomt.
  • Het niet gebruiken van hetzelfde volgnummer bij het opnieuw verzenden van een pakket, waardoor dubbelzinnigheid bij het bepalen van ontvangen pakketten wordt vermeden en time-outs worden geëlimineerd.
  • Het verlies van een pakket heeft alleen invloed op de levering van de stroom die eraan is gekoppeld en stopt niet de levering van gegevens in parallelle stromen die via de huidige verbinding worden verzonden.
  • Cryptoblokgrenzen worden uitgelijnd met QUIC-pakketgrenzen, waardoor het effect van pakketverlies op het decoderen van de inhoud van volgende pakketten wordt verminderd.
  • Er zijn geen problemen met het blokkeren van de TCP-wachtrij.
  • Ondersteuning voor verbindings-ID, waardoor de tijd om opnieuw verbinding te maken voor mobiele clients wordt verkort.
  • Het heeft de mogelijkheid om geavanceerde mechanismen aan te sluiten om verbindingscongestie te beheersen.
  • Het biedt opmerkelijke prestaties en prestatieverbeteringen ten opzichte van TCP. Voor videoservices zoals YouTube heeft QUIC een vermindering van 30% aangetoond in het opnieuw bufferen bij het bekijken van video's.

Eindelijk voor diegenen die er meer over willen weten Over MsQuic of als je de broncode wilt bekijken, moet je weten dat de code is geschreven in C, dat het platformonafhankelijk is, voor algemeen gebruik is, wordt gedistribueerd onder de MIT-licentie en de vrijgegeven code wordt gehost op GitHub.

bron: https://techcommunity.microsoft.com


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.