一種網際網路協議報文轉發過程中快速重選路由的方法
2023-11-11 20:39:12 2
專利名稱:一種網際網路協議報文轉發過程中快速重選路由的方法
發明內容
本發明涉及一種網際網路協議報文轉發過程中快速重選路由方法,屬於數據通訊領域。
現有重路由技術的缺陷在於下一跳失效的消息是通過路由收斂的過程得到的,當路由器的某一埠失效時,必須等待一個較長的路由收斂過程才能將以此埠為出埠的路由下一跳從轉發表中刪除掉。在這段時間內報文仍然會選擇這些路由下一跳轉發,而不能及時的重路由到其它可能的負載分擔項上(即轉發表中其它的下一跳)。此缺陷造成重路由生效時間較長,重路由生效過程中的丟包率較高。
本發明的目的是克服已有技術的重路由生效時間較長、重路由生效過程中的丟包率較高等缺點,提出一種網際網路協議(以下簡稱IP)報文轉發過程中快速重選路由的方法,在報文轉發過程中的某一個下一跳路由器埠失效的情況下,為報文轉發快速地重新選擇有效路由,並減小重選路由過程中的丟包率。
本發明提出的網際網路協議報文轉發過程中快速重選路由的方法,包括如下各步驟1、建立實時埠狀態表,為每個埠設置兩個標誌,其中的一個用於標識該埠所在地線路卡是否有效,另一個用於標識該埠是否有效,當檢測到該埠失效或由失效轉為有效時更新埠狀態表;2、在IP報文轉發過程中,檢查轉發信息表,若轉發表項中只有一個下一跳,則用當前下一跳轉發報文;3、若上述轉發表項中含有多個下一跳,則從多個下一跳中選定一個下一跳,用於發送報文。
上述第(3)步中用於從轉發表項的多個下一跳中選定一個下一跳的方法是哈希算法。
第(3)步中用選定的下一跳發送報文的過程如下1、根據埠實時狀態表,檢查選定的下一跳出埠的狀態和該埠所在地線路卡是否都有效,若都有效,則用該下一跳轉發報文;2、若該下一跳出埠的狀態或該埠所在地線路卡中的任何一個無效,則選擇另一個下一跳,並判斷該下一跳是否為最後一個下一跳,若是最後一個下一跳,則用該下一跳轉發報文;3、若不是最後一個下一跳,則在埠狀態表中檢查該下一跳出埠的狀態和該埠所在地線路卡是否都有效,若都有效,則用該下一跳轉發報文;
4、若該下一跳出埠的狀態和該埠所在地線路卡中有任何一個無效,則重複該上述第(2)、第(3)步,直至轉發報文。
本發明提出的網際網路協議報文轉發過程中快速重選路由的方法,由於檢測並更新埠狀態的動作比路由收斂的動作要快得多,所以本方法可以使重路由功能快速生效,並充分利用轉發表中的多個下一跳實現高可靠性的數據轉發,減小重選路由過程中的丟包率。在IP網絡中應用本發明的方法,通過在關鍵路徑上配置多個下一跳並應用IP快速重路由技術,可極大地提高網絡可靠性,最大限度地減少由線路及設備故障引起的丟包。
上述方法中,當轉發表項中含有多個下一跳時,則按照哈希算法從多個下一跳中選定一個下一跳。哈希算法的具體過程是將報文中的源IP位址簡稱為SA,報文中的目的IP位址簡稱為DA,哈希算法的實現過程如下假定整個SA、DA構成一個Hash空間,Hash算法從宏觀上將這個空間均勻映射為一個從0~99的值。如果有兩個下一跳,則落在0~49和50~99之間的地址對是機率均等的。這樣就使哈希值在0~49的報文走第一條路由,剩下的哈希值在50~99的報文走第二條路由,即可實現負載分擔。如果有三個下一跳,設報文的地址對的哈希值為X,則哈希值為0≤X≤33的報文走第一個下一跳;哈希值為34≤X≤66的報文走第二個下一跳,哈希值為67≤X≤99的報文走第三個下一跳。
選定了新的下一跳以後,從上述埠實時狀態表中,檢查該選定的下一跳,其出埠的狀態和該埠所在地線路卡是否都有效,若都有效,則用該下一跳轉發報文。若該下一跳出埠的狀態或該埠所在地線路卡中任何一個無效,則選擇另一個下一跳,並判斷該下一跳是否為最後一個下一跳,如果是最後一個下一跳,則用該下一跳轉發報文,如果不是最後一個下一跳,則在埠狀態表中檢查這個下一跳出埠的狀態和該埠所在地線路卡是否都有效,如果都有效,則用當前下一跳轉發報文,若任何一個無效,則重複選擇、判斷,直至成功轉發報文。
以下是IP快速重路由技術與基於路由收斂的重路由技術的實驗比較數據。實驗配置了一條有兩個下一條的路由(出埠分別為埠1、埠2),並從埠0輸入流量。在報文轉發過程中輪流對埠1和埠2進行打開、關閉操作,以模擬鏈路失效情況。
表1未採用IP快速重路由技術的實驗結果
平均重路由生效時間=0.2576秒丟包率=(12901005-7622266-41512099)/12901005=5.9%表2採用IP快速重路由技術後的實驗結果
平均重路由生效時間=0.001秒丟包率=(11077145-6605850-4468305)/11077145=0.027%從上面的實驗數據中可以看到在使用IP快速重路由技術後,重路由生效的時間由秒級減小到毫秒級,丟包率減少99%以上。
權利要求
1.一種網際網路協議報文轉發過程中快速重選路由的方法,其特徵在於該方法包括如下各步驟(1)建立實時埠狀態表,為每個埠設置兩個標誌,其中的一個用於標識該埠所在地線路卡是否有效,另一個用於標識該埠是否有效,當檢測到該埠失效或由失效轉為有效時更新埠狀態表;(2)在IP報文轉發過程中,檢查轉發信息表,若轉發表項中只有一個下一跳,則用當前下一跳轉發報文;(3)若上述轉發表項中含有多個下一跳,則從多個下一跳中選定一個下一跳,用於發送報文。
2.如權利要求1所述的方法,其特徵在於其中的第(3)步中用於從轉發表項的多個下一跳中選定一個下一跳的方法是哈希算法。
3.如權利要求1所述的方法,其特徵在於其中的第三步中用選定的下一跳發送報文的過程如下(1)根據埠實時狀態表,檢查選定的下一跳出埠的狀態和該埠所在地線路卡是否都有效,若都有效,則用該下一跳轉發報文;(2)若該下一跳出埠的狀態或該埠所在地線路卡中的任何一個無效,則選擇另一個下一跳,並判斷該下一跳是否為最後一個下一跳,若是最後一個下一跳,則用該下一跳轉發報文;(3)若不是最後一個下一跳,則在埠狀態表中檢查該下一跳出埠的狀態和該埠所在地線路卡是否都有效,若都有效,則用該下一跳轉發報文;(4)若該下一跳出埠的狀態和該埠所在地線路卡中有任何一個無效,則重複該上述第(2)、第(3)步,直至轉發報文。
全文摘要
本發明涉及一種網際網路協議報文轉發過程中快速重選路由的方法,屬數據傳輸技術領域。該方法首先建立實時埠狀態表,在IP報文轉發過程中,若轉發表項中只有一個下一跳,則用當前下一跳轉發報文。若有多個下一跳,則選定一個下一跳,並從埠狀態表中,檢查該下一跳出埠的狀態和該埠所在地線路卡,一定規則選定新的下一跳轉發報文。本發明的方法,由於檢測並更新埠狀態的動作比路由收斂的動作要快得多,所以可以使重路由功能快速生效,並充分利用轉發表中的多個下一跳實現高可靠性的數據轉發,減小重選路由過程中的丟包率。
文檔編號H04Q3/00GK1469600SQ02126770
公開日2004年1月21日 申請日期2002年7月15日 優先權日2002年7月15日
發明者魏中華, 孫健, 任江興 申請人:華為技術有限公司