Mikrosofto malfermis sian efektivigon de la QUIC-protokolo uzata en HTTP/3

Mikrosofta Kompanio anoncita pri malfermo de la biblioteka kodo msquic kun la efektivigo de la reto-protokolo QUIC. La kodo estas skribita en C kaj distribuita de sub MIT-licenco. La biblioteko estas plurplatforma kaj povas esti uzata ne nur en Vindozo, sed ankaŭ en Linukso uzante Ŝanelo aŭ OpenSSL por TLS 1.3. En la estonteco, estas planite subteni aliajn platformojn.

La biblioteko baziĝas sur la ŝoforkodo msquic.sys provizita en la Windows 10 kerno (Insider Preview) por ebligi la HTTP kaj SMB supre de QUIC. La kodo ankaŭ estas uzata por efektivigi HTTP/3 en la interna Vindoza stako kaj en .NET Core. Disvolviĝo de la MsQuic-biblioteko estos farita tute sur GitHub uzante publikan kunulan revizion, tirpetojn kaj GitHub-Problemojn. Infrastrukturo estis preparita, kiu kontrolas ĉiun peton de kompromiso kaj tirado en aro de pli ol 4000 testoj. Post stabiligo de la evolumedio, oni planas akcepti ŝanĝojn de triaj programistoj.

MsQuic jam povas esti uzata por krei servilojn kaj klientojn, sed ne ĉio el la funkcieco difinita en la IETF-specifo estas nuntempe havebla. Ekzemple, ekzistas neniu subteno por 0-RTT, klientmigrado, Path MTU Discovery, aŭ Server Preferred Address-kontrolo. Inter la efektivigitaj funkcioj, optimumigo estas notita atingi maksimuman trairon kaj minimumajn prokrastojn, subtenon por nesinkrona enigo/eligo, RSS (Ricevu Flanka Skalado), kaj la kapablo kombini enigaĵon kaj produktaĵon UDP-riveretojn. La efektivigo de MsQuic estis provita por kongruo kun eksperimentaj versioj de la retumiloj Chrome kaj Edge.

Memoru, ke HTTP/3 normigas la uzon de la QUIC-protokolo kiel transporto por HTTP/2. Protokolo QUIC (Rapidaj UDP-Interretaj Konektoj) estas evoluigita de Google ekde 2013 kiel alternativo al la TCP+TLS-kombinaĵo por la Reto, solvante problemojn kun longaj aranĝoj kaj intertraktadtempoj por konektoj en TCP kaj forigante prokrastojn kiam pakaĵetoj estas perditaj dum datumtransigo. QUIC estas etendaĵo de la UDP-protokolo kiu subtenas multipleksadon de multoblaj ligoj kaj disponigas ĉifradmetodojn ekvivalentajn al TLS/SSL.

Ĉefa Karakterizaĵoj RAPIDA:

  • Alta sekureco simila al TLS (esence QUIC provizas la kapablon uzi TLS 1.3 super UDP);
  • Flua integreco-kontrolo, malhelpante pakaĵetperdon;
  • La kapablo tuj establi konekton (0-RTT, en proksimume 75% de kazoj datumoj povas esti transdonitaj tuj post sendado de la konekto-aranĝa pako) kaj disponigi minimumajn prokrastojn inter sendado de peto kaj ricevado de respondo (RTT, Round Trip Time);
    Mikrosofto malfermis sian efektivigon de la QUIC-protokolo uzata en HTTP/3

  • Ne uzanta la saman sinsekvon dum retranssendo de pakaĵeto, kio evitas ambiguecon en identigado de ricevitaj pakaĵetoj kaj forigas tempodemortojn;
  • Perdo de pakaĵeto influas nur la liveron de la rivereto asociita kun ĝi kaj ne ĉesigas la liveron de datenoj en paralelaj riveretoj elsenditaj tra la nuna konekto;
  • Erarkorektaj funkcioj, kiuj minimumigas prokrastojn pro retranssendo de perditaj pakaĵoj. Uzo de specialaj erarĝustigkodoj ĉe la pakaĵetnivelo por redukti situaciojn postulantajn retranssendon de perditaj pakaĵetdatenoj.
  • Kriptografiaj bloklimoj estas vicigitaj kun QUIC pakaĵetlimoj, kiu reduktas la efikon de pakaĵetperdoj sur malkodado de la enhavo de postaj pakaĵetoj;
  • Neniuj problemoj kun TCP-vostoblokado;
  • Subteno por konekto-identigilo, kiu reduktas la tempon necesan por establi rekonekton por moveblaj klientoj;
  • Eblo konekti altnivelajn kongestajn kontrolmekanismojn de konekto;
  • Uzas laŭdirektajn trairajn prognozajn teknikojn por certigi, ke pakaĵetoj estas senditaj ĉe optimumaj tarifoj, malhelpante ilin iĝi ŝtopita kaj kaŭzante pakaĵetperdon;
  • Perceptebla kresko rendimento kaj trairo kompare kun TCP. Por videoservoj kiel ekzemple Jutubo, QUIC pruviĝis redukti rebuferoperaciojn dum spektado de videoj je 30%.

fonto: opennet.ru

Aldoni komenton