孫祥安
(上海寬帶技術(shù)及應(yīng)用工程研究中心,上海 200436)
互聯(lián)網(wǎng)服務(wù)提供商面臨流量需求日益增長的挑戰(zhàn),高級流量工程(Traffic Engineering,TE)技術(shù)是克服這一挑戰(zhàn)的有效方法。分段路由(Segment Routing,SR)是實現(xiàn)TE的一種相對較新方法,文獻[1]對SR在運營商網(wǎng)絡(luò)中的應(yīng)用做了深入研究。軟件定義網(wǎng)絡(luò)(Software-defined Network,SDN)是一種新的網(wǎng)絡(luò)架構(gòu),采用控制面與數(shù)據(jù)面分離的方式對網(wǎng)絡(luò)流量進行靈活調(diào)度,結(jié)合SDN與SR技術(shù)可以對網(wǎng)絡(luò)進行更為細(xì)粒度的靈活調(diào)度[2]。網(wǎng)絡(luò)研究與運維人員研究這一新技術(shù),往往受限于硬件設(shè)備及網(wǎng)絡(luò)環(huán)境,因此一個功能全面、簡單易用以及貼合實際的網(wǎng)絡(luò)仿真環(huán)境至關(guān)重要。本文嘗試以下一代仿真虛擬環(huán)境(Emulated Virtual Environment-Next Generation,EVENG)作為仿真平臺,對SR-TE和SDN技術(shù)進行實驗,提供一個完整的配置、測試方案。
EVE-NG繼承了Dynamips、IOL以及KVM且兼容許多廠家的各類網(wǎng)絡(luò)設(shè)備,終端設(shè)備也可在上面通過QEMU以虛擬機的形式運行[3]。EVE-NG可以通過ISO鏡像文件在物理機上安裝部署,也可以部署在VMware等虛擬機上。部署完成后上傳網(wǎng)絡(luò)設(shè)備鏡像,然后通過網(wǎng)頁瀏覽器登錄以拖拽的形式進行組網(wǎng)即可進行網(wǎng)絡(luò)實驗[4]。
基于邊界網(wǎng)關(guān)協(xié)議的鏈路狀態(tài)(Border Gateway Protocol Link-State,BGP-LS)是一種簡單、高效的網(wǎng)絡(luò)拓?fù)鋵崟r狀態(tài)搜集方式,BGP-LS有3種路由類型,用于傳遞節(jié)點、鏈路及路由前綴信息,使用時將網(wǎng)絡(luò)中的某一節(jié)配置為路由反射器與控制器建立會話,這樣控制器可以很容易地還原出網(wǎng)絡(luò)拓?fù)?,還降低了控制器的計算需求[5]。SR-TE技術(shù)通過分段路由的標(biāo)簽列表來進行流量工程,具有SR Tunnel和SR Policy兩種實現(xiàn)方式。隧道接口技術(shù)是對傳統(tǒng)流量工程協(xié)議的一種繼承,實現(xiàn)簡單也能夠滿足大部分的業(yè)務(wù)需求,但是存在著引流、接口資源占用以及負(fù)載均衡等問題[6]。SR Policy通過三元組信息(頭端、顏色、端點)來表示一個段列表,可以實現(xiàn)按需自動生成、自動引流及負(fù)載均衡等功能,SR Policy將網(wǎng)絡(luò)能力與網(wǎng)絡(luò)服務(wù)融為一體。路徑計算單元通信協(xié)議(Path Computation Element Protocol,PCEP)是路徑計算單元(Path Computation Element,PCE)和路徑計算客戶端(Path Computation Client,PCC)間的通信通道,從最初的資源預(yù)留協(xié)議(Resource ReSerVation Protocol,RSVP)添加了大量SR-TE的擴展,基于PCEP可以使得廣域網(wǎng)以SDN的形式流量工程管理[7]。
Cisco XR流量控制器(XR Traffic Controller,XTC)可以認(rèn)為是一種PCE服務(wù)器,通過思科XR系列的路由器操作系統(tǒng)實現(xiàn),網(wǎng)絡(luò)設(shè)備作為PCC向XTC控制器上報策略狀態(tài),XTC控制器根據(jù)全網(wǎng)信息下發(fā)段列表用于流量轉(zhuǎn)發(fā)。OpenDaylight是一種開源SDN控制器,采用Java的開放服務(wù)網(wǎng)關(guān)協(xié)議技術(shù)(Open Service Gateway Initiative,OSGi)實現(xiàn),使用Maven進行代碼管理,易于擴展,擁有BGP-LS和PCEP等豐富的南向協(xié)議擴展插件,可以在上面很容易的開發(fā)、集成各類控制層業(yè)務(wù)應(yīng)用,也易于開發(fā)和開放北向用戶操作接口[8]。
參照SR技術(shù)的幾種典型應(yīng)用場景,設(shè)計實驗網(wǎng)絡(luò)拓?fù)淙鐖D1所示[9]。實驗所選用的網(wǎng)絡(luò)設(shè)備皆為思科設(shè)備,CE1和CE2使用Cisco IOS I86BI 15.4,PE1和PE2使用XR7.2.2,測試SR Tunnel場景使用6.3.1版本,P1和P2使用XR 6.3.1,SR控制器使用OpenDaylight 0.12.3,XTC控制器與PE節(jié)點保持一致。4個模擬核心網(wǎng)設(shè)備(兩個PE、兩個P設(shè)備)上配置ISIS路由協(xié)議進行路由通告。假設(shè)CE1和CE2兩個設(shè)備是一個公司兩個地方分部的接入設(shè)備,在PE1和PE2上創(chuàng)建VPN1,兩個接入設(shè)備同屬VPN1。在兩PE設(shè)備間建立BGP會話傳遞兩個接入設(shè)備的路由表信息,PE之間通過IBGP連接,PE與CE之間通過EBGP連接,路由相關(guān)配置可以參考文獻[10]及XR路由器設(shè)備配置手冊。完成上述配置工作后,重點講解SR-TE實驗過程,SR-TE轉(zhuǎn)發(fā)技術(shù)試驗在核心網(wǎng)完成,通過合理的引流策略為CE租戶提供差異性的用戶體驗。
圖1 SR-TE組網(wǎng)圖
SR-TE有兩種技術(shù)實現(xiàn)方式,分別為SR Tunnel和SR Policy,本文對這兩種技術(shù)實現(xiàn)分別從路徑建立和流量引入兩個方面進行實驗。
SR Tunnel的配置及使用方式與RSVP Tunnel一致,在PE1上配置一條嚴(yán)格顯式路徑PE1-P1-P2-PE2,然后通過建立隧道時候引用該路徑,具體配置信息如圖2所示。path-option中segment-routing選項標(biāo)記代表是否使用SR技術(shù),無則代表使用RSVP技術(shù),采用自動路由宣告引流方式。
圖2 Tunnel創(chuàng)建所需的關(guān)鍵配置
完成PE1的隧道配置之后在CE1設(shè)備上ping設(shè)備CE2,結(jié)果如圖3所示。圖左為通過RSVP Tunnel到達PE2,圖右通過SR Tunnel到達PE2,通過每跳的IP地址可以確認(rèn)兩種的轉(zhuǎn)發(fā)路徑是一致的。但是基于標(biāo)簽的轉(zhuǎn)發(fā)方式不同,RSVP Tunnel在每一節(jié)點需要進行標(biāo)簽交換,即每次都彈出上一跳標(biāo)簽再壓入下一跳標(biāo)簽,SR Tunnel會在頭結(jié)點壓入整條鏈路標(biāo)簽,在下游節(jié)點進行逐條彈出然后轉(zhuǎn)發(fā)。
圖3 RSVP標(biāo)簽和SR標(biāo)簽引流對比
實驗依然是讓CE1網(wǎng)絡(luò)聯(lián)通CE2網(wǎng)絡(luò),通過PE2節(jié)點配置路由策略(圖4),在BGP路由的傳遞過程中,將目的地為2.2.2.2的路由條目染色為1002。在PE1節(jié)點查看路由信息且配置SR策略(圖5),可以查看目的地為2.2.2.2的路由條目攜帶color屬性1002。SR策略配置過程與隧道接口配置類似,分為路徑配置和路徑引用兩步,路徑同樣為PE1-P1-P2-PE2,但是這里使用節(jié)點標(biāo)簽來定義標(biāo)簽路徑。
圖4 通過Route policy進行路由染色配置命令
圖5 通過SR Policy進行因引流配置命令
SR Policy基于業(yè)務(wù)路由進行自動引流,無需額外配置且對轉(zhuǎn)發(fā)性能沒有影響,采用Wireshark進行抓包測試,測試在CE1與CE2的連通性來查看報文封裝情況(在CE1執(zhí)行ping 2.2.2.2 source 2.2.2.1),在PE1節(jié)點的G0口抓包,結(jié)果如圖6所示,其中框出來的報文信息為逐跳標(biāo)簽值。
圖6 SR Policy引流數(shù)據(jù)包封裝
利用SR-TE的SDN特性,可以使用控制器進行靈活的網(wǎng)絡(luò)流量管控,實現(xiàn)應(yīng)用驅(qū)動的網(wǎng)絡(luò)管理,本節(jié)使用開源OpenDaylight控制器和XTC控制器分別進行SR-TE試驗,設(shè)備與控制器之間通過PCEP協(xié)議通信。
這里僅對控制器主動下發(fā)SR Tunnel場景進行測試,利用OpenDaylight作為PCE端,網(wǎng)絡(luò)設(shè)備作為PCC端,設(shè)備的配置信息及隧道創(chuàng)建消息如圖7所示,通過PCEP的Initiate消息(消息號12)創(chuàng)建路徑[11]。報文中的END-POINT對象填充了路徑的首尾地址分別為11.1.1.1和22.2.2.2,ERO對象是整條報文最重要的對象,指明了隧道路徑以及對應(yīng)的標(biāo)簽(已在圖7中用粗下劃線標(biāo)出),創(chuàng)建之后的信息查看命令與手動創(chuàng)建的隧道查看命令一致。
圖7 PCEP配置及通過PCEP主動創(chuàng)建隧道
思科的路由器設(shè)備既可作為網(wǎng)絡(luò)設(shè)備進行流量轉(zhuǎn)發(fā),也可以作為控制器來計算路徑和管理鏈路狀態(tài),使用XTC控制器分別對SR Tunnel和SR Policy進行試驗。圖8中的配置分別為控制器和設(shè)備側(cè)的相關(guān)配置,PCC側(cè)隧道不再引用顯式路徑,而是指定PCE進行動態(tài)算路。報文為隧道狀態(tài)報文,框出來的5個部分為隧道五元組信息。
圖8 XTC控制器通過PCEP建立SR Tunnel過程
通過按需下一跳(On Demand Next-hop,ODN)配置進行SR Policy實驗,在ODN模板中指定使用PCEP進行動態(tài)算路,即可使用XTC控制器進行路徑創(chuàng)建更新(圖9),報文粗線框標(biāo)出的是PCEP報文,內(nèi)部細(xì)線框標(biāo)出是更新路徑的節(jié)點地址。
圖9 XTC控制器通過PCEP建立SR Policy過程
SR-TE是一種高級流量工程技術(shù),通過計算和建立不同虛擬路徑傳輸不同網(wǎng)絡(luò)業(yè)務(wù)流量來優(yōu)化網(wǎng)絡(luò)性能,在設(shè)備和網(wǎng)絡(luò)等條件受限的情況下,可以通過虛擬化環(huán)境進行測試及研究。文中通過詳細(xì)的組網(wǎng)及配置過程演示了SR-TE的使用方法,PCEP服務(wù)器通過BGP-LS等協(xié)議搜集網(wǎng)絡(luò)的全局信息,從而可以SDN形式對網(wǎng)絡(luò)資源進行最佳管理和使用。下一步工作利用優(yōu)先級、帶寬、度量值以及親和力等屬性開發(fā)控制器,在網(wǎng)元設(shè)備與控制器之間建立更好的通信與管理機制,研究設(shè)備功能的同時進行控制器的業(yè)務(wù)應(yīng)用開發(fā)。