• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      SR軟件路由器的設(shè)計(jì)與實(shí)現(xiàn)

      2017-03-06 10:05:16高曉敏劉雪晶李佳偉羅洪斌董平
      電信科學(xué) 2017年2期
      關(guān)鍵詞:路由器鏈路分組

      高曉敏,劉雪晶,李佳偉,羅洪斌,董平

      (1.北京交通大學(xué)電子信息工程學(xué)院,北京 100044;2.中國電子科技集團(tuán)公司電子科學(xué)研究院,北京 100041)

      SR軟件路由器的設(shè)計(jì)與實(shí)現(xiàn)

      高曉敏1,劉雪晶2,李佳偉1,羅洪斌1,董平1

      (1.北京交通大學(xué)電子信息工程學(xué)院,北京 100044;2.中國電子科技集團(tuán)公司電子科學(xué)研究院,北京 100041)

      分段路由(segment routing,SR)是近幾年IETF提出的一種路由機(jī)制,其目的是使IP/MPLS網(wǎng)絡(luò)面向服務(wù)并且更高效。SR減少現(xiàn)有MPLS網(wǎng)絡(luò)控制平面復(fù)雜的協(xié)議(LDP/RSVP-TE),并實(shí)現(xiàn)流量工程等機(jī)制。與基于RSVP的顯式路徑中隧道中間節(jié)點(diǎn)維護(hù)報(bào)文流的狀態(tài)不同,基于SR的顯式路徑只在入口邊界路由器中維護(hù)報(bào)文流的狀態(tài),從而提高了網(wǎng)絡(luò)的可擴(kuò)展性,因此SR對(duì)于下一代互聯(lián)網(wǎng)具有重要的研究意義。對(duì)SR的實(shí)現(xiàn)機(jī)制進(jìn)行了研究,利用軟件路由平臺(tái)Click,對(duì)基于PCE架構(gòu)的SR控制平面子系統(tǒng)和基于MPLS的SR數(shù)據(jù)平面子系統(tǒng)的各個(gè)模塊進(jìn)行實(shí)現(xiàn),并在實(shí)際中進(jìn)行部署,以驗(yàn)證SR軟件路由器的可行性。

      分段路由;軟件路由器;路徑計(jì)算單元;多協(xié)議標(biāo)簽交換;下一代互聯(lián)網(wǎng)

      1 引言

      互聯(lián)網(wǎng)的迅猛增長對(duì)當(dāng)前基于IP(internet protocol)的網(wǎng)絡(luò)提出了挑戰(zhàn)。新的應(yīng)用層出不窮,而傳統(tǒng)的IP網(wǎng)絡(luò)沒有數(shù)據(jù)屬性的判別能力,也就談不上按數(shù)據(jù)屬性來區(qū)分服務(wù);網(wǎng)絡(luò)規(guī)模迅速增長,但現(xiàn)有的IP路由技術(shù)及組網(wǎng)方式不適應(yīng)網(wǎng)絡(luò)的擴(kuò)展。MPLS(multiprotocol label switching,多協(xié)議標(biāo)簽交換)[1]技術(shù)是一種在開放的通信網(wǎng)上利用標(biāo)簽引導(dǎo)數(shù)據(jù)高速、高效傳輸?shù)募夹g(shù)。其主要優(yōu)點(diǎn)是兼容現(xiàn)有各種主流網(wǎng)絡(luò)技術(shù),在提供IP業(yè)務(wù)時(shí)能確保QoS(quality of service)和安全性,具有流量工程(traffic engineering,TE)能力。然而 MPLS控制平面復(fù)雜的網(wǎng)絡(luò)協(xié)議 LDP(label distribution protocol)或RSVP-TE(reservation protocol with TE extension)都大大增加了MPLS網(wǎng)絡(luò)實(shí)際部署的難度。為此,IETF(Internet Engineering Task Force,國際互聯(lián)網(wǎng)工程任務(wù)組)提出了分段路由(segment routing,SR)機(jī)制[2],將MPLS的數(shù)據(jù)平面應(yīng)用于SR,在保留了MPLS優(yōu)越性的同時(shí),不使用包含復(fù)雜通信信令的控制協(xié)議,大大簡(jiǎn)化了網(wǎng)絡(luò)部署難度。

      軟件定義網(wǎng)絡(luò)(software defined networking,SDN)是一種新興的網(wǎng)絡(luò)技術(shù),它將網(wǎng)絡(luò)的控制平面與數(shù)據(jù)平面分離,使得原本緊密結(jié)合的獨(dú)立網(wǎng)絡(luò)設(shè)備,變成了可訪問、可編程的計(jì)算設(shè)備。SR屬于一種SDN的實(shí)現(xiàn)方式,其將控制平面和數(shù)據(jù)平面分離,提高了網(wǎng)絡(luò)的靈活性和可擴(kuò)展性,受到了國內(nèi)外學(xué)者的廣泛關(guān)注。參考文獻(xiàn)[3]論述了在線和離線兩種情況下決定SR路徑計(jì)算的最優(yōu)參數(shù),主要解決了SR中流分割值的最優(yōu)參數(shù)的選取,這些值的選取依據(jù)等效多路徑(equal cost multi path,ECMP),從而將離線情況下最壞情況的鏈路利用率最小化。本文除考慮鏈路利用率外,還考慮了時(shí)延/跳數(shù),能夠更好地滿足用戶服務(wù)層需求。參考文獻(xiàn)[4]提出了在部署大規(guī)模分布式設(shè)備時(shí)的能量消耗問題,利用基于SR能量效率的流量工程來減少骨干網(wǎng)絡(luò)中的能源消耗,利用SDN的方法,可以選擇性地關(guān)閉一些鏈路,以節(jié)省能源。主要目標(biāo)是決定網(wǎng)絡(luò)設(shè)備的狀態(tài),看是需要關(guān)閉還是打開。參考文獻(xiàn)[5]介紹了將SDN模型和基于SR的流量工程結(jié)合在一起的架構(gòu),主要解決如何將計(jì)算的路徑映射到SR路徑上,提出了一種SR路徑分配算法,以此來計(jì)算SR路徑。參考文獻(xiàn)[6]提出了一種SR路徑標(biāo)識(shí)編碼算法,盡量減少SR路徑標(biāo)識(shí)的長度。本文除了考慮SR路徑標(biāo)識(shí)的長度問題外,更注重考慮如何使網(wǎng)絡(luò)盡可能達(dá)到負(fù)載均衡,并減少請(qǐng)求拒絕率,以減少SR路徑標(biāo)識(shí)的平均長度,而不只是單純地縮短SR路徑標(biāo)識(shí)的長度。參考文獻(xiàn)[7]描述了SR在多層網(wǎng)絡(luò)中的應(yīng)用,并使用SDN控制器作為控制平面,但并沒有討論SDN控制器使用何種算法計(jì)算路徑。參考文獻(xiàn)[8]將SR的理念應(yīng)用于現(xiàn)有的CE(carrier Ethernet,電信級(jí)以太網(wǎng)),提出了一種分層策略,使其滿足服務(wù)提供商的需求。

      現(xiàn)有的國內(nèi)外針對(duì)SR相關(guān)機(jī)制的研究主要是在仿真平臺(tái)進(jìn)行實(shí)現(xiàn),不能在實(shí)際中部署;另一方面,由于現(xiàn)有的硬件路由器集成度高,都是針對(duì)現(xiàn)網(wǎng)而設(shè)計(jì)的,無法對(duì)其內(nèi)部結(jié)構(gòu)進(jìn)行修改,不適于下一代互聯(lián)網(wǎng)的研究與實(shí)現(xiàn)。因此,本文的研究基于軟件路由器進(jìn)行實(shí)現(xiàn),既避免了現(xiàn)有硬件的限制,又能夠進(jìn)行實(shí)際的部署。本文選用了Click[9]軟件路由平臺(tái)提供的轉(zhuǎn)發(fā)框架進(jìn)行 SR軟件路由器的實(shí)現(xiàn),包括SR控制平面子系統(tǒng)和SR數(shù)據(jù)平面子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。

      2 SR協(xié)議簡(jiǎn)介

      SR利用源路由模型,節(jié)點(diǎn)通過一系列的segment(段)來轉(zhuǎn)發(fā)分組。segment可以表示拓?fù)淅锩娴娜魏螌?shí)體或者服務(wù)。一個(gè)segment可以具有本地意義也可以具有全局意義。用戶可以將任何路徑編碼為一系列的segment,即SL(segment list),將其封裝在數(shù)據(jù)分組頭,使數(shù)據(jù)分組沿著特定的路徑進(jìn)行轉(zhuǎn)發(fā),即SR允許強(qiáng)制一個(gè)流通過任意拓?fù)渎窂胶蛿?shù)據(jù)服務(wù)鏈,同時(shí)只在SR域內(nèi)的入口節(jié)點(diǎn)處維護(hù)每條數(shù)據(jù)報(bào)流的狀態(tài)。

      segment通過SID(segment ID)來標(biāo)識(shí)。當(dāng)SR數(shù)據(jù)平面應(yīng)用MPLS時(shí),一個(gè)SID編碼成為一個(gè)MPLS標(biāo)簽[10]。一系列SID被編碼成一個(gè)標(biāo)簽堆棧。一旦SID完成其相應(yīng)的動(dòng)作,就會(huì)有相應(yīng)的標(biāo)簽出棧。

      SR利用節(jié)點(diǎn)SID(node SID)來表示數(shù)據(jù)分組沿著到達(dá)該節(jié)點(diǎn)的最短路徑轉(zhuǎn)發(fā),即同一個(gè)SR域的每個(gè)節(jié)點(diǎn)都在本地轉(zhuǎn)發(fā)表保存了到達(dá)其他節(jié)點(diǎn)的信息,作為默認(rèn)路由,節(jié)點(diǎn) SID是全局的。另外,SR還使用鄰接 SID(adjacency SID)來控制流的轉(zhuǎn)發(fā),鄰接SID表示數(shù)據(jù)分組沿著某條鏈路轉(zhuǎn)發(fā),即規(guī)定了在某個(gè)節(jié)點(diǎn)沿著特定的網(wǎng)口轉(zhuǎn)發(fā),鄰接 SID是局部的。不同于節(jié)點(diǎn) SID的是,鄰接SID的每個(gè)節(jié)點(diǎn)在轉(zhuǎn)發(fā)表中保存本地的鄰接 SID規(guī)則即可。SR將一系列節(jié)點(diǎn)SID和鄰接 SID按照特定的方式組合成 SL,用來標(biāo)識(shí)一條流量工程的路徑(即源路由)。SR入口路由器將SL封裝在數(shù)據(jù)分組的頭部;SR中間節(jié)點(diǎn)路由器只需根據(jù)SL進(jìn)行分組轉(zhuǎn)發(fā)即可。因此,SR的中間節(jié)點(diǎn)不需要保留數(shù)據(jù)報(bào)流的任何狀態(tài),從而增強(qiáng)了可擴(kuò)展性。

      每個(gè) SR路由器在本地維護(hù)了一個(gè) LFIB(label forwarding information base,標(biāo)簽轉(zhuǎn)發(fā)信息庫),如圖1所示。LFIB定義了分組轉(zhuǎn)發(fā)的下一跳和對(duì)SR標(biāo)簽堆棧執(zhí)行的操作,操作包括3種:push(標(biāo)簽入棧)、continue(標(biāo)簽不變)、next(標(biāo)簽出棧)。LFIB條目可以由本地策略產(chǎn)生,或者從IGP通告協(xié)議得知。當(dāng)分組到達(dá)時(shí),根據(jù)棧頂標(biāo)簽(入標(biāo)簽)以及入口,查找下一跳出口以及出標(biāo)簽和相應(yīng)的SR操作。

      圖1 標(biāo)簽轉(zhuǎn)發(fā)信息庫示意

      SR的控制平面利用PCE(path computation element)架構(gòu)中[11]的PCE作為控制器。與OpenFlow協(xié)議中的控制器最大的不同是,由于SR是一種源路由,PCE只需要為入口路由器配置路由轉(zhuǎn)發(fā)條目,而不需要像OpenFlow中的控制器需要為數(shù)據(jù)平面的每個(gè)交換機(jī)配置轉(zhuǎn)發(fā)條目以及其他的轉(zhuǎn)發(fā)規(guī)則,大大降低了協(xié)議的復(fù)雜度。SR系統(tǒng)示意如圖2所示。

      本文實(shí)現(xiàn)的SR系統(tǒng)由1個(gè)SR域和2個(gè)IP域構(gòu)成。SR域的主要功能是連通兩個(gè)IP域。SR系統(tǒng)主要分為控制平面子系統(tǒng)和數(shù)據(jù)平面子系統(tǒng)兩部分。控制平面由PCE作為控制器,數(shù)據(jù)平面由域邊界路由器(R1、R6)和域內(nèi)路由器(R2~R5)組成??刂破矫?PCE控制器和數(shù)據(jù)平 面邊界路由器通過 PCEP (path computation element communication protocol)[12]進(jìn)行通信。本文主要介紹控制平面子系統(tǒng)和數(shù)據(jù)平面子系統(tǒng)的具體實(shí)現(xiàn),著重介紹控制平面子系統(tǒng)中啟發(fā)式的具有帶寬保證的流量工程算法。

      3 SR控制平面子系統(tǒng)實(shí)現(xiàn)

      SR的控制平面基于PCE架構(gòu)實(shí)現(xiàn)。PCE架構(gòu)由PCE和PCC(path computation client)兩部分組成。當(dāng)PCE應(yīng)用于SR的控制平面時(shí),PCC即作為入口路由器,主要負(fù)責(zé)為進(jìn)入SR域內(nèi)的數(shù)據(jù)分組封裝SR分組頭(SL);PCE即作為SR的控制器,主要功能是為到達(dá)PCC的數(shù)據(jù)分組計(jì)算一條滿足服務(wù)層需求的TE路徑,并用SL來標(biāo)識(shí)此TE路徑。PCE和PCC之間通過PCEP進(jìn)行通信,PCEP主要通過兩個(gè)消息完成核心功能:PCReq(path computation request,路徑計(jì)算請(qǐng)求)消息和PCRep(path computation reply,路徑計(jì)算應(yīng)答)消息。

      PCE控制器的組成模塊如圖3所示。PCE控制器主要包括以下模塊:SR-TE路徑計(jì)算模塊、SL優(yōu)化模塊、感知消息處理模塊、PCEP會(huì)話管理模塊。當(dāng)接收到來自數(shù)據(jù)平面的數(shù)據(jù)分組時(shí),首先對(duì)數(shù)據(jù)分組進(jìn)行分類;若為PCEP消息,則發(fā)送至PCEP會(huì)話管理模塊;若為感知消息,則發(fā)送給感知消息處理模塊。PCEP會(huì)話管理模塊將PCReq消息發(fā)送至SR-TE路徑計(jì)算模塊進(jìn)行路徑計(jì)算,將計(jì)算好的SR-TE路徑發(fā)送至 SL優(yōu)化模塊對(duì) SL進(jìn)行優(yōu)化,之后將優(yōu)化的SL發(fā)送至PCEP會(huì)話管理模塊,封裝成PCRep消息發(fā)送至數(shù)據(jù)平面。感知消息處理模塊負(fù)責(zé)接收來自數(shù)據(jù)平面的實(shí)時(shí)鏈路狀態(tài)信息,并對(duì)流量工程數(shù)據(jù)庫進(jìn)行更新。

      圖2 SR系統(tǒng)示意

      圖3 SR-PCE控制器模塊

      3.1 SR-TE路徑計(jì)算模塊

      SR-TE路徑計(jì)算模塊主要負(fù)責(zé)為進(jìn)入域內(nèi)的數(shù)據(jù)分組計(jì)算一條符合服務(wù)層需求的流量工程路徑,使用的算法是一種啟發(fā)式的具有帶寬保證的路由算法,此算法不僅實(shí)現(xiàn)了使用流量工程來達(dá)到負(fù)載均衡的目的,同時(shí)也減少了網(wǎng)絡(luò)的分組頭開銷。本算法的限制條件為跳數(shù)/時(shí)延、鏈路帶寬利用率。目標(biāo)是盡可能使網(wǎng)絡(luò)達(dá)到負(fù)載均衡,并盡可能減少路徑請(qǐng)求拒絕率,從而提升網(wǎng)絡(luò)的性能。

      啟發(fā)式的具有帶寬保證的路由算法的具體實(shí)現(xiàn)流程如圖4所示。工作流程介紹如下。

      圖4 SR-TE算法流程

      步驟1 初始化,根據(jù)網(wǎng)絡(luò)拓?fù)?,建立鏈路狀態(tài)數(shù)據(jù)庫,包括每條鏈路的兩端點(diǎn)、記錄鏈路的metric值、鏈路的最大容量以及已用帶寬和剩余帶寬。

      步驟2 當(dāng)接收到來自PCC的PCReq消息時(shí),從消息中提取源地址、目的地址、metric限制值req_metric、需求帶寬值req_bw。

      步驟3 若req_metric〉0,則表明路徑請(qǐng)求中包含了metric限制,利用改進(jìn)的 K最短路徑,計(jì)算出滿足req_metric的路徑,并存入TE路徑庫;若req_metric=0,則表明路徑請(qǐng)求不包含metric限制,則利用K最短路徑計(jì)算出前K條路徑,存入TE路徑庫。

      步驟4 判斷TE路徑庫中是否包含計(jì)算出的路徑:若沒有,則向PCEP會(huì)話模塊發(fā)送PCRep no-path消息,即拒絕請(qǐng)求;若有路徑,則轉(zhuǎn)到步驟5。

      步驟5 若req_bw〉0,剔除TE路徑庫中不滿足帶寬限制的路徑,若此時(shí)TE路徑庫中沒有路徑,則表明不能滿足條件,向PCEP會(huì)話模塊發(fā)送PCRep no-path;若TE路徑庫中有路徑,再從剩余的路徑中選擇出鏈路帶寬利用率最小的路徑,以達(dá)到負(fù)載均衡的目的;若req_bw=0,則表明路徑請(qǐng)求中不包含bw限制,直接依據(jù)鏈路狀態(tài)數(shù)據(jù)庫,在LSP路徑庫中選擇出鏈路帶寬利用率最小的路徑;若最后計(jì)算出TE路徑,則表明該限制條件下TE路徑存在,則將此SR-TE路徑轉(zhuǎn)發(fā)給SL優(yōu)化模塊。

      如上所述,該算法是一種具有帶寬保證的路由算法,能夠滿足數(shù)據(jù)流的所需帶寬、metric等服務(wù)層需求,并且能夠使網(wǎng)絡(luò)盡可能達(dá)到負(fù)載均衡。

      3.2 SL優(yōu)化模塊

      當(dāng)SR-TE模塊計(jì)算出滿足條件的TE路徑時(shí),使用路徑上節(jié)點(diǎn)的SID組成SL來標(biāo)識(shí)此TE路徑。SID可以表示多跳,為了增加有效帶寬利用率,要使SL盡可能的短,最理想的情況是SL只有1個(gè)標(biāo)簽,即目的節(jié)點(diǎn)SID,但這只能標(biāo)識(shí)最短的路徑,且無法區(qū)分等效多路徑(ECMP)。為了標(biāo)識(shí)SR-TE模塊計(jì)算出的滿足服務(wù)層需求的TE路徑,首先使用每個(gè)節(jié)點(diǎn)SID組成初始SL,之后根據(jù)具有ECMP感知的最短路徑壓縮算法,對(duì)初始SL進(jìn)行優(yōu)化,計(jì)算出盡可能短的 SL。SL優(yōu)化算法流程如圖5所示。

      由于SR中的節(jié)點(diǎn)SID可以表示多跳,即可以表示最短路徑,因此在減少SL中的SID時(shí),可以利用這一點(diǎn)作為依據(jù)。即當(dāng)路徑中的某一個(gè)節(jié)點(diǎn)SID不能表示該路徑時(shí),就需要將前一個(gè)節(jié)點(diǎn)SID加入SL中。不能表示路徑有兩種情況:不是最短路徑和具有等價(jià)多路徑。本算法使用Floyd算法計(jì)算SR域內(nèi)任意兩個(gè)節(jié)點(diǎn)之間的最短路徑,同時(shí)也可以計(jì)算任意兩點(diǎn)間是否有等價(jià)多路徑。

      圖5 SL優(yōu)化算法流程

      3.3 其他輔助模塊

      (1)感知消息模塊

      感知消息模塊的主要功能是收集數(shù)據(jù)平面每條鏈路的實(shí)時(shí)帶寬,是SR-TE路徑計(jì)算模塊的基礎(chǔ),以保證鏈路剩余帶寬的實(shí)時(shí)性、增加TE路徑計(jì)算的靈敏度和可靠性,是提高QoS的關(guān)鍵。

      感知消息是通過數(shù)據(jù)平面路由器進(jìn)行主動(dòng)更新的,PCE控制器被動(dòng)更新。當(dāng)PCE收到來自數(shù)據(jù)平面路由器的感知更新提醒消息時(shí),立即返回感知更新請(qǐng)求消息,以請(qǐng)求更新;當(dāng)收到感知更新消息時(shí),根據(jù)收到的實(shí)時(shí)流量更新鏈路狀態(tài)庫中對(duì)應(yīng)鏈路的已用帶寬,為SR-TE路徑計(jì)算模塊中的路徑計(jì)算提供實(shí)時(shí)的帶寬數(shù)據(jù),以提高路徑計(jì)算的準(zhǔn)確性和實(shí)時(shí)性。

      (2)PCEP會(huì)話管理模塊

      PCEP會(huì)話管理模塊負(fù)責(zé)對(duì)數(shù)據(jù)平面發(fā)來的PCEP相關(guān)消息進(jìn)行處理,當(dāng)PCE收到數(shù)據(jù)平面的入口邊界路由器發(fā)來的PCReq消息時(shí),將消息傳送給SR-TE路徑計(jì)算模塊;收到PCRep消息時(shí),將消息傳送給數(shù)據(jù)平面的入口邊界路由器。

      4 SR數(shù)據(jù)平面子系統(tǒng)實(shí)現(xiàn)

      SR的數(shù)據(jù)平面是基于MPLS的數(shù)據(jù)平面進(jìn)行實(shí)現(xiàn)的。數(shù)據(jù)平面由域內(nèi)路由器 (center router,CR)、邊界路由器(border router,BR)組成。

      邊界路由器的主要功能是將到達(dá)SR域的數(shù)據(jù)分組轉(zhuǎn)化成能夠被SR域內(nèi)路由器識(shí)別的SR數(shù)據(jù)分組,即為其封裝相應(yīng)的SL標(biāo)簽堆棧,并在其離開SR域時(shí)為其剝除SR標(biāo)簽堆棧。同時(shí),邊界路由器作為SR域內(nèi)的一部分,需要具備SR域內(nèi)路由器的全部功能。因此,下面只詳細(xì)介紹邊界路由器。

      SR邊界路由器組成模塊如圖6所示。主要包括IP數(shù)據(jù)分組處理模塊、SR數(shù)據(jù)分組處理模塊、PCEP會(huì)話處理模塊、檢查更新模塊、感知消息處理模塊以及相關(guān)信息表(主要包括本地流量工程路徑庫(traffic engineer data base, TE-DB)、轉(zhuǎn)發(fā)等價(jià)類表(forwarding equal class,FEC)、標(biāo)簽轉(zhuǎn)發(fā)信息表(LFIB))。IP數(shù)據(jù)分組處理模塊為進(jìn)入SR域的IP數(shù)據(jù)分組封裝SL,若在本地TE-DB中沒有查找到相應(yīng)的SL,則將數(shù)據(jù)分組緩存在本地,并向PCEP會(huì)話處理模塊發(fā)送路徑請(qǐng)求,若查找到SL,則將SL封裝在IP分組的分組頭轉(zhuǎn)換成SR數(shù)據(jù)分組,再轉(zhuǎn)發(fā)給SR數(shù)據(jù)分組處理模塊。PCEP會(huì)話處理模塊在接收到IP數(shù)據(jù)分組處理模塊的路徑請(qǐng)求時(shí),通過PCEP向控制平面請(qǐng)求路徑,并將控制平面返回的路徑存入TE-DB,同時(shí)檢查更新模塊定期對(duì)TE-DB中的路徑條目更新。感知消息處理模塊定期將各網(wǎng)口的流量信息匯報(bào)給控制平面,以便于控制平面計(jì)算流量工程路徑。SR數(shù)據(jù)分組處理模塊從域內(nèi)SR路由器或者IP數(shù)據(jù)分組處理模塊接收SR數(shù)據(jù)分組,根據(jù)分組頭的SL對(duì)數(shù)據(jù)分組進(jìn)行轉(zhuǎn)發(fā)。

      4.1 IP數(shù)據(jù)分組處理模塊

      IP數(shù)據(jù)分組處理模塊負(fù)責(zé)處理IP數(shù)據(jù)分組。IP數(shù)據(jù)分組若是從域外轉(zhuǎn)發(fā)至域內(nèi),稱為OI分組,若是從域內(nèi)轉(zhuǎn)發(fā)至域外,稱為IO分組。

      (1)OI分組處理流程

      步驟1 當(dāng)收到數(shù)據(jù)分組,解析數(shù)據(jù)分組頭,根據(jù)版本字段判斷是否為 IP分組,若是,則轉(zhuǎn)到步驟2,否則,丟棄。

      步驟2 解析IP數(shù)據(jù)分組,提取目的IP地址、需求帶寬、需求metric,依據(jù)目的IP地址、需求帶寬、需求metric查找轉(zhuǎn)發(fā)等價(jià)類表(FEC),找到目的SID,查找本地路徑庫(TE-DB);若查找到相對(duì)應(yīng)的SL,則為IP分組封裝SR分組頭,轉(zhuǎn)發(fā)給SR數(shù)據(jù)分組處理模塊;若查找不到相對(duì)應(yīng)的SL,則將數(shù)據(jù)分組進(jìn)行緩存,并將路徑請(qǐng)求轉(zhuǎn)發(fā)給PCEP會(huì)話處理模塊進(jìn)行路徑請(qǐng)求。

      圖6 SR邊界路由器模塊

      (2)IO分組處理流程

      步驟1 當(dāng)收到數(shù)據(jù)分組,解析數(shù)據(jù)分組頭,根據(jù)版本字段判斷是否為IP分組,若是,則轉(zhuǎn)到步驟2,否則,丟棄。

      步驟2 解析IP數(shù)據(jù)分組,提取目的IP地址,若目的IP地址是自己,則接收此數(shù)據(jù)分組;否則,為IP分組封裝MAC層,轉(zhuǎn)發(fā)至相應(yīng)的網(wǎng)口。

      4.2 SR數(shù)據(jù)分組處理模塊

      SR數(shù)據(jù)分組處理模塊負(fù)責(zé)處理SR數(shù)據(jù)分組。工作過程如下。

      步驟1 當(dāng)收到數(shù)據(jù)分組,判斷目的MAC地址是否是自己。若是,則轉(zhuǎn)到步驟2;否則,丟棄。

      步驟2 判斷數(shù)據(jù)分組是否是SR數(shù)據(jù)分組,判斷依據(jù)是MAC層type字段是否為0x8847(這里使用MPLS的MAC層type字段的值)。若是,則剝掉MAC層,轉(zhuǎn)到步驟3;否則,丟棄。

      步驟3 解析SR數(shù)據(jù)分組頭,提取SR分組頭SL中的第一個(gè)SID,查找本地標(biāo)簽轉(zhuǎn)發(fā)信息表(LFIB),依據(jù)SL中第一個(gè)SID即入口SID查找出口SID、標(biāo)簽操作和轉(zhuǎn)發(fā)網(wǎng)口。

      步驟4 進(jìn)行標(biāo)簽操作 (continue、next):當(dāng)出口SID標(biāo)識(shí)下一跳時(shí),執(zhí)行next操作,即將此SID從SR分組頭中剝掉;當(dāng)出口SID不是標(biāo)識(shí)下一跳時(shí),執(zhí)行continue操作,即SR分組頭不變。

      步驟5 為SR數(shù)據(jù)分組封裝MAC層分組頭,根據(jù)查找到的轉(zhuǎn)發(fā)網(wǎng)口將SR數(shù)據(jù)分組轉(zhuǎn)發(fā)至相應(yīng)的網(wǎng)口。

      4.3 其他輔助模塊

      (1)相關(guān)數(shù)據(jù)信息表

      TE-DB:用于存放向PCE控制器請(qǐng)求的TE路徑,并由檢查更新模塊定時(shí)更新。

      FEC:用于區(qū)分不同的服務(wù),對(duì)到達(dá)的數(shù)據(jù)流進(jìn)行分類,并將同種類型的服務(wù)請(qǐng)求按照同一種轉(zhuǎn)發(fā)方式進(jìn)行轉(zhuǎn)發(fā)。

      LFIB:本地標(biāo)簽轉(zhuǎn)發(fā)信息表。

      (2)檢查更新處理模塊

      負(fù)責(zé)維護(hù)本地TE-DB,維護(hù)一個(gè)定時(shí)器,定期檢查本地TE路徑條目,根據(jù)條目中維護(hù)的時(shí)間戳,判斷該條目是否失效(即是否超時(shí))。若失效,則將此條目從TE-DB中刪除;否則,繼續(xù)檢查其他TE路徑條目。

      (3)PCEP會(huì)話處理模塊

      負(fù)責(zé)處理PCEP的相關(guān)消息。作為邊界路由器,當(dāng)收到從域外發(fā)送至域內(nèi)的數(shù)據(jù)分組時(shí),首先查找本地TE-DB,若本地沒有相應(yīng)的路徑,邊界路由器則需要作為PCE架構(gòu)中的PCC,使用PCEP向PCE控制器請(qǐng)求路徑。當(dāng)收到IP數(shù)據(jù)分組處理模塊發(fā)送的路徑請(qǐng)求消息時(shí),將請(qǐng)求信息封裝成PCReq消息發(fā)送給控制器;當(dāng)收到控制器回送的PCRep消息時(shí),將應(yīng)答消息中的SL發(fā)送給IP數(shù)據(jù)分組處理模塊。

      (4)感知消息處理模塊

      負(fù)責(zé)監(jiān)測(cè)并記錄各網(wǎng)口的實(shí)時(shí)流量,并維護(hù)定時(shí)器,定期向控制器匯報(bào)各網(wǎng)口的實(shí)時(shí)流量,以便于控制器更合理地進(jìn)行流量工程路徑計(jì)算。

      5 測(cè)試結(jié)果及分析

      為驗(yàn)證SR軟件路由器的功能并測(cè)試其性能,在實(shí)驗(yàn)室實(shí)體機(jī)柜上部署了測(cè)試拓?fù)?。SR域中標(biāo)識(shí)R1~R6的節(jié)點(diǎn) SID分別為 16001、16002、16003、16004、16005、16006;鏈路帶寬除 R3-R5和 R4-R6兩條鏈路帶寬為 50 Mbit/s外,其余鏈路帶寬均為100 Mbit/s。實(shí)驗(yàn)中只使用了節(jié)點(diǎn)SID,沒有涉及鄰接SID。

      為了測(cè)試SR軟件路由器的功能,IP1域中的A用戶向IP2域中的B用戶發(fā)送數(shù)據(jù),數(shù)據(jù)的請(qǐng)求帶寬req_bw為80 Mbit/s,請(qǐng)求metric限制值為10。

      數(shù)據(jù)分組在SR域內(nèi)的轉(zhuǎn)發(fā)過程如下:

      步驟1 當(dāng)IP數(shù)據(jù)分組到達(dá)入口邊界路由器R1時(shí),在本地路徑庫中查找不到對(duì)應(yīng)的 SL,則向 PCE發(fā)送PCReq消息,如圖7所示,該消息包含end-point object(記錄了源IP地址、目的IP地址)、bandwidth object(記錄了請(qǐng)求帶寬)、metric object(記錄了請(qǐng)求metric限制值)。

      圖7 PCEReq消息

      步驟2 PCE收到路徑請(qǐng)求消息,為其計(jì)算的SR-TE路徑為R1→R2→R4→R5→R6,對(duì)應(yīng)的SL為{16004,16005, 16006},PCE將此標(biāo)簽堆棧封裝在PCRep消息中的ERO(explicit route object)顯式路徑字段中,如圖8所示,并將此消息返回給入口邊界路由器R1。

      圖8 PCERep消息

      步驟3 入口邊界路由器R1將SR標(biāo)簽堆棧封裝在請(qǐng)求分組的頭部進(jìn)行轉(zhuǎn)發(fā),如圖9所示(由于使用wireshark抓取分組,其將SR分組識(shí)別為MPLS數(shù)據(jù)分組)。

      圖9 R1數(shù)據(jù)分組SR標(biāo)簽堆棧

      步驟4 數(shù)據(jù)分組到達(dá)R2,由于下一跳為R4,故將R4的SID剝?nèi)?,SL變?yōu)閧16005,16006},如圖10所示。

      步驟5 數(shù)據(jù)分組到達(dá)R4,由于下一跳為R5,故將R5的SID剝?nèi)ィ琒L變?yōu)閧16006},如圖11所示。

      圖10 R2數(shù)據(jù)分組SR標(biāo)簽堆棧

      圖11 R4數(shù)據(jù)分組SR標(biāo)簽堆棧

      步驟6 數(shù)據(jù)分組到達(dá)R5,由于下一跳為R6,故將R6的SID剝?nèi)?,?shù)據(jù)分組變?yōu)镮P數(shù)據(jù)分組,如圖12所示。

      圖12 R5數(shù)據(jù)分組 IP報(bào)文

      步驟7 數(shù)據(jù)分組到達(dá)R6,域內(nèi)網(wǎng)口接收到IP數(shù)據(jù)分組,則轉(zhuǎn)發(fā)至域外網(wǎng)口,最終數(shù)據(jù)分組經(jīng)過R7送達(dá)用戶B。

      上述結(jié)果表明,SR軟件路由器能夠按照原始設(shè)計(jì)正常工作。

      為進(jìn)一步驗(yàn)證SR-PCE控制器的性能,用戶A無間隔地隨機(jī)產(chǎn)生不同的請(qǐng)求數(shù)據(jù)分組,測(cè)得請(qǐng)求輸入速率和PCE的CPU占用率,如圖13所示。

      根據(jù)實(shí)驗(yàn)數(shù)據(jù)可知,當(dāng)CPU占用率接近100%時(shí),請(qǐng)求速率達(dá)到160 000分組/s。由于SR軟件路由器是通過Click平臺(tái)實(shí)現(xiàn)的,并且代碼運(yùn)行在用戶層,且Click只能運(yùn)行在單核上,不能夠有效利用多核CPU,因此未來需在DPDK等多核高速轉(zhuǎn)發(fā)的平臺(tái)上部署SR-PCE控制器,以突破由Click平臺(tái)產(chǎn)生的瓶頸。

      6 結(jié)束語

      本文詳細(xì)闡述了SR系統(tǒng)中控制平面子系統(tǒng)和數(shù)據(jù)平面子系統(tǒng)各個(gè)模塊的具體軟件實(shí)現(xiàn),著重研究了基于PCE架構(gòu)的控制平面子系統(tǒng)中一種具有帶寬保證的流量工程路徑算法,使網(wǎng)絡(luò)盡可能地達(dá)到負(fù)載均衡,同時(shí)使用盡可能短的標(biāo)簽對(duì)SR-TE路徑進(jìn)行標(biāo)識(shí),提高有效帶寬利用率,使轉(zhuǎn)發(fā)更高效。

      SR作為一種SDN的實(shí)現(xiàn)方式,將控制平面和數(shù)據(jù)平面相分離,通過控制器和入口邊界路由器利用源路由的思想實(shí)現(xiàn)分組的轉(zhuǎn)發(fā),提高了轉(zhuǎn)發(fā)效率,并且本身就能夠支持流量工程機(jī)制,使網(wǎng)絡(luò)更高效。相比于MPLS,SR的網(wǎng)絡(luò)更加簡(jiǎn)單,在實(shí)際網(wǎng)絡(luò)中更便于部署,在下一代互聯(lián)網(wǎng)中具有很好的應(yīng)用前景。本文只描述了SR軟件路由器系統(tǒng)各個(gè)模塊的具體實(shí)現(xiàn),沒有將SR進(jìn)行大規(guī)模部署,有待進(jìn)一步的實(shí)現(xiàn)。

      圖13 SR-PCE CPU占用率

      [1]ROSEN E,VISWANATHAN A,CALLON R.Multi protocol label switching architecture[EB/OL].(2001-01-20)[2016-12-11]. http://xueshu.baidu.com/s?wd=paperuri%3A%287a99238572d7 ae9cedda5c41d7d3edb8%29&filter=sc_long_sign&sc_ks_para= q%3DRFC%203031%20Multiprotocol%20Label%20Switching% 20Architecture&sc_us=14424292772978069001&tn=SE_ aid uxueshu_c1gjeupa&ie=utf-8.

      [2]FILSFILS C,NAINAR N K,PIGNATARO C.The segment routing architecture[EB/OL].(2015-12-10)[2016-12-11].http:// xueshu.baidu.com/s?wd=paperuri%3A%28f7befc9a91907a39 c0b44e9526a386f0%29&filter=sc_long_sign&sc_ks_para=q%3D The%20Segment%20Routing%20Architecture&sc_us=79977 32307306009577&tn=SE_baiduxueshu_c1gjeupa&ie=utf-8.

      [3]BHATIA R,FANG H,KODIALAM M,et al.Optimized network trafficengineering using segment routing[C]//IEEE INFOCOM, April 26-May 1,2015,Hong Kong,China.New Jersey:IEEE Press,2015:657-665.

      [4]CARPA R,GLUCK O,LEFEVRE L.Segment routing based traffic engineering forenergy efficient backbone networks[C]// IEEE International Conference on Advanced Networks and Telecommuncations Systems (ANTS),Dec 14-17,2014,New Delhi,India.New Jersey:IEEE Press,2014:1-6.

      [5]DAVOLI L,VELTRI L,VENTRE P L,et al.Traffic engineering with segment routing:SDN-based architectural design and open source implementation[C]//European Workshop Software Defined Networks(EWSDN),September 30-October 2,Bilbao,Spain. New Jersey:IEEE Press,2015:111-112.

      [6]LAZZERI F,BRUNO G,NIJHOF J,etal.Efficientlabel encodingin segment-routing enabled optical networks[C]// International Conference of Optical Network Design and Modeling (ONDM),May 11-14,2015,Pisa,Italy.New Jersey:IEEE Press,2015:34-38.

      [7]SGAMBELLURI A,GIORGETTI A,CUGINI F,et al.First demonstration of SDN-based segment routing in multi-layer networks[C]//2015 Optical Fiber Communications Conference and Exhibition (OFC),March 22-26,2015,Los Angeles,CA, USA.New Jersey:IEEE Press,2015:1-3.

      [8]BIDKAR S,GUMASTE A,SOMANI A.A scalable framework for segment routing in service provider networks:the omnipresent Ethernet approach[C]//2014 IEEE 15th International Conference on High Performance Switching and Routing(HPSR),July 1-4, 2014,Vancouver,BC,Canada.New Jersey:IEEE Press,2014:76-83.

      [9]KOHLER E.The click modular router[M].Boston:MIT,2001.

      [10]TANTSURA J,CRABBE E,SH R,et al.Segment routing with MPLS data plane[EB/OL].[2016-12-11].http://xueshu.baidu. com/s?wd=draft%3A+Segment+Routing+with+MPLS+data+ plane&tn=SE_baiduxueshu_c1gjeupa&cl=3&ie=utf-8&bs=The+ Click+Modular+Router.&f=8&rsv_bp=1&rsv_sug2=1&sc_ f_para=sc_tasktype%3D%7BfirstSimpleSearch%7D&rsv_spt= 3&rsv_n=.

      [11]FARREL A,VASSEUR J P,ASH J.A path computation element(PCE)-basedarchitecture[EB/OL].(2006-12-20)[2016-12-11].http://xueshu.baidu.com/s?wd=paperuri%3A%283d7de 298762b1ae4e164b1d1334d95af%29&filter=sc_long_sign&sc_ ks_para=q%3DA%20Path%20Computation%20 Element% 20%28PCE%29-based%20Architecture&sc_us=&tn=SE_ baiduxueshu_c1gjeupa&ie=utf-8.

      [12]MEDVED J,TANTSURA J,CRABBE E,et al.PCEP extensions forsegmentrouting[EB/OL].(2006-01-20)[2016-12-11].https://www. researchgate.net/publication/238698550_A_Path_Computation_ Element_PCE-based_Architecture.

      [作者簡(jiǎn)介]

      高曉敏(1990-),女,北京交通大學(xué)電子信息工程學(xué)院下一代互聯(lián)網(wǎng)互連設(shè)備國家工程實(shí)驗(yàn)室碩士生,主要研究方向?yàn)槲磥砭W(wǎng)絡(luò)體系架構(gòu)與現(xiàn)網(wǎng)的兼容性。

      劉雪晶(1976-),女,中國電子科技集團(tuán)公司電子科學(xué)研究院高級(jí)工程師,主要從事雷達(dá)信號(hào)處理、通信、系統(tǒng)總體設(shè)計(jì)等方面的研究工作。

      李佳偉(1992-),男,北京交通大學(xué)電子信息工程學(xué)院下一代互聯(lián)網(wǎng)互聯(lián)設(shè)備國家工程實(shí)驗(yàn)室博士生,主要研究方向?yàn)檐浖x網(wǎng)絡(luò)、流量工程和信息中心網(wǎng)絡(luò)。

      羅洪斌(1977-),男,博士,北京交通大學(xué)教授、博士生導(dǎo)師,北京交通大學(xué)下一代互聯(lián)網(wǎng)互聯(lián)設(shè)備國家工程實(shí)驗(yàn)室副主任,中國通信學(xué)會(huì)第四屆青年工作委員會(huì)委員,北京通信學(xué)會(huì)第八屆理事會(huì)理事。入選教育部新世紀(jì)優(yōu)秀人才支持計(jì)劃,并獲得國家自然科學(xué)基金委優(yōu)秀青年基金資助項(xiàng)目資助。主要從事未來互聯(lián)網(wǎng)體系架構(gòu)、理論與關(guān)鍵技術(shù)的研究工作,正主持和參與多項(xiàng)國家“973”計(jì)劃、“863”計(jì)劃、國家自然科學(xué)基金項(xiàng)目。近年來在IEEE/ACM Transactions on Networking(TON)、IEEE Journal on Selected Areas in Communications(JSAC)、IEEE Network等本領(lǐng)域頂級(jí)期刊與國際會(huì)議發(fā)表論文50多篇。

      董平(1979-),男,博士,北京交通大學(xué)副教授、博士生導(dǎo)師,主要研究方向?yàn)橐苿?dòng)互聯(lián)網(wǎng)、下一代互聯(lián)網(wǎng)、網(wǎng)絡(luò)安全。

      Design and implementation of software router supporting segment routing

      GAO Xiaomin1,LIU Xuejing2,LI Jiawei1,LUO Hongbin1,DONG Ping1
      1.School of Electronic and Information Engineering,Beijing Jiaotong University,Beijing 100044,China 2.Electronic Science Research Institute of China Electronic Technology Group Corporation,Beijing 100041,China

      Segment routing (SR)is a routing mechanism proposed by IETF in recent years,which aims to make the IP/MPLS network service-oriented and more efficient.SR eliminates the complex control plane protocol(LDP/ RSVP-TE)of the MPLS network,while SR implements the traffic engineering mechanism.Different from the explicit path in the RSVP tunnel which maintains the state of each flow in the middle of the tunnel,the explicit path based on SR only maintains the state of flow at the entrance border router of the SR domain.For this reason,SR improves the scalability of the network.Therefore the research of the SR mechanism is very important to the next generation internet.The realization mechanism of SR was studied,using the click router.The SR control plane subsystem based on PCE architecture and each module of MPLS-based SR data plane subsystem were implemented and deployed in practice to verify the feasibility of the software router in actual deployment.

      segment routing,software router,PCE,MPLS,next generation network

      TP393

      A

      10.11959/j.issn.1000-0801.2017032

      2016-12-11;

      2017-01-23

      國家重點(diǎn)基礎(chǔ)研究發(fā)展計(jì)劃(“973”計(jì)劃)基金資助項(xiàng)目(No.2013CB329100);國家自然科學(xué)基金資助項(xiàng)目(No.62171200, No.61422101,No.61232017);教育部高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金資助項(xiàng)目(No.20130009110014)

      Foundation Items:The National Basic Research Program of China(973 Program)(No.2013CB329100),The National Natural Science Foundation of China (No.62171200,No.61422101,No.61232017),The Research Fund for the Doctoral Program of Higher Education of China (No.20130009110014)

      猜你喜歡
      路由器鏈路分組
      家紡“全鏈路”升級(jí)
      買千兆路由器看接口參數(shù)
      天空地一體化網(wǎng)絡(luò)多中繼鏈路自適應(yīng)調(diào)度技術(shù)
      分組搭配
      怎么分組
      分組
      你所不知道的WIFI路由器使用方法?
      基于3G的VPDN技術(shù)在高速公路備份鏈路中的應(yīng)用
      高速光纖鏈路通信HSSL的設(shè)計(jì)與實(shí)現(xiàn)
      無線路由器輻射可忽略
      渑池县| 嘉鱼县| 化隆| 右玉县| 桂平市| 辛集市| 和平县| 商城县| 招远市| 墨竹工卡县| 图片| 邹平县| 南丹县| 牙克石市| 奎屯市| 尚志市| 闻喜县| 全南县| 文水县| 德保县| 彰化市| 永胜县| 昭通市| 上饶市| 海兴县| 博野县| 天峨县| 呼图壁县| 安丘市| 肇源县| 安新县| 达孜县| 东源县| 康平县| 灵川县| 中江县| 浮山县| 孟津县| 九台市| 朝阳县| 驻马店市|