陳 瀟,顧 芳,李默嘉,鄧偉華
(中國電子科技集團公司第三十研究所,四川 成都 610041)
近年來,出現(xiàn)一種以O(shè)penFlow[1]技術(shù)為代表的軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)的網(wǎng)絡(luò)架構(gòu)。2007年,美國斯坦福大學Nick McKeown教授啟動并領(lǐng)導了跨學科的Clean Slate研究計劃[2]。2008年,McKeown等人在ACM SIGCOMM上發(fā)表論文,完整地提出了實現(xiàn)SDN的OpenFlow框架[2]。2011年,McKeown聯(lián)同Google﹑微軟﹑Facebook﹑NTT﹑德國電信等組織一起成立ONF(Open Networking Foundation),專門致力于SDN及其核心技術(shù)OpenFlow的標準化和商業(yè)化[2]。Google的成功實踐,極大地推動了SDN的發(fā)展[2]。ONF也成為炙手可熱的標準化組織,吸引了大批來自不同領(lǐng)域的企業(yè)參與其中[2]。這些都使得SDN成為全球開放網(wǎng)絡(luò)架構(gòu)和網(wǎng)絡(luò)虛擬化領(lǐng)域的研究熱點。SDN是一種新興的基于軟件的網(wǎng)絡(luò)架構(gòu)及技術(shù),最大的特點在于具有松耦合的控制平面和數(shù)據(jù)平面,支持集中化的網(wǎng)絡(luò)狀態(tài)控制,可實現(xiàn)底層網(wǎng)絡(luò)設(shè)施對上層應(yīng)用的透明[3]。它能夠有效解決當前網(wǎng)絡(luò)系統(tǒng)所面臨的資源規(guī)模擴展受限﹑組網(wǎng)靈活性差﹑難以快速滿足業(yè)務(wù)需求等問題[3]。目前,ONF定義的SDN架構(gòu)從下向上,分為基礎(chǔ)設(shè)施層﹑控制層及應(yīng)用層[4]。
本文涉及的網(wǎng)絡(luò)是基于SDN,以SDN業(yè)務(wù)為主,同時兼容非SDN業(yè)務(wù)的綜合服務(wù)網(wǎng)絡(luò)。SDN業(yè)務(wù)與非SDN業(yè)務(wù)在業(yè)務(wù)特點﹑建立方式﹑業(yè)務(wù)需求等諸多方面存在差異,本文的主要研究內(nèi)容是如何在一個共同的網(wǎng)絡(luò)中,通過統(tǒng)一的技術(shù)體制滿足兩大類業(yè)務(wù)的網(wǎng)絡(luò)服務(wù)需求,實現(xiàn)對SDN及非SDN業(yè)務(wù)的統(tǒng)一保障,對SDN和非SDN業(yè)務(wù)進行分類控制和業(yè)務(wù)管理,滿足為非SDN用戶提供更好的服務(wù)的前提下,能夠?qū)DN業(yè)務(wù)和非SDN業(yè)務(wù)兩者的性能進行綜合平衡,達到網(wǎng)絡(luò)性能多約束要求下的優(yōu)化。
SDN業(yè)務(wù)是對網(wǎng)絡(luò)中一類業(yè)務(wù)的統(tǒng)稱。SDN業(yè)務(wù)通常具備以下一種或幾種特征。
(1)性能特征:業(yè)務(wù)對網(wǎng)絡(luò)傳輸帶寬﹑時延﹑抖動等指標要求較高,其中帶寬需求在每秒吉比特級,時延需求在毫秒級;
(2)可靠性特征:業(yè)務(wù)在傳輸成功率﹑順序投遞等特性上有較高要求。
SDN業(yè)務(wù)為了確保獲得與其業(yè)務(wù)特性相符的網(wǎng)絡(luò)服務(wù),必須在業(yè)務(wù)行為真實發(fā)生前,通過網(wǎng)絡(luò)提供的控制管理接口(北向接口/業(yè)務(wù)編排接口)向網(wǎng)絡(luò)申請服務(wù),說明業(yè)務(wù)所需要的帶寬﹑時延﹑抖動等資源條件。網(wǎng)絡(luò)服務(wù)申請成功后,才允許SDN業(yè)務(wù)進行傳輸。當SDN業(yè)務(wù)行為結(jié)束后,應(yīng)當提交服務(wù)結(jié)束申請,向網(wǎng)絡(luò)歸還使用的資源。
傳統(tǒng)網(wǎng)絡(luò)依靠基于IP協(xié)議的報文尋址和轉(zhuǎn)發(fā)手段,轉(zhuǎn)發(fā)過程中涉及報文分組﹑分層協(xié)議處理﹑光電轉(zhuǎn)換等過程,難以滿足SDN業(yè)務(wù)對轉(zhuǎn)發(fā)性能的要求。本文采用全新的光波長交換體制,直接通過光信號實現(xiàn)對數(shù)據(jù)流的承載。交換過程中只涉及光處理,減少了轉(zhuǎn)發(fā)節(jié)點的光電轉(zhuǎn)換開銷,提高了網(wǎng)絡(luò)對數(shù)據(jù)的承載性能,實現(xiàn)了對SDN業(yè)務(wù)的保障。
網(wǎng)絡(luò)對SDN業(yè)務(wù)采取端到端的保障方式,保障范圍為光波長交換網(wǎng)全網(wǎng)。入端點和出端點分別為光波長交換網(wǎng)的入端口和出端口??刂乒芾碓O(shè)備收到SDN業(yè)務(wù)傳輸申請后,結(jié)合相應(yīng)的網(wǎng)絡(luò)管理策略,計算當前業(yè)務(wù)在網(wǎng)絡(luò)中的端到端路徑。端到端路徑的計算受以下條件約束:
(1)確保路徑中任一節(jié)點﹑端口的剩余帶寬滿足業(yè)務(wù)的帶寬需求;
(2)確保路徑中所有節(jié)點的轉(zhuǎn)發(fā)時延和傳輸時延之和滿足業(yè)務(wù)的時延需求。
路徑計算完成后,根據(jù)業(yè)務(wù)特征形成對應(yīng)的流表下發(fā)至光交換設(shè)備,從而確保依照流表進行轉(zhuǎn)發(fā)的業(yè)務(wù)數(shù)據(jù)獲得其申請的網(wǎng)絡(luò)傳輸服務(wù)。
圖1為SDN業(yè)務(wù)申請流程圖。網(wǎng)絡(luò)管理設(shè)備將SDN業(yè)務(wù)請求發(fā)送至控制設(shè)備,首先由SDN業(yè)務(wù)特征分析模塊對該請求的傳輸帶寬﹑時延﹑抖動等指標進行解析,再按解析后的結(jié)果對該業(yè)務(wù)請求進行網(wǎng)絡(luò)資源預留。若全網(wǎng)沒有鏈路滿足預留需求,則該時敏業(yè)務(wù)請求失敗;若滿足預留需求,則進行路徑計算。如果未能成功計算出路徑,則說明目前網(wǎng)絡(luò)中沒有相應(yīng)傳輸路徑,該時敏業(yè)務(wù)請求失??;如果能成功計算出傳輸路徑,則將該路徑通過協(xié)議解析模塊組成相應(yīng)的openflow報文(如flow_mod報文),通過南向接口發(fā)送至各網(wǎng)絡(luò)交換設(shè)備,同時更新全網(wǎng)資源情況。

圖1 SDN業(yè)務(wù)流申請流程
圖2為SDN業(yè)務(wù)刪除流程圖。網(wǎng)絡(luò)管理設(shè)備將SDN業(yè)務(wù)刪除請求發(fā)送至控制設(shè)備,由SDN業(yè)務(wù)解析模塊對請求進行解析,并在全網(wǎng)查找對應(yīng)的SDN業(yè)務(wù)。若未能查到,則該請求失??;若查找到該業(yè)務(wù),則根據(jù)openflow協(xié)議組建相應(yīng)的刪除報文,并通過南向接口發(fā)送至各網(wǎng)絡(luò)交換設(shè)備,同時更新全網(wǎng)資源情況。

圖2 SDN業(yè)務(wù)流刪除流程
非SDN業(yè)務(wù)是為了兼容傳統(tǒng)的路由交換網(wǎng)絡(luò),對網(wǎng)絡(luò)中依賴傳統(tǒng)路由交換策略進行尋址的一類業(yè)務(wù)的統(tǒng)稱。非SDN業(yè)務(wù)通常對數(shù)據(jù)的傳輸帶寬﹑時延﹑投遞順序﹑投遞成功率等特征無嚴格要求。
非SDN業(yè)務(wù)的傳輸依賴于逐跳轉(zhuǎn)發(fā)。非SDN業(yè)務(wù)傳輸前無需向網(wǎng)絡(luò)申請服務(wù)。針對非SDN業(yè)務(wù)的傳輸,網(wǎng)絡(luò)應(yīng)提供如下服務(wù):
(1)確保非SDN業(yè)務(wù)基于目的IP成功尋址;
(2)確保非SDN業(yè)務(wù)的帶寬占用在允許范圍內(nèi),且能夠被SDN業(yè)務(wù)搶占。
圖3為非SDN業(yè)務(wù)申請流程圖。

圖3 非SDN業(yè)務(wù)流申請流程
交換設(shè)備在處理未知報文時觸發(fā)非SDN業(yè)務(wù)申請,通常采用如packet in報文的形式將該未知報文發(fā)送至SDN控制設(shè)備。控制設(shè)備通過非SDN報文解析模塊對該報文的五元組等信息進行解析,并查找該交換設(shè)備上是否已有能夠匹配該報文的流表項。若已存在相應(yīng)的流表項,則更新openflow報文中的相應(yīng)字段,并通過南向接口發(fā)往相應(yīng)交換設(shè)備。若不存在相應(yīng)流表項,則進行路徑計算,并根據(jù)結(jié)果進行路徑解析和資源更新,并通過南向接口發(fā)往相應(yīng)交換設(shè)備。
波長資源彈性使用,以波長為承載,劃分為承載SDN業(yè)務(wù)波長和承載非SDN業(yè)務(wù)波長。
承載SDN業(yè)務(wù)的波長從發(fā)送端發(fā)出后,全程不進行光電轉(zhuǎn)換和包頭處理,直接在光網(wǎng)絡(luò)中進行交換,直至目的端進行解析。
承載非SDN業(yè)務(wù)的波長逐點進行光電轉(zhuǎn)換和包頭處理,由下一跳地址決定下一段鏈路所承載的波長。
非SDN業(yè)務(wù)通過電交換網(wǎng)和光交換網(wǎng)同時進行保障。其中,光交換網(wǎng)為非SDN業(yè)務(wù)預留專用波長,配置靜態(tài)交換通道。對于非SDN業(yè)務(wù)來說,它退化為傳輸通道,不負責非SDN業(yè)務(wù)的交換邏輯。非SDN業(yè)務(wù)的交換邏輯由電交換網(wǎng)通過首包上報動態(tài)建鏈機制保障。
SDN業(yè)務(wù)通過網(wǎng)絡(luò)提供的控制管理接口向控制器申請服務(wù),說明業(yè)務(wù)所需要的帶寬﹑時延等資源條件。網(wǎng)絡(luò)服務(wù)申請成功后,才允許SDN業(yè)務(wù)進行傳輸??刂破髟诜答仒I(yè)務(wù)申請成功響應(yīng)的同時,根據(jù)業(yè)務(wù)所需資源條件,向各光交換機下發(fā)流表項。SDN業(yè)務(wù)根據(jù)控制器下發(fā)的流表項,直接進行業(yè)務(wù)轉(zhuǎn)發(fā)。
非SDN業(yè)務(wù)通過首包上送機制進行保障。當首包到達交換機時,若沒有發(fā)現(xiàn)與之匹配的流表項,則將其送給控制器處理。一旦控制器確定了相應(yīng)方式,相關(guān)的信息將會返回并緩存在交換機中,然后根據(jù)網(wǎng)絡(luò)動態(tài)資源情況進行路由管理。具體地,既可在電網(wǎng)絡(luò)中進行轉(zhuǎn)發(fā),也可在光網(wǎng)絡(luò)中進行轉(zhuǎn)發(fā)。
首包上報動態(tài)建鏈機制是針對非SDN業(yè)務(wù)提出的一種路徑計算觸發(fā)手段。非SDN業(yè)務(wù)發(fā)送數(shù)據(jù)前不向網(wǎng)絡(luò)申請服務(wù),因此無法通過標準的SDN接口為非SDN業(yè)務(wù)提供網(wǎng)絡(luò)服務(wù)保障。首包上報動態(tài)建鏈機制包括動態(tài)建鏈﹑動態(tài)維護和動態(tài)拆鏈三個階段。
(1)動態(tài)建鏈階段
在初始化電接入與交換設(shè)備的流表時,需對Table-miss流表項進行配置,將無法匹配的IP報文通過PACKET-IN的方式上報給網(wǎng)絡(luò)控制設(shè)備。網(wǎng)絡(luò)控制設(shè)備將通過PACKET-IN方式接收到的所有IP報文都視作非SDN業(yè)務(wù)數(shù)據(jù)報文。以IP報文的接收端口為源節(jié)點﹑IP報文中的目的IP地址所屬端口為目的節(jié)點,計算非SDN業(yè)務(wù)流路徑,完成流表創(chuàng)建與資源分配。動態(tài)建鏈階段,根據(jù)網(wǎng)絡(luò)負載情況,通過預定義的分配策略,為對應(yīng)的非SDN業(yè)務(wù)流分配一個初始化帶寬。
(2)動態(tài)維護階段
動態(tài)維護階段主要是針對建鏈階段分配的帶寬進行調(diào)整。網(wǎng)絡(luò)控制設(shè)備周期性地查詢源節(jié)點上對應(yīng)的計量表狀態(tài),獲取對應(yīng)非SDN業(yè)務(wù)流的帶寬占用情況,并根據(jù)預定義策略完成對非SDN業(yè)務(wù)流表帶寬資源的調(diào)整。
(3)動態(tài)拆鏈階段
網(wǎng)絡(luò)控制設(shè)備為非SDN業(yè)務(wù)創(chuàng)建的流表項根據(jù)預定義策略設(shè)置一個超時時間。當超過該時間沒有業(yè)務(wù)匹配流表項時,電接入與交換設(shè)備將主動刪除對應(yīng)流表項,同時向網(wǎng)絡(luò)控制設(shè)備發(fā)送一個流表項刪除通知。網(wǎng)絡(luò)控制設(shè)備收到通知后,回收該非SDN業(yè)務(wù)流對應(yīng)的所有資源。這樣既可保證SDN業(yè)務(wù)傳輸?shù)目煽啃院涂尚行裕部蓪Ψ荢DN業(yè)務(wù)的傳輸進行保障。
設(shè)計過程中采用一種動態(tài)帶寬分配技術(shù),將SDN業(yè)務(wù)按優(yōu)先級分為一類業(yè)務(wù)和二類業(yè)務(wù)。下面將通過仿真技術(shù)對相關(guān)數(shù)據(jù)進行對比分析。
表1﹑表2中,第一行表示數(shù)據(jù)包總數(shù)量。TP表示業(yè)務(wù)類型和優(yōu)先級;TotalPackets表示總的發(fā)送業(yè)務(wù)數(shù)量,TxPackets表示總的接收業(yè)務(wù)數(shù)量,Drops表示丟棄的業(yè)務(wù)數(shù)量??梢钥闯?,優(yōu)先級高的SDN業(yè)務(wù),其傳輸帶寬得到了充分保證,幾乎沒有丟失業(yè)務(wù),如TP為S1(優(yōu)先級為1的時敏業(yè)務(wù))的業(yè)務(wù);低優(yōu)先級的SDN業(yè)務(wù)或非SDN業(yè)務(wù),則在擁塞情況下會出現(xiàn)丟失業(yè)務(wù)。對比可以看出,TP為S4(優(yōu)先級為4的SDN業(yè)務(wù))和T3(優(yōu)先級為3的非SDN業(yè)務(wù))的業(yè)務(wù),其丟失率平均比TP為S1的業(yè)務(wù)要高。這說明在帶寬充分利用的同時,盡量保證了高優(yōu)先級的SDN業(yè)務(wù)的發(fā)送,但整個帶寬并沒有被高優(yōu)先級的SDN業(yè)務(wù)全部占有,因為非SDN業(yè)務(wù)始終占有一定的權(quán)值。

表1 t1時間段業(yè)務(wù)統(tǒng)計

圖4 輕負載下各方法分組丟失率比較

表2 t2時間段業(yè)務(wù)統(tǒng)計
通過仿真對比了本文采用的動態(tài)分配方法和靜態(tài)分配方法1(按照業(yè)務(wù)的平均速率的大小來為業(yè)務(wù)分配固定的帶寬)﹑靜態(tài)分配方法2(按照各類業(yè)務(wù)的峰值速率的大小來為業(yè)務(wù)分配固定的帶寬)共三種情況下的第二類SDN業(yè)務(wù)在輕負載和重負載下的分組丟失率,結(jié)果依次如圖4﹑圖5所示。

圖5 重負載下各方法分組丟失率比較
輕負載時,如圖4所示,3種方法的分組丟失率都幾乎為0。
重負載時,由圖5可知,由于靜態(tài)分配方法2給業(yè)務(wù)分配了充足的帶寬,其分組幾乎沒有丟失,而靜態(tài)分配方法1業(yè)務(wù)分配的帶寬數(shù)量有時不能滿足業(yè)務(wù)需求,所以分組丟失的情況比靜態(tài)分配方法2嚴重,且分組丟失率波動較大。此外,動態(tài)分配方法分組丟失率在大部分時間內(nèi)低于靜態(tài)分配1方法,穩(wěn)定后基本是靜態(tài)分配方法2的一半,且動態(tài)分配方法的分組丟失率有繼續(xù)下降的趨勢。
通過仿真對比本文采用的動態(tài)分配方法和靜態(tài)分配方法1(按照業(yè)務(wù)的平均速率的大小來為業(yè)務(wù)分配固定的帶寬)﹑靜態(tài)分配方法2(按照各類業(yè)務(wù)的峰值速率的大小來為業(yè)務(wù)分配固定的帶寬)共三種情況下的第二類SDN業(yè)務(wù)在輕負載和重負載下的帶寬利用率。
輕負載時,如圖6所示,靜態(tài)分配方法2在業(yè)務(wù)傳輸過程中經(jīng)常有很大一部分帶寬沒有被使用,其帶寬利用率低于另外兩種方法。而靜態(tài)分配方法1雖然提高了帶寬利用率,但其波動性與動態(tài)分配方法相比較大。

圖6 輕負載下各方法帶寬利用率比較
重負載時,如圖7所示。靜態(tài)分配方法2的帶寬利用率仍然較低,明顯低于另外兩種方法;靜態(tài)分配方法1的波動性依然較大;動態(tài)分配方法的帶寬利用率較高,且一直比較平穩(wěn)。

圖7 重負載下各方法帶寬利用率比較
本文涉及的網(wǎng)絡(luò)基于SDN/SDON的控制管理系統(tǒng)研制,以SDN業(yè)務(wù)為主,同時兼容非SDN業(yè)務(wù)。本文針對SDN和非SDN業(yè)務(wù)提出了一種服務(wù)控制技術(shù),具有以下特點:
(1)能夠?qū)DN業(yè)務(wù)和非SDN業(yè)務(wù)進行分類控制和管理;
(2)業(yè)務(wù)保障策略既可保證SDN業(yè)務(wù)傳輸?shù)目煽啃院涂尚行裕部杀U戏荢DN業(yè)務(wù)的傳輸;
(3)SDN業(yè)務(wù)和非SDN業(yè)務(wù)在業(yè)務(wù)特點﹑建立方式﹑業(yè)務(wù)需求﹑流量特征等諸多方面存在差異,通過統(tǒng)一的服務(wù)控制技術(shù),根據(jù)SDN業(yè)務(wù)和非SDN業(yè)務(wù)的不同需求控制網(wǎng)絡(luò)資源,滿足各種業(yè)務(wù)的性能要求;
(4)動態(tài)帶寬分配可以有效提高業(yè)務(wù)服務(wù)質(zhì)量和系統(tǒng)帶寬利用率,并能接納更多的非SDN業(yè)務(wù),有效提高系統(tǒng)吞吐量,同時滿足多業(yè)務(wù)的共同需求。
[1] McKeown N,Anderson T,Balakrishnan H,et al.OpenFlow:Enabling Innovation in Campus Networks[C].SIGCOMM Comput. Commun. Rev.,2008,38(02):69-74.
[2] 樊勇兵,陳楠,黃志蘭等.解惑SDN[M].第1版.北京:人民郵電出版社,2015:4-5.
FAN Yong-bing,CHEN Nan,HUANG Zhi-lan,et al.Disabuse SDN[M].First Edition.BeiJing:Posts&Telecom Press,2015:4-5.
[3] 趙慧玲,雷葆華,王峰等.SDN核心技術(shù)剖析和實戰(zhàn)指南[M].第2版.北京:電子工業(yè)出版社,2014:2-3.
ZHAO Hui-ling,LEI Bao-hua,WANG Feng,et al.Deciphering SDN:Core Techniques and Practical Guide[M].Second Edition.BeiJing:Publishing House of Electronics Industry,2014:2-3.
[4] 王俊,陳志輝,田永春等.軟件定義網(wǎng)絡(luò)技術(shù)在戰(zhàn)術(shù)通信網(wǎng)中的應(yīng)用研究[J].通信技術(shù),2014,47(12):1392-1399.
WANG Jun,CHEN Zhi-hui,TIAN Yong-chun,et al.Application of Software-Defined Network Technology in Tactical Communication Network[J].Communications Technology,2014,47(12):1392-1399.