用戶名: 密碼: 驗(yàn)證碼:

騰訊:海量規(guī)模下DCI網(wǎng)絡(luò)的設(shè)計與實(shí)現(xiàn)

摘要:B2網(wǎng)絡(luò)通過彈性靈活的擴(kuò)展能力滿足海量的業(yè)務(wù)需求,并構(gòu)建了完善的自動化運(yùn)營能力,但是在不斷的迭代優(yōu)化過程中,商用交換機(jī)系統(tǒng)逐漸成“阻礙”B2網(wǎng)絡(luò)快速演進(jìn)的瓶頸。騰訊在骨干網(wǎng)領(lǐng)域通過深度自研和架構(gòu)的不斷迭代,實(shí)現(xiàn)網(wǎng)絡(luò)控制面和管理面的全面自研。后續(xù)將逐步把自研交換機(jī)在骨干網(wǎng)上進(jìn)行試點(diǎn),構(gòu)建管理面、控制面、轉(zhuǎn)發(fā)面的端到端全系統(tǒng)自研。

  前言

  隨著云計算業(yè)務(wù)的蓬勃發(fā)展,全球資源的持續(xù)布局,對基礎(chǔ)網(wǎng)絡(luò)帶來了極大的挑戰(zhàn)。騰訊DCI超過千級節(jié)點(diǎn)中有數(shù)百臺核心設(shè)備,龐大的骨干域帶來的軟硬件資源壓力,網(wǎng)絡(luò)質(zhì)量無法很好的保障,多廠商互通、分布式協(xié)議嚴(yán)重影響了運(yùn)營效率。

  在這個背景下,我們結(jié)合騰訊“海量之道”的設(shè)計理念,在2018年上線了基于SDN集中控制和SR-TE技術(shù)實(shí)現(xiàn)的新一代DCI網(wǎng)絡(luò)——B2,網(wǎng)絡(luò)系統(tǒng)由自研SDN控制器和商用交換機(jī)搭建而成。隨著不斷的運(yùn)營優(yōu)化和資源布局,B2網(wǎng)絡(luò)今天已經(jīng)具備了集中控制、多平面、自動化運(yùn)營、代碼化架構(gòu)設(shè)計等特點(diǎn),實(shí)現(xiàn)了彈性擴(kuò)展、高可用、自動化變更等能力,當(dāng)前B2網(wǎng)絡(luò)已承載了騰訊絕大部分骨干網(wǎng)流量。本文將重點(diǎn)闡述B2網(wǎng)絡(luò)的設(shè)計理念、關(guān)鍵實(shí)現(xiàn)以及后續(xù)演進(jìn)方向。

  1、外練身法,網(wǎng)絡(luò)簡化

  在做網(wǎng)絡(luò)系統(tǒng)架構(gòu)設(shè)計時并不是一味地將網(wǎng)絡(luò)復(fù)雜化,而是讓網(wǎng)絡(luò)保持足夠的簡潔,具備海量規(guī)模的平滑擴(kuò)展能力,保證系統(tǒng)最優(yōu),大道至簡。

  1.1 轉(zhuǎn)控分離,協(xié)議簡化

  控制面。融軟件集中控制之所擅,我們選用了SDN集中控制模式,將復(fù)雜的控制面交由自主研發(fā)的SDN控制器來完成,并根據(jù)實(shí)時網(wǎng)絡(luò)狀態(tài)和業(yè)務(wù)需求,實(shí)現(xiàn)流量智能調(diào)度。

  轉(zhuǎn)發(fā)面。匯設(shè)備高速轉(zhuǎn)發(fā)之所長,網(wǎng)絡(luò)設(shè)備只需最簡單、穩(wěn)定、成熟的基礎(chǔ)特性,在提升網(wǎng)絡(luò)能力的同時,最大限度降低網(wǎng)絡(luò)設(shè)備的實(shí)現(xiàn)復(fù)雜性,網(wǎng)絡(luò)協(xié)議做減法,去掉了相對復(fù)雜的L3VPN/LDP/RSVP-TE等協(xié)議,讓設(shè)備做自己更擅長的事情(高速轉(zhuǎn)發(fā))。也基于此,該方案通過基于ASIC芯片的通用交換機(jī)來實(shí)現(xiàn),通過橫向可擴(kuò)展的方式替換掉價格昂貴的大型路由器,DCI網(wǎng)絡(luò)設(shè)備每100G端口建設(shè)成本得到大幅度的下降。

  1.2 網(wǎng)絡(luò)分域,多平面設(shè)計

  B2采用了網(wǎng)絡(luò)分域設(shè)計,每一個網(wǎng)絡(luò)域都是獨(dú)立的自治域,采用相同的設(shè)計理念和技術(shù)架構(gòu),減少了單域的設(shè)備數(shù)量,極大降低了設(shè)備資源表項(LSP FEC ECMP)壓力。

  同時遵循大系統(tǒng)小做原則,完成網(wǎng)絡(luò)多平面、SET化的設(shè)計和部署,不同平面之間沒有任何的協(xié)議與狀態(tài)信息同步,每個平面采用不同的技術(shù)方案,相互獨(dú)立性很強(qiáng),保證網(wǎng)絡(luò)高可用之外同時支持平滑擴(kuò)展和快速迭代。

  2、內(nèi)修心性,融會貫通

  身法的修煉賦予了網(wǎng)絡(luò)強(qiáng)健的體魄,但網(wǎng)絡(luò)的快速發(fā)展同樣離不開心性的陶冶。隨著自研SDN控制器的持續(xù)迭代升級、架構(gòu)設(shè)計代碼化的全面鋪開,B2網(wǎng)絡(luò)也逐步走向成熟。

  2.1 SDN+集中控制

  最初,我們的選擇跟大多數(shù)廠商一樣,把ODL做為SDN控制器的首選。隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大、業(yè)務(wù)流量的“暴漲”,ODL過于“笨重”、主備模型、數(shù)據(jù)強(qiáng)一致性等缺點(diǎn)愈發(fā)凸顯。

  隨著docker容器化技術(shù)、微服務(wù)架構(gòu)的快速發(fā)展,我們的SDN控制器也不斷地向前迭代和持續(xù)演進(jìn),去年,我們重新定義了B2網(wǎng)絡(luò),并稱之為“SDN+”。

  騰訊SDN+的設(shè)計精髓包括以下幾點(diǎn):

  微服務(wù)化。通過騰訊自研tRPC框架解耦控制器內(nèi)部服務(wù),每個服務(wù)模塊均支持docker容器化發(fā)布和部署,從架構(gòu)上保證了軟件的可擴(kuò)展性和迭代效率;

  統(tǒng)一資源信息管理和豐富的北向API。網(wǎng)絡(luò)資源信息均保存到騰訊云數(shù)據(jù)庫,控制器通過tRPC跟管理平臺、運(yùn)營平臺和變更平臺進(jìn)行交互。豐富的北向API給網(wǎng)絡(luò)的日常運(yùn)維和故障復(fù)盤分析帶來了極大的便利;

  南向標(biāo)準(zhǔn)協(xié)議。考慮到DCI網(wǎng)絡(luò)仍在大量使用商用框式交換機(jī),控制器采用RFC規(guī)定的標(biāo)準(zhǔn)協(xié)議跟設(shè)備進(jìn)行交互,減少了異構(gòu)廠商帶來的管控復(fù)雜度;

  軟件的高可用性。各服務(wù)模塊均支持雙活,軟件的升級維護(hù)業(yè)務(wù)完全不感知。

  2.2 架構(gòu)設(shè)計代碼化

  網(wǎng)絡(luò)設(shè)計及網(wǎng)絡(luò)運(yùn)營中,配置完全一致化管理十分困難,網(wǎng)絡(luò)規(guī)模越大,配置更容易出現(xiàn)差錯,猶如黑盒。在配置設(shè)計時,結(jié)合應(yīng)用場景使用業(yè)界統(tǒng)一的Yang Model加上自研的Tencent Yang構(gòu)建了抽象的配置模型,使用模塊化、抽象化的邏輯屏蔽底層廠商的差異,通過將配置代碼化,實(shí)現(xiàn)線上的配置管理;對于動態(tài)的參數(shù),創(chuàng)造性的使用了嵌入式的Python代碼實(shí)現(xiàn)函數(shù)規(guī)則,實(shí)時地生成每臺設(shè)備的規(guī)劃實(shí)例,實(shí)現(xiàn)設(shè)計代碼化、配置線上模型化。

  3、內(nèi)外兼修,打造彈性智能骨干網(wǎng)

  通過內(nèi)外兼修的方式,B2具備了彈性擴(kuò)展、高可用、自動化等特點(diǎn),把騰訊基礎(chǔ)網(wǎng)絡(luò)帶入了一個全新的高度。

  3.1 彈性靈活,支持大規(guī)模擴(kuò)展

  網(wǎng)絡(luò)簡化,靈活擴(kuò)展結(jié)合網(wǎng)絡(luò)分域的設(shè)計原則,B2采用了骨干和城域的分域模式,實(shí)現(xiàn)了網(wǎng)絡(luò)簡化,每個域采用相同的技術(shù)方案可實(shí)現(xiàn)架構(gòu)快速復(fù)制。每個網(wǎng)絡(luò)域通過多平面、SET化的理念完成設(shè)計和部署,同時結(jié)合現(xiàn)網(wǎng)的運(yùn)營經(jīng)驗(yàn),可以帶來顯而易見的好處:

  更小的故障域。將業(yè)務(wù)分布到越多的網(wǎng)絡(luò)平面上,單一平面或設(shè)備發(fā)生故障,對于業(yè)務(wù)的影響范圍越小。即網(wǎng)絡(luò)故障域的大小跟平面數(shù)成反比;

  更靈活的拓展。將網(wǎng)絡(luò)劃分為不同的平面,平面間物理隔離,各個平面的建設(shè)擴(kuò)容相互獨(dú)立,解決工程上牽一發(fā)動全身的難題,同時支持scale out方式進(jìn)行平面擴(kuò)展;

  更穩(wěn)定的質(zhì)量。不同平面在網(wǎng)絡(luò)技術(shù)、硬件選型、工程部署上可以采用不同的方案,不會因?yàn)閱我惶匦?、硬件等方面的問題引起系統(tǒng)性風(fēng)險,整網(wǎng)具備更高的可靠性;

  更可靠的演進(jìn)。隨著業(yè)務(wù)多樣性的發(fā)展,網(wǎng)絡(luò)需要進(jìn)行必要的更新和演進(jìn),在一個復(fù)雜的大規(guī)模網(wǎng)絡(luò)中,變化往往帶來的是運(yùn)營的災(zāi)難。多平面的網(wǎng)絡(luò)本身具備獨(dú)立的冗余能力,可以將某一個平面在一段時間內(nèi)進(jìn)行隔離,從而零風(fēng)險的進(jìn)行版本更新或架構(gòu)演進(jìn)。

  標(biāo)準(zhǔn)互聯(lián),精細(xì)調(diào)度這里可能會有幾個疑問,多域之間如何互聯(lián),流量如何調(diào)度,擁塞問題如何解決?不同域之間我們采用了平面級full mesh、設(shè)備級partial mesh的互聯(lián)方式,既保證了架構(gòu)規(guī)范的標(biāo)準(zhǔn)和對稱性,又做到了以靈活平滑的大規(guī)模scale out擴(kuò)展。流量調(diào)度方面,控制器基于流量分析平臺的數(shù)據(jù)輸入,可實(shí)現(xiàn)域間的流量精細(xì)化調(diào)度以及平面間的流量非等價負(fù)載分擔(dān),滿足不同類型業(yè)務(wù)需求的同時,有效提升全網(wǎng)的鏈路利用率。

  3.2 智能化,保證網(wǎng)絡(luò)高可用

  集中調(diào)度基于騰訊自主研發(fā)的CSPF算法,以集中控制的模式進(jìn)行全網(wǎng)流量調(diào)度,已經(jīng)做到實(shí)時的流量調(diào)度以及分鐘級的流量擁塞控制,比過去完全依賴設(shè)備TE的效率提升5倍以上,骨干網(wǎng)鏈路的帶寬利用率提升25%以上。

  差異化服務(wù)根據(jù)業(yè)務(wù)對網(wǎng)絡(luò)質(zhì)量的不同訴求,控制器定義不同的SLA等級,并在設(shè)備上創(chuàng)建與之對應(yīng)的隧道;轉(zhuǎn)發(fā)流量時聯(lián)動各業(yè)務(wù)的服務(wù)標(biāo)識,輕松將業(yè)務(wù)報文“裝”到不同等級的隧道里,進(jìn)而實(shí)現(xiàn)業(yè)務(wù)流量的差異化服務(wù)。在網(wǎng)絡(luò)出現(xiàn)擁塞時,可保證核心業(yè)務(wù)優(yōu)先轉(zhuǎn)發(fā),做到核心業(yè)務(wù)不繞路,低優(yōu)先業(yè)務(wù)不丟包。

  柔性可用網(wǎng)絡(luò)故障具有一定的突發(fā)性和不確定性,尤其現(xiàn)網(wǎng)承載流量的設(shè)備或鏈路出現(xiàn)突發(fā)性故障時,結(jié)果很可能是災(zāi)難級的;為最大化保證業(yè)務(wù)的高可用,B2網(wǎng)絡(luò)提供了幾個關(guān)鍵能力:

  控制系統(tǒng)的冗余性:控制器跨可用區(qū)多活且SET化部署,做到網(wǎng)絡(luò)控制平面的高可靠;

  轉(zhuǎn)發(fā)路徑的冗余性:控制器預(yù)先為隧道計算和下發(fā)備份路徑,當(dāng)主路徑出現(xiàn)故障時流量可在百毫秒自動切換至備路徑繼續(xù)轉(zhuǎn)發(fā),整個過程業(yè)務(wù)不感知;

  逃生通道:具備平面級和設(shè)備級的TE隧道一鍵逃生能力,當(dāng)網(wǎng)絡(luò)出現(xiàn)大量TE隧道故障或系統(tǒng)級故障時,能夠在秒級讓業(yè)務(wù)回到IP轉(zhuǎn)發(fā)。

  3.3 自動化,告別人工變更

  配置線上化,配置自動審計底層配置通過轉(zhuǎn)譯層實(shí)現(xiàn)了CLI命令的原子化,而上層的配置設(shè)計實(shí)現(xiàn)了標(biāo)準(zhǔn)化、模型化、代碼化,兩者一拍即合。通過代碼化的配置模型,加上轉(zhuǎn)譯層的魯班模版,實(shí)時生成運(yùn)營變更所需的動態(tài)變化配置,保證設(shè)備上的配置由配置模型直接生成;同時直接通過設(shè)備上的反譯,將現(xiàn)網(wǎng)配置轉(zhuǎn)義成代碼化實(shí)例并在軟件層實(shí)現(xiàn)配置的審計對賬,雙重保障確保了每一行配置與規(guī)劃定義的一致,實(shí)現(xiàn)配置自動審計,解決了大規(guī)模網(wǎng)絡(luò)中配置一致化的難題。

  變更離線化+自動化,實(shí)現(xiàn)安全高效操作控制器通過精準(zhǔn)控制路由的撤銷并逐步將業(yè)務(wù)流量“排干”的方式實(shí)現(xiàn)優(yōu)雅隔離,確保業(yè)務(wù)對網(wǎng)絡(luò)變更零感知;同時精準(zhǔn)控制路由的灰度發(fā)布過程,逐步把業(yè)務(wù)流量“引回來”,大大減小了變更異??赡軒淼挠绊?。

  在SDN+精細(xì)化控制能力、多平面的基礎(chǔ)上,網(wǎng)絡(luò)變更平臺將多個系統(tǒng)平臺串聯(lián)起來,實(shí)現(xiàn)了從優(yōu)雅隔離、灰度啟用、業(yè)務(wù)恢復(fù)、狀態(tài)檢查、自動回滾等全流程自動化變更,可以做到一個變更窗口內(nèi)安全的完成平面內(nèi)所有設(shè)備升級,全網(wǎng)升級周期由原來的年記縮短至周記,架構(gòu)迭代效率大幅提升。

  故障自愈,實(shí)現(xiàn)極簡運(yùn)維立體監(jiān)控?;诠芾砻娴膄ullmesh監(jiān)控,通過控制器實(shí)現(xiàn)軟件定義探測流、編排探測路由的方式覆蓋到每一個網(wǎng)絡(luò)平面、每一臺設(shè)備甚至每一條鏈路,實(shí)現(xiàn)了端到端全方位的立體監(jiān)控,當(dāng)網(wǎng)絡(luò)出現(xiàn)丟包或時延變大等異常時,立體監(jiān)控會立刻感知并上報告警,實(shí)現(xiàn)秒級的故障發(fā)現(xiàn)與精準(zhǔn)的故障定位;

  故障自愈??刂破鞲鶕?jù)告警上報自動定位故障點(diǎn),觸發(fā)故障自愈操作,自動且優(yōu)雅地隔離掉某個平面、某臺設(shè)備或某條鏈路,實(shí)現(xiàn)故障自愈。為確保隔離動作安全有效,控制器通過自定義的邏輯判斷,如判斷剩余帶寬容量、路由一致性、多點(diǎn)故障等,保證隔離不會帶來其他影響或惡化。待立體監(jiān)控判斷故障徹底解除后,可自動解除隔離,恢復(fù)流量。

  結(jié)語

  B2網(wǎng)絡(luò)通過彈性靈活的擴(kuò)展能力滿足海量的業(yè)務(wù)需求,并構(gòu)建了完善的自動化運(yùn)營能力,但是在不斷的迭代優(yōu)化過程中,我們意識到商用交換機(jī)系統(tǒng)逐漸成了“阻礙”B2網(wǎng)絡(luò)快速演進(jìn)的瓶頸。

  過去幾年騰訊骨干網(wǎng)領(lǐng)域通過深度自研和架構(gòu)的不斷迭代,已經(jīng)實(shí)現(xiàn)了網(wǎng)絡(luò)控制面和管理面的全面自研。后續(xù)將逐步把自研交換機(jī)骨干網(wǎng)上進(jìn)行試點(diǎn),構(gòu)建管理面、控制面、轉(zhuǎn)發(fā)面的端到端全系統(tǒng)自研。

內(nèi)容來自:訊石光通訊咨詢網(wǎng)
本文地址:http://m.3xchallenge.com//Site/CN/News/2021/07/30/20210730063751658159.htm 轉(zhuǎn)載請保留文章出處
關(guān)鍵字: DCI 騰訊 交換機(jī) 骨干網(wǎng)
文章標(biāo)題:騰訊:海量規(guī)模下DCI網(wǎng)絡(luò)的設(shè)計與實(shí)現(xiàn)
【加入收藏夾】  【推薦給好友】 
1、凡本網(wǎng)注明“來源:訊石光通訊網(wǎng)”及標(biāo)有原創(chuàng)的所有作品,版權(quán)均屬于訊石光通訊網(wǎng)。未經(jīng)允許禁止轉(zhuǎn)載、摘編及鏡像,違者必究。對于經(jīng)過授權(quán)可以轉(zhuǎn)載我方內(nèi)容的單位,也必須保持轉(zhuǎn)載文章、圖像、音視頻的完整性,并完整標(biāo)注作者信息和本站來源。
2、免責(zé)聲明,凡本網(wǎng)注明“來源:XXX(非訊石光通訊網(wǎng))”的作品,均為轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé)。因可能存在第三方轉(zhuǎn)載無法確定原網(wǎng)地址,若作品內(nèi)容、版權(quán)爭議和其它問題,請聯(lián)系本網(wǎng),將第一時間刪除。
聯(lián)系方式:訊石光通訊網(wǎng)新聞中心 電話:0755-82960080-168   Right