思科網(wǎng)絡(luò)服務(wù)公司 高級服務(wù)部SDN網(wǎng)絡(luò)、軟件架構(gòu)師 | 王遜 肖鵬 常賀 石林
江蘇電信網(wǎng)絡(luò)操作維護中心 高級工程師 | 束棟
中國運營商互聯(lián)網(wǎng)SDN部署實踐
思科網(wǎng)絡(luò)服務(wù)公司 高級服務(wù)部SDN網(wǎng)絡(luò)、軟件架構(gòu)師 | 王遜 肖鵬 常賀 石林
江蘇電信網(wǎng)絡(luò)操作維護中心 高級工程師 | 束棟
BGP TE controller利用SDN思想,將多種新型技術(shù)架構(gòu)和傳統(tǒng)BGP協(xié)議相結(jié)合,在保護原有網(wǎng)絡(luò)投資和最大限度保持原有運維體系的基礎(chǔ)上,成功實現(xiàn)了互聯(lián)網(wǎng)流量操控,是中國運營商SDN部署的一次有益實踐。
SDN(Software Defined Network)思想方興未艾,各種新型技術(shù)架構(gòu)、標(biāo)準(zhǔn)組織、協(xié)議規(guī)范不斷在產(chǎn)生,發(fā)展和完善,為“軟件操控網(wǎng)絡(luò)”奠定了基礎(chǔ)。與此同時,傳統(tǒng)網(wǎng)絡(luò)設(shè)備正在逐步更新體系架構(gòu)和軟硬件,增強對SDN的支持。在應(yīng)用領(lǐng)域,SDN已經(jīng)在以Google為代表的OTT進行部署,引起了廣泛關(guān)注。OTT通過操控數(shù)據(jù)中心產(chǎn)生的業(yè)務(wù)流量,大幅提高骨干網(wǎng)鏈路利用率,節(jié)省了可觀的帶寬租用費用。但是在傳統(tǒng)運營商互聯(lián)網(wǎng)領(lǐng)域,由于流量成分復(fù)雜、網(wǎng)絡(luò)規(guī)模龐大,鮮見成功先例。
本文介紹了基于SDN方式在運營商網(wǎng)絡(luò)上對互聯(lián)網(wǎng)流量調(diào)度的一次嘗試,使用的是BGP流量調(diào)度控制器(BGP TE controller)。BGP TE controller融合了SDN理念,針對運營商互聯(lián)網(wǎng)流量調(diào)度的特點和需求,以開源架構(gòu)Open DayLight為基礎(chǔ),實現(xiàn)了對BGP流量的調(diào)度。該控制器已經(jīng)在國內(nèi)某運營商骨干網(wǎng)成功部署,實現(xiàn)網(wǎng)絡(luò)和特定業(yè)務(wù)的平穩(wěn)運行。這是國內(nèi)首次通過SDN技術(shù)對互聯(lián)網(wǎng)流量進行調(diào)度,是SDN在運營商骨干網(wǎng)商用的一次成功實踐。
2009年Martin Casado領(lǐng)導(dǎo)的項目組定義了Openflow協(xié)議,掀起了SDN的浪潮。隨著近些年蓬勃發(fā)展,SDN思想已經(jīng)超越了Openflow協(xié)議本身,向可編程設(shè)備、可編程網(wǎng)絡(luò)的方向演進。
可編程設(shè)備是指支持編程語言(python、java等)通過API控制其正常運行的一類設(shè)備。這里的API也稱為SDN控制器南向接口(設(shè)備北向接口),可以是設(shè)備廠商自定義的API(如:ARISTA公司 EAPI,或者思科公司的OnePK等),可以是開放SDN協(xié)議(如:Openflow 1.0/1.3、OpFlex、Netconf/YANG)訪問接口,也可以是設(shè)備命令行接口(CLI)或標(biāo)準(zhǔn)路由協(xié)議(如BGP、IGP)會話等。
可編程網(wǎng)絡(luò)是指使用SDN控制器對整個網(wǎng)絡(luò)進行抽象、仿真、調(diào)度、監(jiān)測的網(wǎng)絡(luò)。業(yè)務(wù)應(yīng)用通過調(diào)用SDN控制器北向接口對整體網(wǎng)絡(luò)進行操控,實現(xiàn)業(yè)務(wù)保障、流量優(yōu)化等目的。
近年來SDN控制器發(fā)展十分迅速,其中開源控制架構(gòu)ODL(Open DayLight)便是其中的主要代表。ODL成立于2013年4月,由Linux Foundation管理,其成員包括IBM、思科、華為、中興等30多家公司。ODL可以支持包括Openflow、Ovsdb、Netconf、BGP、PCEP等多種控制器南向接口。
通過SDN的部署,運營商可以實現(xiàn)快速、靈活業(yè)務(wù)部署,加速業(yè)務(wù)創(chuàng)新,優(yōu)化流量模型,操控關(guān)鍵業(yè)務(wù)流量,充分利用運營商的管道資源,大幅提高運營商競爭力。
在流量調(diào)度方面,運營商通常采用BGP策略實現(xiàn)。常用的做法是運維人員登錄到路由器上手工調(diào)整BGP路由策略,改變特定業(yè)務(wù)的流量流向。這樣做費時、費力、實時性差、可靠性低。為了實現(xiàn)復(fù)雜網(wǎng)絡(luò)環(huán)境中的實時、自動流量調(diào)度,必須使用專用的流量調(diào)度系統(tǒng)。在SDN場景下,可以利用網(wǎng)絡(luò)的可編程特性實現(xiàn)上述功能。通過部署流量調(diào)度系統(tǒng),將運營商、OTT服務(wù)商的互聯(lián)網(wǎng)出口帶寬資源池化,根據(jù)調(diào)度策略靈活、高效地進行流量分配,從而最大化利用現(xiàn)有的帶寬資源,由“運維”向“運營”的方向轉(zhuǎn)變。
在SDN應(yīng)用場景中,運營商對互聯(lián)網(wǎng)流量調(diào)度的需求可以總結(jié)為如下幾點:
● 采用靈活、敏捷的調(diào)度方法,支持實時、動態(tài)流量調(diào)度;
● 使用開放、成熟的技術(shù)體系,盡量兼容現(xiàn)有設(shè)備,減少軟、硬件升級和二次開發(fā)風(fēng)險;
● 具備橫向擴展能力,支持大規(guī)模網(wǎng)絡(luò);
● 可用性高,避免單點故障,控制器對網(wǎng)絡(luò)的影響可控;
● 具備可視性,方便運維人員的維護、排障工作;
● 操作可回溯,發(fā)生異常之后可以快速回退。
不過,SDN在運營商骨干網(wǎng)部署過程中也存在諸多挑戰(zhàn):
● 部署難度大
運營商骨干網(wǎng)規(guī)模大、設(shè)備類型和數(shù)量多,對S D N支持水平不一致。諸多新型協(xié)議棧如Openflow、OVSDB、Netconf等,需要對現(xiàn)網(wǎng)設(shè)備進行硬件更新、軟件升級后才能支持。再加上SDN發(fā)展迅猛,新技術(shù)層出不窮,協(xié)議版本快速迭代,對設(shè)備的兼容性、互操作性要求不斷提升。因此,全網(wǎng)實施SDN不僅難度大,而且還會進一步推高設(shè)備部署、維護成本。
● 可靠性、擴展性要求高
運營商骨干網(wǎng)設(shè)備數(shù)量多,涉及廠商多,國內(nèi)三大運營商Internet骨干網(wǎng)及其海外網(wǎng)絡(luò)設(shè)備數(shù)量從100到300臺不等;大量的網(wǎng)間互聯(lián)導(dǎo)致BGP peer數(shù)量龐大,中國電信與中國聯(lián)通的網(wǎng)內(nèi)互聯(lián)以及運營商網(wǎng)間互聯(lián)的BGP peer數(shù)量大約在500左右;Internet骨干網(wǎng)路由表項逐年增加,目前已經(jīng)突破55萬條。SDN技術(shù)必須要在如此大規(guī)模路由條目和設(shè)備數(shù)量條件下,實現(xiàn)可靠、平穩(wěn)地操控。
● 運維體系壓力大
網(wǎng)絡(luò)運維體系是保證運營商提供服務(wù)的關(guān)鍵之一,它由3個主要元素組成——人、工具、流程。由于SDN引入了編程語言、API、DevOps等要素,對于傳統(tǒng)運維人員來講,知識更新會是一個很大的挑戰(zhàn);新技術(shù)的引入還將對現(xiàn)有OSS體系形成較大沖擊,需要引入新的工具、流程,以及積累新的運維經(jīng)驗;此外,SDN的引入必然使得網(wǎng)絡(luò)更加智能、更加自動化,因此服務(wù)的開通時間、事件的響應(yīng)時間將會大大縮短,而這些都會對傳統(tǒng)的運維流程產(chǎn)生較大影響。
圖1 國內(nèi)某運營商城域網(wǎng)結(jié)構(gòu)示意圖
(一)國內(nèi)某運營商流量調(diào)度需求
圖1中的國內(nèi)某運營商城域IDC(BGP AS號yyy)包含多臺路由器,分屬不同廠商,每臺路由器包括十多條鏈路,分別與Internet骨干網(wǎng)接入路由器、城域網(wǎng)核心路由器、運營商IDC 路由器等多個路由器建立BGP互聯(lián)關(guān)系。上述鏈路的接口類型、鏈路帶寬、帶寬利用率和擴容條件差異較大。
本次流量調(diào)度的目的是動態(tài)調(diào)整城域網(wǎng)IDC出口路由器的流量轉(zhuǎn)發(fā)策略,BGP策略變更時減少對路由器配置的修改,同時在重大網(wǎng)絡(luò)活動期間(例如“雙11”)保障關(guān)鍵資源的訪問(例如“OTT網(wǎng)站”)。
在上述提及的場景中,所涉及的IDC路由器有多個eBGP Peer連接到Internet骨干網(wǎng),每個peer都有1條或者多條10G鏈路,缺省情況下去往互聯(lián)網(wǎng)的流量分別通過多個Peer進行轉(zhuǎn)發(fā),峰值鏈路利用率都在80%以上。在BGP策略變更時往往需要通過多個維護窗口進行設(shè)備配置的修改;并且由于傳輸條件的限制,部分鏈路不能及時擴容,在重大網(wǎng)絡(luò)活動期間,流量快速增加,導(dǎo)致端口擁塞、服務(wù)質(zhì)量下降。使用手工進行BGP流量調(diào)度,網(wǎng)絡(luò)節(jié)點和鏈路數(shù)量多、約束因素多、連接復(fù)雜,因而費時費力。
(二)BGP TE Controller設(shè)計實現(xiàn)
根據(jù)該運營商互聯(lián)網(wǎng)流量調(diào)度具體需求,結(jié)合SDN思想和技術(shù)標(biāo)準(zhǔn),我們設(shè)計并實現(xiàn)了BGP TE controller。BGP TE controller南向接口采用BGP協(xié)議、BGP flowspec、Openflow v1.3,北向提供RESTful接口和用戶APP連接,系統(tǒng)架構(gòu)如圖2所示。
● Collector:通過BGP協(xié)議、BMP(BGP Monitoring Protocol)協(xié)議,收集BGP、IGP路由系統(tǒng)的鄰居狀態(tài)、路由信息。
● Injector:根據(jù)策略引擎發(fā)送的轉(zhuǎn)發(fā)條目,進行環(huán)路檢測、適配之后調(diào)用BGP協(xié)議棧發(fā)送BGP路由或者ODL RESTful接口發(fā)送Openflow條目到路由器上。南向接口目前已經(jīng)支持BGP、BGP flowspec和Openflow 1.3。controller可以根據(jù)系統(tǒng)負載自動調(diào)整injector的數(shù)量,做到橫向擴展。
● Monitor:可視化監(jiān)控系統(tǒng),通過對BGP系統(tǒng)進行實時監(jiān)控、記錄,幫助運維人員維護BGP TE controller系統(tǒng)。
● Policy engine:根據(jù)用戶指定的轉(zhuǎn)發(fā)策略生成轉(zhuǎn)發(fā)條目,并通過RESTful接口將轉(zhuǎn)發(fā)條目下發(fā)到BGP TE controller上。
安裝了BGP TE controller的虛機被部署在運營商內(nèi)部的云環(huán)境之上,通過IBGP協(xié)議和Openflow協(xié)議分別連接到城域IDC路由器上和運營商骨干上,這樣BGP TE controller可以按照用戶指定規(guī)則通過BGP、Openflow分發(fā)相應(yīng)的轉(zhuǎn)發(fā)策略,調(diào)度IDC出口路由器向指定的保障鏈路和eBGP peer發(fā)送流量。
通過BGP TE controller提供的API接口,運營商可以根據(jù)需求實時、動態(tài)調(diào)整每臺IDC出口路由器的轉(zhuǎn)發(fā)策略,從而避免了人工配置BGP策略帶來的隱患,而且BGP協(xié)議兼容多廠商的設(shè)備,無需對現(xiàn)網(wǎng)設(shè)備進行硬件、軟件升級;對于現(xiàn)網(wǎng)能夠支持Openflow設(shè)備,BGP TE controller可以通過Openflow驅(qū)動路由器,替代傳統(tǒng)的PBR(Policy based Routing)功能,通過 API的調(diào)用,可以方便、快速地修改轉(zhuǎn)發(fā)策略。
BGP TE controller具備以下特點:
● 部署復(fù)雜度方面
BGP協(xié)議是運營商網(wǎng)絡(luò)設(shè)備上最成熟的協(xié)議之一,Internet骨干網(wǎng)所有路由器均支持該協(xié)議,互操作性非常好。使用BGP協(xié)議作為南向接口,不需要對現(xiàn)網(wǎng)設(shè)備的硬、軟件進行升級即可進行SDN部署,大大降低了SDN的部署難度和成本。
● 高可用性和擴展性方面
用戶的APP同時連接多個BGP TE controller;特定網(wǎng)絡(luò)設(shè)備與多個controller建立BGP peer;每個controller向特定路由器發(fā)送相同路由條目,單臺controller故障對路由器沒有影響,由此實現(xiàn)了controller層面的冗余。多個BGP TE controller之間不需要任何心跳、數(shù)據(jù)庫同步的動作,大大簡化了系統(tǒng)設(shè)計,提高了軟件的可靠性。多個controller采用Linux Container模式部署,通過虛擬化實現(xiàn)擴展性,支持大規(guī)模網(wǎng)絡(luò)。在工作時,特定路由器中除了被操控的路由外,其他所有路由表項不受影響,仍然按照BGP協(xié)議運行原則自主運行,從而最大限度地確保controller對網(wǎng)絡(luò)設(shè)備的影響被控制在一定的范圍之內(nèi)。BGP TE controller實現(xiàn)了高可靠性、高穩(wěn)定性、高擴展性等關(guān)鍵特性。
● 運維體系方面
運維人員對BGP協(xié)議非常熟悉,傳統(tǒng)的知識體系可以得到沿用,而且運維流程變化較小,對OSS的改造也比較簡單。
綜上所述,BGP TE Controller解決或規(guī)避了SDN部署中的諸多關(guān)鍵難題,使其部署和使用變得更加平滑。照控制器的策略進行流量轉(zhuǎn)發(fā)。
圖2 BGP TE controller系統(tǒng)架構(gòu)圖
圖3 BGP TE controller部署拓撲圖
對于重大事件保障的場景,通過BGP TE controller,用戶將一條或者幾條鏈路作為專用保障鏈路,去承載需要保障資源的流量,其余鏈路承載其他流量,例如該運營商在對某OTT網(wǎng)站“雙十一”期間的流量保障,其基本調(diào)度策略如下所示:
● BGP TE controller發(fā)送和OTT網(wǎng)絡(luò)相關(guān)路由,并且將該路由的出口指向特定路由器上的專用保障鏈路。
● 指定的路由器作為BGP peer接收到controller發(fā)出路由,然后按照該路由進行轉(zhuǎn)發(fā),實現(xiàn)OTT網(wǎng)絡(luò)流量和其他互聯(lián)網(wǎng)流量的分流。
● 如果去往OTT網(wǎng)絡(luò)的流量持續(xù)增長,到達設(shè)定門限時,BGP TE controller可以動態(tài)地將更多鏈路納入保障鏈路。
● 當(dāng)特定路由器上鏈路資源不足時,通過BGP TE controller可以將OTT網(wǎng)絡(luò)流量調(diào)度到其他路由器,并在新指定的路由器上開辟新的保障鏈路。
● 在保障結(jié)束后,controller可以自動或者人工撤銷對路由策略的下發(fā)。
該控制器在該運營商骨干網(wǎng)中進行了成功部署,并取得了預(yù)期效果。SDN技術(shù)用于大規(guī)模互聯(lián)網(wǎng)流量調(diào)度在國內(nèi)尚屬首次。
(四)演進方向
I2RS(Interface to the Routing System)框架的標(biāo)準(zhǔn)化目前正在迅速發(fā)展當(dāng)中,controller可以通過標(biāo)準(zhǔn)化的I2RS接口直接收集、修改設(shè)備的轉(zhuǎn)發(fā)表,從而實現(xiàn)更加靈活的調(diào)度策略;目前版本的ODL尚未支持BGP路由下發(fā)功能,當(dāng)前的實現(xiàn)方式是通過ODL下發(fā)Openflow策略;隨著ODL支持的南向接口不斷豐富、成熟,如對BGP、I2RS等的支持,BGP TE controller會向以開源SDN controller ODL為基礎(chǔ),以BGP、Openflow、I2RS為南向接口的方向逐步演進。
(三)國內(nèi)某運營商流量調(diào)度策略
對于BGP路由策略變更的場景,根據(jù)路由策略通過API調(diào)用BGP TE controller向指定的設(shè)備發(fā)送相關(guān)的BGP路由更新,使得由控制器發(fā)送的路由成為最佳路由(BGP best path),這樣目標(biāo)設(shè)備便會按
SDN的部署可以助力運營商加快業(yè)務(wù)創(chuàng)新,提高網(wǎng)絡(luò)資源利用率,優(yōu)化業(yè)務(wù)體驗,增強市場競爭力,逐步實現(xiàn)從“運維”到“運營”的演進。本文介紹的BGP TE controller利用SDN思想,將多種新型技術(shù)架構(gòu)和傳統(tǒng)BGP協(xié)議相結(jié)合,在保護原有網(wǎng)絡(luò)投資和最大限度保持原有運維體系的基礎(chǔ)上,成功實現(xiàn)了互聯(lián)網(wǎng)流量操控,是中國運營商SDN部署的一次有益實踐。隨著SDN產(chǎn)品、技術(shù)的不斷完善,可以預(yù)見未來更多符合中國運營商應(yīng)用場景和運維體制的新方案、新產(chǎn)品將不斷涌現(xiàn)。