Revision history and IPFS entry, back to latest
hellolinux2021
IPFS What is this

Content Hash

什么是游戏加速器

hellolinux2021
·
·
游戏加速器原理介绍

首先,有一个概念,那就是,目前主要安全的网络多数是TCP连接,而游戏是通过UDP来保持连接,而游戏加速,也就是说要保证UDP的传输足够的快和稳定,但是最重要的问题就是,这跟运营商的利益是相违背的,所以运营商会对UDP包进行干扰,需要将游戏客户端到代理服务器之间的连接做一些处理。

UDP代理需要做的事情:

  • 由于UDP的无状态特征,没有任何报文指示一条连接什么时候该创建什么时候该销毁,设备必须有能力自行老化已经创建的UDP连接,且不得不在权衡中作出抉择:
  • 如果老化时间过短,将会破坏正常通信但通信频率很低的UDP连接。如果老化时间过长,将会导致已经无效的UDP连接消耗大量的内存,这将为DDoS攻击创造一个攻击面。
1.处理游戏客户端到加速器服务器之间的UDP连接
2.怎么让游戏客户端去连接这个加速器(一般游戏客户端是没有设置代理服务器的功能的)

加速器常见处理方式

  • ucp over tcp:外面给UDP套上TCP
  • FakeTCP(udp2raw):用raw socket给UDP协议直接加上伪造的TCP包头,把UDP伪装成TCP;本质上还是UDP,不需要经过系统的TCP协议栈,所以不会有UCP over TCP引入的问题。但是伪装成TCP的UDP流量可以骗过运营商的防火墙,可以避免UDP断流。

FakeTCP跟UDP over TCP方案相比的缺点是无法穿透TCP代理(包括反向TCP代理),比如Haproxy。

总结

目前市场上所有支持游戏加速的原理,无外乎上面提到的两种,支持套TCP,还有就是udp2raw。

上面提到的UDP老化相关的问题,其实跟通用的VPN原理是类似的,所有市场上很多VPN协议也顺带支持UDP套TCP,附带支持了游戏加速的功能。

参考

5分钟了解游戏加速器的原理与搭建

一款可代替SStap的开源网游加速工具:https://github.com/netchx/Netch (socks5、wireguard、trojan、vmess、vless)

新的WireGuard协议安全吗

CC BY-NC-ND 2.0