OBS核心節(jié)點控制系統(tǒng)的實現(xiàn)
引言
本文引用地址:http://cafeforensic.com/article/161480.htm 光突發(fā)交換(Optical Burst Switching,OBS)網(wǎng)絡(luò)是基于現(xiàn)有的技術(shù)條件,結(jié)合光線路交換和光分組交換的優(yōu)點,有效實現(xiàn)IP over WDM的解決方案。OBS網(wǎng)絡(luò)包括核心節(jié)點和邊緣節(jié)點。核心節(jié)點的主要功能是根據(jù)突發(fā)控制包(BCP:Burst Contro1 Packet)提供的信息進行路由和信道資源調(diào)度、設(shè)置光交換矩陣,為突發(fā)數(shù)據(jù)包BDP (Burst Data Packet)預(yù)留全光通道。
考慮到JIT協(xié)議調(diào)度算法的簡單性,調(diào)度處理速度很快,調(diào)度算法在獨立模塊中實現(xiàn)并沒有必要,反而會由于模塊的增加帶來額外的延時,而需要消耗更多的處理時間。本文提出了一種面向JIT協(xié)議的核心節(jié)點控制器的結(jié)構(gòu),將網(wǎng)絡(luò)層路由功能和OBS層信道調(diào)度功能整合到同一個模塊中處理,一方面,模塊的整合可以縮短BCP的處理時間;另一方面,該結(jié)構(gòu)中,轉(zhuǎn)發(fā)是在調(diào)度之后再執(zhí)行,使得路由選擇可以在最優(yōu)的輸出端口沒有可用信道的情況下,選擇其它可行的輸出端口,再進行信道的調(diào)度,從而減少丟包的概率。
1 控制器的設(shè)計與實現(xiàn)
實現(xiàn)中選用了顯式建立、估算拆除的JIT(Just—In—Time)信令協(xié)議,該協(xié)議只有SETUP消息,沒有REALEASE消息。核心節(jié)點收到并完成SETUP消息的處理后,立即為其預(yù)留資源,并根據(jù)SETUP消息中包含的偏置時間和數(shù)據(jù)包長度估算出釋放資源的時間。
1.1 系統(tǒng)組成
圖l為OBS核心控制器系統(tǒng)框圖,分為接收模塊、幀解析模塊、交叉矩陣、發(fā)送模塊、路由和調(diào)度模塊。在各功能模塊之間都設(shè)置了緩存結(jié)構(gòu),使得各個模塊可以獨立的工作,從而在各模塊之間實現(xiàn)流水線式的工作方式。各模塊的主要功能如下:
接收模塊接收控制信道上的數(shù)據(jù),恢復(fù)成以太幀后,寫入到接收緩存中。
幀解析模塊從接收緩存中讀取以太幀,解析出相應(yīng)協(xié)議域信息,進行相應(yīng)處理。如果不是BCP包,直接進行轉(zhuǎn)發(fā)操作;如果是BCP包,把調(diào)度相關(guān)信息發(fā)送給路由和調(diào)度模塊,并根據(jù)路由和調(diào)度模塊返回的消息進行轉(zhuǎn)發(fā)或丟棄。
路由和調(diào)度模塊負責(zé)實現(xiàn)網(wǎng)絡(luò)層的路由選擇功能和OBS層的信道調(diào)度功能,其中包含一個轉(zhuǎn)發(fā)路由表和一個信道資源庫,轉(zhuǎn)發(fā)路由表保存本節(jié)點的路由表信息,用于路由查詢;信道資源庫記錄本節(jié)點各輸出端口的數(shù)據(jù)信道資源占用情況,并負責(zé)控制光開關(guān)矩陣。
交叉矩陣將輸入緩存中的分組交換到輸出緩存中。發(fā)送模塊更新BCP包的偏置時間,再將其組成以太幀發(fā)送到控制信道上。
1.2 主要模塊的設(shè)計與實現(xiàn)
1.2.1 幀解析模塊
幀解析模塊負責(zé)解析幀的類型及幀的內(nèi)容,并作部分網(wǎng)絡(luò)層協(xié)議及OBS層協(xié)議的處理,同時控制路由和調(diào)度模塊的工作。其主要工作可分為如下幾個部分:l、從接收緩存中讀取收到的數(shù)據(jù)包,并記錄接收到的時間,用于更新BCP包的偏置時間;2、網(wǎng)絡(luò)層協(xié)議的處理,包括類型信息、包長、目的網(wǎng)絡(luò)地址的獲取及TTL的更新等;3、OBS層協(xié)議的處理,包括偏置時問的計算及更新,對路由和調(diào)度模塊的控制等;4、對處理好的數(shù)據(jù)包,本地包上傳到本節(jié)點的網(wǎng)管模塊,需要繼續(xù)轉(zhuǎn)發(fā)的,則發(fā)送到輸出緩存中。
幀解析模塊的狀態(tài)轉(zhuǎn)移圖如圖2所示。上電后首先進入Idle狀態(tài),在Idle狀態(tài)下檢查接收緩存是否有新的數(shù)據(jù)包,有的話則進入ReadMAC狀態(tài),讀取MAC頭信息,判斷MAC幀類型,非IP數(shù)據(jù)包則將其丟棄,否則進入ReadIP狀態(tài),這個狀態(tài)下讀取IP數(shù)據(jù)包的長度,以及類型,TTL等信息,如果是不是BCP包,進入Route狀態(tài),進行路由選擇,如果是本地包,則上傳到網(wǎng)管模塊中,否則進入Update狀態(tài);如果是BCP包,則進入RouteSchedule狀態(tài),啟動路由和調(diào)度模塊的工作。如果調(diào)度不成功,則要將該BCP包丟棄,如果成功,也進入Update狀態(tài);在Update狀態(tài)下,對TTL進行更新,如果調(diào)度出來的波長號發(fā)生改變,也要更新相應(yīng)信息。之后,就進入Forward狀態(tài),將已更新好的數(shù)據(jù)包發(fā)送到輸出緩存中,進行下一幀的處理。
評論