張莉敏 田小路 楊廷來



摘? 要: 軟件定義網絡(SDN)中交換機檢測到鏈路或節點發生故障時,必須通知控制器更新流表或將數據轉換到備份路徑以恢復故障。然而,現有的故障恢復方法主要采用主動式故障恢復策略,為每條鏈路設置備份路徑,極大的消耗存儲資源。因此,為了最小化備份路徑的資源消耗并滿足所需的故障恢復延遲,本文提出了一種改進的鏈路故障恢復方法。該方法根據帶寬值將鏈路分為不同的等級,根據鏈路等級的不同制定不同的恢復策略。通過仿真實驗得出,該方法在保證故障恢復時間的前提下,使用盡可能少的流條目,減少資源消耗,以確保故障恢復的性能并同時滿足重要流量所需的延遲。
關鍵詞: SDN;故障恢復;鏈路重路由
中圖分類號: TP393.02 ???文獻標識碼: A??? DOI:10.3969/j.issn.1003-6970.2020.07.020
本文著錄格式:張莉敏,田小路,楊廷來. 一種SDN鏈路故障恢復技術的研究[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? 引言
軟件定義網絡(Soft Network,SDN)中故障恢復技術主要用于在網絡發生故障時,確保數據流的正常傳送,保證網絡的健壯性和平穩性[1-3]。SDN網絡架構將數據平面和轉發平面功能分離,使得交換機只負責數據流的轉發,如果數據層鏈路出現故障,必須要向控制器發送信息,才能重新恢復數據流的傳送。這一過程很可能造成數據包的丟失或網絡傳輸時延,影響網絡性能。
現有的故障恢復算法主要是在交換機中增加備份路徑,如果鏈路出現故障,立即啟用交換機中的備用路徑。但是該恢復方法并未考慮到過多的備份路徑會消耗網絡資源,并且備份路徑會影響網絡負載情況,容易造成丟包的發生。
因此,本文提出在確保網絡時延的情況下,根據帶寬值將鏈路分為不同的等級,并制定相應的恢復策略,減少流條目數,降低重路由過程中數據丟包的概率。
1? SDN架構
本小節主要介紹SDN體系架構[4-5],如圖1所示為SDN系統架構圖,SDN總體可劃分為三層[6]:最底層的數據層、中間控制層和頂層應用層。應用層和控制層之間有一系列接口,稱為北向接口,負責與各種上層應交互。控制層和數據層之間的接口稱為南向接口,該接口主要用于底層物理設備與控制器的通信,并實現控制器對底層設備的管理和控制。下面對三層結構進行簡單描述:
(1)數據層
底層數據層通常表示基礎的網絡設施,與傳統的網絡相似,主要由交換機、主機和其它轉發設備互聯組成。數據層只負責根據流表項對數據處理、轉發和鏈路狀態的收集,因此數據層對數據處理性能要求較高。
(2)控制層
控制層集中管理整個網絡設備,是實現SDN集中化控制的關鍵部分,類似于傳統的操作系統。控制層內安放SDN控制器,是實現集中控制的核心,可以通過下發指令控制網絡中的設備。控制器通過南向接口與底層設備通信,可以獲取全局網絡結構,從而可以靈活分配網絡資源。對上層,通過北向接口向上層應用提供全網資源的控制能力;對下層,通過南向接口實現與不同物理設備的通信。
(3)應用層
應用層包括根據不同的用戶需求開發的各種應用,通過開放的、可編程的北向接口與控制層進行通信,通過控制層提供的編程接口實現對底層設備的編程,使得用戶能夠掌控網絡,根據自身需求開發各種應用,實現豐富的業務創新。
2 ?故障恢復算法
SDN網絡的故障類型主要有以下三種[7]:
數據層故障,主要是指交換機或鏈路發生故障;
控制通道故障,主要是指控制器和交換機之間的連接通道發生故障;
控制層故障,主要是指控制器之間的鏈接出現故障。
本文主要針對數據層的鏈路故障進行恢復。本文提出的恢復策略提出將鏈路分為不同的等級,對不同等級的鏈路采用不同的恢復策略進行重路由(multiple backup path,MBP算法)。
在本節中,首先說明如何對鏈路的重要性級別進行分級。針對不同的鏈路定義了三種不同的備份策略。下面分別介紹鏈路等級劃分的依據及備份策略。
2.1 ?鏈接的重要性級別
在實際網絡中,鏈路故障的發生是隨機的,并且由于鏈路的多樣性,在鏈路故障的情況下,對網絡或主機之間的通信的影響也不同。為了最大程度地減少用于預配置備份路徑的流條目,并在鏈路故障的情況下實現所需的恢復延遲,首先根據以下度量標準對鏈路進行分類。
其中LDN表示帶寬利用率,BL表示流經鏈路的數據流數目,的取值范圍為[0-1]。經過計算,鏈路的MBPL值介于0-2之間。
2.2 ?鏈路故障恢復策略
根據度量結果值,將鏈路分為三個等級。針對一級鏈路使用雙路徑備份策略,該策略提供了兩個備份路徑,從而保障重要數據流的傳送。
針對二級鏈路使用單備份路徑恢復策略,從而可以滿足所需的故障轉移延遲。如果該策略失敗,將觸發被動恢復策略。
針對三級鏈路,通常流經這些鏈路的流量較少或對于延遲或數據包丟失的需求不高,因此對這些鏈路將采用被動備份策。該方法未對鏈路建立備份路徑,直到發生故障時才分配恢復路徑所需的資源。因此,可以節省內存資源。
3 ?實驗仿真
本次實驗是在虛擬機中進行,使用 Ubuntu14. 04操作系統,SDN控制器使用Floodlight,測試平臺使用Mininet,網絡拓撲結構如圖2所示,這里將交換機分為兩類:邊緣交換機和核心交換機。邊緣
交換機可當做數據流的源和目的地,而核心交換機負責數據路由轉發。假設每條鏈路的故障概率相同,并且每條鏈路的最大帶寬為524 M。其中縱坐標表示備份路徑流條目數占整個工作路徑流條目數的比例(用Bp表示),橫坐標表示邊緣交換機所占比例。
本次實驗主要評估備份路徑的資源消耗性能,本文將邊緣交換機的百分比設置為15%,30%,50%和70%,然后計算不同邊緣交換機百分比下的值。從圖3中可以看出,傳統主動式恢復算法中備份路徑流條目數比例值在65%至75%之間。并且,隨著
邊緣交換機數量的增加,其值基本保持不變。然而,本文提出的方法中備份路徑流條目數所占比例減小后逐漸趨于平穩,由此可看出該方法可有效減少備份路徑資源消耗。
4? 總結
目前SDN故障恢復方法主要采用主動式故障恢復策略,為每條鏈路設置備份路徑,極大的消耗存儲資源。因此,為了最小化備份路徑所消耗的資源并滿足所需的故障恢復延遲,本文提出了一種新的故障恢復方法。首先根據鏈路帶寬將鏈接分為不同的級別,然后針對不同等級的鏈接提出了不同的恢復策略。仿真表明,本文提出的方法可以減少備份路徑的資源消耗,同時滿足重要流量所需的延遲。
參考文獻
[1]. SDN[D]. , 2019.
[2]?????? 巴軍華. 基于拓撲切換的SDN節能路由及其優化方法[D].北京郵電大學, 2019.
[3]?????? 劉振鵬, 王文勝, 賀玉鵬, 等. 一種SDN控制節點故障恢復的部署策略[J]. 山東大學學報(理學版), 2019, 54(05): 21-27.
[4]?????? 王立坤. SDN網絡鏈路和控制器故障恢復機制研究[D]. 大連理工大學, 2018.
[5]?????? 張淑娟. 基于備份資源的SDN數據平面故障恢復方法[D].北京郵電大學, 2017.
[6]?????? 洪碩果. SDN網絡的故障檢測和恢復技術研究與實現[D].南京郵電大學, 2015.
[7]?????? 尹子龍. 面向SDN胖樹拓撲的鏈路故障恢復技術的研究與實現[D]. 北京郵電大學, 2019.