Valve ha publicado la biblioteca de red GameNetworkingSockets 1.5.0

Después de cuatro años de desarrollo, la empresa Valve ha publicado la versión 1.5.0 de la biblioteca GameNetworkingSockets, que implementa un sistema de transmisión de mensajes sobre UDP, aplicable para la creación de intercambios de datos rápidos y confiables en juegos. El código está escrito en C++ y se distribuye bajo la licencia BSD.

GameNetworkingSockets implementa sobre UDP un protocolo similar a TCP, que permite establecer conexiones, pero está orientado a la transmisión de mensajes en lugar de flujos. A través del canal de comunicación establecido, los mensajes pueden enviarse en modo de entrega garantizada o utilizando un modo de transmisión no confiable más rápido.

El protocolo admite funciones como el manejo de fragmentación, reensamblaje de paquetes, previsión y limitación de ancho de banda, creación de canales de comunicación P2P, eludir traductores de direcciones (a través de WebRTC ICE) y cifrado. Los datos en los paquetes se cifran utilizando el algoritmo de cifrado simétrico AES, y las firmas digitales basadas en curvas elípticas Ed25519 se utilizan para el intercambio de claves y la verificación de certificados. Los mecanismos de entrega de claves y selección de vector de inicialización para cada paquete se basan en métodos utilizados en el protocolo QUIC.

Entre los cambios en la nueva versión:

  • La API ISteamNetworkingSockets::SendMessages se ha ampliado para simplificar el manejo de fallos en el envío e iniciar reintentos de entrega.
  • Se han agregado nuevas configuraciones para ECN, jitter, detección de IP local (IPLocalHost) y desactivación de autenticación (AllowWithoutAuth).
  • Se ha añadido una variante de la API ISteamNetworkingMessages para el lenguaje C.
  • Se ha implementado una versión inicial del enlace para el lenguaje Rust.
  • Se han corregido errores en la implementación del modo P2P.
  • Se ha implementado una corrección automática para situaciones relacionadas con el desorden en la llegada de paquetes y mensajes.
  • Se ha mejorado la integración con las herramientas CMake y vcpkg.
  • Se ha establecido compatibilidad con nuevas versiones de las bibliotecas protobuf y abseil.
  • Se ha añadido soporte para diagnóstico a través de ETW (Event Tracing for Windows).
  • Se han corregido vulnerabilidades, cuya información no se detalla, pero según el registro de cambios, se refiere a un desbordamiento de enteros en funciones de envío de paquetes y a la posibilidad de eludir la verificación de certificados en la función CheckCertPOPID.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster