利用SDN 技术优化游戏网络质量
2021-07-13李瑞旻
李瑞旻
(中移铁通有限公司甘肃分公司,甘肃 兰州 730000)
随着互联网应用规模扩大,各类游戏为吸引用户,游戏实时交互性、游戏画质的不断提高、游戏在线玩家的不断增多,网络游戏用户对网络质量提出了更高的要求,这也是对运营商的极度考验。我国网吧数量在16 万家左右,均需要100~1000M 带宽的接入需求,这对运营商来说是一个很巨大的政企市场;同时由于网吧流量要求质量高,成为了各运营商的必争之地。本文主要介绍如何利用SD-WAN技术对游戏的网络质量进行优化。
1 SDN 技术
1.1 SDN 简介
SDN(Software Defined Network),即软件定义网络。它是一种新型网络创新架构,也是网络虚拟化的一种实现方式。其核心理念是将网络设备的控制面与数据面进行分离,从而实现对网络流量的灵活控制,使得网络变得更加智能。SDN 更像是一种网络虚拟化思想,核心诉求是通过软件控制网络,实现业务自动化部署。例如,在传统交换机内部,其主要负责具体的网络流量往哪里转发,而在SDN 中,通过控制器进行流量转发的计算,然后将结果发送给交换机,交换机只进行简单的转发,从而实现控制和转发平面相分离[1]。
SDN 在应用中大体可划分为三层体系结构:控制层(Control Layer)、应 用层(Application Layer)和基础设施层(Infrastructure Layer)。不同层次之间是通过不同接口进行通信的,比如应用层是通过北向接口(North boun dinterface)与控制层通信,而基础设施层则是通过南向接口(South boun dinterface)与控制层通信。
1.2 SDN 在游戏质量的应用
利用一台RR+路由反射器作为SDN 网络中的的控制器,通过拨测系统的接口获取网络质量分析数据,选出游戏服务器的最优出口,并下发相关路由数据,保证游戏用户通过最优出口出网。如图1所示。
图1 SDN 网络中RR+的作用
2 质量优化系统实现
2.1 实现原理
目前,全国与电信、联通有13 个NAP 互联点。因CMNET 的路由发布存在游戏的请求、响应IP 包来回不同路径的情况,并且无法根据游戏服务器的质量动态调整访问路径等诸多问题,网吧及游戏用户对网络质量满意度不高,但甘肃的IP 只从西安的互联点向电信、联通发布,从而带来以下两个问题:
1)除访问陕西电信、联通的IP 外,访问其他省电信、联通的IP 存在请求、响应报文不通路径的情况。
2) 针对游戏应用要求低时延和抖动的特点,不具备13 个直连点的链路质量测试并根据测试结果选择最优路径的能力。
为解决以上两个问题,优化网间游戏质量,可采取以下措施:
1)在13 个直连节点向电信、联通各发布1 个C的甘肃移动的IP 地址,用于游戏业务,保证从13 个节点的出入方向的游戏流量相同径路。
2)通过DPI 系统,搜集各类游戏的服务器IP,并根据IP 地址归属省份,将IP 归类至13 个直连点。
3)在省网防火墙新建13 个NAT 地址池,根据服务器的IP 的归属制定NAT 策略,将用户访问游戏服务器的源地址NAT 成对应直连点的IP 地址。业务流向如图2 所示。
图2 游戏质量优化实现原理图
4) 通过拨测探针及自建游戏质量评价系统,通过13 个直连点出口对游戏服务器的IP 进行时延、抖动测试,计算出最优直连点,并动态的将服务器IP 调整至省网防火墙的NAT 策略,保证用户的游戏能够从最优直连点访问,提升用户访问效果。
2.2 SDN 发布路由模块设计
该模块主要负责接收游戏质量评价系统发送的游戏服务器IP 最优出口数据,通过RR+路由反射器将游戏服务器的IP 通过BGP 路由发布给省网核心路由器,保证用户的游戏访问为最优路径。RR+作为SDN 网络的控制器,可以实时下发游戏服务器IP 的路由数据,监测、控制链路的流量,避免出现人为下发数据出错、效率低以及大批量调整路由造成部分链路拥塞的问题[2]。该模块的设计方法如下:
1)全网分配一个路由禁播community,在省网核心MB 的所有BGP PEER OUT 方向增加此community 的匹配禁播策略。
2)为骨干新平面、旧平面各分配一个出口路由播发community 。省网核心NE5000E 设备的骨干出口out 方向增加对本出口路由播发community 的匹配播发策略,此策略应优先于前述路由禁播策略。
3)RR+向省网核心PB 设备播发省内被调路由条目的细粒度路由条目,按该设备上调度路由的原下一跳设定NEXTHOP,并追加本平面指定出口及另一平面所有出口的community 标记和路由禁播community 标记。
4)省网核心NE5000E 设备的指定出口匹配到该出口community,向骨干播发调度细路由,而同平面其他出口未匹配到本出口community,进而匹配到禁播community,不播出调度路由,从而引导部分本平面流量至指定局向实现流量调度。由于另一平面所有出口也同时匹配到各自出口的community 并播出此调度细路由,因此对另一平面流量不会产生影响RR+通过以上路由发布原则,可以调度从电信、联通的游戏服务器流量通过14 个NAP 互联点中的指定出口到达甘肃。
2.3 游戏质量评价系统设计
该模块主要完成对拨测取的网络质量指标进行统计、分析。通过对影响游戏质量的丢包、抖动、时延三个指标进行跟踪分析,确定了各指标的权重,通过综合评分法对各出口的质量进行评估,评估方法如下:
1)基于XDR(Detail Record 信令及业务详细记录)话单的游戏服务器地址提取首先,通过DPI(Deep Packet Inspection 深度包检测) 及用户访问游戏的DNS 域名,提取游戏类XDR 话单,针对游戏业务,可以通过游戏特征字筛选XDR 话单,并按天输出省内用户访问的游戏服务器IP+端口号清单,清单需按照热度来排序。
2)基于探针的最优节点选取。探针在收到游戏地址清单后,进行整理归纳。根据探针能力对top 服务器地址进行拨测。探针从甘肃公司13 个地址段中分别抽取一个地址进行拨测,严格匹配用户网络环境进行拨测,拨测维度暂时包含时延、抖动、丢包、TCPing 时延、TCPing 抖动、TCPing 丢包以及UDPing时延、UDPing 抖动[3]。
对游戏服务器IP 通过如下规则进行加权评估,得出每个游戏IP 地址段在13 个直连点的综合得分。得到最优结果后,在甘肃省干防火墙进行策略调整见表1。
表1 各性能指标的评估方法
注:线性取值算法举例说明:
设时延为X1,时延得分为Y1,则
设时延为X2,时延得分为Y1,则
设丢包率为X3%,丢包率得分为Y3,则
以此类推,最后能计算出Y1,…,Y6。最后,每个游戏IP 地址段得分=其中ak为权重占比。
将游戏服务器地理归属分为四个大区:华北、华东、华南、西南。通过14 个出口探针数据在MySql数据进行统计分析,针对每个大区选出得分最高的出口作为该区域的出网NAP 点。
2.4 游戏质量效果比对
对优化路径的各段时延进行分析,以英雄联盟服务器113.96.246.181 为例,优化前的时延为65.85ms,优化后的时延为50.59ms,通过探针icmp ping 测直连点分析各段时延。按照以下数据进行分析:(1)因优化后,至广州服务器的来回路径一致,时延为50.59ms,按照来回2 倍路径进行计算,从探针至广州服务器的单个发、单个收方向时延为25.3ms。
(2)因优化后,至广州电信直连点的来回路径一致,平均时延为43.4ms,按照来回2 倍路径进行计算,从探针至广州电信直连点的单个发、单个收方向时延为21.7ms,因此服务器至广州电信直连点的单方向时延为3.6ms。
(3)探针至西安电信直连的ping 测时延为16.3ms,按照来回2 倍路径进行计算,从探针至西安电信直连点的单个发、单个收方向时延为8.2ms。
(4)优化前,探针的ping 测时延为65.85ms,其中请求方向的时延为25.3ms,则响应方向的时延为40.5ms。
拨测数据如图3 所示。
图3 拨测数据
优化前后,时延分段分析如图4 所示。
图4 优化前后时延分段
优化前后,探针拨测在请求报文的出方向路径一致,从陕西→广州→游戏服务器,只本次优化针对服务器的响应报文的时延。优化前,从广州电信通过电信骨干网转发至西安直连点,该段时延为28.7ms。优化后,从广州直连点通过中国移动骨干网转发至西安直连点,该段时延为14.5ms。通过对比分析,在该网络区段的时延下降了14.2ms,从而达到了优化的效果。
3 结束语
通过本优化方案,可以对目前DPI 可识别的主流游戏进行优化。避免因个别NAP 出现网络质量问题及互联互通问题造成游戏质量劣化问题,为公司提升用户满意度、扩大网吧游戏类业务提供了保障和支撑能力。