軟件定義光網(wǎng)絡(luò)故障恢復(fù)與資源分配
前言
傳統(tǒng)IP分組交換網(wǎng)使用域內(nèi)路由協(xié)議(Interior Gateway Protocol,IGP)和域間路由協(xié)議(Border Gateway Protocol,BGP)實(shí)現(xiàn)了***的互聯(lián),構(gòu)建了全球范圍內(nèi)的大規(guī)模Internet。但是,隨著移動(dòng)互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的快速發(fā)展,新業(yè)務(wù)層出不窮,業(yè)務(wù)需求也千變?nèi)f化,傳統(tǒng)分布式的網(wǎng)絡(luò)已不堪重負(fù)。同時(shí),由于控制平面與數(shù)據(jù)平面集于一身的特征,傳統(tǒng)網(wǎng)絡(luò)也面臨網(wǎng)絡(luò)擁塞、設(shè)備復(fù)雜、運(yùn)維困難、新業(yè)務(wù)部署慢等諸多問(wèn)題。軟件定義網(wǎng)絡(luò)(Software Defined Networking,SDN)打破了傳統(tǒng)網(wǎng)絡(luò)的垂直集成,通過(guò)控制與轉(zhuǎn)發(fā)分離的方式實(shí)現(xiàn)了控制邏輯集中、開(kāi)放網(wǎng)絡(luò)編程接口的特點(diǎn),為網(wǎng)絡(luò)注入了新的活力,使得網(wǎng)管可以對(duì)網(wǎng)絡(luò)進(jìn)行靈活地配置與重配置。
SDN的可編程性和開(kāi)放性也為光網(wǎng)絡(luò)的革新提供了新的機(jī)會(huì)。光網(wǎng)絡(luò)在經(jīng)歷了時(shí)分復(fù)用(Time Division Multiplexing,TDM)、波分復(fù)用(Wavelength Division Multiplexing,WDM)之后也趨于走向未來(lái)的基于正交頻分復(fù)用(Orthogonal Frequency Division Multiplexing ,OFDM)的靈活的彈性光網(wǎng)絡(luò)(Elastic Optical Networks,EONs)。然而,EONs繼續(xù)為網(wǎng)絡(luò)用戶提供大容量傳輸?shù)耐瑫r(shí),也對(duì)光網(wǎng)絡(luò)的靈活管控提出了新的挑戰(zhàn)。因此,SDN和EONs的結(jié)合(SD-EONs,架構(gòu)如下圖所示)會(huì)是未來(lái)光控制平面的有力解決方案之一,本文將從軟件定義光網(wǎng)絡(luò)中的故障恢復(fù)和資源分配兩個(gè)方面做簡(jiǎn)短的介紹。
圖(a)SD-EONs網(wǎng)絡(luò)架構(gòu);(b)BV-WSS結(jié)構(gòu);(c)OF-AG結(jié)構(gòu);(d)ER結(jié)構(gòu);(e)光流表
一、故障恢復(fù)
任何網(wǎng)絡(luò)都應(yīng)該具有故障的容忍能力,當(dāng)然光網(wǎng)絡(luò)也不例外,恢復(fù)力也是光網(wǎng)絡(luò)中最渴望的屬性之一。在SD-EONs中,恢復(fù)力通常可以分為保護(hù)策略和恢復(fù)策略。保護(hù)是一種先驗(yàn)式的策略,而恢復(fù)是一種反應(yīng)式的策略。保護(hù)策略是預(yù)先規(guī)劃的,無(wú)論網(wǎng)絡(luò)故障是否發(fā)生,它們總是一直存在著。文獻(xiàn)1中提供了一種環(huán)網(wǎng)的保護(hù)策略,利用流表的優(yōu)先級(jí)來(lái)預(yù)先下發(fā)高優(yōu)先級(jí)的工作流表和低優(yōu)先級(jí)的保護(hù)流表。網(wǎng)絡(luò)正常工作時(shí)使用高優(yōu)先級(jí)的流表,一旦網(wǎng)絡(luò)發(fā)生故障立即切換到低優(yōu)先級(jí)的流表來(lái)恢復(fù)網(wǎng)絡(luò)的通信。保護(hù)策略的好處就是故障恢復(fù)的時(shí)間非常短,因?yàn)檎麄€(gè)過(guò)程不需要額外的信息交互。缺點(diǎn)就是保護(hù)路徑再次發(fā)生故障時(shí)無(wú)法恢復(fù)通信,此外對(duì)于大規(guī)模復(fù)雜的網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)完善的保護(hù)算法的難度也非常大。恢復(fù)策略需要設(shè)計(jì)感知故障的方法,同時(shí)也要設(shè)計(jì)用于故障恢復(fù)的算法。文獻(xiàn)2中利用探測(cè)包的方式動(dòng)態(tài)地監(jiān)測(cè)網(wǎng)絡(luò)鏈路狀態(tài),一旦節(jié)點(diǎn)或鏈路發(fā)生故障,光代理模塊會(huì)將故障信息反饋給控制器,控制器中的故障恢復(fù)應(yīng)用運(yùn)行動(dòng)態(tài)的路由算法DAPSP(Dynamic All Pairs Shortest Paths)通過(guò)重路由的方式來(lái)恢復(fù)通信。當(dāng)然,在軟件定義的光網(wǎng)絡(luò)中,控制器的故障也不容忽視,因?yàn)橐坏┛刂破靼l(fā)生故障很可能會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)的癱瘓。文獻(xiàn)3設(shè)計(jì)了一種主從控制器的方案來(lái)加強(qiáng)控制平面的魯棒性。主從控制器之間周期性的同步網(wǎng)絡(luò)的狀態(tài)信息。在正常工作狀態(tài)下,使用主控制器來(lái)管控網(wǎng)絡(luò),一旦主控制器發(fā)生故障,從控制器立即接管網(wǎng)絡(luò)的控制與管理。
二、資源分配
EONs利用光正交頻分復(fù)用(Optical Orthogonal Frequency Division Multiplexing, OOFDM)技術(shù)可以根據(jù)不同帶寬的業(yè)務(wù)請(qǐng)求按需動(dòng)態(tài)的分配頻譜資源,并將頻譜資源分成許多細(xì)粒度的頻隙,同時(shí)還可以根據(jù)請(qǐng)求的需要把頻隙進(jìn)行拆分與聚合,這樣就能夠節(jié)約頻譜資源,從而提高頻譜資源的利用率。EONs最明顯的特征就是彈性可變,多調(diào)制模式類型的轉(zhuǎn)發(fā)器能夠根據(jù)業(yè)務(wù)類型自主地選擇***的調(diào)制等級(jí)。在SD-EONs中設(shè)計(jì)路由與頻譜分配算法應(yīng)該注意頻譜連續(xù)性、頻譜一致性和頻譜沖突性三個(gè)約束。頻譜連續(xù)性:是指為每個(gè)業(yè)務(wù)分配的頻譜槽必須是連續(xù)的,中間沒(méi)有間隔;頻譜一致性:是指對(duì)于一個(gè)業(yè)務(wù)來(lái)說(shuō),在光路徑經(jīng)過(guò)的光鏈路上,應(yīng)采用相同序號(hào)的光譜資源;頻譜沖突性:是指不同業(yè)務(wù)之間需要一定的保護(hù)帶寬,用以保證每條業(yè)務(wù)連接請(qǐng)求所占用的頻譜間隙不重疊,確保信號(hào)在傳輸、處理過(guò)程中不會(huì)相互干擾。文獻(xiàn)4設(shè)計(jì)了一個(gè)基于頻譜效率與連通度(Spectral Efficiency and Connectivity,SEC)的路由調(diào)制等級(jí)和光譜分配(Routing, Modulation Level and Spectrum Allocation,RMLSA)的算法SEC-RMLSA來(lái)提升SD-EONs的業(yè)務(wù)承載能力。
光流表
在光設(shè)備中,數(shù)據(jù)的轉(zhuǎn)發(fā)應(yīng)該按照光流表來(lái)進(jìn)行操作。一個(gè)簡(jiǎn)單的光流表由輸入端口(In Port)、輸出端口(Out Port)、中心頻率(Central Frequency,CF)、頻譜槽寬度(Slot Width,SW)和調(diào)制格式(Modulation Format,MF)組成。在這里介紹一種基于Flow_Mod消息擴(kuò)展光流表的簡(jiǎn)單方法。
小提示:
!:大端存儲(chǔ);C:char,字符型;B:一個(gè)字節(jié)長(zhǎng)度,無(wú)符號(hào)字符型;I:4個(gè)字節(jié)長(zhǎng)度,int型;H:兩個(gè)字節(jié)長(zhǎng)度;Q:八個(gè)字節(jié)長(zhǎng)度;x:padding;3x:3個(gè)字節(jié)的padding;5s:5個(gè)字節(jié)的字符串。在光設(shè)備中,數(shù)據(jù)的轉(zhuǎn)發(fā)應(yīng)該按照光流表來(lái)進(jìn)行操作。一個(gè)簡(jiǎn)單的光流表由輸入端口(In Port)、輸出端口(Out Port)、中心頻率(Central Frequency,CF)、頻譜槽寬度(Slot Width,SW)和調(diào)制格式(Modulation Format,MF)組成。在這里介紹一種基于Flow_Mod消息擴(kuò)展光流表的簡(jiǎn)單方法。
步驟1
目錄:ryu/ryu/ofproto/ofproto_v1_3.py
首先,先需要把ofp_action_output中的協(xié)議格式重新定義,即將原來(lái)末尾的6x填充域重定義為3個(gè)HHH的格式,分別用于存儲(chǔ)中心頻率、頻譜槽寬度和調(diào)制格式。
步驟2
目錄:ryu/ryu/ofproto/ofproto_v1_3_parser.py
接著,在解析和序列化函數(shù)中分別添加中心頻率、頻譜槽寬度、調(diào)制格式3個(gè)變量。
步驟3
目錄:在你所開(kāi)發(fā)的應(yīng)用中。
***,將擬設(shè)計(jì)算法輸出的3個(gè)參數(shù)加載到action中的末尾。以及將封裝好的Flow_Mod消息發(fā)送給光代理。如圖所示的結(jié)果,利用Wireshark抓到的Flow_Mod消息。