張志海 潘信宏 王偉亮
(廣西電網(wǎng)有限責(zé)任公司電力調(diào)度控制中心,廣西 南寧 530023)
隨著電網(wǎng)的快速增長,電力通信網(wǎng)規(guī)模不斷擴大,形成了一個覆蓋高壓、低壓,承載多樣業(yè)務(wù)的復(fù)雜網(wǎng)絡(luò)。電力通信網(wǎng)是電網(wǎng)運行信息的傳送系統(tǒng),是電網(wǎng)運行的“神經(jīng)網(wǎng)絡(luò)”,即依附于電網(wǎng),又相對獨立自成網(wǎng)絡(luò),其運行方式日益復(fù)雜、承載業(yè)務(wù)繁多,各類業(yè)務(wù)的QoS需求各異。為了保證各類業(yè)務(wù)數(shù)據(jù)通信的實時、可靠傳輸,尤其是實時類調(diào)度業(yè)務(wù)的穩(wěn)定可靠,各省網(wǎng)公司都陸續(xù)采用了MPLS技術(shù)和流量工程TE對業(yè)務(wù)進行管控和網(wǎng)絡(luò)優(yōu)化[1],一定程度上滿足了電網(wǎng)發(fā)展、運行和管理的需要。
電力通信網(wǎng)的業(yè)務(wù)管控不僅要考慮傳統(tǒng)的QoS需求,如帶寬、時延抖動、傳輸延時、丟包率等,還要針對電力業(yè)務(wù)特點考慮其他特性,比如隔離、保護、安全等。自從2013年分段路由SR概念提出以來,SR與軟件定義網(wǎng)絡(luò)SDN的結(jié)合引起了人們的廣泛關(guān)注。SR支持無狀態(tài)源路由,能夠減輕中間轉(zhuǎn)發(fā)節(jié)點的開銷,可以靈活地對轉(zhuǎn)發(fā)路由進行管控。SDN從網(wǎng)絡(luò)全局角度,綜合全網(wǎng)狀態(tài)和拓撲信息,高效地部署SR。針對電力業(yè)務(wù)差異化需求,SR和SDN的結(jié)合可對多條業(yè)務(wù)流分別進行細粒度的路由管理和QoS控制。與目前廣泛應(yīng)用的MPLS相比,SR簡化了控制步驟,在網(wǎng)絡(luò)性能與控制開銷之前實現(xiàn)了較好的平衡[2]。本文分析了MPLS實施流量工程TE的特點及其不足,介紹了分段路由SR的基本概念,論證了分段路由SR在流量工程中的部署方式及其在電力場景下的應(yīng)用前景。
傳統(tǒng)IGP路由協(xié)議在建立路由轉(zhuǎn)發(fā)表時,并未考慮帶寬可用性和業(yè)務(wù)特點,因此無法有效控制網(wǎng)絡(luò)流量,導(dǎo)致鏈路阻塞。流量工程TE可以解決這個問題,它根據(jù)業(yè)務(wù)特點和帶寬利用情況來決定業(yè)務(wù)流和物理網(wǎng)絡(luò)拓撲的映射關(guān)系,實現(xiàn)不同鏈路、路由器和交換機之間的業(yè)務(wù)均衡,從而降低網(wǎng)絡(luò)阻塞出現(xiàn)的概率。流量工程充分利用網(wǎng)絡(luò)整體資源,已成為路由結(jié)構(gòu)中一個重要的輔助部分。
流量工程TE主要通過MPLS來實現(xiàn)。MPLS在3層封包前附加了一部分MPLS信息,如圖1所示。
圖1 MPLS頭部結(jié)構(gòu)
MPLS頭部共32位,其中MPLS標(biāo)簽占用20位。針對3層協(xié)議的IP地址業(yè)務(wù)流,IP地址映射為MPLS標(biāo)簽。MPLS網(wǎng)絡(luò)利用標(biāo)簽進行數(shù)據(jù)轉(zhuǎn)發(fā),并支持顯式路徑(Explicit Path)對流量進行調(diào)度。MPLS控制面的主要技術(shù)是標(biāo)簽分發(fā)協(xié)議LDP和RSVP-TE。國家電網(wǎng)和南方電網(wǎng)均已在電力通信主干網(wǎng)部署了MPLS。通過LDP和RSVP-TE等相關(guān)協(xié)議,為主干網(wǎng)電力業(yè)務(wù)提供MPLS-VPN隔離和細粒度、差異化流量調(diào)度。
LDP協(xié)議根據(jù)IGP協(xié)議的路由信息和IP封包中的目的地址分配標(biāo)簽,并通過LDP信令在不同的路由器間傳播標(biāo)簽信息?;贚DP協(xié)議,MPLS設(shè)備把路由信息映射到標(biāo)簽上,并建立標(biāo)簽交換路由。LDP的優(yōu)點是部署簡單,擴展性較好,但不支持流量工程,無法指定轉(zhuǎn)發(fā)路由,無法做到基于業(yè)務(wù)QoS的精準流量調(diào)度。
為了解決LDP不支持流量工程的問題,MPLS引入了RSVP-TE。RSVP-TE引入源路由概念:在開啟RSVP協(xié)議的網(wǎng)絡(luò)中,業(yè)務(wù)流在進入第一個RSVP節(jié)點后,該節(jié)點就會計算出此業(yè)務(wù)流傳輸?shù)侥康牡亟?jīng)過的每一跳路由,此路由稱為顯式路徑(Explicit Path)。源路由的計算需要節(jié)點事先知道全網(wǎng)的拓撲信息和鏈路狀態(tài)信息,RSVP-TE過IGP協(xié)議進行了擴展,擴展字段收集此類信息。此外,RSVP-TE的顯式路徑也可以根據(jù)業(yè)務(wù)的QoS需求靈活定制:如某業(yè)務(wù)要求一條延時低于20ms、帶寬不小于8G的最優(yōu)的轉(zhuǎn)發(fā)路由。源路由和顯式路徑的高效優(yōu)化依賴于每個節(jié)點中的鏈路信息數(shù)據(jù)庫,因此,RSVP-TE節(jié)點需要保持其鏈路信息數(shù)據(jù)庫始終為最新狀態(tài),限制了其擴展性。
MPLS一定程度上解決了流量靈活調(diào)度的問題,得到了廣泛應(yīng)用,但在電力業(yè)務(wù)種類和特性逐漸增多的前提下,MPLS-TE的復(fù)雜性和靈活性亟待改善。
傳統(tǒng)MPLS網(wǎng)絡(luò)基于IGP協(xié)議實現(xiàn)標(biāo)簽分發(fā),從而實現(xiàn)傳輸路徑的控制,雖然部署簡單,但無法基于業(yè)務(wù)進行精細的業(yè)務(wù)流量調(diào)度。目前電力通信網(wǎng)絡(luò)承載業(yè)務(wù)眾多,對帶寬實驗的要求均有不用,詳細需求見表1。
如何解決不同業(yè)務(wù)帶寬時延要求的精準控制,成了MPLS技術(shù)體系最大的技術(shù)瓶頸,隨著技術(shù)的進步,軟件定義網(wǎng)絡(luò)SDN進入了視線。SDN是虛擬化技術(shù)在網(wǎng)絡(luò)中的一種實現(xiàn)方式,是對傳統(tǒng)網(wǎng)絡(luò)架構(gòu)的創(chuàng)新。SDN在將網(wǎng)絡(luò)控制與網(wǎng)絡(luò)轉(zhuǎn)發(fā)分離的基礎(chǔ)上,進一步構(gòu)建為一個開放的、可編程的網(wǎng)絡(luò)架構(gòu)。SDN重新定義了網(wǎng)絡(luò)連接和網(wǎng)絡(luò)行為,并提供了開放的接口,為未來網(wǎng)絡(luò)體系結(jié)構(gòu)和網(wǎng)絡(luò)業(yè)務(wù)的創(chuàng)新提供了良好的基礎(chǔ)平臺。
SDN特征是數(shù)據(jù)轉(zhuǎn)發(fā)和控制分離、網(wǎng)絡(luò)虛擬化和接口開放。SDN實現(xiàn)了網(wǎng)絡(luò)設(shè)備與業(yè)務(wù)分離,網(wǎng)絡(luò)設(shè)備只負責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)和存儲,不對業(yè)務(wù)進行控制。網(wǎng)絡(luò)的控制平面與數(shù)據(jù)平面分離,控制器負責(zé)網(wǎng)絡(luò)控制平面,集中管理所有的數(shù)據(jù)轉(zhuǎn)發(fā),能實時掌握全網(wǎng)資源信息,并根據(jù)業(yè)務(wù)QoS需求進行資源的全局分配和優(yōu)化。SDN的集中控制特性簡化了網(wǎng)絡(luò)控制平面的復(fù)雜度。SDN通過開放的南向和北向接口,實現(xiàn)了業(yè)務(wù)應(yīng)用和底層傳輸網(wǎng)絡(luò)的緊密結(jié)合,業(yè)務(wù)應(yīng)用可以驅(qū)動網(wǎng)絡(luò)如何配置運行,比如剩余帶寬、最低時延等。另外,用戶可以根據(jù)自身業(yè)務(wù)特殊需求,基于開放接口自行配置業(yè)務(wù)傳輸所需調(diào)用的資源。SDN如何與現(xiàn)有MPLS網(wǎng)絡(luò)的高效結(jié)合,提出了分段路由的理念。
表1 各業(yè)務(wù)網(wǎng)絡(luò)需求表
為了使當(dāng)前的 IP/MPLS 網(wǎng)絡(luò)變得更加面向服務(wù)和高效,IETF于2013年提出了分段路由SR的概念。SR技術(shù)脫胎于MPLS,用于優(yōu)化MPLS網(wǎng)絡(luò)。源路由是SR 的基礎(chǔ),即由源節(jié)點決定數(shù)據(jù)如何轉(zhuǎn)發(fā),并將轉(zhuǎn)發(fā)路由設(shè)置在數(shù)據(jù)包頭。中間節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)時,中間節(jié)點只需根據(jù)數(shù)據(jù)包頭部保存的路由信息對數(shù)據(jù)包進行轉(zhuǎn)發(fā)。SR與SDN的結(jié)合可以使網(wǎng)絡(luò)獲得更佳的可擴展性[4],并以更加簡單的方式提供流量工程(TE)、快速重路由(FRR)、MPLSVPN等功能。在未來的網(wǎng)絡(luò)架構(gòu)中,SR將為網(wǎng)絡(luò)提供和上層應(yīng)用快速交互的能力。采用SR實現(xiàn)了業(yè)務(wù)流與網(wǎng)絡(luò)控制的解耦,降低了網(wǎng)絡(luò)運維和管理成本,擴展了網(wǎng)絡(luò)泛在連接能力。
SR分段路由架構(gòu)基于源節(jié)點(通常為路由器、主機或設(shè)備)選擇路由,在數(shù)據(jù)包報頭中插入帶順序的Segment列表,以指示接收到這些數(shù)據(jù)包的節(jié)點怎么去處理和轉(zhuǎn)發(fā)這些數(shù)據(jù)包。由于除源節(jié)點外的節(jié)點不需要儲存和維持任何流的狀態(tài)信息,所以流量的引導(dǎo)決定權(quán)僅在于源節(jié)點。通過這種方式,SR能在MPLS網(wǎng)絡(luò)中提供高級流量引導(dǎo)的能力,同時在數(shù)據(jù)平面和控制平面中保持可拓展性。Segment是節(jié)點對所接收到數(shù)據(jù)包要執(zhí)行的指令,該指令指示節(jié)點如何處理數(shù)據(jù)包[5]。多個Segment組成一個有序的列表,可以引導(dǎo)數(shù)據(jù)包到網(wǎng)絡(luò)的任何路由上,此路由不受最短路徑、域邊界、路由協(xié)議等的影響。這種Segment的有序列表被稱為Segment List或者“SID列表”。SID列表中的每一條目錄是一條指令,作為構(gòu)成整個路由的一個部分或一段。
SR在主機或網(wǎng)絡(luò)入口節(jié)點為數(shù)據(jù)包添加若干個包含分段指令的數(shù)據(jù)包頭,中間節(jié)點會依據(jù)SR指令規(guī)定的路由對數(shù)據(jù)包進行分段轉(zhuǎn)發(fā)。各個分段用 SID標(biāo)記,表示網(wǎng)絡(luò)中的實體或服務(wù),在每個分段里按照最短路徑優(yōu)先的算法進行轉(zhuǎn)發(fā)。所有數(shù)據(jù)包的狀態(tài)只需要在網(wǎng)絡(luò)入口節(jié)點維護,網(wǎng)絡(luò)中間路由無需進行狀態(tài)記錄。
主要的SID類型有節(jié)點SID、鄰接SID、服務(wù)SID三種。在一個IGP網(wǎng)絡(luò)中,節(jié)點SID和鄰接SID可以由鏈路狀態(tài)協(xié)議廣播。擴展后的IGP協(xié)議在本地數(shù)據(jù)表中維護節(jié)點SID和鄰接SID信息。雖然分段路由為數(shù)據(jù)包的定向移動提供了更加靈活的策略,然而在使用上還是有一定限制的。不能為數(shù)據(jù)包添加無限的分段,現(xiàn)在的商業(yè)路由支持的最大數(shù)量為11。
在實際部署SR時,不需要對現(xiàn)有的 MPLS 控制平面做較大的修改,可以使用MPLS 標(biāo)簽棧來存儲SR中的SIDs 序列。與已有的MPLS 技術(shù)相比,SR簡化了控制平面:①僅在入口節(jié)點保存業(yè)務(wù)流量轉(zhuǎn)發(fā)信息;②無需采用信令協(xié)議在中間節(jié)點構(gòu)建轉(zhuǎn)發(fā)表;③不需要維護大量MPLS 標(biāo)簽交換路徑。
圖2 SR轉(zhuǎn)發(fā)流程
以圖2為例闡述SR的運行機制。SDN控制器采集全網(wǎng)的拓撲變化和鏈路狀態(tài),并負責(zé)設(shè)置SR標(biāo)簽。假設(shè)節(jié)點A和節(jié)點F有業(yè)務(wù)流傳輸,兩個節(jié)點間的路由非常多,比如ABDF,ACEF,ABDEF等。如果節(jié)點A和節(jié)點F沒有流量QoS要求,數(shù)據(jù)包按照默認最短路徑轉(zhuǎn)發(fā)。
若節(jié)點A發(fā)起的業(yè)務(wù)(比如數(shù)據(jù)異地備份)對提出了一項QoS請求,要求轉(zhuǎn)發(fā)路徑的帶寬不少于5G,延時低于40ms。那么節(jié)點A會向SDN控制器發(fā)起路由重算請求。SDN控制器根據(jù)掌握的全網(wǎng)拓撲信息和狀態(tài)信息,計算出一條符合QoS要求的顯式路徑。假設(shè)紅色鏈路表示該路徑出現(xiàn)了擁塞,不能滿足節(jié)點A的QoS帶寬要求。SDN控制器最終的計算結(jié)果是圖中虛線箭頭指示的路徑。SDN控制器會給源節(jié)點A下發(fā)符合路徑的SID={16021,16031,16051,16041}來引導(dǎo)節(jié)點A的流量按該路徑轉(zhuǎn)發(fā)。源節(jié)點A收到SID后,會將其寫入數(shù)據(jù)包頭。
表2 各節(jié)點SID列表
表2為中間節(jié)點的SID,中間節(jié)點各自的轉(zhuǎn)發(fā)行為:
①節(jié)點A收到SID后,發(fā)現(xiàn)第一個分段標(biāo)識符16021對應(yīng)B節(jié)點,于是查找路由將數(shù)據(jù)包轉(zhuǎn)發(fā)給B;
②B節(jié)點收到后,發(fā)現(xiàn)下一個分段標(biāo)識符是16031,并將數(shù)據(jù)包發(fā)往16031對應(yīng)的節(jié)點。
③以此類推,最終數(shù)據(jù)包會依據(jù)指定的路徑轉(zhuǎn)發(fā)到目的地F。
分段路由SR的核心是源路由,數(shù)據(jù)包到達網(wǎng)絡(luò)邊緣的入口節(jié)點處,SR控制平面會在數(shù)據(jù)包頭部添加一個包含定序的SID列表,中間節(jié)點只需根據(jù)報頭SID列表中的頂層SID進行轉(zhuǎn)發(fā)。入口節(jié)點維護整個路由選擇策略和狀態(tài)信息,不需要通過復(fù)雜的信令協(xié)議在中間節(jié)點傳播路由和狀態(tài)信息。這種設(shè)計降低了網(wǎng)絡(luò)設(shè)備復(fù)雜度和簡化了運維,同MPLS-TE相比,在路由選擇方面具有良好的擴展性和靈活性。因此,基于SR和SND實現(xiàn)流量工程具有獨特的優(yōu)勢。
圖3 仿真測試環(huán)境
為了驗證SR在流量工程中應(yīng)用的可行性,根據(jù)某電網(wǎng)省公司的電力通信網(wǎng)絡(luò)拓撲搭建了如圖3所示的仿真測試環(huán)境。某電網(wǎng)省公司的主干通信網(wǎng)包括傳輸網(wǎng)AS1和傳輸網(wǎng)AS2,彼此互為備份。模擬連接兩個地市公司的電力通信網(wǎng)AS3和AS4。整個網(wǎng)絡(luò)的運行有中央SDN控制器負責(zé)調(diào)度。
實驗選用Mininet仿真軟件作為驗證平臺。SDN控制器采用的ONOS,是一個開源分布式控制器,具備高擴展性和高可用性,并且支持SR功能擴展;在實驗中,Mininet虛擬出所有路由節(jié)點和SDN控制器,鏈路帶寬均為10Gbit/s。全網(wǎng)運行OSPF協(xié)議。
基于上述實驗場景,在自治域AS3中虛擬出節(jié)點 1 作為服務(wù)定制客戶端,AS4中節(jié)點2作為Web服務(wù)器,要求具有低時延的 QoS 性能保障,然后對傳統(tǒng) SDN 網(wǎng)絡(luò)路由機制和基于SR的路由調(diào)度平均傳輸時延進行對比測試。實驗時,數(shù)據(jù)包發(fā)送滿足泊松分布,參數(shù)λ=20,表示數(shù)據(jù)包平均發(fā)送速率為20。每個數(shù)據(jù)包大小為1Mb,實驗仿真時間為 100s。
圖 4為兩種機制在不同時刻的傳輸時延對比。傳統(tǒng) SDN 機制在整個測試時間內(nèi)的平均傳輸時延為37.7ms,而SDN+SR的為32.5ms,降低了約14%。這是由于SR 機制具有精細化的路由定制能力,控制器會根據(jù)當(dāng)前網(wǎng)絡(luò)資源利用狀況為通信的源、目的節(jié)點創(chuàng)建最優(yōu)的SR 數(shù)據(jù)傳輸通道,故具有較低的傳輸時延。試驗也驗證了SR技術(shù)實現(xiàn)流量工程設(shè)備配置較簡單,簡化了網(wǎng)絡(luò)運維的復(fù)雜度。
圖4 傳輸時延對比
有廠商對SR進行了試點,應(yīng)用場景主要集中在骨干網(wǎng)的流量調(diào)度。對于電力通信骨干網(wǎng)而言,年均流量增長都在15%左右,業(yè)務(wù)QoS保證的難度也在提升。分段路由與SDN結(jié)合,充分利用SDN網(wǎng)絡(luò)可編程性和SR分段路由的簡單控制,能顯著增強屋里網(wǎng)絡(luò)靈活適配業(yè)務(wù)的能力。仿真結(jié)果表明,基于SDN的SR能夠非常靈活的對業(yè)務(wù)傳輸進行控制,精確匹配業(yè)務(wù)QoS指標(biāo),有效基于業(yè)務(wù)需求開展精細化的流量調(diào)度,非常適合電力通信網(wǎng)流量工程應(yīng)用。