首頁 > 業(yè)界

資深網(wǎng)絡架構師揭秘金山云骨干網(wǎng)

時間:2017-08-25 15:48:22 來源:智能界 作者: 智能界

骨干網(wǎng)(Internet Backbone Network)是連接國與國、城市與城市之間的高速互聯(lián)網(wǎng)絡。如下圖所示,它通過海纜和路纜,將分布在世界各地的數(shù)據(jù)中心連接起來,是互聯(lián)網(wǎng)服務提供商和云計算服務提供商的重要基礎設施,肩負著滿足全球范圍內網(wǎng)絡數(shù)據(jù)通信需求的重任。

1503647428100905.png

全球骨干網(wǎng)示意圖

骨干網(wǎng)的角色如此重要,以至于與此有關的話題,常常會引起業(yè)界的關注和討論。作為云計算的基礎,國內的云計算服務提供商是如何運維自己的骨干網(wǎng)的?又是如何實現(xiàn)自動化運維的?有哪些值得分享、思考的經(jīng)驗和做法?作為一名從業(yè)10年的網(wǎng)絡架構師,我向大家介紹一下金山云骨干網(wǎng)的現(xiàn)況,希望對大家有所幫助。

如何快速發(fā)現(xiàn)骨干網(wǎng)級別故障?

首先簡要介紹一下建設進展。金山云目前在北京和上海兩地之間租用專線搭建起了骨干網(wǎng)絡,按照計劃,今年金山云會在廣州部署節(jié)點,將進一步擴大環(huán)網(wǎng)規(guī)模,搭建北上廣骨干環(huán)網(wǎng),大幅提升金山云公有云服務的網(wǎng)絡質量SLA。

當然,這并不是說建設骨干環(huán)網(wǎng)后就不會出故障了,對于互聯(lián)網(wǎng)公司和云計算服務商來說,運營商的骨干網(wǎng)絡故障是很讓人頭痛的,因為在通常情況下,這種故障會影響到多個省份用戶網(wǎng)絡的訪問質量。

例如,2016年11月19日晚8點,包括華南、西南、華中等在內的國內多個地區(qū),超過10個省份的用戶,在訪問華北地區(qū)的服務節(jié)點時,均出現(xiàn)了問題。測試結果顯示,ICMP丟包率高達30%,延遲增大了約100ms,這種級別的丟包率和延遲情況,如果不及時處理,將導致用戶的業(yè)務嚴重受損。

那么,對于這種骨干網(wǎng)級別的故障,云服務商能否做到快速發(fā)現(xiàn)定位呢?當然是可以的。

金山云的做法是,通過自研開源監(jiān)控的方式,研發(fā)出服務于金山云整個骨干網(wǎng)的網(wǎng)絡質量監(jiān)控系統(tǒng)(Netbench)。

1503647808167996.png

金山云網(wǎng)絡質量監(jiān)控系統(tǒng)監(jiān)控圖

如上圖所示,金山云的這套系統(tǒng)支持多地區(qū)、多ISP監(jiān)控,可在運營商發(fā)生骨干網(wǎng)故障時,快速發(fā)現(xiàn)并準確定位故障,同時采用電子地圖這種直觀形式,顯示出各省份各地級市的網(wǎng)絡質量(延遲、丟包等數(shù)據(jù)),如果某地出現(xiàn)問題,地圖上相應位置的顏色就會變得不同。

1503647826268991.png

金山云網(wǎng)絡質量監(jiān)控系統(tǒng)架構圖

金山云這套網(wǎng)絡質量監(jiān)控系統(tǒng)的主要特點,分為定位策略、主要功能、應用場景三部分:

一、定位策略

抓取訪問客戶服務的用戶IP作為監(jiān)控目的IP;

多對多的監(jiān)控模式,多個源IP監(jiān)控全國各個省市的用戶IP(保證數(shù)據(jù)的準確性避免路由ecmp不均勻的問題);

通過對抓取到的IP進行篩選,排除掉一些不準確的IP,最終篩選出每省份數(shù)百個有效IP進行監(jiān)控;

商用的IP地址庫與BGP IP結合對抓取到的IP進行區(qū)分(ISP、省、市等);

Master-Slave的部署模式,監(jiān)控周期可精確到分鐘級(每1分鐘)。

二、主要功能

提供短信、微信、郵件告警;

提供故障時的MTR數(shù)據(jù)(平均每省份多個MTR),可幫助判斷l(xiāng)oss節(jié)點;

提供柱狀圖、歷史數(shù)據(jù)展示等功能,可追溯故障,查看故障時的丟包以及延遲情況;

可針對重要的IP進行指定監(jiān)控。

三、應用場景

可覆蓋CDN、靜態(tài)、BGP等多網(wǎng)絡類型;

目前可針對EIP(計算)、KS3(存儲)、KLS(視頻)等業(yè)務類型進行監(jiān)控。

1503647847920062.png

骨干網(wǎng)調度架構圖

如何快速解決骨干網(wǎng)級別故障?

對于骨干網(wǎng)級別的故障,除了需要快速發(fā)現(xiàn),更需要快速解決。

有些互聯(lián)網(wǎng)和云計算服務提供商,會通過多線BGP切換故障ISP流量至其他的ISP的方式繞開故障點,由于我國南北互通問題,跨網(wǎng)訪問的質量很差,丟包和延遲都無法保證,而且在跨網(wǎng)切換時,會有較長時間的路由收斂,導致客戶長連接業(yè)務中斷。

金山云避免了這些問題。因為金山云的自建骨干網(wǎng)絡擁有支持跨區(qū)域調度能力,當出現(xiàn)故障時,能夠通過骨干網(wǎng)跨地區(qū)調度故障運營商流量,這種調度只是在同ISP不同地區(qū)之間的調度,只增加地區(qū)間的延遲,對整體丟包并無影響,這樣一來,整體服務質量就得到了保障,同ISP內的路由切換收斂時間,可保證用戶無感知,在近幾次運營商南北骨干網(wǎng)故障中,金山云均做到了故障的快速調度恢復,客戶也不必再因為運營商骨干網(wǎng)的故障而頭疼了。

1503647885676760.png

骨干網(wǎng)絡調度前后對比圖

這里解釋一下原因。金山云可以做到以省市為單位的出口切換級別,比如目標浙江省出現(xiàn)了故障,會優(yōu)先嘗試調度浙江省出向流量至正常地區(qū)節(jié)點,在丟包恢復后將不會有下一步切換動作,不會導致全國切換而加大其它省份的延遲,只有在多省份同時異常而且調度出向無效后才會切全局入向流量。當前已經(jīng)定義了一整套切換規(guī)則來判定什么情況下切換,什么情況下不切換。

1503647904714413.png

骨干網(wǎng)運維自動化

每當出現(xiàn)骨干網(wǎng)級別的故障時,工程師很容易出現(xiàn)誤操作刷錯腳本等低級錯誤,導致業(yè)務受影響,故障處理速度上也得不到最有效的保障。

目前金山云上線的骨干網(wǎng)自動化運維平臺,可實現(xiàn)對這種骨干網(wǎng)級別的故障的自動化判斷和處理等一系列自動化流程,減輕了工程師的壓力,它有著如下特點:

首先,Netbench提供判斷依據(jù),給出當前網(wǎng)絡的質量情況,作為自動化腳本的觸發(fā)條件開始進入自動化流程;

第二,通過Python腳本定義多個故障場景,當出現(xiàn)不同類型的骨干網(wǎng)時可根據(jù)腳本庫調出對應的腳本;

第三,通過Netconf下發(fā)所需要調用的腳本策略配置到對應的核心網(wǎng)絡設備上;

第四,直接對接郵件系統(tǒng),從Netbench調用MTR發(fā)送給ISP進行自動報障;

第五,對接微信、短信告警平臺,在故障時讓客戶能第一時間知道當前故障狀態(tài)以及故障的處理進度。

1503647923123823.png

自動化調度架構圖

在兩三個Region級別的骨干網(wǎng)通過“人”計算還是可以實現(xiàn)最優(yōu)調度的,但是隨著Region的增加,“人”計算的方式效率會越來越低,準確度也會越來越差,那么如何解決多Region骨干網(wǎng)調度呢?我總結出了幾種方法:

1、通過Netbench的MTR功能定時定點采集每Region到每ISP的數(shù)據(jù),平均每省份保證10-20個IP即可(排除路由Ecmp hash不均的問題);

2、對采集到的數(shù)據(jù)進行分層分級,區(qū)分到運營商層面的超核、核心、省市等,并在這些層級的IP上保留MTR當中的延遲值(運營商的設備都會對ICMP有保護所以不采用丟包值);

3、通過腳本分析構建ISP的邏輯IP網(wǎng)絡拓撲圖;

4、在運營商骨干網(wǎng)故障時能夠清晰的描述到是哪個層級哪個核心節(jié)點出現(xiàn)的問題,能夠在拓撲上清晰地看到問題所在;

5、在故障時可通過構建的邏輯IP拓撲計算出調度的最優(yōu)RTT路徑;

6、結合自動化調度實現(xiàn)最優(yōu)調度。

隨著客戶對網(wǎng)絡問題的重視程度的增加,骨干網(wǎng)以及多Region骨干網(wǎng)結構已經(jīng)是現(xiàn)在的互聯(lián)網(wǎng)服務提供商和云計算服務提供商不可或缺的重要環(huán)節(jié)。越來越多的重網(wǎng)絡業(yè)務的出現(xiàn),比如實施對戰(zhàn)類的手機游戲、視頻直播等對網(wǎng)絡質量要求非常高的業(yè)務,不能一而再再而三地把我們所謂的SLA推到運營商的層面,站在客戶業(yè)務的角度去考慮這是極其不負責任的態(tài)度,我們要在有限的網(wǎng)絡環(huán)境中盡可能把客戶的問題合理解決,這樣客戶才能把重要的業(yè)務托付到你那里。

由于運營、成本問題、運維、網(wǎng)絡現(xiàn)狀受限等復雜的因素,金山云目前并沒有使用商用SDN的技術來實現(xiàn)骨干網(wǎng)自動化,,而是通過實踐,使用了BGP、Python、GO等網(wǎng)絡協(xié)議以及腳本工具配合Netconf來實現(xiàn)對于金山云骨干網(wǎng)的自動化。我希望通過介紹金山云在骨干網(wǎng)運維方面的思路,能給大家?guī)硪恍﹩l(fā)和幫助。


評論列表(已有條評論)

最新評論

智能界

智能界(jwnfls.cn)

中國智能科技聚合推薦平臺