李瑞旻
(中移鐵通有限公司甘肅分公司,甘肅 蘭州 730000)
隨著互聯網應用規(guī)模擴大,各類游戲為吸引用戶,游戲實時交互性、游戲畫質的不斷提高、游戲在線玩家的不斷增多,網絡游戲用戶對網絡質量提出了更高的要求,這也是對運營商的極度考驗。我國網吧數量在16 萬家左右,均需要100~1000M 帶寬的接入需求,這對運營商來說是一個很巨大的政企市場;同時由于網吧流量要求質量高,成為了各運營商的必爭之地。本文主要介紹如何利用SD-WAN技術對游戲的網絡質量進行優(yōu)化。
SDN(Software Defined Network),即軟件定義網絡。它是一種新型網絡創(chuàng)新架構,也是網絡虛擬化的一種實現方式。其核心理念是將網絡設備的控制面與數據面進行分離,從而實現對網絡流量的靈活控制,使得網絡變得更加智能。SDN 更像是一種網絡虛擬化思想,核心訴求是通過軟件控制網絡,實現業(yè)務自動化部署。例如,在傳統交換機內部,其主要負責具體的網絡流量往哪里轉發(fā),而在SDN 中,通過控制器進行流量轉發(fā)的計算,然后將結果發(fā)送給交換機,交換機只進行簡單的轉發(fā),從而實現控制和轉發(fā)平面相分離[1]。
SDN 在應用中大體可劃分為三層體系結構:控制層(Control Layer)、應 用層(Application Layer)和基礎設施層(Infrastructure Layer)。不同層次之間是通過不同接口進行通信的,比如應用層是通過北向接口(North boun dinterface)與控制層通信,而基礎設施層則是通過南向接口(South boun dinterface)與控制層通信。
利用一臺RR+路由反射器作為SDN 網絡中的的控制器,通過撥測系統的接口獲取網絡質量分析數據,選出游戲服務器的最優(yōu)出口,并下發(fā)相關路由數據,保證游戲用戶通過最優(yōu)出口出網。如圖1所示。
圖1 SDN 網絡中RR+的作用
目前,全國與電信、聯通有13 個NAP 互聯點。因CMNET 的路由發(fā)布存在游戲的請求、響應IP 包來回不同路徑的情況,并且無法根據游戲服務器的質量動態(tài)調整訪問路徑等諸多問題,網吧及游戲用戶對網絡質量滿意度不高,但甘肅的IP 只從西安的互聯點向電信、聯通發(fā)布,從而帶來以下兩個問題:
1)除訪問陜西電信、聯通的IP 外,訪問其他省電信、聯通的IP 存在請求、響應報文不通路徑的情況。
2) 針對游戲應用要求低時延和抖動的特點,不具備13 個直連點的鏈路質量測試并根據測試結果選擇最優(yōu)路徑的能力。
為解決以上兩個問題,優(yōu)化網間游戲質量,可采取以下措施:
1)在13 個直連節(jié)點向電信、聯通各發(fā)布1 個C的甘肅移動的IP 地址,用于游戲業(yè)務,保證從13 個節(jié)點的出入方向的游戲流量相同徑路。
2)通過DPI 系統,搜集各類游戲的服務器IP,并根據IP 地址歸屬省份,將IP 歸類至13 個直連點。
3)在省網防火墻新建13 個NAT 地址池,根據服務器的IP 的歸屬制定NAT 策略,將用戶訪問游戲服務器的源地址NAT 成對應直連點的IP 地址。業(yè)務流向如圖2 所示。
圖2 游戲質量優(yōu)化實現原理圖
4) 通過撥測探針及自建游戲質量評價系統,通過13 個直連點出口對游戲服務器的IP 進行時延、抖動測試,計算出最優(yōu)直連點,并動態(tài)的將服務器IP 調整至省網防火墻的NAT 策略,保證用戶的游戲能夠從最優(yōu)直連點訪問,提升用戶訪問效果。
該模塊主要負責接收游戲質量評價系統發(fā)送的游戲服務器IP 最優(yōu)出口數據,通過RR+路由反射器將游戲服務器的IP 通過BGP 路由發(fā)布給省網核心路由器,保證用戶的游戲訪問為最優(yōu)路徑。RR+作為SDN 網絡的控制器,可以實時下發(fā)游戲服務器IP 的路由數據,監(jiān)測、控制鏈路的流量,避免出現人為下發(fā)數據出錯、效率低以及大批量調整路由造成部分鏈路擁塞的問題[2]。該模塊的設計方法如下:
1)全網分配一個路由禁播community,在省網核心MB 的所有BGP PEER OUT 方向增加此community 的匹配禁播策略。
2)為骨干新平面、舊平面各分配一個出口路由播發(fā)community 。省網核心NE5000E 設備的骨干出口out 方向增加對本出口路由播發(fā)community 的匹配播發(fā)策略,此策略應優(yōu)先于前述路由禁播策略。
3)RR+向省網核心PB 設備播發(fā)省內被調路由條目的細粒度路由條目,按該設備上調度路由的原下一跳設定NEXTHOP,并追加本平面指定出口及另一平面所有出口的community 標記和路由禁播community 標記。
4)省網核心NE5000E 設備的指定出口匹配到該出口community,向骨干播發(fā)調度細路由,而同平面其他出口未匹配到本出口community,進而匹配到禁播community,不播出調度路由,從而引導部分本平面流量至指定局向實現流量調度。由于另一平面所有出口也同時匹配到各自出口的community 并播出此調度細路由,因此對另一平面流量不會產生影響RR+通過以上路由發(fā)布原則,可以調度從電信、聯通的游戲服務器流量通過14 個NAP 互聯點中的指定出口到達甘肅。
該模塊主要完成對撥測取的網絡質量指標進行統計、分析。通過對影響游戲質量的丟包、抖動、時延三個指標進行跟蹤分析,確定了各指標的權重,通過綜合評分法對各出口的質量進行評估,評估方法如下:
1)基于XDR(Detail Record 信令及業(yè)務詳細記錄)話單的游戲服務器地址提取首先,通過DPI(Deep Packet Inspection 深度包檢測) 及用戶訪問游戲的DNS 域名,提取游戲類XDR 話單,針對游戲業(yè)務,可以通過游戲特征字篩選XDR 話單,并按天輸出省內用戶訪問的游戲服務器IP+端口號清單,清單需按照熱度來排序。
2)基于探針的最優(yōu)節(jié)點選取。探針在收到游戲地址清單后,進行整理歸納。根據探針能力對top 服務器地址進行撥測。探針從甘肅公司13 個地址段中分別抽取一個地址進行撥測,嚴格匹配用戶網絡環(huán)境進行撥測,撥測維度暫時包含時延、抖動、丟包、TCPing 時延、TCPing 抖動、TCPing 丟包以及UDPing時延、UDPing 抖動[3]。
對游戲服務器IP 通過如下規(guī)則進行加權評估,得出每個游戲IP 地址段在13 個直連點的綜合得分。得到最優(yōu)結果后,在甘肅省干防火墻進行策略調整見表1。
表1 各性能指標的評估方法
注:線性取值算法舉例說明:
設時延為X1,時延得分為Y1,則
設時延為X2,時延得分為Y1,則
設丟包率為X3%,丟包率得分為Y3,則
以此類推,最后能計算出Y1,…,Y6。最后,每個游戲IP 地址段得分=其中ak為權重占比。
將游戲服務器地理歸屬分為四個大區(qū):華北、華東、華南、西南。通過14 個出口探針數據在MySql數據進行統計分析,針對每個大區(qū)選出得分最高的出口作為該區(qū)域的出網NAP 點。
對優(yōu)化路徑的各段時延進行分析,以英雄聯盟服務器113.96.246.181 為例,優(yōu)化前的時延為65.85ms,優(yōu)化后的時延為50.59ms,通過探針icmp ping 測直連點分析各段時延。按照以下數據進行分析:(1)因優(yōu)化后,至廣州服務器的來回路徑一致,時延為50.59ms,按照來回2 倍路徑進行計算,從探針至廣州服務器的單個發(fā)、單個收方向時延為25.3ms。
(2)因優(yōu)化后,至廣州電信直連點的來回路徑一致,平均時延為43.4ms,按照來回2 倍路徑進行計算,從探針至廣州電信直連點的單個發(fā)、單個收方向時延為21.7ms,因此服務器至廣州電信直連點的單方向時延為3.6ms。
(3)探針至西安電信直連的ping 測時延為16.3ms,按照來回2 倍路徑進行計算,從探針至西安電信直連點的單個發(fā)、單個收方向時延為8.2ms。
(4)優(yōu)化前,探針的ping 測時延為65.85ms,其中請求方向的時延為25.3ms,則響應方向的時延為40.5ms。
撥測數據如圖3 所示。
圖3 撥測數據
優(yōu)化前后,時延分段分析如圖4 所示。
圖4 優(yōu)化前后時延分段
優(yōu)化前后,探針撥測在請求報文的出方向路徑一致,從陜西→廣州→游戲服務器,只本次優(yōu)化針對服務器的響應報文的時延。優(yōu)化前,從廣州電信通過電信骨干網轉發(fā)至西安直連點,該段時延為28.7ms。優(yōu)化后,從廣州直連點通過中國移動骨干網轉發(fā)至西安直連點,該段時延為14.5ms。通過對比分析,在該網絡區(qū)段的時延下降了14.2ms,從而達到了優(yōu)化的效果。
通過本優(yōu)化方案,可以對目前DPI 可識別的主流游戲進行優(yōu)化。避免因個別NAP 出現網絡質量問題及互聯互通問題造成游戲質量劣化問題,為公司提升用戶滿意度、擴大網吧游戲類業(yè)務提供了保障和支撐能力。