專利名稱:一種基于分布式多層多域光網(wǎng)絡(luò)的域間路由方法
技術(shù)領(lǐng)域:
本發(fā)明屬于多層多域光網(wǎng)絡(luò)的路由選擇和波長分配領(lǐng)域,尤其適用于網(wǎng)絡(luò)規(guī)模中
等且網(wǎng)絡(luò)邊界節(jié)點沒有波長變換器的多層多域光網(wǎng)絡(luò)。
背景技術(shù):
多層多域光網(wǎng)絡(luò)的路由技術(shù)分為域內(nèi)路由和域間路由,域內(nèi)路由是為源節(jié)點和目 的節(jié)點都在同一個域內(nèi)的業(yè)務(wù)分配路徑,域間路由是為跨越多個域的業(yè)務(wù)分配路徑。光網(wǎng) 絡(luò)的路由優(yōu)化一直著眼于降低業(yè)務(wù)阻塞率。在光網(wǎng)絡(luò)中,通過路由算法為業(yè)務(wù)計算一條路 徑之后要為業(yè)務(wù)分配一條相同的波長,這就是所謂的波長連續(xù)性限制。如果計算出來的路 徑中沒有可用的相同波長,則業(yè)務(wù)就會阻塞。因此在研究路由算法時也會考慮到波長。
研究域間路由技術(shù)首先要研究拓?fù)涑橄髾C(jī)制,然后再研究路由算法。傳統(tǒng)的拓 撲抽象機(jī)制有三種單節(jié)點抽象(simple node abstraction,如圖2所示)、全網(wǎng)抽象 (full—mesh abstraction,如圖3所示)、星型抽象(star abstraction,如圖4所示)。單 節(jié)點抽象是將一個域拓?fù)涑橄蟪梢粋€節(jié)點,保留域間鏈路。這種方法最簡單,算法復(fù)雜度 低,但將一個域抽象成一個節(jié)點后為路由算法提供的信息很少,故業(yè)務(wù)阻塞率比較高。全網(wǎng) 抽象保留域內(nèi)的所有邊界節(jié)點以及邊界節(jié)點之間的鏈路,如果兩邊界節(jié)點在實際拓?fù)渲杏?直接相連的鏈路,即經(jīng)過一跳連接的鏈路,則在拓?fù)涑橄髨D中保留此鏈路;如果兩邊界節(jié)點 在實際拓?fù)涑橄髨D中沒有直接相連的鏈路,則在拓?fù)涑橄髨D中建立一條虛擬鏈路。與單節(jié) 點抽象機(jī)制相比,全網(wǎng)抽象機(jī)制可以在拓?fù)涑橄髨D中提供更多域內(nèi)信息,更好的為路由算 法服務(wù),從而降低業(yè)務(wù)阻塞率,但同時也增加了算法的復(fù)雜度。星型抽象機(jī)制也是保留所有 的邊界節(jié)點,但與全網(wǎng)抽象不同的是,它并沒有保留邊界節(jié)點之間的鏈路,而是增加一個虛 擬節(jié)點,并為每個邊界節(jié)點到虛擬節(jié)點之間建立一條虛擬鏈路。在現(xiàn)有的研究中多采用全 網(wǎng)抽象機(jī)制或在全網(wǎng)拓?fù)涑橄蠡A(chǔ)上改進(jìn),本文也是在全網(wǎng)拓?fù)涑橄蠡A(chǔ)上改進(jìn)。
對于路由算法,域內(nèi)路由算法的研究已經(jīng)很成熟,域間路由算法也有不少人研究, 但與域內(nèi)路由算法相比較,域間路由算法還有待進(jìn)一步研究。前人采用的域間路由算法 大都是基于最短路徑算法或K最短路徑算法。Q. liu在光DW匿網(wǎng)絡(luò)的分層域間路由這篇 文章中采用全網(wǎng)拓?fù)涑橄髾C(jī)制并利用K最短路徑算法在拓?fù)涑橄髨D中為業(yè)務(wù)計算路徑。 T. Saad,以及H. Mouftah在光WDM網(wǎng)絡(luò)的域間波長路由這篇文章中提出了一種最短路徑優(yōu) 先(MSPF, Multi-domain Shortest Path First)的路由算法,它是基于最短路徑算法的。 由此可以看出,前人研究的域間路由算法都是基于最短路徑的,而跨越多個域的業(yè)務(wù)經(jīng)常 由于沒有可用的波長而阻塞,因此要降低域間阻塞率就要在路由算法中引入可用波長數(shù)或 波長使用率。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種為在多層多域光網(wǎng)絡(luò)內(nèi)進(jìn)行域間通信時的業(yè)務(wù)計算路 徑的域間路由方法。在光網(wǎng)絡(luò)中,業(yè)務(wù)經(jīng)常由于波長連續(xù)性限制而受到阻塞,域間通信更是如此。域間通信經(jīng)常由于缺少可用的相同波長而導(dǎo)致業(yè)務(wù)阻塞。為解決這個問題,降低 域間阻塞率,本發(fā)明提出一種新型的多層多域光網(wǎng)絡(luò)域間路由算法,此路由算法是基于改
進(jìn)的全網(wǎng)拓?fù)涑橄蠡A(chǔ)上的。此算法是在拓?fù)涑橄髨D中為業(yè)務(wù)計算一條優(yōu)化的路徑,將K 最短路徑算法與路徑最大可用波長數(shù)相結(jié)合,在進(jìn)行路徑計算時考慮路徑最大的可用波長 數(shù),具體步驟如下 (1)、用全網(wǎng)拓?fù)涑橄髾C(jī)制對全網(wǎng)拓?fù)鋱D進(jìn)行拓?fù)涑橄螅粗槐A裘總€域的所有邊 界節(jié)點,故拓?fù)涑橄髨D由所有邊界節(jié)點以及邊界節(jié)點之間的鏈路組成。如果第i個域的任 意兩個邊界節(jié)點V'和 < 在實際網(wǎng)絡(luò)拓?fù)鋱D中有直接鏈路,則在拓?fù)涑橄髨D中此鏈路保持 不變;如果兩個邊界節(jié)點在實際網(wǎng)絡(luò)拓?fù)鋱D中沒有直接鏈路,則在拓?fù)涑橄髨D中建立一條 虛擬鏈路來連接此兩節(jié)點。 (2)、在全網(wǎng)拓?fù)涑橄蠡A(chǔ)上改進(jìn)以解決虛擬鏈路的代價和可用波長數(shù)問題。在 拓?fù)涑橄髨D中,對連接任意兩邊界節(jié)點V'和Vik的鏈路,我們假定m(l)為鏈路的代價以及 為鏈路可用波長數(shù),也就是空閑波長數(shù)。如果兩個邊界節(jié)點在實際網(wǎng)絡(luò)拓?fù)鋱D中有直 接鏈路,則我們定義此鏈路的代價為l,即m(l)的值為l,w(l)的值與實際拓?fù)鋱D中此鏈路 的可用波長數(shù)一致,即保持不變。對于連接ViJ'和Vik的虛擬鏈路,我們定義m(l)和w(l)的
值由V'和Vik在實際拓?fù)鋱D中的具有可用波長數(shù)的最短路徑?jīng)Q定,即在有可用波長數(shù)的所
有路徑中選擇代價最小的路徑,如果有相同的最小代價的路徑,則選擇可用波長數(shù)多的路 徑。m(l)的值就等于選擇的路徑的跳數(shù),w(l)的值就等于選擇的路徑中的可用波長數(shù)。
(3)、對于拓?fù)涑橄髨D,p是從源節(jié)點到目的節(jié)點的一條路徑,P是從源節(jié)點到目的 節(jié)點所有路徑的集合,利用K最短路徑算法計算出K條代價小的路徑。
(4)、計算K條路徑的固定代價L, L=E ^pm(l),即L的值為此路徑中所有鏈路 的m(l)的值之和。 (5)、計算K條路徑的最大可用波長數(shù)。由于波長連續(xù)性限制,為業(yè)務(wù)分配波長時, 一條路徑的所有鏈路必須有相同的波長,故每條路徑的最大可用波長數(shù)即可用波長數(shù)的最 大值M為min^p[w(1)]。 (6)、計算K條路徑對應(yīng)的C(p)值。C(p)- /"mm^LM^j ,其中
oo min,ep|X/)] = 0
minlep[W(l)]為路徑P的最大可用波長數(shù),N為每條路徑的初始波長數(shù)。a是一常數(shù),可 以在仿真時按照網(wǎng)絡(luò)情況設(shè)定一特定值。在仿真時可以比較不同a值所對應(yīng)的業(yè)務(wù)阻塞 率,最終選擇一合適的a值。 (7)、選擇對應(yīng)的C(p)的值最小的路徑,如果此路徑分配不成功,繼續(xù)在剩余可達(dá) 路徑中搜索對應(yīng)的C(p)的值最小的路徑。重復(fù)以上過程直至找到一條可用路徑。
上述方法有以下特點 1)、在第二步中,采用了改進(jìn)的全網(wǎng)拓?fù)涑橄髾C(jī)制,解決了拓?fù)涑橄蠛筇摂M鏈路的 代價和可用波長數(shù)問題,為路由算法做準(zhǔn)備。 2)、在第七步的路由算法中引入了路徑最大可用波長數(shù),將路徑最大可用波長數(shù) 與K最短路徑算法相結(jié)合,在計算路徑時考慮到路徑的可用波長,盡量選擇有可用波長的 路徑。
3)、在第七步的路由算法中引入了 a這個因子,我們可以根據(jù)網(wǎng)絡(luò)狀態(tài)的不同設(shè) 置不同的a值,并通過仿真選擇合適的a使阻塞率達(dá)到較低的水平。
圖l為多層多域光網(wǎng)絡(luò)的模型。其中第0層為物理拓?fù)鋵?,第l層為路由層。CDl、 CD2、 CD3代表3個控制域,Sl、 S2、 S3分別是CD1、 CD2、 CD3中的speaker節(jié)點,負(fù)責(zé)收集各 自域內(nèi)的拓?fù)涑橄笮畔⒉⑦@些拓?fù)涑橄笮畔⑸蟼鞯缴弦粚?,以及接收上一層下傳的其?域的拓?fù)涑橄笮畔?。Nl、 N2、 N3分別與Sl、 S2、 S3相對應(yīng)。SI收集CDl的拓?fù)涑橄笮畔⒉?上傳到第1層的Nl, S2收集CD2的拓?fù)涑橄笮畔⒉⑸蟼鞯降?層的N2, S3收集CD3的拓?fù)?抽象信息并上傳到第1層的N3。 圖2為一個單域物理拓?fù)鋱D。圖中域內(nèi)共有8個節(jié)點,其中節(jié)點1、3、7、8為邊界 節(jié)點,節(jié)點2、4、5、6為域內(nèi)節(jié)點。 圖3為圖2經(jīng)全網(wǎng)拓?fù)涑橄蠛蟮膱D。全網(wǎng)拓?fù)涑橄髨D保留了物理拓?fù)鋱D中的所有 邊界節(jié)點。節(jié)點3與節(jié)點8、節(jié)點7與節(jié)點8在物理拓?fù)渲杏兄苯渔溌?,故在全網(wǎng)抽象圖中 保留了這條鏈路。其它邊界節(jié)點之間沒有直接鏈路,故在全網(wǎng)抽象圖中為它們建立虛擬鏈 路。 圖4為圖2經(jīng)星型拓?fù)涑橄蠛蟮膱D。星型抽象圖保留了物理拓?fù)渲械乃羞吔绻?jié) 點。與全網(wǎng)抽象不同的是,星型抽象并沒有保留邊界節(jié)點之間的鏈路,也沒用為邊界節(jié)點建 立虛擬鏈路,而是增加了一虛擬節(jié)點,并分別為虛擬節(jié)點到邊界節(jié)點間建立虛擬鏈路。
圖5是改進(jìn)的全網(wǎng)拓?fù)涑橄髾C(jī)制的算法流程圖。改進(jìn)的全網(wǎng)拓?fù)涑橄髾C(jī)制是在全 網(wǎng)拓?fù)涑橄髾C(jī)制基礎(chǔ)上加以改進(jìn),解決了抽象后虛擬鏈路的代價和可用波長問題,提出了 計算虛擬鏈路的代價和可用波長數(shù)的方法,為新的路由算法做準(zhǔn)備。
圖6是在圖2的物理拓?fù)鋱D基礎(chǔ)上標(biāo)注了每條鏈路的可用波長。
圖7是圖6經(jīng)拓?fù)涑橄蠛蟮膱D,鏈路的標(biāo)注是此鏈路的代價和可用波長,第一個數(shù) 為此鏈路的代價,第二個數(shù)代表此鏈路的可用波長數(shù)。節(jié)點1到節(jié)點3之間沒有直接鏈路, 故搜索有可用波長的最短路徑。節(jié)點1經(jīng)過節(jié)點2到節(jié)點3只有兩跳,代價最小,但這跳路 徑?jīng)]有可用波長,故繼續(xù)搜索三跳的路徑。路徑1-4-2-3代價是3且有一個可用波長,故此 條路徑為節(jié)點1到節(jié)點3的有可用波長的最短路徑,則抽象圖中連接節(jié)點1和節(jié)點3的虛 擬鏈路的代價是3,可用波長數(shù)是1。節(jié)點1到節(jié)點8之間的最短路徑是3跳,且有2條這 樣的路徑,但路徑1-4-6-8有2個可用波長而路徑1-4-7-8只有1個可用波長,故選擇路徑 1-4-6-8,則抽象圖中連接節(jié)點1到節(jié)點8的虛擬鏈路代價是3,可用波長數(shù)是2。按照以上 方法可求得其它虛擬鏈路的代價和可用波長數(shù)。
圖8為本發(fā)明提出的新型域間路由算法的流程圖。
具體實施例方式
本發(fā)明的適用范圍為多層多域光網(wǎng)絡(luò)或自動交換光網(wǎng)絡(luò),在網(wǎng)絡(luò)規(guī)劃中不使用波 長變換器。使用波長變換器后,波長分配問題就變得簡單,但現(xiàn)在波長變換技術(shù)還不成熟, 波長變換器的照價很昂貴,故使用起來代價很高,所以本發(fā)明適用的網(wǎng)絡(luò)規(guī)劃中不使用波 長變換器。
通常我們用一個加權(quán)連通圖Gi(Vi,Li)來表示一個單域網(wǎng)絡(luò),它代表第i個域。、是所有節(jié)點的集合,Li是所有鏈路的集合。G' JV' i,L'》表示&(、, L》的拓?fù)涑橄髨D,Vi'就是物理拓?fù)鋱D中所有邊界節(jié)點的集合,IV就是所有邊界節(jié)點之間鏈路的集合,包括實際鏈路和虛擬鏈路。在網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)中,如果兩個光節(jié)點之間有邊相連,這條邊代表兩條平行鏈路,分別提供兩個方向的通信,且通信的性能和花費完全相同。由于光網(wǎng)絡(luò)傳播速度快,故節(jié)點之間鏈路的代價就用跳數(shù)來度量而不是采用距離來度量。在一次通信請求中,用S表示源節(jié)點,用D表示目的節(jié)點。域間路由就是要為源節(jié)點所在域的出口節(jié)點到目的節(jié)點所在域的入口節(jié)點之間分配一條可用路徑。 域間路由研究分為兩部分的研究拓?fù)涑橄髾C(jī)制和路由算法。本發(fā)明在進(jìn)行拓?fù)涑橄髸r采用全網(wǎng)抽象機(jī)制,并在此基礎(chǔ)上改進(jìn)。全網(wǎng)拓?fù)涑橄髾C(jī)制就是保留所有的邊界節(jié)
點以及邊界節(jié)點之間的鏈路。當(dāng)任意兩邊界節(jié)點V'和Vik在物理拓?fù)渲杏兄苯酉噙B的鏈路
時,則在拓?fù)涑橄髸r保留此鏈路,而且鏈路代價和可用波長數(shù)保持不變。當(dāng)兩邊界節(jié)點Vij
和Vik在物理拓?fù)渲袥]有直接相連的鏈路時,則在拓?fù)涑橄髸r為此兩節(jié)點建立一條虛擬鏈路,虛擬鏈路的代價和可用波長數(shù)由v卩和Vik在物理拓?fù)渲杏锌捎貌ㄩL的最短路徑?jīng)Q定。假設(shè)Vij和Vik在物理拓?fù)渲杏衝條路徑,則我們將n條路徑按K最短路徑算法排序,排出第1最短路徑直至第n最短路徑。然后從第1最短路徑開始搜索,核對其是否有可用波長,如果第l最短路徑有可用波長,則虛擬鏈路的代價與第l最短路徑的跳數(shù)相同,虛擬鏈路的可用波長與第1最短路徑的可用波長數(shù)相同,如果有兩條以上的第1最短路徑且都具有可用波長,則選擇可用波長數(shù)多的路徑;如果第1最短路徑?jīng)]有相同的可用波長,則繼續(xù)搜索第2最短路徑,檢查其是否有可用波長,如此循環(huán),直至找到有可用波長的最短路徑。
拓?fù)涑橄蠛?,抽象圖中各鏈路之間的代價和可用波長數(shù)都已確定。設(shè)p是源節(jié)點到目的節(jié)點之間的一條路徑,P*是從源節(jié)點到目的節(jié)點所有路徑的集合。設(shè)L是每條路徑的代價,則L二E wpm(l),即L是這條路徑中所有鏈路的代價之和。由于計算好路徑后,要為業(yè)務(wù)分配一個相同的波長,只有路徑中所有鏈路都有相同的波長時,波長才會分配成功,故一條路徑的最大可用波長數(shù)為路徑中所有鏈路的可用波長數(shù)的最小值,即一條路徑的可用波長數(shù)的最大值為min^p[w(1)]。本發(fā)明定義C(p)為選路時采用的度量函數(shù),根據(jù)每條
/"min,印LwWJ ,其中min丄Ep[w(l)] - 0,
oo min/ep|>i</)] = 0
a >1。如果min^p[w(1)] = 0,說明此路徑中某些鏈路沒有可用波長,故此路徑也沒有可用波長,則業(yè)務(wù)通過此路徑時會阻塞。C(p)與L成正比,與路徑最大可用波長數(shù)成反比。路徑代價越小,路徑最大可用波長數(shù)越大,C(p)的值越小。在選擇路徑時優(yōu)先選擇C(p)值最小的路徑,故本算法選出的路徑是代價比較小可用波長比較多的路徑。
拓?fù)涑橄蠛螅酚伤惴梢悦枋鋈缦?(1)、初始化拓?fù)涑橄髨D中每條鏈路的代價和可用波長數(shù),即m(l)的值和的值。 (2)、接收到業(yè)務(wù)請求后,核對是鏈路建立請求還是鏈路拆除請求,如果是鏈路建立請求,則轉(zhuǎn)向(3),如果是鏈路拆除請求,則轉(zhuǎn)向(1)。
(3)、搜索拓?fù)鋱D中源節(jié)點到目的節(jié)點之間的所有路徑,即搜索路徑集合P*。
路徑C(p)的值來選路.,C(p)-
(4)、用K最短路徑算法計算出集合P*固定代價L最小的K條路徑,并計算此K條 路徑的最大可用波長數(shù)。
(5)、根據(jù)網(wǎng)絡(luò)狀態(tài)設(shè)定一個特定的a值并計算每條路徑的C(p)的值。
(6)、為業(yè)務(wù)分配路徑,選擇C(p)值最小的路徑,如果此路徑分配不成功,則選擇
C(p)值次小的路徑,如此循環(huán)直至找到可用路徑。
(7)、為業(yè)務(wù)分配路徑后,重新設(shè)定每條鏈路的可用波長數(shù)。
權(quán)利要求
一種基于分布式多層多域光網(wǎng)絡(luò)的域間路由方法,其特征在于在全網(wǎng)拓?fù)涑橄髾C(jī)制基礎(chǔ)上加以改進(jìn)解決了拓?fù)涑橄蠛筇摂M鏈路的代價和可用波長數(shù)問題,并在域間路由算法中將路徑最大可用波長數(shù)與K最短路徑算法相結(jié)合,具體步驟如下步驟一、用全網(wǎng)拓?fù)涑橄髾C(jī)制對物理拓?fù)鋱D進(jìn)行拓?fù)涑橄?,得到拓?fù)涑橄髨D,拓?fù)涑橄髨D由所有邊界節(jié)點以及邊界節(jié)點之間的鏈路組成;如果第i個域的任意兩個邊界節(jié)點vij和vik在實際網(wǎng)絡(luò)拓?fù)鋱D中有直接鏈路,則在拓?fù)涑橄髨D中此鏈路保持不變,如果此兩邊界節(jié)點在實際網(wǎng)絡(luò)拓?fù)鋱D中沒有直接鏈路,則在拓?fù)涑橄髨D中建立一條虛擬鏈路來連接此兩節(jié)點;步驟二、在全網(wǎng)拓?fù)涑橄蠡A(chǔ)上改進(jìn)以解決虛擬鏈路的代價和可用波長數(shù)問題。在拓?fù)涑橄髨D中,對連接任意兩邊界節(jié)點vij和vik的鏈路l,m(l)為鏈路的代價以及w(l)為鏈路可用波長數(shù);如果此兩個邊界節(jié)點vij和vik在實際網(wǎng)絡(luò)拓?fù)鋱D中有直接鏈路,則m(l)的值為1,w(l)的值與實際拓?fù)鋱D中此鏈路的可用波長數(shù)一致;對于連接邊界節(jié)點vij和vik的虛擬鏈路,m(l)和w(l)的值由vij和vik在實際拓?fù)鋱D中的有可用波長的所有路徑中代價最小的路徑?jīng)Q定,m(l)的值等于所選擇的路徑的跳數(shù),w(l)的值等于所選擇的路徑的可用波長數(shù);如果有相同的最小代價的路徑,則選擇可用波長數(shù)多的路徑;步驟三、對于拓?fù)涑橄髨D,從源節(jié)點到目的節(jié)點之間的一條路徑p,從源節(jié)點到目的節(jié)點之間的所有路徑的集合P*,利用K最短路徑算法計算出K條固定代價最小的路徑,其中每條路徑的固定代價為L=∑l∈pm(l),K值在仿真時自行設(shè)定;步驟四、計算K條路徑的最大可用波長數(shù),由于波長連續(xù)性限制,為業(yè)務(wù)分配波長時,一條路徑的所有鏈路必須有相同的波長,每條路徑的最大可用波長數(shù)M為minl∈p[w(l)];步驟五、計算K條路徑對應(yīng)的C(p)的值,分別計算K條路徑的C(p)值,其中minl∈p[w(l)]為路徑p的最大可用波長數(shù),N為每條路徑的初始波長數(shù),α是一常數(shù),在仿真時按照網(wǎng)絡(luò)情況設(shè)定一特定值,在仿真時比較不同α值所對應(yīng)的業(yè)務(wù)阻塞率,最終選擇一合適的α值;步驟六、選擇對應(yīng)的C(p)的值最小的路徑,如果此路徑分配不成功,繼續(xù)在剩余路徑中搜索對應(yīng)的C(p)的值最小的路徑,直至找到一條可用路徑。F2009102366384C0000011.tif
全文摘要
本發(fā)明提出了一種基于分布式多層多域光網(wǎng)絡(luò)的域間路由方法,其應(yīng)用范圍為多層多域光網(wǎng)絡(luò)以及自動交換光網(wǎng)絡(luò)(ASON,automatic switch optical network)。此方法的主要特征是,在全網(wǎng)拓?fù)涑橄?full-mesh topology abstraction)基礎(chǔ)上改進(jìn)解決了虛擬鏈路的代價和可用波長數(shù)問題以及在域間路由算法中將路徑最大可用波長數(shù)與K最短路徑算法相結(jié)合,降低了域間由于缺少可用波長而導(dǎo)致的阻塞的概率,從而降低了全網(wǎng)的業(yè)務(wù)阻塞率。
文檔編號H04L12/56GK101699803SQ200910236638
公開日2010年4月28日 申請日期2009年11月2日 優(yōu)先權(quán)日2009年11月2日
發(fā)明者周賢偉, 朱艷平, 王建萍 申請人:北京科技大學(xué)