Microsoft-ը բացել է HTTP/3-ում օգտագործվող QUIC արձանագրության իր ներդրումը

Microsoft ընկերությունը հայտարարվեց գրադարանի կոդը բացելու մասին msquic ցանցային արձանագրության ներդրմամբ QUIC. Կոդը գրված է C և տարածվում է MIT լիցենզիայի ներքո: Գրադարանը խաչաձև հարթակ է և կարող է օգտագործվել ոչ միայն Windows-ի, այլև Linux-ի միջոցով Շանել կամ OpenSSL TLS 1.3-ի համար: Հետագայում նախատեսվում է աջակցել այլ հարթակների։

Գրադարանը հիմնված է Windows 10 միջուկում տրամադրված msquic.sys վարորդի կոդի վրա (Insider Preview)՝ HTTP-ն և SMB QUIC-ի վերևում: Կոդն օգտագործվում է նաև HTTP/3-ի ներդրման համար ներքին Windows stack-ում և .NET Core-ում: MsQuic գրադարանի մշակումն ամբողջությամբ կիրականացվի GitHub-ում՝ օգտագործելով հանրային գործընկերների վերանայումը, ձգողականության հարցումները և GitHub-ի խնդիրները: Նախապատրաստվել է ենթակառուցվածք, որը ստուգում է յուրաքանչյուր պարտավորության և ձգման հարցում ավելի քան 4000 թեստերի փաթեթում: Զարգացման միջավայրը կայունացնելուց հետո նախատեսվում է փոփոխություններ ընդունել երրորդ կողմի մշակողների կողմից։

MsQuic-ն արդեն կարող է օգտագործվել սերվերներ և հաճախորդներ ստեղծելու համար, սակայն IETF-ի բնութագրում սահմանված ոչ բոլոր գործառույթներն են ներկայումս հասանելի: Օրինակ, 0-RTT-ի, հաճախորդի միգրացիայի, Path MTU Discovery-ի կամ Server Preferred Address Control-ի համար աջակցություն չկա: Իրականացված առանձնահատկություններից օպտիմիզացիան նշվում է առավելագույն թողունակության և նվազագույն ուշացումների հասնելու համար, ասինխրոն մուտքային/ելքային աջակցություն, RSS (Ստացման կողային մասշտաբավորում) և մուտքային և ելքային UDP հոսքերը համատեղելու ունակությունը: MsQuic-ի ներդրումը փորձարկվել է Chrome և Edge բրաուզերների փորձարարական տարբերակների հետ համատեղելիության համար:

Հիշեցնենք, որ HTTP/3-ը ստանդարտացնում է QUIC արձանագրության օգտագործումը որպես HTTP/2-ի փոխադրում: Արձանագրություն QUIC (Quick UDP Internet Connections) մշակվել է Google-ի կողմից 2013 թվականից՝ որպես համացանցի համար TCP+TLS համակցության այլընտրանք՝ լուծելով TCP-ում կապերի երկար կարգավորումների և բանակցությունների ժամանակի հետ կապված խնդիրները և վերացնելով տվյալների փոխանցման ընթացքում փաթեթների կորստի ժամանակ ձգձգումները: QUIC-ը UDP արձանագրության ընդլայնումն է, որն աջակցում է բազմաթիվ կապերի մուլտիպլեքսավորմանը և ապահովում է գաղտնագրման մեթոդներ, որոնք համարժեք են TLS/SSL-ին:

Հիմնական առանձնահատկությունները QUIC:

  • Բարձր անվտանգություն, որը նման է TLS-ին (հիմնականում QUIC-ն ապահովում է TLS 1.3-ը UDP-ի միջոցով օգտագործելու հնարավորություն);
  • Հոսքի ամբողջականության վերահսկում, փաթեթների կորստի կանխարգելում;
  • Անմիջապես կապ հաստատելու հնարավորություն (0-RTT, դեպքերի մոտավորապես 75%-ում տվյալները կարող են փոխանցվել կապի կարգավորումների փաթեթն ուղարկելուց անմիջապես հետո) և ապահովել հարցում ուղարկելու և պատասխան ստանալու միջև նվազագույն ուշացումներ (RTT, Կլոր ուղևորության ժամանակ);
    Microsoft-ը բացել է HTTP/3-ում օգտագործվող QUIC արձանագրության իր ներդրումը

  • Միևնույն հաջորդական համարը չօգտագործել փաթեթը վերահաղորդելիս, ինչը խուսափում է ստացված փաթեթների նույնականացման հարցում անորոշությունից և ազատվում է ժամանակի ընդմիջումից.
  • Փաթեթի կորուստը ազդում է միայն դրա հետ կապված հոսքի առաքման վրա և չի դադարեցնում տվյալների առաքումը ընթացիկ կապի միջոցով փոխանցվող զուգահեռ հոսքերով.
  • Սխալների ուղղման առանձնահատկություններ, որոնք նվազագույնի են հասցնում կորցրած փաթեթների վերահաղորդման պատճառով հետաձգումները: Փաթեթի մակարդակում սխալների ուղղման հատուկ կոդերի օգտագործումը՝ կորցրած փաթեթային տվյալների վերահաղորդում պահանջող իրավիճակները նվազեցնելու համար:
  • Կրիպտոգրաֆիկ բլոկի սահմանները համահունչ են QUIC փաթեթների սահմաններին, ինչը նվազեցնում է փաթեթների կորուստների ազդեցությունը հետագա փաթեթների բովանդակության վերծանման վրա.
  • TCP հերթի արգելափակման հետ կապված խնդիրներ չկան.
  • Կապի նույնացուցիչի աջակցություն, որը նվազեցնում է շարժական հաճախորդների համար վերամիացում հաստատելու ժամանակը.
  • Միացման գերբեռնվածության վերահսկման առաջադեմ մեխանիզմների միացման հնարավորություն;
  • Օգտագործում է յուրաքանչյուր ուղղության թողունակության կանխատեսման տեխնիկան՝ ապահովելու փաթեթների վերահասցեավորման օպտիմալ տեմպերը՝ կանխելով գերբեռնվածությունը և փաթեթների կորուստը.
  • Ըմբռնելի աճը կատարումը և թողունակությունը՝ համեմատած TCP-ի հետ: Ցույց է տրվել, որ վիդեո ծառայությունների համար, ինչպիսին է YouTube-ը, QUIC-ը 30%-ով նվազեցնում է ռեբուֆերացման գործողությունները տեսանյութեր դիտելիս:

Source: opennet.ru

Добавить комментарий