Valve vydala sieťovú knižnicu GameNetworkingSockets 1.5.0

Po štyroch rokoch vývoja spoločnosť Valve publikovala verziu knižnice GameNetworkingSockets 1.5.0 s implementáciou systému prenosu správ nad UDP, ktorý sa môže použiť na organizovanie vysokorýchlostného a spoľahlivého sieťového prenosu údajov v hrách. Kód je napísaný v jazyku C++ a dodáva sa pod licenciou BSD.

GameNetworkingSockets implementuje nad UDP protokol podobný TCP, ktorý zabezpečuje nadviazanie spojenia, ale je zameraný na prenos správ namiesto prúdov. Cez ustanovený komunikačný kanál môžu byť správy prenášané ako v režime garantovanej dodávky, tak aj s použitím rýchlejšieho režimu nespolehlivého prenosu.

Protokol podporuje také schopnosti ako spracovanie fragmentácie, prebudovanie paketov, prediktívne riadenie a obmedzenie priepustnosti, vytváranie P2P komunikačných kanálov, obchádzanie prekladateľov adries (cez WebRTC ICE) a šifrovanie. Údaje v paketoch sú šifrované pomocou algoritmu blokového šifrovania AES, a na výmenu kľúčov a overovanie certifikátov sa používajú digitálne podpisy založené na eliptických krivkách Ed25519. Mechanizmy dodávky kľúčov a voľby inicializačného vektora pre každý paket sú založené na metódach používaných v protokole QUIC.

Medzi zmenami v novej verzii:

  • API ISteamNetworkingSockets::SendMessages bolo rozšírené na zjednodušenie spracovania chýb pri odosielaní a iniciovaní opakovaných pokusov o dodávku.
  • Pridané nové nastavenia pre ECN, jitter, definovanie lokálneho IP (IPLocalHost) a vypnutie autentifikácie (AllowWithoutAuth).
  • Bol pridaný variant API ISteamNetworkingMessages pre jazyk C.
  • Bola implementovaná počiatočná verzia obalu pre jazyk Rust.
  • Opravené chyby v implementácii režimu P2P.
  • Bola implementovaná automatická korekcia situácií súvisiacich s porušovaním poradia príchodu paketov a správ.
  • Zlepšená integrácia s nástrojmi CMake a vcpkg.
  • Zabezpečená kompatibilita s novými verziami knižníc protobuf a abseil.
  • Pridaná podpora diagnostiky cez ETW (Event Tracing for Windows).
  • Zakryté zraniteľnosti, o ktorých sa informácie nezverejňujú, ale podľa záznamu zmien ide o pretečenie celého čísla vo funkciách na odosielanie paketov a možností obchádzania overovania certifikátu vo funkcii CheckCertPOPID.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster