A Microsoft megnyitotta a HTTP/3-ban használt QUIC protokoll megvalósítását

Microsoft bejelentett a könyvtári kód megnyitásáról msquic a hálózati protokoll megvalósításával QUIC. A kód C és betűkkel van írva forgalmazza MIT licenc alatt. A könyvtár többplatformos, és nem csak Windowson, hanem Linuxon is használható s csatorna vagy OpenSSL TLS 1.3-hoz. A jövőben más platformok támogatását tervezik.

A könyvtár a Windows 10 kernelben (Insider Preview) biztosított msquic.sys illesztőprogram-kódon alapul, amely lehetővé teszi a HTTP és a SMB a QUIC tetején. A kódot a HTTP/3 megvalósítására is használják a belső Windows veremben és a .NET Core-ban. Az MsQuic könyvtár fejlesztése teljes egészében a GitHubon történik nyilvános szakértői értékelés, lekérési kérések és GitHub-problémák felhasználásával. Olyan infrastruktúrát készítettek elő, amely több mint 4000 tesztből álló sorozatban ellenőrzi az összes véglegesítési és lehívási kérelmet. A fejlesztői környezet stabilizálása után a tervek szerint elfogadják a változtatásokat külső fejlesztőktől.

Az MsQuic már használható szerverek és kliensek létrehozására, de jelenleg nem érhető el az IETF specifikációban meghatározott összes funkció. Például nem támogatott a 0-RTT, a kliens áttelepítése, az MTU útvonal felderítése vagy a kiszolgáló által preferált cím vezérlés. A megvalósított szolgáltatások közül az optimalizálás a maximális átviteli sebesség és a minimális késleltetés elérése, az aszinkron bemenet/kimenet támogatása, az RSS (Receive Side Scaling) és a bemeneti és kimeneti UDP folyamok kombinálásának képessége. Az MsQuic implementációt tesztelték a Chrome és az Edge böngészők kísérleti verzióival való kompatibilitás szempontjából.

Emlékezzünk vissza, hogy a HTTP/3 szabványosítja a QUIC protokoll használatát a HTTP/2 átviteleként. Jegyzőkönyv QUIC (Quick UDP Internet Connections) 2013 óta fejlesztette ki a Google a TCP+TLS kombináció alternatívájaként a weben, amely megoldja a TCP-kapcsolatok hosszú beállítási és egyeztetési idejével kapcsolatos problémákat, és kiküszöböli a késéseket, amikor a csomagok elvesznek az adatátvitel során. A QUIC az UDP protokoll kiterjesztése, amely támogatja több kapcsolat multiplexelését, és a TLS/SSL-lel egyenértékű titkosítási módszereket biztosít.

A főbb Jellemzők QUIC:

  • A TLS-hez hasonló magas szintű biztonság (a QUIC lényegében lehetővé teszi a TLS 1.3 használatát UDP-n keresztül);
  • Az adatfolyam integritásának ellenőrzése a csomagvesztés megelőzése érdekében;
  • Azonnali kapcsolat létrehozásának képessége (0-RTT, az esetek kb. 75%-ában az adatok közvetlenül a kapcsolatbeállító csomag elküldése után továbbíthatók), és minimális késéseket biztosít a kérés elküldése és a válasz fogadása között (RTT, Round Trip Time) ;
    A Microsoft megnyitotta a HTTP/3-ban használt QUIC protokoll megvalósítását

  • Csomag újraküldésekor ne használja ugyanazt a sorszámot, ami lehetővé teszi, hogy elkerülje a kétértelműséget a fogadott csomagok meghatározása során, és megszabaduljon az időtúllépésektől;
  • A csomagvesztés csak a hozzá tartozó adatfolyam kézbesítését érinti, és nem akadályozza meg az adatok kézbesítését az aktuális kapcsolaton keresztül párhuzamosan továbbított folyamokban;
  • Hibajavító eszközök, amelyek minimalizálják az elveszett csomagok újraküldése miatti késéseket. Speciális hibajavító kódok használata csomagszinten az elveszett csomagadatok újraküldését igénylő helyzetek csökkentése érdekében.
  • A kriptográfiai blokkhatárok igazodnak a QUIC csomaghatárokhoz, ami csökkenti a csomagvesztések hatását a következő csomagok tartalmának dekódolására;
  • Nincs probléma a TCP-sor blokkolásával;
  • Connection ID támogatás a mobil kliensek újracsatlakozási idejének csökkentése érdekében;
  • Speciális mechanizmusok csatlakoztatásának lehetősége a csatlakozás túlterhelés-szabályozására;
  • Sávszélesség-előrejelzési technikák alkalmazása minden irányban a csomagok küldésének optimális intenzitásának biztosítására, megakadályozva a torlódásos állapotba gurulást, amelyben a csomagok elvesznek;
  • Érezhető növekedés teljesítmény és átviteli sebesség a TCP-hez képest. Az olyan videoszolgáltatások esetében, mint a YouTube, a QUIC 30%-kal csökkenti a video-újrapufferelési műveleteket.

Forrás: opennet.ru

Hozzászólás