Microsoft пусна изходния код за MsQuic, мрежов протокол, използван за HTTP3

Лого на Microsoft

Разработчици на Microsoft обяви пускането на изходния код на библиотеката MsQuic с внедряването на мрежовия протокол QUIC. Библиотеката е междуплатформена и може да се използва не само за Windows, но и за Linux, използвайки Schannel или OpenSSL за TLS 1.3В допълнение, работата продължава да разширява подкрепата за други платформи в бъдеще.

Библиотеката се базира на кода на драйвера msquic.sys предоставено в ядрото на Windows 10 (Вътрешен преглед) за да се гарантира работата на HTTP и SMB протоколите през QUIC. Включването на кода се използва за внедряване на HTTP / 3 във вътрешния стек на Windows и в .NET Core.

Разработването на библиотеката MsQuic ще се извършва изцяло на GitHub, като се използва публичен преглед, заявки за изтегляне и проблеми с GitHub. Подготвена е инфраструктура, която проверява всяка заявка за фиксиране и изтегляне на набор от над 4000 теста. След стабилизиране на средата за разработка се планира да се приемат промени от външни разработчици.

Относно MsQuic

msquic може да се използва за създаване на сървъри и клиенти, но в момента не е налична цялата функционалност, определена в спецификацията на IETF. Например, няма поддръжка за 0-RTT, миграция на клиенти, Path MTU Discovery или управление на предпочитания от сървъра адрес.

Сред внедрените функции, се подчертава оптимизация за максимална производителност и минимално закъснение, подкрепа за I/ O асинхронен, RSS (Получаване на странично мащабиране), способността да комбинират UDP входни и изходни потоци. Реализацията на MsQuic е тествана за съвместимост с експерименталните клонове на браузъра Chrome и Edge.

The способност за установяване на връзка с моментаe (0-RTT, в около 75% от случаите данните могат да бъдат предадени веднага след изпращане на пакета за настройка на връзката) и гарантират минимални закъснения между изпращане на заявка и получаване на отговор (RTT, време за двупосочно пътуване).

Също, има инструменти за коригиране на грешки които минимизират закъсненията поради повторно предаване на изгубени пакети.

Използването на специални кодове за коригиране на грешки на ниво пакет за намаляване на ситуации, които изискват повторно предаване на загубени пакетни данни илиПознаване на техниката за предсказване на честотна лента във всяка посока за осигуряване на оптимална интензивност на доставката на пакета, предотвратявайки го да достигне състояние на задръстване, при което се наблюдава загуба на пакети.

От останалите характеристики QUIC ключ:

  • Висока сигурност, подобна на TLS (всъщност QUIC предоставя възможност за използване на TLS 1.3 през UDP).
  • Контрол на целостта на потока, който предотвратява загубата на пакети.
  • Неизползването на един и същ пореден номер при повторно предаване на пакет, което избягва неяснота при определяне на получените пакети и елиминира времето за изчакване.
  • Загубата на пакет засяга доставката само на свързания с него поток и не спира доставката на данни в паралелни потоци, предавани по текущата връзка.
  • Границите на крипто блока са подравнени с границите на пакета QUIC, намалявайки ефекта от загубата на пакети върху декодирането на съдържанието на следващите пакети.
  • Няма проблеми с блокирането на TCP опашката.
  • Поддръжка на идентификатор на връзка, което намалява времето за установяване на повторно свързване за мобилни клиенти.
  • Той има способността да свързва усъвършенствани механизми за контрол на задръстванията на връзките.
  • Той може да се похвали със забележителна производителност и печалба в сравнение с TCP. За видео услуги като YouTube, QUIC демонстрира 30% намаление на операциите за повторно буфериране при гледане на видеоклипове.

Накрая за тези, които се интересуват да знаят повече за това За MsQuic или искате да разгледате изходния му код, трябва да знаете, че кодът е написан на C, той е междуплатформен, с общо предназначение, разпространява се под лиценза MIT и пуснатият код се хоства на GitHub.

Fuente: https://techcommunity.microsoft.com


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.