腾讯高性能分布式路由技术,亮相亚太网络研讨会APNet
亞太網(wǎng)絡(luò)研討會(huì)(APNet)匯聚亞太地區(qū)計(jì)算機(jī)網(wǎng)絡(luò)和系統(tǒng)領(lǐng)域最優(yōu)秀的研究人員,分享各自最新的研究成果,討論當(dāng)前最前沿的熱點(diǎn)研究問(wèn)題。2020年8月3-4號(hào),為期兩天的第四屆亞太網(wǎng)絡(luò)研討會(huì)(APNet’20)在線上舉行,包括騰訊、阿里、微軟、英偉達(dá)、思科、字節(jié)跳動(dòng)等分別分享了各自在網(wǎng)絡(luò)領(lǐng)域的最新成果,其中騰訊TEG網(wǎng)絡(luò)平臺(tái)部架構(gòu)師呂建超做了主題為Scalable and Flexible Routing Service for Tencent Cloud Access Network的演講。
https://conferences.sigcomm.org/events/apnet2020/index.html
隨著云計(jì)算、5G、AI等的普及應(yīng)用,越來(lái)越多客戶將自己的服務(wù)部署在騰訊云上,騰訊云的規(guī)模在近幾年迎來(lái)了爆發(fā)式的增長(zhǎng)。高速增長(zhǎng)的客戶連接請(qǐng)求和海量的終端用戶訪問(wèn),對(duì)騰訊云的接入網(wǎng)絡(luò)提出了新的挑戰(zhàn)。
2020年08月03號(hào),在亞太網(wǎng)絡(luò)研討會(huì)APNet上,騰訊詳細(xì)介紹了騰訊軟件定義路由器(SoftwareDefined Router)的架構(gòu),設(shè)計(jì)理念,以及SDR在不同的接入場(chǎng)景中如何通過(guò)軟件定義的方式解決云網(wǎng)絡(luò)規(guī)模下的靈活性,擴(kuò)展性和高可用性。
騰訊的接入網(wǎng)絡(luò)主要有三種場(chǎng)景
1.專(zhuān)線接入,通過(guò)在接入點(diǎn)部署專(zhuān)線網(wǎng)關(guān),將大型企業(yè)客戶自有數(shù)據(jù)中心就近接入騰訊網(wǎng)絡(luò),為客戶提供高帶寬、低時(shí)延和高安全性。
2. VPN接入,企業(yè)分支通過(guò)Internet接入騰訊云,以低成本的方式訪問(wèn)云上資源。
3. 終端用戶接入,騰訊通過(guò)在全球的區(qū)域核心和POP點(diǎn)部署TIX(Tencent Internet Exchange)基礎(chǔ)設(shè)施,為全球終端用戶訪問(wèn)騰訊云上資源提供高效通道。
早期,在騰訊云規(guī)模還比較小的階段,騰訊的接入網(wǎng)絡(luò)主要通過(guò)部署傳統(tǒng)商業(yè)路由器或交換機(jī)實(shí)現(xiàn)和外部網(wǎng)絡(luò)的互聯(lián)互通。
隨著騰訊云近幾年的高速發(fā)展,新的挑戰(zhàn)不斷出現(xiàn),包括:
1.??? 千萬(wàn)級(jí)別路由表項(xiàng),10T級(jí)別轉(zhuǎn)發(fā)性能,不同維度能力能夠按需橫向擴(kuò)展
2.??? 網(wǎng)絡(luò)特性需快速迭代,滿足不同接入場(chǎng)景的互通和調(diào)度需求
3. ?? 網(wǎng)絡(luò)Capex和Opex需持續(xù)優(yōu)化
由于傳統(tǒng)的商業(yè)網(wǎng)絡(luò)設(shè)備并不是面向云網(wǎng)絡(luò)而設(shè)計(jì),面對(duì)云網(wǎng)絡(luò)規(guī)模下新的挑戰(zhàn),逐漸無(wú)力支撐。主要表現(xiàn)在:
1.??? 軟硬件廠商綁定,高度耦合,特性迭代周期長(zhǎng)
2.??? 性能、規(guī)格無(wú)法靈活按需擴(kuò)展
3.??? 高成本 ?
顯然,面對(duì)云網(wǎng)絡(luò)規(guī)模,我們需要全新的系統(tǒng)架構(gòu)。為此,網(wǎng)絡(luò)平臺(tái)部基于高可擴(kuò)展、超靈活、高可靠、高可運(yùn)維的設(shè)計(jì)原則,重新設(shè)計(jì)了面向云網(wǎng)絡(luò)規(guī)模的網(wǎng)絡(luò)服務(wù)架構(gòu)。
新的架構(gòu),我們稱(chēng)之為軟件定義路由器(Software Defined Router),核心理念是將復(fù)雜的網(wǎng)絡(luò)功能和特性從網(wǎng)絡(luò)硬件上剝離后轉(zhuǎn)移到通用x86服務(wù)器上,面向云網(wǎng)絡(luò)需求,通過(guò)軟件編程的方式定義云網(wǎng)絡(luò)路由器。
新的架構(gòu)體系下,網(wǎng)絡(luò)功能整體上被劃分為overlay網(wǎng)絡(luò)和underlay網(wǎng)絡(luò)。
Overlay網(wǎng)絡(luò)又進(jìn)一步劃分為四大功能組件,Data Plane、Routing Plane、Control Plane和Orchestrator。不同功能組件部署在不同的服務(wù)器集群,各組件可根據(jù)自身特性和需求獨(dú)立進(jìn)行設(shè)計(jì),維護(hù)和升級(jí)。同時(shí),基于軟件編程的模型,極大提升了網(wǎng)絡(luò)的靈活性,開(kāi)發(fā)和迭代速度相比于傳統(tǒng)網(wǎng)絡(luò)提升了10x,更快更好的滿足客戶的多樣化需求。
Underlay網(wǎng)絡(luò)采用低成本的盒式交換機(jī)組網(wǎng)。underlay網(wǎng)絡(luò)只需提供簡(jiǎn)單的IP Backbone功能,用于連接內(nèi)部組件和外部網(wǎng)絡(luò),underlay網(wǎng)絡(luò)對(duì)overlay業(yè)務(wù)完全不感知。
SDR的內(nèi)部組件之間通過(guò)分布式消息隊(duì)列高效同步路由、ARP及靜態(tài)配置信息,同時(shí)在邊緣部署EA交換機(jī),用于和外部網(wǎng)絡(luò)互連。EA交換機(jī)工作在L2網(wǎng)絡(luò)中,負(fù)責(zé)向外部網(wǎng)絡(luò)提供多類(lèi)型的互聯(lián)端口(GE/10GE/00GE)和實(shí)施L2層網(wǎng)絡(luò)隔離。Data Plane通過(guò)自研的用戶態(tài)協(xié)議棧,負(fù)責(zé)高性能的數(shù)據(jù)轉(zhuǎn)發(fā)。Routing Plane和外部路由器及內(nèi)部路由組件之間通過(guò)BGP協(xié)議傳遞路由信息。Orchestrator和Control Plane分別以Global Controller和Local controller的角色負(fù)責(zé)全局或區(qū)域級(jí)配置、管理及運(yùn)維信息的同步。另外,為高效的同步SDR內(nèi)部組件間的海量動(dòng)態(tài)流表信息,Control plane同時(shí)提供高性能分布式消息通道和分布式存儲(chǔ)服務(wù)。
作為內(nèi)外網(wǎng)絡(luò)的連接器,全新架構(gòu)下的SDR,通過(guò)在全球Access Site的部署,徹底打通了傳統(tǒng)網(wǎng)絡(luò)和云網(wǎng)絡(luò)的任督二脈,實(shí)現(xiàn)了外部網(wǎng)絡(luò)及騰訊內(nèi)部網(wǎng)絡(luò)的高效互聯(lián)互通,為多樣化網(wǎng)絡(luò)服務(wù)的集成和互操作提供了極大的便利性。
SDR天然軟件定義的特性,使其無(wú)論是在靈活性、擴(kuò)展性、可靠性和可運(yùn)維性上,相比于傳統(tǒng)網(wǎng)絡(luò)都呈現(xiàn)除了實(shí)質(zhì)性的升級(jí)。
靈活性方面,外網(wǎng)出口流量,通過(guò)SDR的Flex rules,可以根據(jù)不同客戶,不同業(yè)務(wù)的需求,實(shí)現(xiàn)精細(xì)化的靈活調(diào)度。外網(wǎng)入口流量,通過(guò)超大規(guī)格路由表,可實(shí)現(xiàn)基于32位Ipv4或128位Ipv6粒度的精細(xì)化調(diào)度,支撐內(nèi)部網(wǎng)關(guān)或服務(wù)的靈活遷移和災(zāi)備。
FW/DDoS等安全服務(wù),利用SDR的Flexrules,可按需引導(dǎo)攻擊或異常流量的重定向和清洗后流量的回流。通過(guò)在FW service和SDR之間部署VxLAN,支持FW service本地化部署,或遠(yuǎn)端部署。DDoS防護(hù)上,SDR同時(shí)支持基于軟件的大規(guī)格轉(zhuǎn)發(fā)表項(xiàng),和基于硬件的超大帶寬轉(zhuǎn)發(fā)能力。
為了進(jìn)一步提升性能,SDR引入Tencent Smart Switch(TSS)實(shí)現(xiàn)硬件加速。TSS是騰訊自研的可編程交換機(jī),提供硬件T級(jí)別的線速轉(zhuǎn)發(fā)能力和微妙級(jí)的低時(shí)延。TSS被定義為Data Plane的offloading組件,通過(guò)可編程語(yǔ)言對(duì)ASIC報(bào)文處理行為進(jìn)行定制,形成通用的基于流和基于LPM的Pipeline,通過(guò)和Data Plane、Control Plane的協(xié)同工作,為不同業(yè)務(wù)場(chǎng)景提供硬件加速能力。
SDR目前可提供10Tbps的轉(zhuǎn)發(fā)能力,1000萬(wàn)級(jí)別的路由表,100k/s的端到端路由更新能力。
可靠性方面,基于冗余架構(gòu)設(shè)計(jì),各個(gè)組件出現(xiàn)單點(diǎn)故障時(shí),系統(tǒng)不受影響。同時(shí),由于組件之間完全解耦,轉(zhuǎn)發(fā)平面,在其他組件故障時(shí),可提供Non-stop forwarding (NSF)能力正常處理報(bào)文。路由平面,SDR將BGP功能進(jìn)一步拆分為BGP speaker unit和BGP route computation unit, 部署在不同的集群中。其中,BGP speaker unit以peer粒度進(jìn)行部署,升級(jí)和快速故障恢復(fù),提供Non-Stop Routing (NSR)能力。
可運(yùn)維方面,SDR通過(guò)和Real-time Monitoring and Operating System(RMOS)系統(tǒng)的聯(lián)動(dòng),實(shí)施不同級(jí)別cluster-level、server-level、core-level的實(shí)時(shí)探測(cè)和故障快速隔離。同時(shí),根據(jù)豐富的日志和告警信息,對(duì)SDR健康狀況進(jìn)行實(shí)時(shí)監(jiān)控。另外,SDR提供一鍵隔離,快速路由收斂和跨域容災(zāi)等能力,從全網(wǎng)視角保證客戶業(yè)務(wù)不中斷。
未來(lái),SDR將提供針對(duì)不同層級(jí)網(wǎng)絡(luò),端到端的,實(shí)時(shí)網(wǎng)絡(luò)質(zhì)量探測(cè)和分析能力。基于實(shí)時(shí)的、不同維度的網(wǎng)絡(luò)質(zhì)量、SDR將實(shí)施動(dòng)態(tài)的、多維度、細(xì)粒度的流量調(diào)度策略。同時(shí),SDR將集成網(wǎng)絡(luò)仿真和網(wǎng)絡(luò)驗(yàn)證平臺(tái),進(jìn)一步提升全網(wǎng)的可靠性和可運(yùn)維性。
總結(jié),面向云規(guī)模網(wǎng)絡(luò),SDR通過(guò)軟硬解耦、功能解耦和軟件定義的方式,為騰訊云構(gòu)建了一個(gè)具備超高靈活性、擴(kuò)展性、可運(yùn)維性和低成本的全新接入網(wǎng)絡(luò)。
總結(jié)
以上是生活随笔為你收集整理的腾讯高性能分布式路由技术,亮相亚太网络研讨会APNet的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 有意思的 Node.js 内存泄漏问题
- 下一篇: 这才是真正的Git——Git实用技巧