OBS核心節(jié)點(diǎn)控制系統(tǒng)的實(shí)現(xiàn)
圖3所示為路由表和信道資源庫(kù)的結(jié)構(gòu)示意圖。路由表包含多條路由表項(xiàng),每條表項(xiàng)包括目的網(wǎng)絡(luò)地址及輸出端口號(hào)兩部分信息。查找路由的過(guò)程為:從首條表項(xiàng)開(kāi)始,將目的網(wǎng)絡(luò)地址依次與各表項(xiàng)中網(wǎng)絡(luò)地址進(jìn)行匹配,匹配成功即輸出端口號(hào)。Ptr用來(lái)指向當(dāng)前的匹配表項(xiàng),如需二次查找,只需從Ptr指向的表項(xiàng)開(kāi)始繼續(xù)查找。
信道資源庫(kù)包含所有端口的信道分配信息,每個(gè)端口作為一組,包含一個(gè)控制單元CU及一組定時(shí)器,每個(gè)定時(shí)器對(duì)應(yīng)于一個(gè)信道。信道空閑時(shí)定時(shí)器也處于空閑狀態(tài),每次為BCP成功分配信道以后,就需要打開(kāi)光開(kāi)關(guān)控制信號(hào),同時(shí)肩動(dòng)相應(yīng)定時(shí)器,時(shí)間設(shè)置為偏置時(shí)間+預(yù)留時(shí)間,定時(shí)結(jié)束,關(guān)閉光開(kāi)關(guān)控制信號(hào)。控制單元可根據(jù)各定時(shí)器的工作狀態(tài)確定各信道的使用狀態(tài),進(jìn)行信道分配。
圖3路由表和信道資源庫(kù)的結(jié)構(gòu)示意圖路由和調(diào)度功能的實(shí)現(xiàn)過(guò)程如下:首先檢測(cè)各幀解析模塊的調(diào)度請(qǐng)求信號(hào),如果有效,讀取目的網(wǎng)絡(luò)地址,同時(shí)啟動(dòng)路由和調(diào)度過(guò)程,先到路由表查找到第一個(gè)與目的網(wǎng)絡(luò)地址匹配的路由表項(xiàng),得到輸出端口;再到信道資源庫(kù)里檢查該端口是否有空閑的數(shù)據(jù)信道,有的話預(yù)留該信道,設(shè)置光開(kāi)關(guān)矩陣,啟動(dòng)相應(yīng)定時(shí)器,調(diào)度成功,返回給幀解析模塊輸出端口和數(shù)據(jù)信道的信息;如果不存在空閑信道,則需要繼續(xù)到路由表中查找匹配表項(xiàng),找到后再次到信道資源庫(kù)中搜索空閑信道,如此繼續(xù);如果搜索完路由表中所有表項(xiàng)后仍無(wú)法找到空閑信道,則返回調(diào)度失敗信號(hào)給幀解析模塊。
2 實(shí)驗(yàn)測(cè)試
我們對(duì)本設(shè)計(jì)進(jìn)行了硬件化實(shí)現(xiàn)。圖4為用QuartusII工具得到的電路時(shí)序仿真圖。圖中1、2、3、4、5為狀態(tài)指示信號(hào),依次對(duì)應(yīng)幀接收完成信號(hào)、讀取狀態(tài)信號(hào),協(xié)議處理狀態(tài)信號(hào),路由和調(diào)度狀態(tài)信號(hào),轉(zhuǎn)發(fā)狀態(tài)信號(hào);6,7為輸出信號(hào),分別對(duì)應(yīng)調(diào)度完成信號(hào)和光開(kāi)關(guān)設(shè)置信號(hào)。
圖2 BCP包接收處理過(guò)程的工作時(shí)序(參見(jiàn)結(jié)尾)由圖4可見(jiàn),在一個(gè)OBS包的處理過(guò)程中,依次經(jīng)歷了幀數(shù)據(jù)的讀取、協(xié)議處理、路由和調(diào)度、轉(zhuǎn)發(fā)等多個(gè)狀態(tài),其中從BCP包接收完成到發(fā)出光開(kāi)關(guān)設(shè)置信號(hào)僅用了lOOns,相比于現(xiàn)有的實(shí)現(xiàn)方案,有了很大的提高。完全可以滿(mǎn)足現(xiàn)有OBS網(wǎng)絡(luò)對(duì)核心節(jié)點(diǎn)開(kāi)關(guān)速度的要求。
3 總結(jié)
測(cè)試結(jié)果表明:接收完BCP包到發(fā)出光開(kāi)關(guān)設(shè)置信號(hào)的最短時(shí)間為lOOns。顯著縮短了控制包在核心節(jié)點(diǎn)的處理時(shí)間。
評(píng)論