專利名稱:多下一跳路由的實現(xiàn)方法及裝置的制作方法
技術領域:
本發(fā)明涉及通信技術領域,特別涉及一種多下一跳路由的實現(xiàn)方法及裝置。
背景技術:
在分組交換的通信網絡中,數(shù)據報文通常需要經過網絡中多個中間節(jié)點的轉發(fā)才 能到達目的地,在IP(Internet Protocol,網絡互聯(lián)協(xié)議)網絡中,這種中間節(jié)點通常指路 由器。當數(shù)據報文到達一個路由器時,需要查找路由表從而決定轉發(fā)的下一跳路由器。路 由算法就是用來產生路由表的算法,路由算法的選擇直接決定了網絡數(shù)據的流向,影響著 網絡通信的性能?,F(xiàn)有技術中一種普遍應用是基于SPF(Shortest Path First,最短路徑優(yōu) 先)原則的單下一跳路由算法,由每個中間節(jié)點計算到目的地的最短路徑,選取唯一的下 一跳路徑進行傳輸。但是這種單下一跳路由算法通常會選取處理能力強的節(jié)點和鏈路,容 易造成傳輸路徑的集中,弓I發(fā)傳輸擁塞。 為了彌補單下一跳路由的不足,現(xiàn)有技術中提出了多下一跳路由算法,通過取消 唯一下一跳路由的限制,允許各個中間節(jié)點到目的地都有多個可用下一跳路由,從而可產 生大量到目的地的并行的傳輸路徑?,F(xiàn)有的多下一跳路由算法允許各中間節(jié)點選取次優(yōu)路 由,即令所有到目的地距離比自己近的鄰居都作為可用的下一跳,從而產生多條傳輸路徑。
發(fā)明人在對現(xiàn)有技術的研究過程中發(fā)現(xiàn),現(xiàn)有多下一跳路由算法受選路原則的限 制,所產生的可用下一跳路由個數(shù)往往比較有限,對于到達同一目的地距離相等的鄰居節(jié) 點無法作為可用的下一跳,相應的,與該鄰居節(jié)點相連的鏈路資源無法得到利用。參見圖1, 其所示網絡中的網絡節(jié)點有A、B1 B3、C1 C3、D1 D3,以節(jié)點A作為目的節(jié)點,節(jié)點之 間鏈路上的數(shù)值代表了它的代價值,帶價值越小說明鏈路的性能越好。由圖l可以看出,如 果僅選取到目的地距離小于本節(jié)點到目的地距離的鄰居作為可用下一跳,則因為節(jié)點B2、 B3、C1到節(jié)點A的最短距離都為2,節(jié)點C2、C3、D1到節(jié)點A的距離都為3,因此鏈路C1_B2、 Cl-B3、 Dl-C2、 Dl-C3在以節(jié)點A為目的節(jié)點的多下一跳路由規(guī)劃下沒有得到利用,處于閑 置狀態(tài),由此浪費了網絡資源。
發(fā)明內容
本發(fā)明實施例的目的在于提供一種多下一跳路由的實現(xiàn)方法及裝置,以解決現(xiàn)有
多下一跳路由的實現(xiàn)方法難以充分利用網絡資源的問題。 為解決上述技術問題,本發(fā)明實施例提供如下技術方案 —種多下一跳路由的實現(xiàn)方法,包括 運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由;
獲取所述網絡節(jié)點的目的節(jié)點的鄰居列表; 根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述網絡節(jié) 點到所述鄰居列表中的鄰居節(jié)點的路由進行合并,作為所述網絡節(jié)點到所述目的節(jié)點的可 用下一跳路由的集合。
所述運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由包括
運行鏈路狀態(tài)機制算法,計算所述網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由; 或 運行距離矢量機制算法,計算所述網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由。
所述計算網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由之后,還包括 判斷所述網絡節(jié)點是否為所述目的節(jié)點的鄰居節(jié)點,若是,則直接將所述網絡節(jié)
點到所述目的節(jié)點的路由作為所述網絡節(jié)點到所述目的節(jié)點的可用下一跳路由的集合;否
則,執(zhí)行所述獲取目的節(jié)點的鄰居列表的步驟。
所述獲取所述網絡節(jié)點的目的節(jié)點的鄰居列表包括 當運行鏈路狀態(tài)機制算法時,根據網絡的完整拓撲結構獲取所述網絡節(jié)點的目的 節(jié)點的鄰居列表;或 當運行距離矢量機制算法時,根據所述距離矢量機制算法的通告機制獲取所述網 絡節(jié)點的目的節(jié)點的鄰居列表。 所述根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述網 絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由進行合并包括 根據所述計算的路由,順序讀取所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述 網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由; 將所述讀取到的路由寫入所述網絡節(jié)點的路由表,并刪除重復讀取到的路由。
—種多下一跳路由的實現(xiàn)裝置,包括 計算單元,用于運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié)點的路 由; 獲取單元,用于獲取網絡節(jié)點的目的節(jié)點的鄰居列表; 合并單元,用于根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路由,以
及所述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由進行合并,作為所述網絡節(jié)點到所述
目的節(jié)點的可用下一跳路由的集合。 所述計算單元包括至少一個下述單元 第一計算單元,用于運行鏈路狀態(tài)機制算法,計算所述網絡節(jié)點到網絡中所有其 它網絡節(jié)點的路由; 第二計算單元,用于運行距離矢量機制算法,計算所述網絡節(jié)點到網絡中所有其
它網絡節(jié)點的路由。
還包括 判斷單元,用于判斷所述網絡節(jié)點是否為所述目的節(jié)點的鄰居節(jié)點; 執(zhí)行單元,用于當所述判斷單元的判斷結果為是時,直接將所述網絡節(jié)點到所述
目的節(jié)點的路由作為所述網絡節(jié)點到所述目的節(jié)點的可用下一跳路由的集合,當所述判斷
單元的判斷結果為否時,觸發(fā)所述獲取單元執(zhí)行其功能。
所述獲取單元包括至少一個下述單元 第一獲取單元,用于當運行鏈路狀態(tài)機制算法時,根據網絡的完整拓撲結構獲取 所述目的節(jié)點的鄰居列表; 第二獲取單元,用于當運行距離矢量機制算法時,根據所述距離矢量機制算法的通告機制獲取所述目的節(jié)點的鄰居列表。
所述合并單元包括 讀取單元,用于根據所述計算的路由,順序讀取所述網絡節(jié)點到所述目的節(jié)點的 路由,以及所述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由; 寫入單元,用于將所述讀取到的路由寫入所述網絡節(jié)點的路由表,并刪除重復讀 取到的路由。 由以上本發(fā)明實施例提供的技術方案可見,本申請實施例中運行路由算法,計算 網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由,獲取所述網絡節(jié)點的目的節(jié)點的鄰居列表, 根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述網絡節(jié)點到所述 鄰居列表中的鄰居節(jié)點的路由進行合并,作為所述網絡節(jié)點到所述目的節(jié)點的可用下一跳 路由的集合。應用本申請實施例得到的多下一跳路由中,不僅包括網絡節(jié)點到目的節(jié)點的 可用下一跳路由,而且還包括網路節(jié)點到目的節(jié)點的鄰居節(jié)點的可用下一跳路由,所述的 鄰居節(jié)點可以直接向目的節(jié)點發(fā)送數(shù)據報文,而無需通過路由轉發(fā),因此本申請實施例增 加了到目的節(jié)點的可用下一跳路由的數(shù)量,可供網絡節(jié)點選擇的路由增加,與現(xiàn)有技術相 比,進一步提高了對網絡資源的利用率。
圖1為現(xiàn)有技術中實現(xiàn)多下一跳路由的網絡架構示意圖; 圖2為本發(fā)明多下一跳路由的實現(xiàn)方法的第一實施例流程圖; 圖3為本發(fā)明多下一跳路由的實現(xiàn)方法的第二實施例流程圖; 圖4為應用本發(fā)明方法實施例的一種多下一跳路由的網絡架構示意圖; 圖5為本發(fā)明多下一跳路由的實現(xiàn)裝置的第一實施例框圖; 圖6為本發(fā)明多下一跳路由的實現(xiàn)裝置的第二實施例框圖。
具體實施例方式
在如下本發(fā)明的多個實施例中,有些實施例提供了一種多下一跳路由的實現(xiàn)方 法,有些實施例提供了一種裝置。 為了使本技術領域的人員更好地理解本發(fā)明實施例中的技術方案,并使本發(fā)明實 施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明實施例中技術方 案作進一步詳細的說明。 本發(fā)明實施例中提供的多下一跳路由實現(xiàn)方法,相對于現(xiàn)有的多下一跳路由方 法,可以使各個網絡節(jié)點到目的節(jié)點有更多的可用下一跳路由,產生更多的并行路徑對數(shù) 據報文進行分流傳輸,從而能夠更充分的利用網絡資源。本發(fā)明實施例從原理上講,在IP 網絡中,相鄰兩個網絡節(jié)點之間是可以直接通信的,不需要再通過查路由表對報文進行轉 發(fā)。 一個網絡節(jié)點v如果要將數(shù)據報文送到目的節(jié)點d,則其實際只需將數(shù)據報文送到目 的節(jié)點d的任意一個鄰居網絡節(jié)點u,由該網絡節(jié)點u可以將數(shù)據報文直接交付給目的節(jié) 點d。由此可知,網絡節(jié)點v要將數(shù)據報文送到目的節(jié)點d,實際上只需將報文送到d的 任意一個鄰居網絡節(jié)點即可,假設目的節(jié)點d的鄰居網絡節(jié)點集合為N(d),令集合D = N(d) U Wh則網絡節(jié)點v要將報文送到目的節(jié)點d,只需將報文送到D中的任意一個網絡節(jié)點即可。 基于上述本發(fā)明實施例的原理,本發(fā)明實施例在實現(xiàn)多下一跳路由時,可以對任 意網絡節(jié)點v,都運行現(xiàn)有的多下一跳路由算法,得出網絡節(jié)點v到目的節(jié)點d的可用下一 跳路由集合,記為Sd(v),然后網絡節(jié)點v可以將到目的節(jié)點d的下一跳路由集合和到d的 所有鄰居網絡節(jié)點的下一跳路由集合進行合并,將所得并集中的所有下一跳路由都可以當 作該網絡節(jié)點v到目的節(jié)點d的可用下一跳路由。即對網絡節(jié)點v,其相對于目的節(jié)點d的 實際可用下一跳集合為<formula>formula see original document page 7</formula>
為了避免引發(fā)混亂,造成路由環(huán)路,當節(jié)點v已經與目的節(jié)點d相鄰時,則不再執(zhí) 行上述下一跳集合合并過程。 參見圖2,為本發(fā)明多下一跳路由的實現(xiàn)方法的第一實施例流程圖 步驟201 :運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由。 其中,網絡節(jié)點可以運行鏈路狀態(tài)機制算法,計算網絡節(jié)點到網絡中所有其它網
絡節(jié)點的路由;或者網絡節(jié)點可以運行距離矢量機制算法,計算所述網絡節(jié)點到網絡中所
有其它網絡節(jié)點的路由。 步驟202 :獲取網絡節(jié)點的目的節(jié)點的鄰居列表。 其中,當網絡節(jié)點運行鏈路狀態(tài)機制算法時,可以根據網絡的完整拓撲結構獲取
所述網絡節(jié)點的目的節(jié)點的鄰居列表;或者當網絡節(jié)點運行距離矢量機制算法時,可以根
據所述距離矢量機制算法的通告機制獲取所述網絡節(jié)點的目的節(jié)點的鄰居列表。 步驟203 :根據計算的路由,將網絡節(jié)點到目的節(jié)點的路由,以及網絡節(jié)點到鄰居
列表中的鄰居節(jié)點的路由進行合并,作為網絡節(jié)點到目的節(jié)點的可用下一跳路由的集合,
結束當前流程。 具體的,可以根據所述計算的路由,順序讀取所述網絡節(jié)點到所述目的節(jié)點的路 由,以及所述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由,將所述讀取到的路由寫入所 述網絡節(jié)點的路由表,并刪除重復讀取到的路由,由此生成網絡節(jié)點到目的節(jié)點的可用下 一跳路由的集合。 參見圖3,為本發(fā)明多下一跳路由的實現(xiàn)方法的第二實施例流程圖 步驟301 :運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由。 本步驟是使本發(fā)明方法實施例產生多下一跳路由的準備工作,網絡中的各個網絡
節(jié)點要可以先運行現(xiàn)有的多下一跳路由算法,計算出其到網絡中各個網絡節(jié)點的可用下一
跳路由。 其中,網絡節(jié)點運行的多下一跳算法,可以采用鏈路狀態(tài)機制算法,也可以采用距
離矢量機制算法,對此本申請實施例不進行限制,只要能產生可用的多下一跳即可。 步驟302:判斷網絡節(jié)點是否為目的節(jié)點的鄰居節(jié)點,若是,則執(zhí)行步驟306 ;否
則,執(zhí)行步驟303。 網絡節(jié)點在決定是否進行后續(xù)多下一跳路由的合并前,首先要先判斷自身是否為 目的節(jié)點的鄰居節(jié)點,也就是檢查該目的節(jié)點是否已在自己的鄰居列表中。
步驟303 :獲取網絡節(jié)點的目的節(jié)點的鄰居列表。 網絡節(jié)點判斷自身不是目的節(jié)點的鄰居節(jié)點,因此可以進行多下一跳路由的合并 操作,在合并操作前,網絡節(jié)點要首先獲知目的節(jié)點的鄰居列表。因此如果網絡節(jié)點運行的是鏈路狀態(tài)機制算法,則根據該算法各網絡節(jié)點已具有全網的完整拓撲,因此網絡節(jié)點可 以通過該完整拓撲得到目的節(jié)點的鄰居列表;如果網絡節(jié)點運行的是距離矢量機制算法, 則各網絡節(jié)點不具有全網的拓撲,因此可以對相應該算法的通告機制進行修改,在通告網 絡節(jié)點到某個目的節(jié)點的路由時,同時通告該目的節(jié)點的鄰居列表。 步驟304:根據計算的路由,順序讀取網絡節(jié)點到目的節(jié)點的路由,以及網絡節(jié)點 到鄰居列表中的鄰居節(jié)點的路由。 網絡節(jié)點已獲取到目的節(jié)點的鄰居列表,則可順序讀取在步驟301中計算得到的 到目的節(jié)點的下一跳路由,以及到目的節(jié)點的鄰居列表中所有鄰居節(jié)點的下一跳路由。
步驟305 :將讀取到的路由寫入網絡節(jié)點的路由表,并刪除重復讀取到的路由,生 成網絡節(jié)點到目的節(jié)點的可用下一跳路由的集合,結束當前流程。 將順序讀取的路由寫入網絡節(jié)點的路由表得到路由的并集,并去掉并集中重復的 下一跳路由,即對于重復的下一跳路由,僅保留一個即可,最后得到的所有不同的下一跳路 由就是網絡節(jié)點到目的節(jié)點的新的下一跳路由集合。 由此,網絡節(jié)點獲得了到目的節(jié)點的一個新的下一跳路由集合,這個集合中不僅 會包含按照現(xiàn)有算法得到的下一跳路由,而且通常還可能包含更多的到鄰居節(jié)點的下一跳 路由,作為到目的節(jié)點的可選下一跳路由,從而充分利用網絡資源。 步驟306 :直接將網絡節(jié)點到目的節(jié)點的路由作為網絡節(jié)點到目的節(jié)點的可用下 一跳路由的集合,結束當前流程。 當判斷網絡節(jié)點是目的節(jié)點的鄰居節(jié)點時,為了避免造成路由環(huán)路,則不再執(zhí)行 多下一跳路由合并過程,直接將在步驟301中得到的可用下一跳路由集合下發(fā)到路由表 中,作為該網絡節(jié)點到目的節(jié)點的可選下一跳路由。 參見圖4,為應用上述本申請方法實施例的一種多下一跳路由的網絡結構示意圖。
其中,目的節(jié)點A為網絡出口,還包括多個網絡節(jié)點Bl B3、 Cl C3、 Dl D3,
各網絡節(jié)點首先運行現(xiàn)有技術中提供的多下一跳路由算法,分別算出到目的節(jié)點A的下一 跳路由集合。 其中,網絡節(jié)點Bl的可用下一跳路由集合為是{A},網絡節(jié)點B2的可用下一跳路 由集合是{A, Bl},網絡節(jié)點B3的可用下一跳路由集合是{A, Bl},網絡節(jié)點Cl的可用下一 跳路由集合是{Bl},網絡節(jié)點C2的可用下一跳路由集合是{Bl, B2, Cl},網絡節(jié)點C3的可 用下一跳路由集合是{Bl, B3, Cl},網絡節(jié)點Dl的可用下一跳路由集合是{Cl},網絡節(jié)點 D2的可用下一跳路由集合是{Cl, C2, Dl},網絡節(jié)點D3的可用下一跳路由集合是{Cl, C3, 叫。 由于網絡節(jié)點B1,B2,B3是目的節(jié)點A的鄰居節(jié)點,因此不再執(zhí)行多下一跳集合的 合并操作。而網絡節(jié)點Cl, C2, C3, Dl, D2, D3不是目的節(jié)點A的鄰居節(jié)點,因此需要執(zhí)行多 下一跳集合的合并操作,即分別將自身到目的節(jié)點A和該目的節(jié)點A的鄰居節(jié)點B1,B2,B3 的下一跳集合進行合并。 其中,網絡節(jié)點Cl到鄰居節(jié)點Bl的下一跳路由集合是{Bl},到鄰居節(jié)點B2的下 一跳路由集合是{Bl, B2h到鄰居節(jié)點B3的下一跳路由集合是{Bl, B3h由前述網絡節(jié)點 到A的下一跳路由集合為{Bl}可得,合并后網絡節(jié)點C1到目的節(jié)點A的新的下一跳路由 集合為{B1,B2,B3};同理可得網絡節(jié)點C2新的下一跳路由集合是(Bl,B2,Clh網絡節(jié)點C3新的下一跳路由集合是{Bl, B3, CI},網絡節(jié)點Dl新的下一跳路由集合是{Cl, C2, C3}, 網絡節(jié)點D2新的下一跳路由集合是(Cl,C2,Dlh網絡節(jié)點D3新的下一跳路由集合是{Cl, C3, Dl}。 與圖1所示的現(xiàn)有技術相比,按照本申請實施例提供的方法進行多下一跳路由合
并以后,網絡節(jié)點CI和Dl的可用下一跳路由數(shù)量增加了。圖4中示出了網絡中各網絡節(jié)
點形成的到目的節(jié)點A的多下一跳路由,可見現(xiàn)有技術中無法利用的鏈路Cl-B2、 Cl-B3、
D1-C2、D1-C3也可用于數(shù)據報文的傳輸,使得網絡資源得到了充分的利用。 由此可知,本申請實施例可以使各個網絡節(jié)點到目的節(jié)點有更多的可用下一跳路
由,即可以在網絡中產生更多的并行路徑進行數(shù)據報文的分流傳輸,從而能夠更充分的利
用網絡資源,更有利于實現(xiàn)整個網絡的流量均衡。 與本發(fā)明多下一跳路由的實現(xiàn)方法相對應,本發(fā)明還提供了多下一跳路由的實現(xiàn) 裝置的實施例。 參見圖5,為本申請多下一跳路由的實現(xiàn)裝置的第一實施例框圖。 該網絡節(jié)點包括計算單元510、獲取單元520和合并單元530。 其中,計算單元510,用于運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié)
點的路由; 獲取單元520,用于獲取網絡節(jié)點的目的節(jié)點的鄰居列表; 合并單元530,用于根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路 由,以及所述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由進行合并,作為所述網絡節(jié)點 到所述目的節(jié)點的可用下一跳路由的集合。 參見圖6,為本申請多下一跳路由的實現(xiàn)裝置的第二實施例框圖。 該網絡節(jié)點包括計算單元610、判斷單元620、執(zhí)行單元630、獲取單元640和合
并單元650。 其中,計算單元610,用于運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié) 點的路由; 判斷單元620,用于當所述計算單元610計算路由后,判斷所述網絡節(jié)點是否為所 述目的節(jié)點的鄰居節(jié)點; 執(zhí)行單元630,用于當所述判斷單元620的判斷結果為是時,直接將所述網絡節(jié)點 到所述目的節(jié)點的路由作為所述網絡節(jié)點到所述目的節(jié)點的可用下一跳路由的集合,當所 述判斷單元620的判斷結果為否時,觸發(fā)所述獲取單元640執(zhí)行其功能;
獲取單元640,用于獲取網絡節(jié)點的目的節(jié)點的鄰居列表; 合并單元650,用于根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路 由,以及所述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由進行合并,作為所述網絡節(jié)點 到所述目的節(jié)點的可用下一跳路由的集合。 其中,計算單元610可以至少包括一個下述單元(圖6中未示出)第一計算單元, 用于運行鏈路狀態(tài)機制算法,計算所述網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由;第 二計算單元,用于運行距離矢量機制算法,計算所述網絡節(jié)點到網絡中所有其它網絡節(jié)點 的路由。 其中,獲取單元640可以包括至少一個下述單元(圖6中未示出)第一獲取單
9元,用于當運行鏈路狀態(tài)機制算法時,根據網絡的完整拓撲結構獲取所述目的節(jié)點的鄰居 列表;第二獲取單元,用于當運行距離矢量機制算法時,根據所述距離矢量機制算法的通告 機制獲取所述目的節(jié)點的鄰居列表。 具體的,合并單元650可以包括(圖6中未示出)讀取單元,用于根據所述計算 的路由,順序讀取所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述網絡節(jié)點到所述鄰居列 表中的鄰居節(jié)點的路由;寫入單元,用于將所述讀取到的路由寫入所述網絡節(jié)點的路由表, 并刪除重復讀取到的路由。 由以上本發(fā)明實施例提供的技術方案可見,本申請實施例中運行路由算法,計算 網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由,獲取所述網絡節(jié)點的目的節(jié)點的鄰居列表, 根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述網絡節(jié)點到所述 鄰居列表中的鄰居節(jié)點的路由進行合并,作為所述網絡節(jié)點到所述目的節(jié)點的可用下一跳 路由的集合。應用本申請實施例得到的多下一跳路由中,不僅包括網絡節(jié)點到目的節(jié)點的 可用下一跳路由,而且還包括網路節(jié)點到目的節(jié)點的鄰居節(jié)點的可用下一跳路由,所述的 鄰居節(jié)點可以直接向目的節(jié)點發(fā)送數(shù)據報文,而無需通過路由轉發(fā),因此本申請實施例增 加了到目的節(jié)點的可用下一跳路由的數(shù)量,可供網絡節(jié)點選擇的路由增加,與現(xiàn)有技術相 比,進一步提高了對網絡資源的利用率。 本領域的技術人員可以清楚地了解到本發(fā)明實施例中的技術可借助軟件加必需 的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明實施例中的技術方案本質上或者 說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品可以存 儲在存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以 是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分 所述的方法。 本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部 分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實 施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例 的部分說明即可。 以上所述的本發(fā)明實施方式,并不構成對本發(fā)明保護范圍的限定。任何在本發(fā)明 的精神和原則之內所作的修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
一種多下一跳路由的實現(xiàn)方法,其特征在于,包括運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由;獲取所述網絡節(jié)點的目的節(jié)點的鄰居列表;根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由進行合并,作為所述網絡節(jié)點到所述目的節(jié)點的可用下一跳路由的集合。
2. 根據權利要求1所述的方法,其特征在于,所述運行路由算法,計算網絡節(jié)點到網絡 中所有其它網絡節(jié)點的路由包括運行鏈路狀態(tài)機制算法,計算所述網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由;或 運行距離矢量機制算法,計算所述網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由。
3. 根據權利要求1所述的方法,其特征在于,所述計算網絡節(jié)點到網絡中所有其它網 絡節(jié)點的路由之后,還包括判斷所述網絡節(jié)點是否為所述目的節(jié)點的鄰居節(jié)點,若是,則直接將所述網絡節(jié)點到 所述目的節(jié)點的路由作為所述網絡節(jié)點到所述目的節(jié)點的可用下一跳路由的集合;否則, 執(zhí)行所述獲取目的節(jié)點的鄰居列表的步驟。
4. 根據權利要求1所述的方法,其特征在于,所述獲取所述網絡節(jié)點的目的節(jié)點的鄰 居列表包括當運行鏈路狀態(tài)機制算法時,根據網絡的完整拓撲結構獲取所述網絡節(jié)點的目的節(jié)點 的鄰居列表;或當運行距離矢量機制算法時,根據所述距離矢量機制算法的通告機制獲取所述網絡節(jié) 點的目的節(jié)點的鄰居列表。
5. 根據權利要求1所述的方法,其特征在于,所述根據所述計算的路由,將所述網絡節(jié) 點到所述目的節(jié)點的路由,以及所述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由進行合 并包括根據所述計算的路由,順序讀取所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述網絡 節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由;將所述讀取到的路由寫入所述網絡節(jié)點的路由表,并刪除重復讀取到的路由。
6. —種多下一跳路由的實現(xiàn)裝置,其特征在于,包括計算單元,用于運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由; 獲取單元,用于獲取網絡節(jié)點的目的節(jié)點的鄰居列表;合并單元,用于根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路由,以及所 述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由進行合并,作為所述網絡節(jié)點到所述目的 節(jié)點的可用下一跳路由的集合。
7. 根據權利要求6所述的裝置,其特征在于,所述計算單元包括至少一個下述單元 第一計算單元,用于運行鏈路狀態(tài)機制算法,計算所述網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由;第二計算單元,用于運行距離矢量機制算法,計算所述網絡節(jié)點到網絡中所有其它網 絡節(jié)點的路由。
8. 根據權利要求6所述的裝置,其特征在于,還包括判斷單元,用于判斷所述網絡節(jié)點是否為所述目的節(jié)點的鄰居節(jié)點; 執(zhí)行單元,用于當所述判斷單元的判斷結果為是時,直接將所述網絡節(jié)點到所述目的節(jié)點的路由作為所述網絡節(jié)點到所述目的節(jié)點的可用下一跳路由的集合,當所述判斷單元的判斷結果為否時,觸發(fā)所述獲取單元執(zhí)行其功能。
9. 根據權利要求6所述的裝置,其特征在于,所述獲取單元包括至少一個下述單元 第一獲取單元,用于當運行鏈路狀態(tài)機制算法時,根據網絡的完整拓撲結構獲取所述目的節(jié)點的鄰居列表;第二獲取單元,用于當運行距離矢量機制算法時,根據所述距離矢量機制算法的通告 機制獲取所述目的節(jié)點的鄰居列表。
10. 根據權利要求6所述的裝置,其特征在于,所述合并單元包括讀取單元,用于根據所述計算的路由,順序讀取所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由;寫入單元,用于將所述讀取到的路由寫入所述網絡節(jié)點的路由表,并刪除重復讀取到 的路由。
全文摘要
本發(fā)明實施例公開了一種多下一跳路由的實現(xiàn)方法及裝置,所述方法包括運行路由算法,計算網絡節(jié)點到網絡中所有其它網絡節(jié)點的路由;獲取所述網絡節(jié)點的目的節(jié)點的鄰居列表;根據所述計算的路由,將所述網絡節(jié)點到所述目的節(jié)點的路由,以及所述網絡節(jié)點到所述鄰居列表中的鄰居節(jié)點的路由進行合并,作為所述網絡節(jié)點到所述目的節(jié)點的可用下一跳路由的集合。應用本申請實施例得到的多下一跳路由中,增加了到目的節(jié)點的可用下一跳路由的數(shù)量,可供網絡節(jié)點選擇的路由增加,與現(xiàn)有技術相比,進一步提高了對網絡資源的利用率。
文檔編號H04L12/56GK101753462SQ20101000258
公開日2010年6月23日 申請日期2010年1月19日 優(yōu)先權日2010年1月19日
發(fā)明者蘭巨龍, 關禮安, 朱宣勇, 田銘, 羅偉, 陳庶樵, 黃健美 申請人:中國人民解放軍信息工程大學