Valve hat die Netzwerkbibliothek GameNetworkingSockets 1.5.0 veröffentlicht.

Nach vier Jahren Entwicklung hat die Firma Valve die Bibliothek GameNetworkingSockets 1.5.0 veröffentlicht, die ein Nachrichtensystem über UDP implementiert. Dieses kann für einen schnellen und zuverlässigen Datenaustausch in Spielen genutzt werden. Der Code ist in C++ geschrieben und wird unter einer BSD-Lizenz bereitgestellt.

GameNetworkingSockets implementiert ein über UDP ähnliches Protokoll wie TCP, das die Verbindungsherstellung ermöglicht, jedoch auf die Übertragung von Nachrichten anstelle von Streams ausgerichtet ist. Über den etablierten Kommunikationskanal können Nachrichten sowohl im Modus der garantierten Zustellung als auch im schnelleren Modus der unzuverlässigen Übertragung versendet werden.

Das Protokoll unterstützt Funktionen wie Fragmentierungsverarbeitung, Paketneubau, Bandbreitenprognose und -begrenzung, Erstellung von P2P-Kommunikationskanälen, Umgehung von Adressübersetzern (über WebRTC ICE) und Verschlüsselung. Daten in den Paketen werden mit dem AES-Blockverschlüsselungsalgorithmus verschlüsselt, während digitale Signaturen auf Basis von Elliptischen Kurven (Ed25519) für den Schlüsselaustausch und die Zertifikatverifizierung verwendet werden. Die Mechanismen für die Schlüsselbereitstellung und die Auswahl des Initialisierungsvektors für jedes Paket basieren auf den Methoden, die im QUIC-Protokoll verwendet werden.

Zu den Änderungen in der neuen Version gehören:

  • Die API ISteamNetworkingSockets::SendMessages wurde erweitert, um die Handhabung von Fehlern beim Senden zu vereinfachen und Wiederholungsversuche zu initiieren.
  • Neue Einstellungen für ECN, Jitter, die Erkennung der lokalen IP (IPLocalHost) und die Deaktivierung der Authentifizierung (AllowWithoutAuth) wurden hinzugefügt.
  • Eine Version der API ISteamNetworkingMessages für die Programmiersprache C wurde hinzugefügt.
  • Eine erste Version des Wrappers für die Programmiersprache Rust wurde implementiert.
  • Fehler in der Implementierung des P2P-Modus wurden behoben.
  • Automatische Anpassungen bei der Verletzung der Empfangsreihenfolge von Paketen und Nachrichten wurden implementiert.
  • Die Integration mit den Werkzeugen CMake und vcpkg wurde verbessert.
  • Die Kompatibilität mit neuen Versionen der Bibliotheken protobuf und abseil wurde hergestellt.
  • Unterstützung für Diagnosen über ETW (Event Tracing for Windows) hinzugefügt.
  • Sicherheitsanfälligkeiten wurden behoben, deren Details nicht spezifiziert sind, aber laut Änderungsprotokoll handelt es sich um integer Überläufe in Paketversand-Funktionen und die Möglichkeit, die Zertifikatsprüfung in der Funktion CheckCertPOPID zu umgehen.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster