个人对游戏加速器行业看法(二):加速器现有架构梳理
一、描述
加速器行业主要是在中国市场由于GFW原因,导致国内很多游戏玩家无法玩很多国外发行的游戏,因此加速器行业主要受众主要是这部分用户。
二、加速器总体架构
加速器行业的整体架构图如下:
图1
加速器行业所做的主要工作在标绿和标红的这两块,我司标红的这块都是使用阿里、腾旭或者中移动、电信提供的基础专线服务来实现的,所以加速器现目前主要专注于标绿的这块,下面将会围绕着整个数据流量进行逐次的讲解
二、接入端
接入端按照接入设备的不一样主要分为android、PC(windows)、iphone三种接入设备,下面将对三种接入设备使用结束和数据流图进行介绍:
PC端:
图2
android端:
图3
Iphone端:
图4
从纯客户端架构的方式来看客户端也可以分为接入端(数据获取)、协议端(数据传输控制)、网络端(数据传输),下面将按照这个维度对客户端三端进行对比如下:
模块 | PC | Android | Iphone |
---|---|---|---|
接入端 |
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等诸多学习资料
个人对游戏加速器行业看法(二):加速器现有架构梳理相关推荐
- 2021-2025年中国电子束加速器行业市场供需与战略研究报告
电子束加速器市场的企业竞争态势 该报告涉及的主要国际市场参与者有IBA (Belgium).Wasik Associates (US).Jiangsu Dasheng Electron Acceler ...
- u3d游戏开发视频潭州_游戏美术行业的发展与应用人工智能学院专业介绍及未来前景系列报告会二...
为了让2020级新同学对动漫专业加深认识,更好的规划学习,学院于11月12日6点晚邀请了校企合作单位"369云遮月游戏公司"在长安校区图书馆阶梯教室进行了游戏美术行业的发展与应用的 ...
- 2022年游戏出海行业研究报告
) 第一章 行业概况 游戏出海是指由中国大陆地区游戏公司研发的移动游戏在海外游戏市场(包含港澳及中国台湾地区市场)发行的现象,游戏特点.元素等内容可能有所不同,但核心玩法大多一致.随着中国游戏企业对移 ...
- 越多的人入局棋牌游戏开发行业,游戏产品突出竞技元素
目前现有的棋牌游戏产品是如何搭建竞技类棋牌游戏产品的,我们也需要供给参考一些企业网上的棋牌游戏开发公司产品,但当棋牌游戏设计行业的可见的红利在慢慢消退,棋牌竞技游戏也有很多值得思考的是发展其他的事情. ...
- 游戏美术行业的薪资待遇,人与人的差距真的在于努力,来看看数据吧
在中国,游戏行业发展仅二十多年时间,算是新兴行业,发展潜力巨大,因此游戏美术发展也很可观.所以,从事游戏美术的薪资待遇如何?跟着来看看数据吧!未来可期可不只是耍嘴皮子功夫哟! 据统计,21.5%的从业 ...
- 人体工程学游戏椅行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
人体工程学游戏椅市场的企业竞争态势 该报告涉及的主要国际市场参与者有DXRacer.X Rocker.Arozzi.ThunderX3.Vertagear.Subsonic.SecretLab.N.S ...
- 解读《2022年中国游戏直播行业白皮书》,抖音成为游戏直播转场新阵地
2022年,中国游戏直播市场规模预计将首次突破千亿,在这一已经持续逐年迅速发展的赛道上,是否还会有什么新的变化和增长点? 从2022年6月巨量算数发布<2022游戏内容抖音经营白皮书>,到 ...
- 游戏直播行业真的如你想象般暴利? | Alfred数据室
戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 作者:AlfredWu 转自:Alfr ...
- 3D游戏建模行业这5点很真实
一.首先,最最最重要得就是工资的问题! 初出茅庐的3D游戏建模师薪资不会很高,5k左右 根据所在地不同会有浮动.但横向对比其他行业和岗位,在刚参加工作的时候工资也不会太高. 初出茅庐的新媒体,平均薪资 ...
- 游戏设计行业前景怎么样?学习3D建模需要多少钱?
随着我国游戏行业发展的火爆,很多游戏爱好者都想跻身这一大好前景的行业中来.游戏设计行业前景怎么样?学游戏设计学费又是多少?没有基础能不能学?很多想入行游戏设计的人都会关注这些问题.今天,我们就来讨论一 ...
最新文章
- 三维目标检测算法原理
- ASP.NET 2.0 读取配置文件[INI](示例代码下载)
- 分布式id生成策略,我和面试官扯了一个半小时
- rabbitmq集群报错
- 前端js变量踩坑,部分手机浏览器不支持let、const
- 五层架构(MVC+biz+lib)
- tomcat服务器文件被清空,SpringBoot内置Tomcat缓存文件目录被意外删除导致异常
- 九度OJ #1437 To Fill or Not to Fil
- MotionVFX - mForm for Mac - 150种MG动态图形元素fcpx插件
- 空间直角坐标转换之仿射变换(转)
- go新手看的开源项目 哪些适合_最近大家都在用 Go 语言玩什么?这几个新的开源项目告诉你...
- 更改tomcat的根目录路径
- eclipse 常用操作 持续更新
- Qt公有槽和私有槽的区别
- ubuntu远程访问sftp服务器_ubuntu 下搭建sftp服务器
- Quorum快速部署
- ffmpeg 之 RTSP 一
- 【MAYA】XGEN毛发头发系统(中文版)
- 网秦手机杀毒软件 v2.1 symbian s60 _symbian 7.0+ 免费
- java基础之包_繁星漫天_新浪博客
热门文章
- nginx502错误原因解决方法_Got fatal error 1236原因和解决方法
- 7个等级 容灾等级_猫奴的10个等级 你的奴性有多高?
- python json转换为dict的编码问题_python中json和字符编码的转换
- wifi定位算法 java_机器学习在滴滴网络定位中的探索和实践
- 攀枝花学院计算机专业单身率,重磅 | 攀枝花学院2018届毕业生就业质量年度报告...
- java ole excel_Java 添加OLE对象到Excel文档
- Java学习笔记之设计模式(2)工厂模式
- 烟道机器人_力荐顺义区清洗烟道价格多少钱值得信赖
- mysql inner 连接多表_MySQL数据库之多表查询inner join内连接
- windows最常用的快捷键(windows10 )