亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種路由管理方法及裝置與流程

文檔序號:12623481閱讀:381來源:國知局
一種路由管理方法及裝置與流程

本發(fā)明涉及無線通信技術(shù)領(lǐng)域,尤其涉及一種路由管理方法及裝置。



背景技術(shù):

大規(guī)模分布式的交換網(wǎng)絡(luò)是目前大容量高端路由器的核心技術(shù)之一,隨著網(wǎng)絡(luò)交換容量需求的增大,產(chǎn)生了多級互聯(lián)的交換網(wǎng)絡(luò),以實現(xiàn)太比特以上容量的網(wǎng)絡(luò)交換;多級互聯(lián)的交換網(wǎng)絡(luò)主要由交換接入(Swich Access,SA)芯片和交換芯片(Swich Fabric,SF)組成。

現(xiàn)有技術(shù)中交換網(wǎng)絡(luò)的組成結(jié)構(gòu)示意圖,如圖1所示,SA芯片與SF芯片通過多條高速串行總線連接形成鏈路,所述串行總線可以為SerDes;當(dāng)數(shù)據(jù)包從一個源SA經(jīng)由SF轉(zhuǎn)發(fā)至一個目的SA時,通過多條物理連接的鏈路進(jìn)行傳送;源SA在發(fā)送之前數(shù)據(jù)包需要查詢路由表,根據(jù)查詢的有效鏈路將數(shù)據(jù)包發(fā)送至SF;同時,SF通過查詢數(shù)據(jù)表再將數(shù)據(jù)包轉(zhuǎn)發(fā)至目的SA;因此,根據(jù)鏈路的變化及時更新路由表成為提高數(shù)據(jù)包交換效率的一個重要因素。

由于交換網(wǎng)絡(luò)的鏈路連接關(guān)系可能發(fā)生變化,因此,需要采用動態(tài)路由的方式管理交換網(wǎng)絡(luò);動態(tài)路由是指路由器自動地建立路由表,即自路由表,并且能夠根據(jù)實際情況的變化適時地調(diào)整路由表。為了保證信元能夠在交換網(wǎng)的輸入端口和輸出端口之間正確轉(zhuǎn)發(fā),需要構(gòu)建交換網(wǎng)內(nèi)部的單播路由表和全目的可達(dá)鏈路;其中,單播路由表用于供單播信元進(jìn)行路由查找使用,全目的可達(dá)鏈路是將全部自路由表用于多播信元的轉(zhuǎn)發(fā)。

現(xiàn)有技術(shù)中,路由管理的處理流程,如圖2所示,包括:路由器根據(jù)鏈路的拓?fù)潢P(guān)系變化實時更新自路由表,將自路由表表項復(fù)制到單播路由表,并提取全目的可達(dá)鏈路;因此,在交換網(wǎng)絡(luò)的組網(wǎng)環(huán)境發(fā)生變化時,相應(yīng)的自路由 表表項也會發(fā)生變化。

當(dāng)某個SA被插拔后,可用鏈路數(shù)會逐漸增加或減少,其它SA檢測到拓?fù)潢P(guān)系的變化也需要一定的時間;在更新自路由表后,交換網(wǎng)絡(luò)的組網(wǎng)環(huán)境又發(fā)生變化時,單播路由表和全目的可達(dá)鏈路并未發(fā)生變化,當(dāng)任意一個SA向被拔掉的SA發(fā)送數(shù)據(jù)包時,由于可用鏈路的減少,數(shù)據(jù)包會在SA交接的接口堆積或丟失,從而給前級SA反壓,引起發(fā)送至其它SA的數(shù)據(jù)包被堵塞。



技術(shù)實現(xiàn)要素:

有鑒于此,本發(fā)明實施例期望提供一種路由管理方法及裝置,能夠降低交換網(wǎng)絡(luò)中數(shù)據(jù)包轉(zhuǎn)發(fā)的丟包率,提高數(shù)據(jù)包的發(fā)送效率。

本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:

本發(fā)明實施例提供一種路由管理方法,包括:確認(rèn)自路由表停止變化時,將變化后的自路由表復(fù)制到單播路由表。

上述方案中,所述確認(rèn)自路由表停止變化之前,所述方法還包括:更新自路由表,檢測到更新前后的自路由表發(fā)生變化時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效。

上述方案中,所述確認(rèn)自路由表停止變化,包括:所述自路由表在預(yù)設(shè)的時間內(nèi)不再變化時,確認(rèn)所述自路由表停止變化,并標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效。

上述方案中,所述獲取全目的可達(dá)鏈路,包括:更新自路由表,在預(yù)設(shè)的時間間隔遍歷更新的自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;確認(rèn)所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將存儲的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路。

本發(fā)明實施例還提供一種路由管理裝置,所述裝置包括:確認(rèn)模塊、和復(fù)制模塊;其中,

所述確認(rèn)模塊,用于確認(rèn)自路由表是否停止變化;

所述復(fù)制模塊,用于在所述確認(rèn)模塊確認(rèn)所述自路由表停止變化時,將變化后的自路由表復(fù)制到單播路由表。

上述方案中,所述裝置還包括:第一更新模塊、檢測模塊、和第一標(biāo)記模塊;其中,

所述第一更新模塊,用于更新自路由表;

所述檢測模塊,用于檢測更新前后的自路由表是否發(fā)生變化;

所述第一標(biāo)記模塊,用于在檢測模塊檢測到自路由表發(fā)生變化時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效。

上述方案中,所述確認(rèn)模塊,具體用于所述自路由表在預(yù)設(shè)的時間內(nèi)不再變化時,確認(rèn)所述自路由表停止變化;

相應(yīng)的,所述裝置還包括:第二標(biāo)記模塊,用于在所述確認(rèn)模塊確認(rèn)所述自路由表停止變化時,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效。

上述方案中,所述裝置還包括:第一更新模塊和獲取模塊;其中,

所述第一更新模塊,用于更新自路由表;

所述獲取模塊,用于在預(yù)設(shè)的時間間隔遍歷更新的自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;確認(rèn)所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將當(dāng)前的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路。

本發(fā)明實施例還提供另一種路由管理方法,包括:在預(yù)設(shè)的時間間隔遍歷自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;

確認(rèn)所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將存儲的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路。

本發(fā)明實施例還提供另一種路由管理裝置,所述裝置包括:遍歷模塊、比較模塊、和第二更新模塊;其中,

所述遍歷模塊,用于在預(yù)設(shè)的時間間隔遍歷自路由表,將遍歷得到的自路 由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;

所述比較模塊,用于比較所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路是否相同;

所述第二更新模塊,用于在所述比較模塊比較得到所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將存儲的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路。

本發(fā)明實施例所提供的路由管理方法及裝置,確認(rèn)自路由表在預(yù)設(shè)的時間內(nèi)停止變化時,將變化后的自路由表復(fù)制到單播路由表;如此,能在交換網(wǎng)絡(luò)穩(wěn)定后,將穩(wěn)定的交換網(wǎng)絡(luò)對應(yīng)的自路由表復(fù)制到單播路由表,在單播信元轉(zhuǎn)發(fā)數(shù)據(jù)包時,降低交換網(wǎng)絡(luò)中數(shù)據(jù)包轉(zhuǎn)發(fā)的丟包率,提高數(shù)據(jù)包的發(fā)送效率。通過在預(yù)設(shè)的時間間隔遍歷自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;確認(rèn)所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將存儲的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路;如此,可在預(yù)設(shè)的時間間隔及時更新全目的可達(dá)鏈路,在多播信元轉(zhuǎn)發(fā)數(shù)據(jù)包時,降低交換網(wǎng)絡(luò)中數(shù)據(jù)包轉(zhuǎn)發(fā)的丟包率,提高數(shù)據(jù)包的發(fā)送效率。

附圖說明

圖1為現(xiàn)有技術(shù)中交換網(wǎng)絡(luò)的組成結(jié)構(gòu)示意圖;

圖2為現(xiàn)有技術(shù)中路由管理的處理流程示意圖;

圖3為本發(fā)明實施例一種路由管理方法的基本處理流程示意圖;

圖4為本發(fā)明實施例一路由管理方法的詳細(xì)處理流程示意圖;

圖5為本發(fā)明實施例二路由管理方法的詳細(xì)處理流程示意圖;

圖6為本發(fā)明另一種路由管理方法的基本處理流程示意圖;

圖7為本發(fā)明實施例三路由管理方法的詳細(xì)處理流程示意圖;

圖8為本發(fā)明實施例一種路由管理裝置的組成結(jié)構(gòu)示意圖;

圖9為本發(fā)明實施例另一種路由管理裝置的組成結(jié)構(gòu)示意圖。

具體實施方式

本發(fā)明實施例一種路由管理方法的基本處理流程,如圖3所示,包括以下步驟:

步驟101,確認(rèn)自路由表停止變化;

具體地,設(shè)置中間態(tài)指示信號,所述中間態(tài)指示信號存儲于路由器內(nèi)的中間態(tài)指示寄存器內(nèi),所述中間態(tài)指示寄存器的位寬等于交換網(wǎng)絡(luò)內(nèi)的SA之和,所述中間態(tài)指示信號的每個比特位與所述自路由表的一個表項對應(yīng);在所述自路由表的表項內(nèi)容發(fā)生變化時,變化的自路由表的表項對應(yīng)的中間態(tài)指示信號也發(fā)生變化;

設(shè)置多個中間態(tài)計數(shù)器,分別于交換網(wǎng)絡(luò)中的SA一一對應(yīng),在交換網(wǎng)絡(luò)中的任意一個SA或SF發(fā)生變化時,將發(fā)生變化的SA或SF對應(yīng)的中間態(tài)計數(shù)器清零,并且在每個時鐘周期內(nèi),該中間態(tài)計數(shù)器的計數(shù)值加1,在所述計數(shù)器值達(dá)到預(yù)設(shè)的閾值,即達(dá)到預(yù)設(shè)的時間,自路由表的表項內(nèi)容不再發(fā)生變化,確認(rèn)所述自路由表停止變化,并標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效;

其中,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效可以指,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為“0”,即將所述自路由表的全部表項對應(yīng)的中間態(tài)指示信號拉低;所述預(yù)設(shè)的時間可根據(jù)交互網(wǎng)絡(luò)的路由建立時間靈活設(shè)定;

這里,也可以根據(jù)實際的交換網(wǎng)絡(luò)需求,減少中間態(tài)指示信號的位寬及中間態(tài)計數(shù)器的數(shù)量;如每次都是在一個SA或SF的拓?fù)潢P(guān)系變更結(jié)束后,才會更改下一個SA或SF的拓?fù)潢P(guān)系,則可以只設(shè)置位寬為1比特的中間態(tài)指示信號及一個中間態(tài)計數(shù)器。

步驟102,將變化后的自路由表復(fù)制到單播路由表;

具體地,可以只將變化的自路由表對應(yīng)的表項復(fù)制到單播路由表,單播路由表中未發(fā)生變化的自路由表對應(yīng)的表項不做復(fù)制。

在執(zhí)行步驟101之前,所述方法還包括:

步驟100,更新自路由表,檢測到更新前后的自路由表發(fā)生變化時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效;

具體地,更新自路由表時,讀取自路由表的表項,將每個表項對應(yīng)的比特位進(jìn)行更新,并將更新后的表項重新寫入自路由表中;對比更新前后的自路由表的表項內(nèi)容是否相同,若表項內(nèi)容不同,說明當(dāng)前的交換網(wǎng)絡(luò)發(fā)生變化,即當(dāng)前的鏈路拓?fù)浣Y(jié)構(gòu)發(fā)生變化;此時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效可以指,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為“1”,即將所述變化的自路由表的表項對應(yīng)的中間態(tài)指示信號拉高,并將變化的自路由表的表項對應(yīng)的中間態(tài)計數(shù)器的計數(shù)值清零,計數(shù)器重新開始計數(shù);在所述變化的自路由表的表項對應(yīng)的中間態(tài)指示信號拉高時,不能將自路由表的表項復(fù)制為單播路由表;

這里,在只設(shè)置位寬為1比特的中間態(tài)指示信號及一個中間態(tài)計數(shù)器的情況下,更新自路由表時,讀取自路由表的表項,將每個表項對應(yīng)的比特位進(jìn)行更新,并將更新后的表項重新寫入自路由表中;對比更新前后的自路由表的表項內(nèi)容是否相同,若表項內(nèi)容有變化,說明當(dāng)前的交換網(wǎng)絡(luò)發(fā)生變化,即當(dāng)前的鏈路拓?fù)浣Y(jié)構(gòu)發(fā)生變化;此時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效可以指,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為“1”,即將所述變化的自路由表的表項對應(yīng)的中間態(tài)指示信號拉高,并將變化的自路由表的表項對應(yīng)的中間態(tài)計數(shù)器的計數(shù)值清零,記錄中間態(tài)指示信號對應(yīng)的自路由表的表項的地址;在中間態(tài)指示信號拉高時,其他地址的自路由表的表項需要更新時,可根據(jù)預(yù)先的設(shè)置更新其他地址的自路由表的表項或不更新其他地址的自路由表的表項;如果記錄中間態(tài)指示信號對應(yīng)的地址表項需要更新,則更新自路由表,在中間愛你太指示信號為有效時,對應(yīng)的地址表項不需要更新。

同時,在只設(shè)置位寬為1比特的中間態(tài)指示信號及一個中間態(tài)計數(shù)器的情況下,單播路由表與自路由表可以共用一張表,在更新路由表時,讀取路由表 的表項,將路由表的表項對應(yīng)的比特位進(jìn)行更新,并將更新后的自路由表的表項寫入自路由表;對比更新前后的自路由表的表項內(nèi)容是否相同,不相同時,可以將更新前的自路由表的表項存儲至中間態(tài)寄存器,將中間態(tài)指示信號拉高,記錄變更的自路由表的表項的地址;轉(zhuǎn)發(fā)數(shù)據(jù)包需要查詢自路由表時,先判斷查詢的表項地址與變更的表項地址是否相同,若相同,則將中間態(tài)寄存器存儲的表項作為查詢結(jié)果輸出;若不同,則查詢更新后的自路由表,將查詢結(jié)果輸出。

方法實施例一

本發(fā)明實施例一路由管理方法的詳細(xì)處理流程,如圖4所示,包括以下步驟:

步驟201,更新自路由表;

具體地,更新自路由表時,讀取自路由表的表項,將每個表項對應(yīng)的比特位進(jìn)行更新,并將更新后的表項重新寫入自路由表中。

步驟202,檢測到更新前后的自路由表發(fā)生變化時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效;

具體地,對比更新前后的自路由表的表項內(nèi)容是否相同,若表項內(nèi)容不同,說明當(dāng)前的交換網(wǎng)絡(luò)發(fā)生變化,即當(dāng)前的鏈路拓?fù)浣Y(jié)構(gòu)發(fā)生變化;此時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效可以指,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為“1”,即將所述變化的自路由表的表項對應(yīng)的中間態(tài)指示信號拉高,并將變化的自路由表的表項對應(yīng)的中間態(tài)計數(shù)器的計數(shù)值清零,計數(shù)器重新開始計數(shù);在所述變化的自路由表的表項對應(yīng)的中間態(tài)指示信號拉高時,不能將自路由表的表項復(fù)制為單播路由表;

這里,在只設(shè)置位寬為1比特的中間態(tài)指示信號及一個中間態(tài)計數(shù)器的情況下,更新自路由表時,讀取自路由表的表項,將每個表項對應(yīng)的比特位進(jìn)行更新,并將更新后的表項重新寫入自路由表中;對比更新前后的自路由表的表項內(nèi)容是否相同,若表項內(nèi)容有變化,說明當(dāng)前的交換網(wǎng)絡(luò)發(fā)生變化,即當(dāng)前的鏈路拓?fù)浣Y(jié)構(gòu)發(fā)生變化;此時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指 示信號為有效可以指,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為“1”,即將所述變化的自路由表的表項對應(yīng)的中間態(tài)指示信號拉高,并將變化的自路由表的表項對應(yīng)的中間態(tài)計數(shù)器的計數(shù)值清零,記錄中間態(tài)指示信號對應(yīng)的自路由表的表項的地址;在中間態(tài)指示信號拉高時,其他地址的自路由表的表項需要更新時,可根據(jù)預(yù)先的設(shè)置更新其他地址的自路由表的表項或不更新其他地址的自路由表的表項;如果記錄中間態(tài)指示信號對應(yīng)的地址表項需要更新,則更新自路由表;

同時,在只設(shè)置位寬為1比特的中間態(tài)指示信號及一個中間態(tài)計數(shù)器的情況下,單播路由表與自路由表可以共用一張表,在更新路由表時,讀取路由表的表項,將路由表的表項對應(yīng)的比特位進(jìn)行更新,并將更新后的自路由表的表項寫入自路由表;對比更新前后的自路由表的表項內(nèi)容是否相同,不相同時,可以將更新前的自路由表的表項存儲至中間態(tài)寄存器,將中間態(tài)指示信號拉高,記錄變更的自路由表的表項的地址;轉(zhuǎn)發(fā)數(shù)據(jù)包需要查詢自路由表時,先判斷查詢的表項地址與變更的表項地址是否相同,若相同,則將中間態(tài)寄存器存儲的表項作為查詢結(jié)果輸出;若不同,則查詢更新后的自路由表,將查詢結(jié)果輸出。

步驟203,確認(rèn)自路由表停止變化;

具體地,在交換網(wǎng)絡(luò)中的任意一個SA或SF發(fā)生變化時,將發(fā)生變化的SA或SF對應(yīng)的中間態(tài)計數(shù)器清零,并且在每個時鐘周期內(nèi),該中間態(tài)計數(shù)器的計數(shù)值加1,在所述計數(shù)器值達(dá)到預(yù)設(shè)的閾值,即達(dá)到預(yù)設(shè)的時間,自路由表的表項內(nèi)容不再發(fā)生變化,確認(rèn)所述自路由表停止變化,并標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效;

其中,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效可以指,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為“0”,即將所述自路由表的全部表項對應(yīng)的中間態(tài)指示信號拉低;所述預(yù)設(shè)的時間可根據(jù)交互網(wǎng)絡(luò)的路由建立時間靈活設(shè)定。

步驟204,將變化后的自路由表復(fù)制到單播路由表;

具體地,可以只將變化的自路由表對應(yīng)的表項復(fù)制到單播路由表,單播路由表中未發(fā)生變化的自路由表對應(yīng)的表項不做復(fù)制。

步驟205,遍歷三次自路由表,獲取全目的可達(dá)鏈路;

具體地,路由器在預(yù)設(shè)的時間間隔遍歷更新的自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;確認(rèn)所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將存儲的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路;

這里,設(shè)置遍歷間隔計數(shù)器,即在遍歷間隔計數(shù)器的值達(dá)到一定閾值時,遍歷一次自路由表的表項;所述閾值大于路由器完全建立自路由的時間;將遍歷得到的自路由表的表項進(jìn)行運算是指將遍歷得到的自路由表的全部表項按位進(jìn)行與運算,自路由表的表項全為零時不參與運算。

設(shè)置三個遍歷寄存器,將當(dāng)前的全目的可達(dá)鏈路A存儲至第一遍歷寄存器,將第一次遍歷自路由表得到的第一全目的可達(dá)鏈路B存儲至第二遍歷寄存器,將第二次遍歷自路由表得到的第二全目的可達(dá)鏈路C存儲至第三遍歷寄存器;比較所述B與C是否相同,在比較結(jié)果為相同時,說明自路由表更新完成或未開始更新,則設(shè)置B或C為當(dāng)前全目的可達(dá)鏈路,并存儲至第一遍歷寄存器;在比較結(jié)果為不同時,A仍為當(dāng)前全目的可達(dá)鏈路;將C存儲至第二遍歷寄存器,并在第二遍歷寄存器中刪除B;在進(jìn)行第三次遍歷自路由表時,將第三次遍歷得到的第三全目的可達(dá)鏈路D存儲至第二遍歷寄存器,并與C進(jìn)行比較,根據(jù)比較結(jié)果設(shè)置當(dāng)前的全目的可達(dá)鏈路;具體的,獲取全目的可達(dá)鏈路的偽代碼如下:

需要說明的是,本發(fā)明實施例中,步驟202至步驟204,與步驟205之間屬于并列關(guān)系,不存在必須執(zhí)行的先后順序,可以同時進(jìn)行,也可以先執(zhí)行步 驟202至步驟204,再執(zhí)行步驟205;或者先執(zhí)行步驟205,再執(zhí)行步驟202至步驟204。

方法實施例二

本發(fā)明實施例二路由管理方法的詳細(xì)處理流程,如圖5所示,包括以下步驟:

步驟301,更新自路由表;

具體地,更新自路由表時,讀取自路由表的表項,將每個表項對應(yīng)的比特位進(jìn)行更新,并將更新后的表項重新寫入自路由表中。

步驟302,檢測到更新前后的自路由表發(fā)生變化時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效;

具體地,對比更新前后的自路由表的表項內(nèi)容是否相同,若表項內(nèi)容不同,說明當(dāng)前的交換網(wǎng)絡(luò)發(fā)生變化,即當(dāng)前的鏈路拓?fù)浣Y(jié)構(gòu)發(fā)生變化;此時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效可以指,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為“1”,即將所述變化的自路由表的表項對應(yīng)的中間態(tài)指示信號拉高,并將變化的自路由表的表項對應(yīng)的中間態(tài)計數(shù)器的計數(shù)值清零,計數(shù)器重新開始計數(shù);在所述變化的自路由表的表項對應(yīng)的中間態(tài)指示信號拉高時,不能將自路由表的表項復(fù)制為單播路由表;

這里,在只設(shè)置位寬為1比特的中間態(tài)指示信號及一個中間態(tài)計數(shù)器的情況下,更新自路由表時,讀取自路由表的表項,將每個表項對應(yīng)的比特位進(jìn)行更新,并將更新后的表項重新寫入自路由表中;對比更新前后的自路由表的表項內(nèi)容是否相同,若表項內(nèi)容有變化,說明當(dāng)前的交換網(wǎng)絡(luò)發(fā)生變化,即當(dāng)前的鏈路拓?fù)浣Y(jié)構(gòu)發(fā)生變化;此時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效可以指,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為“1”,即將所述變化的自路由表的表項對應(yīng)的中間態(tài)指示信號拉高,并將變化的自路由表的表項對應(yīng)的中間態(tài)計數(shù)器的計數(shù)值清零,記錄中間態(tài)指示信號對應(yīng)的自路由表的表項的地址;在中間態(tài)指示信號拉高時,其他地址的自路由表的表項需要更新時,可根據(jù)預(yù)先的設(shè)置更新其他地址的自路由表的表項或不更 新其他地址的自路由表的表項;如果記錄中間態(tài)指示信號對應(yīng)的地址表項需要更新,則更新自路由表;

同時,在只設(shè)置位寬為1比特的中間態(tài)指示信號及一個中間態(tài)計數(shù)器的情況下,單播路由表與自路由表可以共用一張表,在更新路由表時,讀取路由表的表項,將路由表的表項對應(yīng)的比特位進(jìn)行更新,并將更新后的自路由表的表項寫入自路由表;對比更新前后的自路由表的表項內(nèi)容是否相同,不相同時,可以將更新前的自路由表的表項存儲至中間態(tài)寄存器,將中間態(tài)指示信號拉高,記錄變更的自路由表的表項的地址;轉(zhuǎn)發(fā)數(shù)據(jù)包需要查詢自路由表時,先判斷查詢的表項地址與變更的表項地址是否相同,若相同,則將中間態(tài)寄存器存儲的表項作為查詢結(jié)果輸出;若不同,則查詢更新后的自路由表,將查詢結(jié)果輸出。

步驟303,確認(rèn)自路由表停止變化;

具體地,在交換網(wǎng)絡(luò)中的任意一個SA或SF發(fā)生變化時,將發(fā)生變化的SA或SF對應(yīng)的中間態(tài)計數(shù)器清零,并且在每個時鐘周期內(nèi),該中間態(tài)計數(shù)器的計數(shù)值加1,在所述計數(shù)器值達(dá)到預(yù)設(shè)的閾值,即達(dá)到預(yù)設(shè)的時間,自路由表的表項內(nèi)容不再發(fā)生變化,確認(rèn)所述自路由表停止變化,并標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效;

其中,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效可以指,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為“0”,即將所述自路由表的全部表項對應(yīng)的中間態(tài)指示信號拉低;所述預(yù)設(shè)的時間可根據(jù)交互網(wǎng)絡(luò)的路由建立時間靈活設(shè)定。

步驟304,將變化后的自路由表復(fù)制到單播路由表;

具體地,可以只將變化的自路由表對應(yīng)的表項復(fù)制到單播路由表,單播路由表中未發(fā)生變化的自路由表對應(yīng)的表項不做復(fù)制。

步驟305,遍歷一次自路由表,獲取全目的可達(dá)鏈路;

具體地,路由器遍歷一次更新后的自路由表,得到全目的可達(dá)鏈路。

本發(fā)明實施例另一種路由管理方法的基本處理流程,如圖6所示,包括以 下步驟:

步驟401,在預(yù)設(shè)的時間間隔遍歷自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;

具體地,路由器更新自路由表,在預(yù)設(shè)的時間間隔遍歷更新的自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;

這里,設(shè)置遍歷間隔計數(shù)器,即在遍歷間隔計數(shù)器的值達(dá)到一定閾值時,遍歷一次自路由表的表項;所述閾值大于路由器完全建立自路由的時間;將遍歷得到的自路由表的表項進(jìn)行運算是指將遍歷得到的自路由表的全部表項按位進(jìn)行與運算,自路由表的表項全為零時不參與運算。

步驟402,確認(rèn)所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將存儲的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路;

具體地,設(shè)置三個遍歷寄存器,將當(dāng)前的全目的可達(dá)鏈路A存儲至第一遍歷寄存器,將第一次遍歷自路由表得到的第一全目的可達(dá)鏈路B存儲至第二遍歷寄存器,將第二次遍歷自路由表得到的第二全目的可達(dá)鏈路C存儲至第三遍歷寄存器;比較所述B與C是否相同,在比較結(jié)果為相同時,說明自路由表更新完成或未開始更新,則設(shè)置B或C為當(dāng)前全目的可達(dá)鏈路,并存儲至第一遍歷寄存器;在比較結(jié)果為不同時,A仍為當(dāng)前全目的可達(dá)鏈路;完成一次上述判斷后,將C存儲至第二遍歷寄存器,并在第二遍歷寄存器中刪除B;在進(jìn)行第三次遍歷自路由表時,將第三次遍歷得到的第三全目的可達(dá)鏈路D存儲至第二遍歷寄存器,并與C進(jìn)行比較,根據(jù)比較結(jié)果設(shè)置當(dāng)前的全目的可達(dá)鏈路;具體的,獲取全目的可達(dá)鏈路的偽代碼如下:

方法實施例三

本發(fā)明實施例三路由管理方法的詳細(xì)處理流程,如圖7所示,包括以下步驟:

步驟501,更新自路由表;

具體地,更新自路由表時,讀取自路由表的表項,將每個表項對應(yīng)的比特位進(jìn)行更新,并將更新后的表項重新寫入自路由表中。

步驟502,遍歷三次自路由表,獲取全目的可達(dá)鏈路;

具體地,路由器在預(yù)設(shè)的時間間隔遍歷更新的自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;確認(rèn)所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將存儲的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路;

這里,設(shè)置遍歷間隔計數(shù)器,即在遍歷間隔計數(shù)器的值達(dá)到一定閾值時,遍歷一次自路由表的表項;所述閾值大于路由器完全建立自路由的時間;將遍歷得到的自路由表的表項進(jìn)行運算是指將遍歷得到的自路由表的全部表項按位進(jìn)行與運算,自路由表的表項全為零時不參與運算。

設(shè)置三個遍歷寄存器,將當(dāng)前的全目的可達(dá)鏈路A存儲至第一遍歷寄存器,將第一次遍歷自路由表得到的第一全目的可達(dá)鏈路B存儲至第二遍歷寄存器,將第二次遍歷自路由表得到的第二全目的可達(dá)鏈路C存儲至第三遍歷寄存器;比較所述B與C是否相同,在比較結(jié)果為相同時,說明自路由表更新完成或未開始更新,則設(shè)置B或C為當(dāng)前全目的可達(dá)鏈路,并存儲至第一遍歷寄存器;在比較結(jié)果為不同時,A仍為當(dāng)前全目的可達(dá)鏈路;完成一次上述判斷后,將C存儲至第二遍歷寄存器,并在第二遍歷寄存器中刪除B;在進(jìn)行第三次遍歷自路由表時,將第三次遍歷得到的第三全目的可達(dá)鏈路D存儲至第二遍歷寄存器,并與C進(jìn)行比較,根據(jù)比較結(jié)果設(shè)置當(dāng)前的全目的可達(dá)鏈路。

步驟503,復(fù)制更新的自路由表的表項到單播路由表。

需要說明的是,本發(fā)明實施例中,步驟502與步驟503之間屬于并列關(guān)系,不存在必須執(zhí)行的先后順序,可以同時進(jìn)行,也可以先執(zhí)行步驟502,再執(zhí)行 步驟503;也可以先執(zhí)行步驟503,再執(zhí)行步驟502。

為實現(xiàn)上述路由管理方法,本發(fā)明實施例提供一種路由管理裝置,所述裝置的組成結(jié)構(gòu),如圖8所示,包括:確認(rèn)模塊10和復(fù)制模塊20;其中,

所述確認(rèn)模塊10,用于確認(rèn)自路由表是否停止變化;

所述復(fù)制模塊20,用于在所述確認(rèn)模塊確認(rèn)所述自路由表停止變化時,將變化后的自路由表復(fù)制到單播路由表。

本發(fā)明實施例中,所述裝置還包括:第一更新模塊30、檢測模塊40、和第一標(biāo)記模塊50;其中,

所述第一更新模塊30,用于更新自路由表;

所述檢測模塊40,用于檢測更新前后的自路由表是否發(fā)生變化;

所述第一標(biāo)記模塊50,用于在檢測模塊檢測到自路由表發(fā)生變化時,標(biāo)記變化的自路由表的表項對應(yīng)的中間態(tài)指示信號為有效。

本發(fā)明實施例中,所述確認(rèn)模塊10,具體用于所述自路由表在預(yù)設(shè)的時間內(nèi)不再變化時,確認(rèn)所述自路由表停止變化;

相應(yīng)的,所述裝置還包括:第二標(biāo)記模塊60,用于在所述確認(rèn)模塊確認(rèn)所述自路由表停止變化時,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效。

本發(fā)明實施例中,所述裝置還包括:第一更新模塊30和獲取模塊70;其中,

所述第一更新模塊30,用于更新自路由表;

所述獲取模塊70,用于在預(yù)設(shè)的時間間隔遍歷更新的自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;確認(rèn)所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將當(dāng)前的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路。

本發(fā)明實施例中,設(shè)置中間態(tài)指示信號,所述中間態(tài)指示信號存儲于路由器內(nèi)的中間態(tài)指示寄存器內(nèi),所述中間態(tài)指示寄存器的位寬等于交換網(wǎng)絡(luò)內(nèi)的 SA的數(shù)量,所述中間態(tài)指示信號的每個比特位與所述自路由表的一個表項對應(yīng);在所述自路由表的表項內(nèi)容發(fā)生變化時,變化的自路由表的表項對應(yīng)的中間態(tài)指示信號也發(fā)生變化;設(shè)置多個中間態(tài)計數(shù)器,分別于交換網(wǎng)絡(luò)中的SA一一對應(yīng),在交換網(wǎng)絡(luò)中的任意一個SA或SF發(fā)生變化時,將發(fā)生變化的SA或SF對應(yīng)的中間態(tài)計數(shù)器清零,并且在每個時鐘周期內(nèi),該中間態(tài)計數(shù)器的計數(shù)值加1,在所述計數(shù)器值達(dá)到預(yù)設(shè)的閾值,即達(dá)到預(yù)設(shè)的時間,自路由表的表項內(nèi)容不再發(fā)生變化,確認(rèn)所述自路由表停止變化,并標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效;

其中,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為無效可以指,標(biāo)記所述自路由表的表項對應(yīng)的中間態(tài)指示信號為“0”,即將所述自路由表的全部表項對應(yīng)的中間態(tài)指示信號拉低;所述預(yù)設(shè)的時間可根據(jù)交互網(wǎng)絡(luò)的路由建立時間靈活設(shè)定;

這里,也可以根據(jù)實際的交換網(wǎng)絡(luò)需求,減少中間態(tài)指示信號的位寬及中間態(tài)計數(shù)器的數(shù)量;如每次都是在一個SA或SF的拓?fù)潢P(guān)系變更結(jié)束后,才會更改下一個SA或SF的拓?fù)潢P(guān)系,則可以只設(shè)置位寬為1比特的中間態(tài)指示信號及一個中間態(tài)計數(shù)器。

本發(fā)明實施例中,所述復(fù)制模塊20,可以只將變化的自路由表對應(yīng)的表項復(fù)制到單播路由表,單播路由表中未發(fā)生變化的自路由表對應(yīng)的表項不做復(fù)制。

本發(fā)明實施例中,所述第一標(biāo)記模塊50和第二標(biāo)記模塊50執(zhí)行的功能可以由同一個模塊實現(xiàn),也可以由不同的模塊實現(xiàn)。

為實現(xiàn)上述路由管理方法,本發(fā)明實施例提供另一種路由管理裝置,所述裝置的組成結(jié)構(gòu),如圖9所示,包括:遍歷模塊11、比較模塊21、和第二更新模塊31;其中,

所述遍歷模塊11,用于在預(yù)設(shè)的時間間隔遍歷自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;

所述比較模塊21,用于比較所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路是否相同;

所述第二更新模塊31,用于在所述比較模塊比較得到所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將存儲的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路。

本發(fā)明實施例中,在預(yù)設(shè)的時間間隔遍歷更新的自路由表,將遍歷得到的自路由表的表項進(jìn)行運算,得到第一全目的可達(dá)鏈路和第二全目的可達(dá)鏈路;確認(rèn)所述第一全目的可達(dá)鏈路與所述第二全目的可達(dá)鏈路相同時,將存儲的全目的可達(dá)鏈路更新為所述第一全目的可達(dá)鏈路或所述第二全目的可達(dá)鏈路;

這里,設(shè)置遍歷間隔計數(shù)器,即在遍歷間隔計數(shù)器的值達(dá)到一定閾值時,遍歷一次自路由表的表項;所述閾值大于路由器完全建立自路由的時間;將遍歷得到的自路由表的表項進(jìn)行運算是指將遍歷得到的自路由表的全部表項按位進(jìn)行與運算,自路由表的表項全為零時不參與運算。

設(shè)置三個遍歷寄存器,將當(dāng)前的全目的可達(dá)鏈路A存儲至第一遍歷寄存器,將第一次遍歷自路由表得到的第一全目的可達(dá)鏈路B存儲至第二遍歷寄存器,將第二次遍歷自路由表得到的第二全目的可達(dá)鏈路C存儲至第三遍歷寄存器;比較所述B與C是否相同,在比較結(jié)果為相同時,說明自路由表更新完成或未開始更新,則設(shè)置B或C為當(dāng)前全目的可達(dá)鏈路,并存儲至第一遍歷寄存器;在比較結(jié)果為不同時,A仍為當(dāng)前全目的可達(dá)鏈路;完成一次上述判斷后,將C存儲至第二遍歷寄存器,并在第二遍歷寄存器中刪除B;在進(jìn)行第三次遍歷自路由表時,將第三次遍歷得到的第三全目的可達(dá)鏈路D存儲至第二遍歷寄存器,并與C進(jìn)行比較,根據(jù)比較結(jié)果設(shè)置當(dāng)前的全目的可達(dá)鏈路;具體的,獲取全目的可達(dá)鏈路的偽代碼如下:

需要說明的是,在實際應(yīng)用中,所述確認(rèn)模塊10、復(fù)制模塊20、第一更新模塊30、檢測模塊40、第一標(biāo)記模塊50、第二標(biāo)記模塊60、獲取模塊70、遍 歷模塊11、比較模塊21和第二更新模塊31執(zhí)行的功能可由位于路由器上的中央處理器(CPU)、或微處理器(MPU)、或數(shù)字信號處理器(DSP)、或可編程門陣列(FPGA)實現(xiàn);所述遍歷寄存器和所述中間態(tài)指示寄存器位于路由器的芯片內(nèi),所述遍歷寄存器和所述中間態(tài)指示寄存器執(zhí)行的功能可由位于路由器上的CPU、或MPU、或DSP實現(xiàn)。

以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1