顏永明,陳兵,許文杰
?
互聯網跨域端到端質量監測及故障定位方案
顏永明1,陳兵2,許文杰1
(1. 中國電信股份有限公司上海分公司,上海 200085; 2. 上海市信息網絡有限公司,上海 200081)
隨著互聯網市場的迅猛發展,互聯網內容提供商對網絡質量提出了更高的要求。大型互聯網內容提供商因業務需要,應用遍布于各地數據中心,對互聯網跨域訪問質量有很高的要求。建立互聯網跨域端到端質量監測系統,快速定位域外網絡故障,對互聯網運營商及服務提供商具有較大的意義。分析了常用網絡監控技術和等價路徑中的散列(Hash)算法,提出利用散列算法實現網絡路徑全遍歷,監測互聯網跨域端到端質量,最后對故障定位方案給出了建議。
跨域;端到端質量;散列;路徑全遍歷
在各類移動端和桌面端應用,如游戲、社交應用、購物以及搜索引擎等需求的推動下,互聯網企業對網絡帶寬的需求持續增長,數據中心經多年發展,建設規模不斷擴大。同時ICP(internet content provider,互聯網內容提供商)對網絡訪問質量提出了更高的要求。云計算數據中心更因業務跨機房調度、配置部署等特性,對網絡高可靠性、穩定性、網絡時延、分組丟失、抖動等質量問題更為敏感[1]。網絡異常對這些業務的用戶體驗造成極大影響。因此,本文針對因自治域問題而無法直接采集到網元、鏈路狀態的互聯網跨域場景,重點研究了端到端質量監測及故障定位方案。
目前,大型互聯網公司大多在全國租用或自建數據中心,網絡游戲、社交應用、在線購物及搜索等各類業務分布式部署,訪問這些服務的用戶來自全國各地,且數量龐大。以手機端游戲業務為例,玩家來自全國各地,而服務器則可能集中部署于北京、上海或者廣州等主要城市的數據中心,玩家使用手機終端經本地運營商接入網絡、城域網、骨干網,再到業務所在數據中心城域網,數據中心服務器經返程完成完整的數據交互。此類業務特性決定了ICP非常關注跨域端到端網絡質量。從運營商收到的日常申告來看,ICP主要反映從數據中心到某個/某些省市的訪問質量劣化,影響業務,并經常要求確認相應省間、區域間(例如全國往華東區域)的網絡是否存在問題。事實上,只要端到端路徑中某個段落的網絡出現異常,就有可能會導致分組丟失、擁塞、時延增大、數據重傳,造成游戲卡頓,降低用戶體驗[2],因此,亟需建立一套端到端網絡質量監控系統來實時監控網絡質量,快速定位故障點,以便ISP(internet service provider,互聯網服務提供商)/ICP及時排障、迂回,確保業務質量保持穩定。
傳統網絡質量監控通過部署在數據中心的網絡探針向目的被監控IP地址進行單向ping和trace測試,以發現、定位故障[3]。這一方式存在如下缺陷:
·? 探針部署位置固定,無法擬合用戶數據分組轉發路徑;
·? 由于是網絡探針單向做ping和trace,當監測到故障時無法判斷是ICMP(internet control message protocol,Internet控制報文協議)數據分組去程方向路徑異常還是回程路徑異常;
·? 目前數據網絡都具有冗余保護措施,網絡設備都是多上聯架構,每條路徑都有2個以上的冗余節點,整個網絡路徑呈現復雜的ECMP(equal-cost multipath,等價多路徑)路由,傳統的單向監測的探針IP地址和目的IP地址相對固定,導致監測路徑也是固定的,由于無法遍歷每條路徑,若監測數據分組正好走在狀態正常的路徑,就無法監測其他可能發生質量劣化的等價鏈路,大概率與實際用戶業務數據分組流經的路徑不一致,對網絡質量監測和故障定位造成嚴重干擾[4-5]。
有多種方法可實現支持目前主流網絡協議場景的網絡質量監控,分為被動式和主動式網絡質量監測。
被動式網絡質量監控,如網元告警系統等是運營商常用的監控方式。該監控室采集各種信息例如設備告警、端口流量等,然后把采集到的信息傳送到相關服務器進行篩選、分析、告警和存儲等處理。但考慮到用此種方式采集到的數據主要是監控自治域內的網絡設備、鏈路告警,存在很大的局限性,且由于維護權域問題,很難做到跨域的端到端網絡質量監控。
采用主動式網絡質量監控,在網絡部署探針發起監測,對網絡上的一些目的地址,例如實際用戶訪問的互聯網網站,也可以通過數據中心間的網絡探針做雙向監控,根據應用場景靈活部署監控任務。
IP 在當前網絡中使用最廣泛,ICMP作為 IP的一個子協議具有一定的控制能力和網絡監控能力,經常用于網絡監控和鏈路故障定位。
4.1.1 ping測試
ping測試通過發送ICMP數據分組給目標主機,要求目標主機返回應答消息。ICMP是 TCP/IP (transmission control protocol/internet protocol,傳輸控制協議/互聯網互聯協議)協議族的一個子協議,屬于網絡層協議,廣泛使用于檢測網絡連通性、路由可用性、目的主機是否可達等。遇到數據分組無法到達目的網絡、網絡帶寬速率低、時延高等情況發生時,可發送 ICMP 消息,測試當前網絡狀態。
ping測試將ICMP數據分組發出,目的IP地址對收到的數據進行分組后檢查目的地址,如和自身IP地址相符則接受,并且把數據分組中相關信息交給ICMP處理,封裝應答數據分組后回傳給源地址。當ping測路徑異常時,返程應答數據分組里包含路由不可用、目的主機不可達等錯誤信息。在日常網絡運維中經常使用ping測試用于檢測網絡連通性。
4.1.2 trace工具
trace發出TTL(time to live,存活時間)值追蹤到達目的主機所經過的節點,從節點收到ICMP檢測的應答數據,用來檢測數據發送源到目的節點之間所經節點。信息在網絡中傳輸會經過服務器、交換機、路由器等網絡設備,這些設備通常都配置IP地址,trace可以讓運維人員知道數據端到端傳輸所經過的路徑。trace可以測量數據分組從發送到目的地址再返回源地址所需要的時間,其測試報告包含節點IP地址、每個節點所花費時間、分組丟失率等信息。
需要注意的是,根據散列算法數據分組從源地址到目的地址走的路徑可能會隨著每次測試而改變,使用固定源、目的IP地址測試分組測試網絡狀態時,ping、trace報告顯示路徑正常,只能代表這次ping、trace測試分組恰巧經過了正常路徑,但如果用戶業務數據分組經過的是等價鏈路中的劣化路徑,則測試結果與用戶感知不一致。此外,每一trace返回數據分組因源地址被修改為響應設備地址,五元組散列結果差異會造成回程路徑的不同,因此測試結果無法真實反映實際情況。
數據分組在等價路由轉發時,網絡設備會將每個連接的所有數據分組都發往多個鏈路中的其中一條,數據分組建立連接和轉發鏈路是通過網絡設備散列算法來完成的,散列算法是根據散列因子來計算路徑的[6],比如,包含源IP地址、源端口、目的IP地址、目的端口和傳輸層協議的五元組。
發起監控ICMP分組時的散列因子和用戶業務數據流建立連接時的散列因子不同,用戶數據流恰好走故障鏈路而影響業務,而監控流經過的鏈路則有可能是正常路徑。日常運維中用戶業務有時延、分組丟失等現象,而ICMP監控報告則顯示正常,此時就有可能是在等價鏈路中監控數據分組是通過鏈路A傳輸,而用戶業務數據分組是從鏈路B轉發。這就要求網絡質量監控系統首先要滿足監控路徑覆蓋全鏈路,實現遍歷性。
4.2.1 單向監測
部署在數據中心的探針發起對外部公網互聯網網站的ICMP監控。探針支持多IP地址配置,選取多個互聯網網站作為目的IP地址進行監測。探針發起對不同目的互聯網網站的trace,探針切換不同源地址繼續對不同互聯網IP地址發起測試,部署在不同網段的其他探針也持續重復以上監控。經過上述監控步驟可以得到數據中心到互聯網的不同訪問路徑,畫出全路徑網絡監測拓撲結構,如圖1所示,可以看出左邊探針發起對互聯網網站地址的ICMP監控,當探針用不同源地址或者多個探針發起監控時,會經過多個不同中間節點,滿足監控鏈路的遍歷性要求。逐漸提高目的互聯網網站地址的數量,查看中間路徑層數和節點數是否會明顯增加,如果調整到無明顯增加時,可以得到覆蓋整個中間路徑的網絡監控拓撲。
單向監測的特點是每個探針進行一對多監測,目的IP地址可以在探針最大性能范圍內找海量公網存活IP地址,根據散列算法,足夠多的源?目的IP地址因子組合可以實現監測覆蓋全路徑的效果,用少量探針實現監測遍歷性,可以減少部署在異地數據中心的探針數量,控制成本。而缺點是單向監測只能從全局宏觀上發現某一方向的網絡質量異常情況,定性給出網絡變化情況,無法精確定位故障點。
4.2.2 雙向監測
用戶網絡服務是用戶發送請求到數據中心,再從數據中心反饋內容,是雙向的,因此,網絡設備在兩個方向分開進行散列算法。如果說用戶到數據中心的方向是路徑A,那么數據中心分組返回時走的路徑可能是B,而ping和trace報告都是單向監控,如果需要監控雙向路徑,就要在正反方向分別相互做ping和trace監控。單向監控的局限性決定,單向監控只能用來做告警發現和繪制全路徑網絡監控拓撲圖,要實現故障點定位功能,需要結合探針雙向監控。
在日常網絡運維中會碰到以下情況,見表1。
如表1所示,正向trace報告中第10跳已到用戶側網絡且顯示分組丟失出現在最后一跳。第10跳分組丟失率為0,依據排障經驗可以判斷之前顯示的分組丟失率為中間節點設備對ICMP分組做的保護機制,對正常業務數據轉發無影響,故障點在最后一跳用戶設備。
但是從表2反向trace報告可看出,分組丟失出現在第8跳節點,之后分組丟失率一直延續,故障點在第8跳省際鏈路中間節點。最后的排查結果是上海到北京的一根鏈路故障導致的擁塞引起分組丟失。業務請求和數據反饋走的雙向路徑會不同,且故障往往發生在其中一條鏈路上,在實際日常運維中會經常碰到結合單向和反向監測報告判斷出故障點的情況。
在需要監控路徑的多個數據中心部署多個探針,探針支持多IP地址配置,數據中心中的多個探針與另外數據中心探針進行相互ICMP監控。不同數據中心探針間形成full-mesh監控,如圖2所示。
表1 正向trace

表2 反向trace
探針源地址數和探針部署量,可以根據單向監控方式繪制的全路徑網絡監控拓撲圖作調整。探針間full-mesh監控結果可得出數據中心間全路徑覆蓋監控,且可以準確定位路徑中的故障節點,如圖3所示。
系統由網絡探針和數據處理服務器組成,網絡探針用于發起監控,收集監控數據,數據處理服務器負責對探針進行配置下發和管理,然后對收集到的監控數據進行處理。方案中單向監測和雙向監測互為補充。

圖2 數據中心間形成full-mesh監控
單向監測選取海量互聯網網站地址作為目的IP地址,可以用少量探針達到監測遍歷性的效果,用單向trace可以畫出某方向的全路徑監測拓撲,并且根據周期性監測數據動態調整拓撲圖,同時,用單向ping方式得到某一方向的宏觀網絡質量。雙向監測在滿足遍歷性的情況下實現故障點精確定位,通過兩端數據中心部署的探針相互ping/trace,可以做到快速發現故障并準確定位故障點。
從單向和雙向監測的歷史數據中可以看出網絡周期性變化情況,分析計算出各方向、各時間段的網絡質量基線,再將網絡質量基線應用在日常實時監測中,當實時監測數據偏離質量基線時觸發告警。為了減少探針和網絡負荷,在日常監測中單向和雙向監測頻率可以適當降低,且只進行ping測定性網絡質量情況。當定性發現異動時再觸發高頻率的監測,用雙向trace方式定位故障點。
探針采用虛擬化方式部署在云資源池。虛擬化部署成本低、部署簡便,其次在后續維護中無需到達現場,在遠端即可登錄查看,方便管理。因為探針部署在省外,要確保探針不會失聯。虛擬化探針支持配置多個IP地址,當數據上傳或者管理通道走在故障路徑時,只要探針本身狀態正常沒有僵死,或者鏈路全斷的情況外,數據處理服務器可以通過輪詢配置好的多個IP地址正常工作。
通過端到端的應用監控,可以很快掌握網絡中間的故障點和用戶體驗,進一步迅速排查網絡出現的問題、定位故障點,為減少故障和提高用戶體驗,起到了非常重要的作用。
4.3.1 了解網絡拓撲變化
通過網絡探針持續監控各個方向的網絡質量和監控路徑,可以掌握整個網絡拓撲信息。根據歷史監控數據,周期性調整拓撲圖,比如一周更新一次拓撲圖。根據拓撲信息,了解網絡變化的趨勢,還可以為以后的網絡變更及帶寬擴容等長期規劃提供參考依據,對某些經常發生網絡故障的鏈路和節點及時做優化和整改方案。
4.3.2 制定網絡性能基線
長期監控鏈路質量,根據節點性能,將忙時和閑時、工作日和節假日等不同維度的網絡質量監控數據形成動態調整的基線。監控系統把實時收集的監控數據和告警基線相比較分析,之后彈出故障點、故障等級等告警信息,提醒運維人員確認,后續跟進處理。
4.3.3 收斂鏈路告警數據
數據處理服務器根據鏈路方向、網絡拓撲數據等信息來確定網絡探針收集到的監控數據。例如,同一路徑方向上的告警數據歸為一條告警,網絡拓撲數據中屬于相同網絡層級或同一網絡設備的IP地址告警歸為相同告警,避免運維人員在海量告警數據中浪費故障處理時間。根據不同監控場景,制定多種收斂算法。
4.3.4 多維度報表
可以根據網絡質量監控數據多維度提供網絡性能報表,根據不同區域、不同數據中心、不同訪問方向、多個監控路徑等維度來掌握網絡質量信息。還可以根據新的監控場景和業務場景,自定義質量監控數據,以圖表和報表方式呈現網絡健康狀態。
根據需求該系統可以實現的監控網絡拓撲如圖4所示。

圖4 監控網絡拓撲
具體如下:
·? 在主要城市數據中心部署網絡探針;
·? 中間數據處理服務器為部署在各省市數據中心的網絡探針下發配置、任務,集中管理管理部署;
·? 部署在各省市數據中心的網絡探針相互形成full-mesh監控數據流,進行雙向監控;
·? 部署在各省市數據中心的網絡探針也發起對互聯網網站IP地址的監控數據流,進行單向監控。
數據分組在網絡中傳遞時會經過多個節點,現在網絡為了冗余性,節點和節點間用多個等價鏈路做負載均衡,通常會用散列算法來實現。使用五元組(源地址、目的地址、源端口、目的端口、協議類型)為散列因子,經過散列算法得出的散列值作為區分不同數據流的標志,映射到不同等價鏈路。在ICMP測試中,每次ping測試或者trace都計算為一次ICMP連接,所以每次ICMP測試都只會監控多條鏈路中的一條,在此次ICMP測試中其他等價鏈路不會被監控到。發起監控ICMP分組時的散列因子和用戶業務數據流建立連接時的散列因子不同,用戶數據流恰好走故障鏈路而影響業務,而監控流經過的鏈路則有可能是正常路徑。
端到端網絡質量監控方案通過改變監控探針IP地址和監控目的IP地址,即改變散列算法中散列因子的方式,使監控數據流遍歷鏈路,及時掌握網絡拓撲變化,快速定位網絡故障,并且通過分析監控數據,動態調整網絡性能基線,收斂告警。此方案解決了傳統網絡質量監控系統遇到的故障發現不及時、故障定位不準確、無法掌握網絡拓撲、性能基線設置單一等問題,可使日常運維工作變得更簡單、高效。與傳統網絡質量監測方式比較見表3。

表3 與傳統網絡質量監測方式對比
根據散列算法用足夠多的源目IP地址組合實現監控路徑遍歷性,通過單向監測方式繪制監測拓撲發現問題,用雙向監測進一步定位故障,使用監控數據制定網絡性能基線,收斂告警數據,建立跨域端到端網絡質量監測系統可彌補傳統網絡質量監控手段的不足。后續可以考慮結合多種不同協議配合ICMP做路徑監控,如使用HTTP(hypertext transfer protocol,超文本傳輸協議)、UDP(user datagram protocol,用戶數據報協議)。網絡路徑中間節點設備會對HTTP和UDP做轉發策略,而針對ICMP分組,一些路由器、交換機等設備會為了不影響轉發業務數據性能,對ping和trace協議分組做限制。根據ICMP、HTTP、UDP 3種協議各自優點,在不同場景結合使用的話可能會得到更加準確可靠的監測結果。
[1] 樊自甫, 伍春玲, 王金紅. 基于SDN架構的數據中心網絡路由算法需求分析[J]. 電信科學, 2015, 31(2): 42-51.
FAN Z F, WU C L, WANG J H. Requirements analysis of data center network routing algorithm based on SDN architecture [J]. Telecommunications Science, 2015, 31(2): 42-51.
[2] 謝海華. 有線IP城域網絡可視化質量監控系統的建設與運用研究[J]. 無線互聯科技, 2017(23).
XIE H H. Study on construction and application of visual quality monitoring system for CATV’s IP metropolitan area network[J]. Wuxian Hulian Keji, 2017(23).
[3] 夏剛. 互聯網環境的網絡質量監測體系研究與實踐[J]. 中國金融電腦, 2016(7): 48-51.
XIA G. Research and practice of network quality monitoring system in internet environment[J]. China Financial Computer, 2016(7): 48-51.
[4] 覃佐曼. 基于SDN的數據中心網絡多路徑負載均衡的研究[D]. 大連: 大連海事大學, 2017.
QIN Z M. Research on multipath load balancing in data center network based on SDN[D]. Dalian: Dalian Maritime University, 2017.
[5] 安祿. 基于等價多路徑的數據中心網絡流量優化問題研究[D]. 重慶: 重慶大學, 2014.
AN L. The optimization research of traffic engineering for data center networks based on ECMP[D]. Chongqing: Chongqing University, 2014.
[6] 程光, 龔儉, 丁偉, 等. 面向IP流測量的散列算法研究[J]. 軟件學報, 2005, 16(5): 652-658.
CHENG G, GONG J, DING W,et al. A hash algorithm for IP flow measurement[J]. Journal of Software, 2005, 16(5): 652-658.
Internet cross-domain end-to-end quality monitoring and trouble location scheme
YAN Yongming1, CHEN Bing2, XU Wenjie1
1. Shanghai Branch of China Telecom Co., Ltd., Shanghai 200085, China 2. Shanghai Information Network Co., Ltd., Shanghai 200081, China
With the rapid development of internet, the internet content providers need much better quality of internet. They usually need to deploy their applications in the internet data centers all over the country due to their business requirements. Users usually cross domain to access in their data centers. So internet content providers have high level of requirements for cross-domain internet quality. It is very important for internet service providers to establish a monitoring system which could monitor end-to-end cross-domain internet quality and locate the troubles of network out of autonomous systems rapidly. The commonly used network monitoring technology and the hash algorithm in equal-cost multipath routing were analyzed. A solution of using Hash algorithm to realize full traversal of network paths and monitor end-to-end cross-domain internet quality, was presented. Some suggestions were also given for trouble location scheme.
cross domain, end-to-end quality, Hash, full traversal of network paths
TN915.41
A
10.11959/j.issn.1000?0801.2018239
顏永明(1978?),男,中國電信股份有限公司上海分公司信息網絡部綜合運營監控中心副經理、高級工程師,主要研究方向為數據網絡、云組網等。
陳兵(1970?),男,上海市信息網絡有限公司總經理助理、高級工程師,主要研究方向為數據通信、大數據挖掘等。
許文杰(1986?),男,中國電信股份有限公司上海分公司信息網絡部綜合運營監控中心技術工程師、助理工程師,主要研究方向為數據網絡。

2018?06?21;
2018?08?06