首頁(yè) > 業(yè)界

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

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

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

1503647428100905.png

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

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

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

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

當(dāng)然,這并不是說建設(shè)骨干環(huán)網(wǎng)后就不會(huì)出故障了,對(duì)于互聯(lián)網(wǎng)公司和云計(jì)算服務(wù)商來說,運(yùn)營(yíng)商的骨干網(wǎng)絡(luò)故障是很讓人頭痛的,因?yàn)樵谕ǔG闆r下,這種故障會(huì)影響到多個(gè)省份用戶網(wǎng)絡(luò)的訪問質(zhì)量。

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

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

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

1503647808167996.png

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

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

1503647826268991.png

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

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

一、定位策略

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

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

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

商用的IP地址庫(kù)與BGP IP結(jié)合對(duì)抓取到的IP進(jìn)行區(qū)分(ISP、省、市等);

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

二、主要功能

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

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

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

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

三、應(yīng)用場(chǎng)景

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

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

1503647847920062.png

骨干網(wǎng)調(diào)度架構(gòu)圖

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

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

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

金山云避免了這些問題。因?yàn)榻鹕皆频淖越ü歉删W(wǎng)絡(luò)擁有支持跨區(qū)域調(diào)度能力,當(dāng)出現(xiàn)故障時(shí),能夠通過骨干網(wǎng)跨地區(qū)調(diào)度故障運(yùn)營(yíng)商流量,這種調(diào)度只是在同ISP不同地區(qū)之間的調(diào)度,只增加地區(qū)間的延遲,對(duì)整體丟包并無影響,這樣一來,整體服務(wù)質(zhì)量就得到了保障,同ISP內(nèi)的路由切換收斂時(shí)間,可保證用戶無感知,在近幾次運(yùn)營(yíng)商南北骨干網(wǎng)故障中,金山云均做到了故障的快速調(diào)度恢復(fù),客戶也不必再因?yàn)檫\(yùn)營(yíng)商骨干網(wǎng)的故障而頭疼了。

1503647885676760.png

骨干網(wǎng)絡(luò)調(diào)度前后對(duì)比圖

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

1503647904714413.png

骨干網(wǎng)運(yùn)維自動(dòng)化

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

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

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

第二,通過Python腳本定義多個(gè)故障場(chǎng)景,當(dāng)出現(xiàn)不同類型的骨干網(wǎng)時(shí)可根據(jù)腳本庫(kù)調(diào)出對(duì)應(yīng)的腳本;

第三,通過Netconf下發(fā)所需要調(diào)用的腳本策略配置到對(duì)應(yīng)的核心網(wǎng)絡(luò)設(shè)備上;

第四,直接對(duì)接郵件系統(tǒng),從Netbench調(diào)用MTR發(fā)送給ISP進(jìn)行自動(dòng)報(bào)障;

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

1503647923123823.png

自動(dòng)化調(diào)度架構(gòu)圖

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

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

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

3、通過腳本分析構(gòu)建ISP的邏輯IP網(wǎng)絡(luò)拓?fù)鋱D;

4、在運(yùn)營(yíng)商骨干網(wǎng)故障時(shí)能夠清晰的描述到是哪個(gè)層級(jí)哪個(gè)核心節(jié)點(diǎn)出現(xiàn)的問題,能夠在拓?fù)渖锨逦乜吹絾栴}所在;

5、在故障時(shí)可通過構(gòu)建的邏輯IP拓?fù)溆?jì)算出調(diào)度的最優(yōu)RTT路徑;

6、結(jié)合自動(dòng)化調(diào)度實(shí)現(xiàn)最優(yōu)調(diào)度。

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

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


評(píng)論列表(已有條評(píng)論)

最新評(píng)論

智能界

智能界(m.ukrainianorthodoxchurchinexile.com)

中國(guó)智能科技聚合推薦平臺(tái)

視頻

專題

試用眾測(cè)

申請(qǐng)中 【免費(fèi)試用】雷柏右手王牌VT3雙高速系列雙模無線游戲鼠標(biāo)
【免費(fèi)試用】雷柏右手王牌VT3雙高
數(shù)量:6 申請(qǐng)人數(shù):211 申領(lǐng):100積分