个人对游戏加速器行业看法(二):加速器现有架构梳理

一、描述

​ 加速器行业主要是在中国市场由于GFW原因,导致国内很多游戏玩家无法玩很多国外发行的游戏,因此加速器行业主要受众主要是这部分用户。

二、加速器总体架构

​ 加速器行业的整体架构图如下:

​ 

​ 图1

加速器行业所做的主要工作在标绿和标红的这两块,我司标红的这块都是使用阿里、腾旭或者中移动、电信提供的基础专线服务来实现的,所以加速器现目前主要专注于标绿的这块,下面将会围绕着整个数据流量进行逐次的讲解

二、接入端

​ 接入端按照接入设备的不一样主要分为android、PC(windows)、iphone三种接入设备,下面将对三种接入设备使用结束和数据流图进行介绍:

​ PC端:

​ 

​ 图2

​ android端:

​ 

​ 图3

Iphone端

​ 

​ 图4

从纯客户端架构的方式来看客户端也可以分为接入端(数据获取)、协议端(数据传输控制)、网络端(数据传输),下面将按照这个维度对客户端三端进行对比如下:

模块PCAndroidIphone
接入端1. wfp(驱动获取进程数据);
2. lsp(winsock 协议层注入);
3. hook(dll注册获取对应进程数据)
4. tun通过路由方式获取数据;
1. tun路由方式获取数据;1. tun通过路由方式获取数据;
协议端1. openvpn 协议;
2. ssr加解密协议;
3. 用户自定义协议;
1. openvpn 协议;
2. ssr加解密协议;
3. 用户自定义协议;
1. openvpn 协议;
2. ssr加解密协议;
3. 用户自定义协议;
网络端1. udp;
2. tcp;
3. fake-tcp;
1. udp;
2. tcp;
3. fake-tcp;
1. udp;
2. tcp;
3. fake-tcp;

纵观三个模块,基于用户可以自我定制的主要是在协议端和网络端而接入端一般都是系统机制决定什么可以用,但是要提下就是可以实现精准进程数据抓取系统只有PC和Android 平台可以实现,ios平台只能通过路由的方式去获取数据。

三、输出端

​ 在我们公司一般称输出端为网络的上车点,输出端主要的工作是将接入端打包上来的数据解析为三层或者四层数据,在经过服务器上配置路由规则将数据转发到对应的下车点上,相对输入端而言输出端功能相对专一些,但是三层和四层数据转发策略配置上将会有一定程度的的不一样,但基本原理都是基于iptables(ip set)+ip rule+ip route这样的一套体系机制上建立起来的。

​ 针对输出端还有一个点是必须要提的,那就是Nat open这个需求主要是针对P2P游戏进行特殊优化,针对转发数据是三层和四层数据对应处理方式是不一样的下面将会对这个功能进行单独讲解(默认nat测试都是udp数据):

​ 四层数据

​ 如果输出端转发的是四层数据,输出端要实现nat open对应的UDP数据的收发就需要进行三元组的绑定(src_ipaddress+dst_ipaddress+protocol),不对目的ip和端口进行绑定并且输出端的出口节点也要是nat open方式才能实现nat open;

​ 三层数据:

​ 通过自定义的一个netfilter模块实现通过UDP的发送端的端口,动态生成五元组信息(newsrcip+newsrcport+newprotocol+olddstip+olddstport)生成对应的五元组信息,让新过来的UDP数据包可以通过,网络上有一个full-clone的nat open模块基于linux内核实现的

四、分流

​ 游戏加速器产业中,除开人工费外,支出成本最高的就是带宽流量成本和运营成本,从技术的角度上看可以节约的就是带宽流量成本,因此就需要对入口的流量做精准抓取和识别,这就涉及两个维度:

1. 入口流量尽量精准为游戏的流量(精准游戏数据流量);
2. 将游戏数据中相对对数据实时性要求不高的数据,走相对便宜一些的线路,尽最大限度节约成本;

要解决以上矛盾点,对进入我们隧道内的数据实现分流,尽量在保证游戏数据不受影响的情况下,将更多的数据流量分流到本地或者相对便宜的线路,因此我司针对这个做了一下四种方式分流:

分流类型(线路)使用场景
CN2游戏资源加载、游戏内部不可缓存热更新
CDN游戏静态资源下载、游戏包下载
数据走本地本地资源下载不受影响,在国内有CDN节点游戏
专线(IPLC IPET)游戏数据专用,成本比较高

因此通过将各种流量在我们客户端内识别分发到对应线路上能够尽最大限度节约单用户的流量成本。

五、总结

​ 纵观整个加速器行业,其基本的技术原理就是利用现有的VPN技术和对应平台的数据精准获取方式,在对游戏进行加速过程中,尽大限度减少用户加速后对主机网络的影响并且减少不需要的流量加速,还有一个值得一提的就是线路和资源的采购选择也是加速厂商必须要关注的,厂家线路价格和质量都是有很大差别并且这个不是成正比的。

 

关注微信公众号: 【IT路上人】,分享IT路上的学习心得,关注后回复“资料”可以领取Java、大数据、python等诸多学习资料

  • 0
    点赞
  • 1
    评论
  • 8
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

铁通专用加速器 简单小巧 1.1 加速器安装 运行安装程序,点击“下一步”,选择接受许可协议,选择安装目录(点击“浏览”选择安装目录或者使用默认的安装目录),点击“安装”按钮开始安装程序,等待安装成功后,点击“完成”按钮结束安装过程。 加速器安装成功以后,需要运行一次加速器程序,然后重启计算机才能正常运行。 1.2 加速器使用 1.2.1 运行加速器 双击桌面上的程序快捷方式,看到程序界面,选择加速网络(加速网络,是指你希望加速到的网络),电信或网通,点击“加速”按钮,开始运行加速器。 如果加速器运行有问题,可以点击"日志"按钮,查看日志。日志文件记录了加速器运行的信息 "错误提示",你可以根据"错误提示"到"常见错误提示及解决办法"里找到解决方法。 1.2.2 设置加速器 点击加速器程序界面的“设置”按钮,打开设置话框 参数解释 (1)勾选系统启动自动运行,可以在开机时自动运行加速器,不必人工点击程序。 (2)勾选显示图标,可以在任务栏显示程序的图标。默认选择。 设置“加速网络”属性 选择好加速网络后,可以点击“属性”按钮,设置“加速网络”属性 参数解释 (1)服务网络,是指你的加速器连接服务器的地点,你可以自由选择距离你近质量好的服务网络。 (2)模式选项为以后升级软件时的考虑,暂时无用。 (3)是否处在NAT之后。如果你的计算机是通过路由器(NAT)连接上网,请选择此项。默认选择。 (4)断线自动重拨。如果加速器断线是否自动重新连接服务器,自动连接次数可以指定。默认选择。 (5)运行后是否自动拨号。如果选择此项,加速器会在下次运行时自动连接服务器,开启加速.你只要双击一下程序就可以了,不必在点击程序上的加速按钮。 以上选项如果更改的话,必须重新运行加速器才能生效。 1.2.3 关闭加速器 点击关闭按钮,可以退出加速器。或者右击任务栏图标,选择退出! 1.2.4 补充说明 运行加速器后,如果选中设置话框中的“显示图标”后,会在桌面右下角任务栏看到红色的N图标,表示加速器还没有连接服务器,加速器处于未连接状态,没有加速效果。点击加速程序界面上的“加速”按钮,如果程序正常运行图标会变成绿色的A表示加速器已经连接成功,并有加速效果。
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

pluto1024

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值