翟溪林
(山東農(nóng)業(yè)大學,山東 泰安 271000)
文章基于蟻群算法已有研究成果,提出基于蟻群算法的路由選擇算法,對推動在網(wǎng)絡路由優(yōu)化上蟻群算法的應用具有一定的實際應用價值。
根據(jù)OpenFlow網(wǎng)絡與傳統(tǒng)網(wǎng)絡互通的情況,需要這樣一種方案來實現(xiàn)OpenFlow網(wǎng)絡層的三層通信,即在OpenFlow控制器中加入路由模塊,在不同OpenFlow網(wǎng)絡拓撲結(jié)構(gòu)中,實現(xiàn)不同IP網(wǎng)段間的通信[1-2]。
在本網(wǎng)絡中,是利用鏈路層發(fā)現(xiàn)協(xié)議(Link Layer Discovery Protocol,LLDP),OpenFlow交換機實現(xiàn)與對端的鏈路連接狀況和設備類型信息的周期性地互通,而利用交換機上傳的狀態(tài)信息,OpenFlow控制器便能對每一對端口間的連接情況予以掌握,從而將網(wǎng)絡的所有拓撲狀況獲取。依靠傳輸線,各節(jié)點互相連接是本結(jié)構(gòu)的特點,各節(jié)點與其他兩個及以上節(jié)點相接。可靠性高,結(jié)構(gòu)復雜,不過維護與管理不易。利用OpenFlow技術(shù)可對網(wǎng)絡資源與鏈路流量進行良好的分配,網(wǎng)狀網(wǎng)結(jié)構(gòu)如圖1所示。
圖1 網(wǎng)狀網(wǎng)結(jié)構(gòu)示意
胖樹拓撲結(jié)構(gòu)則是OpenFlow網(wǎng)絡數(shù)據(jù)中心另一種常見的結(jié)構(gòu)。中心流量改變不小,而且多是傳統(tǒng)的基于樹形的網(wǎng)絡架構(gòu),收斂比存在上下行間的帶寬,如此易堵塞網(wǎng)絡[3-4]。就樹形傳統(tǒng)結(jié)構(gòu),胖樹不止一個根節(jié)點,有生長向上的多個左右節(jié)點,通信瓶頸因根節(jié)點而產(chǎn)生,越向上接近根節(jié)點,鏈路占用越大帶寬。故而,就中心網(wǎng)絡且無堵塞的建立,可用這一結(jié)構(gòu)。而下層節(jié)點鏈路帶寬之和,為上層節(jié)點帶寬,為較理想的胖樹結(jié)構(gòu),其結(jié)構(gòu)如圖2所示。
圖2 胖樹結(jié)構(gòu)示意
胖樹結(jié)構(gòu)具有良好的擴展性,且等分帶寬高、網(wǎng)絡直徑短,是十分典型的多級交換網(wǎng)絡,其分為從下至上的邊緣層、匯聚層和核心層3層。需要注意,從邊緣交換機向上連接,上層不少于兩個交換機與各個邊緣交換機相連,則是依靠鏈路,各層交換機間相連的。而讓邊緣及核心交換機間有均衡的流量,是整個網(wǎng)絡擁塞率減少的關鍵。本結(jié)構(gòu)能提供多條從同一源節(jié)點至目的節(jié)點的路徑,使容錯性較好,路徑多樣化。
本章將傳統(tǒng)的路由算法應用到OpenFlow網(wǎng)絡中,針對OpenFlow數(shù)據(jù)中心網(wǎng)絡的多路徑,給出基于蟻群算法的多路徑路由選擇算法。
蟻群算法的基本原理如下。
根據(jù)自然界螞蟻的尋路特征,螞蟻經(jīng)過每條路徑時留下的信息素有以下特征。
(1)螞蟻對信息素釋放量與路徑長度成反比關系。
(2)螞蟻釋放的信息素有揮發(fā)性,其質(zhì)量濃度會隨著時間變長而下降,從而對螞蟻選路的影響性越低。
由于信息素的影響,螞蟻通過最短路徑上留下的信息素濃度最高,而其他路徑上的長度比最短路徑要長,因此,螞蟻在其他路徑上留下的信息素濃度比最短路徑上的信息素質(zhì)量濃度低,隨著時間變長,信息素揮發(fā)。最終,所有螞蟻都會從最短路徑上經(jīng)過。
基于蟻群算法,提出多路徑路由算法,整個路由選路過程如圖3所示。
圖3 路由過程
在整個OpenFlow網(wǎng)絡中,當邊緣節(jié)點有數(shù)據(jù)流進入時,控制器中會傳入有關節(jié)點信息,根據(jù)這些信息,控制器對源節(jié)點是否可直接至目的節(jié)點進行檢查,若不行,通過螞蟻進行尋路,最后會把至目的地的全部螞蟻記下,將最短路由即鏈路代價最短路徑篩選出。
上文提出的多路徑算法是一種與OpenFlow數(shù)據(jù)中心相適應基于蟻群算法的路由算法,本章對其進行仿真。
在選擇源節(jié)點至目的節(jié)點的路徑時,基于蟻群算法的原理,經(jīng)對螞蟻選路滿足的條件予以判斷,將對帶寬要求滿足的后續(xù)節(jié)點選出,對下一跳節(jié)點的選擇則依照公式進行,對信息素更新,進行路徑篩選,最后是數(shù)據(jù)發(fā)送。
將這種算法應用在復雜數(shù)據(jù)中心的網(wǎng)絡中,能在多路徑下創(chuàng)設合理的路由計算與查找以及將節(jié)點間的最短路徑問題妥善處理。不過,其會引起較長的最短路徑搜索時間,局部最優(yōu)解上也易收斂。為此,將一個條件即帶寬限制加入螞蟻尋路中,進行對帶寬要求滿足的后續(xù)節(jié)點搜索,將最優(yōu)路徑選出。
文章基于OpenFlow網(wǎng)絡路由功能的需求,OpenFlow網(wǎng)絡中實現(xiàn)控制器路由機制的必要性及OpenFlow網(wǎng)絡的兩種不同拓撲結(jié)構(gòu)等基礎上,闡述了基于螞蟻算法的多路徑路由算法的特點、流程,并進行了仿真及分析,由于數(shù)據(jù)中心網(wǎng)絡中拓撲復雜,不少轉(zhuǎn)發(fā)流量的路徑就控制了流量,網(wǎng)絡有限,且不可利用多條路由進行流量轉(zhuǎn)發(fā)?;贠penFlow的特征,對提出的算法利用控制器加以調(diào)用,對路由集中計算,向多條路徑分配流量并轉(zhuǎn)發(fā),使網(wǎng)絡鏈路利用率增加。