張莉敏 田小路 楊廷來
摘? 要: 軟件定義網(wǎng)絡(luò)(SDN)中交換機檢測到鏈路或節(jié)點發(fā)生故障時,必須通知控制器更新流表或?qū)?shù)據(jù)轉(zhuǎn)換到備份路徑以恢復故障。然而,現(xiàn)有的故障恢復方法主要采用主動式故障恢復策略,為每條鏈路設(shè)置備份路徑,極大的消耗存儲資源。因此,為了最小化備份路徑的資源消耗并滿足所需的故障恢復延遲,本文提出了一種改進的鏈路故障恢復方法。該方法根據(jù)帶寬值將鏈路分為不同的等級,根據(jù)鏈路等級的不同制定不同的恢復策略。通過仿真實驗得出,該方法在保證故障恢復時間的前提下,使用盡可能少的流條目,減少資源消耗,以確保故障恢復的性能并同時滿足重要流量所需的延遲。
關(guān)鍵詞: SDN;故障恢復;鏈路重路由
中圖分類號: TP393.02 ???文獻標識碼: A??? DOI:10.3969/j.issn.1003-6970.2020.07.020
本文著錄格式:張莉敏,田小路,楊廷來. 一種SDN鏈路故障恢復技術(shù)的研究[J]. 軟件,2020,41(07):103-104+112
Research on SDN Link Failure Recovery Technology
ZHANG Li-min, TIAN Xiao-lu, YANG Ting-lai
(Information Technology Institute,Guang Dong Polytechnic College, Zhaoqing 526100, China)
【Abstract】: When the switch detects a link or node failure in Software-defined network (SDN), the controller must be notified to update the flow table or convert the data to the backup path to recover the failure. However, the existing fault recovery methods mainly adopt active fault recovery strategy, set up backup path for each link, and consume storage resources greatly. Therefore, in order to minimize the resource consumption of the backup path and meet the required fault recovery delay, an improved link fault recovery method is proposed. This method divides the link into different levels according to the bandwidth value, and formulates different recovery strategies according to the different link levels. through simulation experiments, it is concluded that this method uses as few flow entries as possible to reduce resource consumption under the premise of ensuring fault recovery time to ensure the performance of fault recovery and simultaneously meet the delay required for important traffic.
【Key words】: SDN; Failure recovery; Link rerouting
0? 引言
軟件定義網(wǎng)絡(luò)(Soft Network,SDN)中故障恢復技術(shù)主要用于在網(wǎng)絡(luò)發(fā)生故障時,確保數(shù)據(jù)流的正常傳送,保證網(wǎng)絡(luò)的健壯性和平穩(wěn)性[1-3]。SDN網(wǎng)絡(luò)架構(gòu)將數(shù)據(jù)平面和轉(zhuǎn)發(fā)平面功能分離,使得交換機只負責數(shù)據(jù)流的轉(zhuǎn)發(fā),如果數(shù)據(jù)層鏈路出現(xiàn)故障,必須要向控制器發(fā)送信息,才能重新恢復數(shù)據(jù)流的傳送。這一過程很可能造成數(shù)據(jù)包的丟失或網(wǎng)絡(luò)傳輸時延,影響網(wǎng)絡(luò)性能。
現(xiàn)有的故障恢復算法主要是在交換機中增加備份路徑,如果鏈路出現(xiàn)故障,立即啟用交換機中的備用路徑。但是該恢復方法并未考慮到過多的備份路徑會消耗網(wǎng)絡(luò)資源,并且備份路徑會影響網(wǎng)絡(luò)負載情況,容易造成丟包的發(fā)生。
因此,本文提出在確保網(wǎng)絡(luò)時延的情況下,根據(jù)帶寬值將鏈路分為不同的等級,并制定相應(yīng)的恢復策略,減少流條目數(shù),降低重路由過程中數(shù)據(jù)丟包的概率。
1? SDN架構(gòu)
本小節(jié)主要介紹SDN體系架構(gòu)[4-5],如圖1所示為SDN系統(tǒng)架構(gòu)圖,SDN總體可劃分為三層[6]:最底層的數(shù)據(jù)層、中間控制層和頂層應(yīng)用層。應(yīng)用層和控制層之間有一系列接口,稱為北向接口,負責與各種上層應(yīng)交互。控制層和數(shù)據(jù)層之間的接口稱為南向接口,該接口主要用于底層物理設(shè)備與控制器的通信,并實現(xiàn)控制器對底層設(shè)備的管理和控制。下面對三層結(jié)構(gòu)進行簡單描述:
(1)數(shù)據(jù)層
底層數(shù)據(jù)層通常表示基礎(chǔ)的網(wǎng)絡(luò)設(shè)施,與傳統(tǒng)的網(wǎng)絡(luò)相似,主要由交換機、主機和其它轉(zhuǎn)發(fā)設(shè)備互聯(lián)組成。數(shù)據(jù)層只負責根據(jù)流表項對數(shù)據(jù)處理、轉(zhuǎn)發(fā)和鏈路狀態(tài)的收集,因此數(shù)據(jù)層對數(shù)據(jù)處理性能要求較高。
(2)控制層
控制層集中管理整個網(wǎng)絡(luò)設(shè)備,是實現(xiàn)SDN集中化控制的關(guān)鍵部分,類似于傳統(tǒng)的操作系統(tǒng)??刂茖觾?nèi)安放SDN控制器,是實現(xiàn)集中控制的核心,可以通過下發(fā)指令控制網(wǎng)絡(luò)中的設(shè)備??刂破魍ㄟ^南向接口與底層設(shè)備通信,可以獲取全局網(wǎng)絡(luò)結(jié)構(gòu),從而可以靈活分配網(wǎng)絡(luò)資源。對上層,通過北向接口向上層應(yīng)用提供全網(wǎng)資源的控制能力;對下層,通過南向接口實現(xiàn)與不同物理設(shè)備的通信。
(3)應(yīng)用層
應(yīng)用層包括根據(jù)不同的用戶需求開發(fā)的各種應(yīng)用,通過開放的、可編程的北向接口與控制層進行通信,通過控制層提供的編程接口實現(xiàn)對底層設(shè)備的編程,使得用戶能夠掌控網(wǎng)絡(luò),根據(jù)自身需求開發(fā)各種應(yīng)用,實現(xiàn)豐富的業(yè)務(wù)創(chuàng)新。
2 ?故障恢復算法
SDN網(wǎng)絡(luò)的故障類型主要有以下三種[7]:
數(shù)據(jù)層故障,主要是指交換機或鏈路發(fā)生故障;
控制通道故障,主要是指控制器和交換機之間的連接通道發(fā)生故障;
控制層故障,主要是指控制器之間的鏈接出現(xiàn)故障。
本文主要針對數(shù)據(jù)層的鏈路故障進行恢復。本文提出的恢復策略提出將鏈路分為不同的等級,對不同等級的鏈路采用不同的恢復策略進行重路由(multiple backup path,MBP算法)。
在本節(jié)中,首先說明如何對鏈路的重要性級別進行分級。針對不同的鏈路定義了三種不同的備份策略。下面分別介紹鏈路等級劃分的依據(jù)及備份策略。
2.1 ?鏈接的重要性級別
在實際網(wǎng)絡(luò)中,鏈路故障的發(fā)生是隨機的,并且由于鏈路的多樣性,在鏈路故障的情況下,對網(wǎng)絡(luò)或主機之間的通信的影響也不同。為了最大程度地減少用于預配置備份路徑的流條目,并在鏈路故障的情況下實現(xiàn)所需的恢復延遲,首先根據(jù)以下度量標準對鏈路進行分類。
其中LDN表示帶寬利用率,BL表示流經(jīng)鏈路的數(shù)據(jù)流數(shù)目,的取值范圍為[0-1]。經(jīng)過計算,鏈路的MBPL值介于0-2之間。
2.2 ?鏈路故障恢復策略
根據(jù)度量結(jié)果值,將鏈路分為三個等級。針對一級鏈路使用雙路徑備份策略,該策略提供了兩個備份路徑,從而保障重要數(shù)據(jù)流的傳送。
針對二級鏈路使用單備份路徑恢復策略,從而可以滿足所需的故障轉(zhuǎn)移延遲。如果該策略失敗,將觸發(fā)被動恢復策略。
針對三級鏈路,通常流經(jīng)這些鏈路的流量較少或?qū)τ谘舆t或數(shù)據(jù)包丟失的需求不高,因此對這些鏈路將采用被動備份策。該方法未對鏈路建立備份路徑,直到發(fā)生故障時才分配恢復路徑所需的資源。因此,可以節(jié)省內(nèi)存資源。
3 ?實驗仿真
本次實驗是在虛擬機中進行,使用 Ubuntu14. 04操作系統(tǒng),SDN控制器使用Floodlight,測試平臺使用Mininet,網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖2所示,這里將交換機分為兩類:邊緣交換機和核心交換機。邊緣
交換機可當做數(shù)據(jù)流的源和目的地,而核心交換機負責數(shù)據(jù)路由轉(zhuǎn)發(fā)。假設(shè)每條鏈路的故障概率相同,并且每條鏈路的最大帶寬為524 M。其中縱坐標表示備份路徑流條目數(shù)占整個工作路徑流條目數(shù)的比例(用Bp表示),橫坐標表示邊緣交換機所占比例。
本次實驗主要評估備份路徑的資源消耗性能,本文將邊緣交換機的百分比設(shè)置為15%,30%,50%和70%,然后計算不同邊緣交換機百分比下的值。從圖3中可以看出,傳統(tǒng)主動式恢復算法中備份路徑流條目數(shù)比例值在65%至75%之間。并且,隨著
邊緣交換機數(shù)量的增加,其值基本保持不變。然而,本文提出的方法中備份路徑流條目數(shù)所占比例減小后逐漸趨于平穩(wěn),由此可看出該方法可有效減少備份路徑資源消耗。
4? 總結(jié)
目前SDN故障恢復方法主要采用主動式故障恢復策略,為每條鏈路設(shè)置備份路徑,極大的消耗存儲資源。因此,為了最小化備份路徑所消耗的資源并滿足所需的故障恢復延遲,本文提出了一種新的故障恢復方法。首先根據(jù)鏈路帶寬將鏈接分為不同的級別,然后針對不同等級的鏈接提出了不同的恢復策略。仿真表明,本文提出的方法可以減少備份路徑的資源消耗,同時滿足重要流量所需的延遲。
參考文獻
[1]. SDN[D]. , 2019.
[2]?????? 巴軍華. 基于拓撲切換的SDN節(jié)能路由及其優(yōu)化方法[D].北京郵電大學, 2019.
[3]?????? 劉振鵬, 王文勝, 賀玉鵬, 等. 一種SDN控制節(jié)點故障恢復的部署策略[J]. 山東大學學報(理學版), 2019, 54(05): 21-27.
[4]?????? 王立坤. SDN網(wǎng)絡(luò)鏈路和控制器故障恢復機制研究[D]. 大連理工大學, 2018.
[5]?????? 張淑娟. 基于備份資源的SDN數(shù)據(jù)平面故障恢復方法[D].北京郵電大學, 2017.
[6]?????? 洪碩果. SDN網(wǎng)絡(luò)的故障檢測和恢復技術(shù)研究與實現(xiàn)[D].南京郵電大學, 2015.
[7]?????? 尹子龍. 面向SDN胖樹拓撲的鏈路故障恢復技術(shù)的研究與實現(xiàn)[D]. 北京郵電大學, 2019.