Microsoft корпорациясы HTTP/3 жүйесінде қолданылатын QUIC протоколын енгізуді ашты

Microsoft компаниясы жариялады кітапхана кодын ашу туралы msquic желілік хаттаманың орындалуымен QUIC. Код C және тілінде жазылған таралады MIT лицензиясы бойынша. Кітапхана кросс-платформа болып табылады және оны тек Windows жүйесінде ғана емес, сонымен қатар Linux жүйесінде де пайдалануға болады Арна немесе TLS 1.3 үшін OpenSSL. Болашақта басқа платформаларға қолдау көрсету жоспарлануда.

Кітапхана HTTP және SMB QUIC үстіне. Код сонымен қатар ішкі Windows стекінде және .NET Core жүйесінде HTTP/3 енгізу үшін пайдаланылады. MsQuic кітапханасын әзірлеу жалпыға ортақ шолу, тарту сұраулары және GitHub мәселелері арқылы толығымен GitHub жүйесінде жүзеге асырылады. 4000-нан астам сынақтар жиынтығында әрбір міндеттемені тексеретін және сұрауды қабылдайтын инфрақұрылым дайындалды. Әзірлеу ортасын тұрақтандырудан кейін үшінші тарап әзірлеушілерінен өзгерістерді қабылдау жоспарлануда.

MsQuic серверлер мен клиенттерді жасау үшін бұрыннан пайдаланылуы мүмкін, бірақ IETF спецификациясында анықталған барлық функциялар қазіргі уақытта қол жетімді емес. Мысалы, 0-RTT, клиент тасымалдауы, MTU жолын табу немесе сервердің таңдаулы мекенжайын басқару үшін қолдау жоқ. Іске асырылған мүмкіндіктердің ішінде максималды өткізу қабілеті мен ең аз кідірістерге қол жеткізу үшін оңтайландыру, асинхронды енгізу/шығысты қолдау, RSS (Receive Side Scaling) және кіріс және шығыс UDP ағындарын біріктіру мүмкіндігі атап өтіледі. MsQuic іске асыру Chrome және Edge браузерлерінің тәжірибелік нұсқаларымен үйлесімділік үшін сыналған.

Еске салайық, HTTP/3 QUIC протоколын HTTP/2 үшін тасымалдау ретінде пайдалануды стандарттайды. Протокол QUIC (Quick UDP Internet Connections) 2013 жылдан бері Google компаниясымен Интернетке арналған TCP+TLS тіркесіміне балама ретінде әзірленген, TCP жүйесіндегі қосылымдар үшін ұзақ орнату және келіссөздер уақыттары мәселелерін шешеді және деректерді тасымалдау кезінде пакеттер жоғалған кездегі кідірістерді болдырмайды. QUIC — бірнеше қосылымдарды мультиплекстеуді қолдайтын және TLS/SSL эквивалентті шифрлау әдістерін қамтамасыз ететін UDP протоколының кеңейтімі.

басты әсіресе ТЕЗ:

  • TLS-ке ұқсас жоғары қауіпсіздік (негізінен QUIC UDP арқылы TLS 1.3 пайдалану мүмкіндігін береді);
  • Ағынның тұтастығын бақылау, пакеттердің жоғалуын болдырмау;
  • Қосылымды лезде орнату мүмкіндігі (0-RTT, шамамен 75% жағдайда деректерді қосылымды орнату пакетін жібергеннен кейін бірден беруге болады) және сұрауды жіберу мен жауап алу арасындағы ең аз кідірістерді қамтамасыз ету (RTT, бару уақыты);
    Microsoft корпорациясы HTTP/3 жүйесінде қолданылатын QUIC протоколын енгізуді ашты

  • Пакетті қайта жіберу кезінде бір реттік нөмірді пайдаланбау, бұл қабылданған пакеттерді анықтауда екіұштылықты болдырмайды және күту уақытынан құтылады;
  • Пакеттің жоғалуы онымен байланысты ағынның жеткізілуіне ғана әсер етеді және ағымдағы қосылым арқылы берілетін параллельді ағындардағы мәліметтерді жеткізуді тоқтатпайды;
  • Жоғалған пакеттерді қайта жіберуге байланысты кідірістерді азайтатын қателерді түзету мүмкіндіктері. Жоғалған пакеттік деректерді қайта жіберуді қажет ететін жағдайларды азайту үшін пакет деңгейінде арнайы қателерді түзету кодтарын пайдалану.
  • Криптографиялық блок шекаралары QUIC пакет шекараларымен сәйкестендіріледі, бұл келесі пакеттердің мазмұнын декодтау кезінде десте жоғалуларының әсерін азайтады;
  • TCP кезегін блоктауда проблемалар жоқ;
  • Ұялы клиенттер үшін қайта қосылуды орнатуға кететін уақытты азайтатын қосылым идентификаторын қолдау;
  • Жетілдірілген қосылымның кептелуін бақылау механизмдерін қосу мүмкіндігі;
  • Пакеттердің оңтайлы жылдамдықпен жіберілуін қамтамасыз ету, олардың кептелуіне және пакеттердің жоғалуына жол бермеу үшін әр бағыттағы өткізу қабілеттілігін болжау әдістерін пайдаланады;
  • Көрінетін ұлғайту TCP-мен салыстырғанда өнімділік пен өткізу қабілеттілігі. YouTube сияқты бейне қызметтері үшін QUIC бейнелерді көргенде кері қайтару әрекеттерін 30%-ға азайтатыны көрсетілген.

Ақпарат көзі: opennet.ru

пікір қалдыру