Valve ha pubblicato la libreria di rete GameNetworkingSockets 1.5.0

Dopo quattro anni di sviluppo, Valve ha pubblicato il rilascio della libreria GameNetworkingSockets 1.5.0, che implementa un sistema di trasmissione dei messaggi su UDP. Questo sistema può essere utilizzato per il networking veloce e affidabile nei giochi. Il codice è scritto in C++ e viene fornito sotto licenza BSD.

GameNetworkingSockets implementa un protocollo simile a TCP sopra UDP, che garantisce l'instaurazione di una connessione, ma è orientato alla trasmissione di messaggi anziché di flussi. Attraverso il canale di comunicazione stabilito, i messaggi possono essere inviati sia in modalità di consegna garantita che utilizzando una modalità di trasmissione non affidabile e più rapida.

Il protocollo supporta funzionalità come la gestione della frammentazione, la ricostruzione dei pacchetti, la previsione e il controllo della larghezza di banda, la creazione di canali di comunicazione P2P, il bypass dei traduttori di indirizzi ( tramite WebRTC ICE) e la crittografia. I dati nei pacchetti sono criptati usando l'algoritmo di crittografia simmetrica AES, mentre per lo scambio delle chiavi e la verifica dei certificati vengono utilizzate firme digitali basate su curve ellittiche Ed25519. I meccanismi di consegna delle chiavi e la scelta del vettore di inizializzazione per ogni pacchetto si basano sui metodi utilizzati nel protocollo QUIC.

Tra le modifiche nella nuova versione:

  • L'API ISteamNetworkingSockets::SendMessages è stata ampliata per semplificare la gestione dei fallimenti durante l'invio e l'inizio di tentativi di riconsegna.
  • Sono state aggiunte nuove impostazioni per ECN, jitter, determinazione dell'IP locale (IPLocalHost) e disattivazione dell'autenticazione (AllowWithoutAuth).
  • Aggiunta una variante dell'API ISteamNetworkingMessages per il linguaggio C.
  • Implementata una versione iniziale del wrapper per il linguaggio Rust.
  • Correzioni di bug nell'implementazione della modalità P2P.
  • Implementata un'automazione per gestire situazioni legate all'ordine di arrivo di pacchetti e messaggi.
  • Migliorata l'integrazione con gli strumenti CMake e vcpkg.
  • Compatibilità stabilita con le nuove versioni delle librerie protobuf e abseil.
  • Aggiunta la supporto per la diagnostica tramite ETW (Event Tracing for Windows).
  • Risolte vulnerabilità, di cui non vengono forniti dettagli, ma secondo il changelog si tratta di un overflow intero nelle funzioni di invio pacchetti e di una possibile elusione del controllo del certificato nella funzione CheckCertPOPID.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster