Valve har publiceret det netværksbibliotek GameNetworkingSockets 1.5.0

Efter fire års udvikling har Valve offentliggjort udgivelsen af GameNetworkingSockets 1.5.0-biblioteket, som implementerer en meddelelsesoverførselsprotokol over UDP, der kan bruges til at organisere højhastigheds- og pålidelig netværksudveksling af data i spil. Koden er skrevet i C++ og leveres under BSD-licensen.

GameNetworkingSockets implementerer en protokol over UDP, der minder om TCP, som muliggør oprettelse af en forbindelse, men er rettet mod overførsel af meddelelser i stedet for strømme. Gennem den etablerede forbindelseskanal kan meddelelser overføres både i en garanteret leverings-tilstand og ved hjælp af en hurtigere usikker overførselsmetode.

Protokollen understøtter funktioner som håndtering af fragmentering, genopbygning af pakker, båndbreddeprognose og -begrænsning, oprettelse af P2P-forbindelseskanaler, omgåelse af adresseoversættere (via WebRTC ICE) og kryptering. Data i pakker krypteres ved hjælp af AES-blokkrypteringsalgoritmen, og digitale signaturer baseret på elliptiske kurver Ed25519 anvendes til nøgleudveksling og verifikation af certifikater. Nøgleleveringsmekanismer og valg af initialiseringsvektor for hver pakke er baseret på metoder anvendt i QUIC-protokollen.

Blandt ændringerne i den nye version:

  • API'en ISteamNetworkingSockets::SendMessages er blevet udvidet for at forenkle håndteringen af fejl ved afsending og initiere genforsøg på leveringer.
  • Der er tilføjet nye indstillinger for ECN, jitter, bestemmelse af lokal IP (IPLocalHost) og deaktivering af autentifikation (AllowWithoutAuth).
  • En variant af API'en ISteamNetworkingMessages til C-sproget er blevet tilføjet.
  • Den indledende version af bindingen til Rust-sproget er blevet implementeret.
  • Fejl i implementeringen af P2P-tilstand er blevet rettet.
  • Automatisk justering af situationer relateret til uorden i ankomsten af pakker og meddelelser er blevet gennemført.
  • Integration med værktøjer som CMake og vcpkg er blevet forbedret.
  • Kompatibiliteten med nye versioner af protobuf- og abseil-bibliotekerne er blevet etableret.
  • Der er tilføjet støtte til diagnostik via ETW (Event Tracing for Windows).
  • Sårbarheder er blevet rettet, oplysninger om hvilke ikke detaljeres, men ifølge ændringsloggen handler det om integer overflow i pakkeafsendelsesfunktioner og muligheden for at omgå certifikatverifikationen i funktionen CheckCertPOPID.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster