Valve a publié la bibliothèque réseau GameNetworkingSockets 1.5.0

Après quatre années de développement, la société Valve a publié la version 1.5.0 de la bibliothèque GameNetworkingSockets, qui implémente un système de transfert de messages sur UDP, pouvant être utilisé pour organiser un échange de données rapide et fiable dans les jeux. Le code est écrit en C++ et est distribué sous licence BSD.

GameNetworkingSockets implémente un protocole similaire à TCP sur UDP, assurant l'établissement d'une connexion, mais orienté vers le transfert de messages plutôt que de flux. Par le canal de communication établi, les messages peuvent être transmis soit en mode de livraison garantie, soit en utilisant un mode de transmission non fiable plus rapide.

Le protocole prend en charge des fonctionnalités telles que la gestion de la fragmentation, le réassemblage de paquets, la prévision et la limitation de la bande passante, la création de canaux de communication P2P, le contournement des traducteurs d'adresses (via WebRTC ICE) et le chiffrement. Les données dans les paquets sont chiffrées à l'aide de l'algorithme de chiffrement par bloc AES, tandis que des signatures numériques basées sur des courbes elliptiques Ed25519 sont utilisées pour l'échange de clés et la vérification des certificats. Les mécanismes de livraison des clés et de sélection du vecteur d'initialisation pour chaque paquet reposent sur des méthodes utilisées dans le protocole QUIC.

Parmi les changements dans la nouvelle version :

  • L'API ISteamNetworkingSockets::SendMessages a été élargie pour simplifier la gestion des échecs d'envoi et le déclenchement de nouvelles tentatives de livraison.
  • De nouveaux paramètres ont été ajoutés pour l'ECN, le jitter, la détermination de l'IP locale (IPLocalHost) et la désactivation de l'authentification (AllowWithoutAuth).
  • Une variante de l'API ISteamNetworkingMessages a été ajoutée pour le langage C.
  • Une version initiale du wrapper pour le langage Rust a été mise en œuvre.
  • Des erreurs dans l'implémentation du mode P2P ont été corrigées.
  • Une correction automatique a été mise en place pour les situations liées à l'ordre d'arrivée des paquets et des messages.
  • L'intégration avec les outils CMake et vcpkg a été améliorée.
  • La compatibilité avec les nouvelles versions des bibliothèques protobuf et abseil a été établie.
  • Le support pour les diagnostics via ETW (Event Tracing for Windows) a été ajouté.
  • Des vulnérabilités ont été corrigées, sans détails spécifiques, mais d'après le journal des modifications, il s'agit d'un dépassement d'entier dans les fonctions d'envoi de paquets et d'une possibilité de contournement de la vérification des certificats dans la fonction CheckCertPOPID.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster