TWI418182B - 重新路由及逆向路由資訊產生方法與系統,及其電腦程式產品 - Google Patents
重新路由及逆向路由資訊產生方法與系統,及其電腦程式產品 Download PDFInfo
- Publication number
- TWI418182B TWI418182B TW098139270A TW98139270A TWI418182B TW I418182 B TWI418182 B TW I418182B TW 098139270 A TW098139270 A TW 098139270A TW 98139270 A TW98139270 A TW 98139270A TW I418182 B TWI418182 B TW I418182B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- packet
- destination
- reverse
- starting
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 44
- 238000004590 computer program Methods 0.000 title claims description 8
- 238000011144 upstream manufacturing Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- UDJDMGGEOXYBJP-UHFFFAOYSA-N (2,5-dioxopyrrolidin-1-yl) 4-[bis(4-methoxyphenyl)-phenylmethoxy]butanoate Chemical compound C1=CC(OC)=CC=C1C(C=1C=CC(OC)=CC=1)(C=1C=CC=CC=1)OCCCC(=O)ON1C(=O)CCC1=O UDJDMGGEOXYBJP-UHFFFAOYSA-N 0.000 description 3
- 101100476983 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SDT1 gene Proteins 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明係有關於一種路由管理,且特別有關於一種可以基於目的地樹為基礎且可以進行逆向路由之重新路由方法與系統,及逆向路由資訊產生方法。
從ARPANET開始,電腦網路(IP Network)即具備反應式網路回復能力。換言之,一旦網路發生節點或線路中斷時,電腦網路將會自動觸發路由更新。網路節點,如路由器便可透過IGP(Interior Gateway Protocol)來交換新的網路資訊,從而使得每個節點的路由資訊收斂到新的最佳狀態。
一般來說,路由資訊的收斂過程可分為錯誤偵測、資訊廣播、路由計算、與路由表更新。關於錯誤偵測,可以從實體層/資料連結層觸發,或由網路層觸發。習知地,從實體層/資料連結層觸發來偵測錯誤大約需要幾百個毫秒時間。從網路層觸發來偵測錯誤,以習知路由資訊協定(Routing Information Protocol,RIP)與開放式最短路徑優先(Open Shortest Path First,OSPF)協定來說,RIP每30秒交換一次路由資訊。若180秒路由資訊未更新,即認為該路徑失效。OSPF每10秒交換一次資訊。若經過40秒未得到鄰近路由器回應,即認為該路由器損壞。由於網路資訊廣播,每經過一個路由器約需要10ms~100ms。隨著網路越大,網路同步時間越久。路由計算與路由表更新時間,與路由器處理能力以及計算演算法有關,但所需的時間亦隨著網路大小與路由資訊多寡而影響。因此,對於一般電腦網路來說,連線或節點損壞時的路由回復時間,約需花費大量時間。由此可知,網路恢復速度無法滿足即時性應用需求。舉例來說,網路電話應用對於網路中斷要求必須小於200ms~450ms,影音多媒體串流應用對於網路中斷要求必須小於1sec~30sec。
另一方面,由於電腦網路受到最短路徑路由與路由逐一跳躍(Hop-By-Hop)之限制,因此大部分透過區域性資訊計算備援路由的機制,皆無法達到令人滿意的保護效果。除此之外,一般以連結為導向(Connection-Oriented)之網路保護機制亦不適用,如:SONET、ATM、MPLS...等。由於以連結為導向之網路是採用來源路由(Source Routing),因此備援路徑可以事先明確地指定且建立。然而,如前所述,由於電腦網路受到最短路徑路由與路由逐一跳躍的限制,只能計算出備援下一節點。備援下一節點的下一節點即遵守最短路徑路由規則,將封包送到目的地。因此如何避免迴路問題,將電腦網路進行重新路由時必須克服的問題。
有鑑於此,本發明提供重新路由及逆向路由資訊產生方法與系統。
本發明實施例之一種重新路由方法。首先,提供具有一路由表之一起始節點。其中,路由表至少記錄相應一目的地節點之一下一節點、一備援節點、與一逆向路由標籤,用以記錄備援節點係一逆向路由保護。當起始節點欲將一封包傳送至目的地節點時,判斷起始節點是否無法傳送封包至下一節點。當起始節點無法傳送封包至下一節點時,起始節點將封包進行編輯,以將相應逆向路由標籤之一逆向封包標籤與相應起始節點之資訊記錄至封包中,且將編輯後之封包傳送至備援節點。
本發明實施例之一種重新路由方法。首先,備援節點接收且解析一封包,從而得知封包中記錄之一起始節點、一目的地節點、與一逆向封包標籤。備援節點依據逆向封包標籤檢索一逆向路由表。其中,逆向路由表至少記錄相應起始節點與目的地節點之一轉送節點、與一終端標籤,用以記錄轉送節點是否係一逆向路由終端。當終端標籤記錄轉送節點並非係逆向路由終端時,備援節點將封包傳送至轉送節點。
本發明實施例之一種逆向路由資訊產生方法。首先,建立相應一起始節點之一備援節點至一目的地節點之一目的地樹。其中,起始節點欲將一封包傳送至目的地節點時,先將封包傳送至與起始節點連結之一下一節點。接著,基於起始節點與下一節點間之連結中斷,將目的地樹分割為包括起始節點之一第一子目的地樹與包括目的地節點之一第二子目的地樹,且基於起始節點與該下一節點間之連結中斷,建立由起始節點至目的地節點之一最短路徑。之後,判斷最短路徑是否經過備援節點。若最短路徑經過備援節點,將最短路徑中備援節點之後之一特定節點記錄為一逆向路由表中相應起始節點與目的地節點之一轉送節點。之後,判斷特定節點是否屬於第二子目的地樹。當特定節點屬於第二子目的地樹時,於逆向路由表中記錄一終端標籤,用以表示此特定節點係一逆向路由終端。
本發明實施例之一種重新路由系統包括具有一儲存單元與一處理單元之起始節點。儲存單元包括一路由表。其中,路由表至少記錄相應一目的地節點之一下一節點、一備援節點、與一逆向路由標籤,用以記錄備援節點係一逆向路由保護。當欲將一封包傳送至目的地節點時,處理單元判斷是否無法傳送封包至下一節點。當無法傳送封包至下一節點時,處理單元將封包進行編輯,以將相應逆向路由標籤之一逆向封包標籤與相應起始節點之資訊記錄至封包中,且將編輯後之封包傳送至備援節點。
本發明實施例之一種重新路由系統包括具有一儲存單元與一處理單元之備援節點。儲存單元包括一逆向路由表。其中,逆向路由表至少記錄相應起始節點與目的地節點之一轉送節點、與一終端標籤,用以記錄轉送節點是否係一逆向路由終端。處理單元接收且解析一封包,從而得知封包中記錄之一起始節點、一目的地節點、與一逆向封包標籤,且依據逆向封包標籤檢索逆向路由表。當終端標籤記錄轉送節點並非係逆向路由終端時,處理單元將封包傳送至轉送節點。
在一些實施例中,當終端標籤記錄轉送節點係逆向路由終端時,備援節點編輯封包,以將封包中記錄之逆向封包標籤與起始節點移除,且將封包傳送至轉送節點。
在一些實施例中,逆向封包標籤係記錄於封包之標頭之服務種類(Type Of Service,TOS)欄位或交通等級(Traffic Class)欄位中。在一些實施例中,起始節點之資訊係記錄於封包之標頭之選項(Option)欄位或延長標頭(Extension Header)欄位中。
本發明上述方法可以透過程式碼方式存在。當程式碼被機器載入且執行時,機器變成用以實行本發明之裝置。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式,詳細說明如下。
第1圖顯示依據本發明實施例之重新路由系統。依據本發明實施例之重新路由系統100可以包括複數節點(110、120、130、140、150)。每一節點間可以有線或無線地透過一網路160之架構來藉由路由機制來進行連結與傳送封包。
第2圖顯示依據本發明實施例之節點。依據本發明實施例之節點200可以係以處理器為基礎之電子裝置,如路由器等。節點200可以至少包括一儲存單元210、與一處理單元220。注意的是,節點200亦可以包括一網路接取單元(未顯示),用以透過網路接收與傳送資料封包。儲存單元210可以至少包括一路由表211與一逆向路由表212。第3圖顯示依據本發明實施例之路由表之資料結構。如第3圖所示,本發明實施例之路由表211之資料結構包括一目的地節點211a、一下一節點211b、一備援節點211c、與一逆向路由標籤211d。值得注意的是,為了方便說明,路由表211中僅列出特定資訊。然而,在一些實施例中,路由表211中亦可以包括相應節點之網路位址與網路遮罩,及相關之網路成本等資訊。其中,當封包欲被傳送至目的地節點211a時,此節點需將封包傳送至下一節點211b。而當節點無法將封包傳送至下一節點211b或此節點與下一節點211b間之連結中斷時,則可以將封包傳送至備援節點211c。逆向路由標籤211d係記錄備援節點211c是否係一逆向路由保護。在一些實施例中,當逆向路由標籤211d為’0’時表示備援節點211c係屬於正向路由保護;當逆向路由標籤211d為’1’時表示備援節點211c係屬於逆向路由保護。路由表211之產生方法及其使用方式將於後進行說明。第4圖顯示依據本發明實施例之逆向路由表之資料結構。如第4圖所示,本發明實施例之逆向路由表212之資料結構包括一目的地節點212a、一起始節點212b、一轉送節點212c、與一終端標籤212d。其中,當起始節點212b觸發逆向路由,且封包欲被傳送至目的地節點212a時,此節點需將封包傳送至轉送節點212c。終端標籤212d係記錄轉送節點212c是否係一逆向路由終端。換言之,若轉送節點212c係逆向路由終端,則當封包抵達轉送節點212c之後,將會依據正向路由進行處理與傳送。在一些實施例中,當終端標籤212d為’0’時表示轉送節點212c並非係逆向路由終端;當終端標籤212d為’1’時表示轉送節點212c係逆向路由終端。逆向路由表212之產生方法及其使用方式將於後進行說明。處理單元220係用以執行本案之重新路由及逆向路由資訊產生方法,其細節將於後進行說明。
第5圖顯示依據本發明實施例之路由資訊產生方法。在此實施例中,一起始節點可以對於相應一目的地節點之下一節點建立相應之備援節點,且判斷備援節點是否屬於逆向路由。
如步驟S502,建立起始節點至一目的地節點之一目的地樹(Destination Tree)。注意的是,在兩節點間建立目的地樹的機制係本領域中常見之技術,其細節在此省略。當目的地樹建立之後,起始節點將會知道傳送至此目的地節點之封包將需要傳送至一下一節點。如步驟S504,假設起始節點與下一節點間之連結中斷,且基於起始節點與下一節點間之連結中斷,將目的地樹分割為至少兩子目的地樹。其中,一第一子目的地樹可以包括起始節點,且一第二子目的地可以包括目的地節點。如步驟S506,判斷起始節點是否可以直接連接至第二子目的地樹之一鄰近節點。若起始節點可以直接連接至第二子目的地樹之此鄰近節點(步驟S506的是),如步驟S508,將此鄰近節點設為相應此下一節點之一備援節點。值得注意的是,在一些實施例中,相應此備援節點之逆向路由標籤可以記錄為’0’,以表示此備援節點屬於正向路由保護。提醒的是,當起始節點可以直接連接至第二子目的地樹之多個鄰近節點時,成本最低,如距離最短之鄰近節點將會被選擇。若起始節點無法直接連接至第二子目的地樹之鄰近節點(步驟S506的否),如步驟S510,判斷目的地樹中是否可以找到一上游節點,使得起始節點可以透過此上游節點連結至目的地節點。若無法找到上游節點(步驟S512的否),如步驟S514,記錄此下一節點並無任何備援節點。在一些實施例中,相應此下一節點之備援節點可以記錄為’-1’,以表示備援節點不存在。若可以找到上游節點(步驟S512的是),如步驟S516,將此上游節點記錄為相應此下一節點之備援節點,且將相應此備援節點之逆向路由標籤記錄為’1’,以表示此備援節點屬於逆向路由保護。
舉一例子說明,第7A圖顯示一網路例子。其中,網路包括N0~N5等節點,節點與節點間為雙向連線,且相應之線路成本如節點間連線所標示之數字。當IGP路由協定收斂之後,各節點之路由表中之目的地節點與下一節點將會被自動建立。因此,網路上的每一節點可以瞭解整個網路資料流,到每一目的地之逐一跳躍繞送路徑。在路由表之備援節點計算中,以計算節點N0到節點N5之備援路徑為例,節點N0可以為節點N5建立最短目的地樹DT,如第7B圖所示。接著,假設節點N0到節點N5之下一節點線路中斷(節點N0與節點N1間之連結中斷),整棵相應節點N5之最短目的地樹將會被分割成兩個子目的樹,節點N5子目的地樹SDT1與節點N0子目的地樹SDT2,如第7C圖所示。在節點N0到節點N5之下一節點中斷的狀況下,如果節點N0可以找到接上節點N5子目的地樹SDT1之最短鄰近節點,則該鄰近節點便可設為此下一節點之備援節點。以第7C圖為例,節點N2將被挑為節點N0到節點N5之備援節點。
提醒的是,每一起始節點可以分別對於相應不同目的地節點之下一節點建立相應之備援節點,且判斷備援節點是否屬於逆向路由,從而得到完整之路由表。注意的是,如果找不到合適的備援節點,則可以進行逆向路由保護計算。
第6圖顯示依據本發明實施例之逆向路由資訊產生方法。在此實施例中,相應一起始節點之一備援節點可以基於起始節點與連接至一目的地節點之一下一節點間之連結中斷來計算相應之逆向路由資訊。其中,當起始節點欲將一封包傳送至目的地節點時,先將封包傳送至與起始節點連結之此下一節點。
如步驟S602,建立備援節點至目的地節點之目的地樹。如步驟S604,基於此起始節點與此下一節點間之連結中斷,將目的地樹分割為至少兩子目的地樹。其中,一第一子目的地樹可以包括起始節點,且一第二子目的地可以包括目的地節點。如步驟S606,基於此起始節點與此下一節點間之連結中斷,建立由起始節點至目的地節點之一最短路徑。如步驟S608,判斷此最短路徑是否經過此備援節點。若此最短路徑並未經過此備援節點(步驟S608的否),結束流程。若此最短路徑經過此備援節點(步驟S608的是),如步驟S610,將最短路徑中此備援節點之後之一特定節點記錄為逆向路由表中相應此起始節點與目的地節點之轉送節點。如步驟S612,判斷此特定節點是否屬於第二子目的地樹。若此特定節點並非屬於第二子目的地樹(步驟S612的否),結束流程。若此特定節點屬於第二子目的地樹(步驟S612的是),如步驟S614,於逆向路由表中記錄相應此轉送節點之終端標籤,用以表示此特定節點係一逆向路由終端。換言之,當進行逆向路由保護時且封包抵達轉送節點(此特定節點)之後,將會依據正向路由進行處理與傳送。
接續第7A圖之例子,節點N0可以為目的地節點N5之路由,其下游經過之所有連線與節點計算逆流路由資訊。在此例子中,除了必須計算節點N0之下一節點保護路由外,亦必須為節點N1與節點N4之下一節點計算保護路由。在一些實施例中,節點N0可以順流逐一為下游節點進行計算,直至某一節點有能力做順向路由保護即可停止。
在此例子中,節點N0可以假設節點N1與其下一節點N4之連結中斷,如第7D圖所示。值得注意的是,在此例子中,節點N0可以係第6圖實施例中之備援節點;節點N1可以係第6圖實施例中之起始節點;節點N4可以係第6圖實施例中之下一節點;節點N5可以係第6圖實施例中之目的地節點。
在此情況下,節點N5最短路徑樹將被切割成兩棵子目的地樹,節點N1子目的地樹SDTA與節點N5子目的地樹SDTB。當節點N1與下一節點N4間之連線中斷的情況下,節點N1可以先嘗試執行順向路由保護計算,以尋找順向之備援下一節點。然而,在此例子中,節點N1無法找到合適的備援下一節點。因此,節點N0可以為節點N1進行逆向路由保護計算。逆向路由保護計算是在節點N1與下一節點N4間之連線中斷的情況下,透過最短路徑演算法,找一條最短路徑到目的地節點N5。如果找到的最短路徑,且最短路徑可以經過節點N0自己,則節點N0可以針對逆向封包,進行特殊之逆向路由。在此例子中,節點N0之逆向路由表將記錄當由起始節點N1逆流至目的地節點N5之封包,將被繞送到轉送節點N3。另外,由於轉送節點N3屬於包括目的地節點N5之節點N5子目的地樹SDTB,因此,將轉送節點N3相應之終端標籤標示為’1’,以表示節點N3係逆向路由保護之終點。
值得注意的是,一節點必須為每一目的地節點之路由,其下游所經過之所有節點與連線計算相應之逆向備援節點,從而得到完整之逆向路由表。
第8圖顯示依據本發明實施例之重新路由方法。在此實施例中,一起始節點可以依據一路由表對於封包進行路由管理。提醒的是,在一些實施例中,起始節點可以解析一封包,且當封包中並未記錄任何逆向封包標籤時,起始節點方依據路由表對於封包進行路由管理。
如步驟S802,判斷起始節點與相應封包欲傳送至之一下一節點間之連結是否中斷(或起始節點是否無法傳送封包至下一節點)。值得注意的是,起始節點可以解析封包,從而得到封包中記錄之目的地節點。依據封包中記錄之目的地節點可以檢索一路由表,從而取得相應之下一節點。若起始節點與下一節點間之連結並未中斷(步驟S802的否),如步驟S804,起始節點將封包傳送至下一節點。若起始節點與下一節點間之連結中斷(步驟S802的是),如步驟S806,判斷路由表中是否有記錄相應此下一節點之備援節點。若路由表中並未記錄相應此下一節點之備援節點(步驟S806的否),結束流程。若路由表中有記錄相應此下一節點之備援節點(步驟S806的是),如步驟S808,判斷相應此備援節點之逆向路由標籤是否記錄此備援節點屬於逆向路由保護。若此備援節點並非屬於逆向路由保護(步驟S808的否),如步驟S810,起始節點將封包傳送至備援節點。若此備援節點屬於逆向路由保護(步驟S808的是),如步驟S812,起始節點將封包進行編輯,以將相應逆向路由標籤之一逆向封包標籤與相應起始節點之資訊記錄至封包中,且如步驟S814,將編輯後之封包傳送至備援節點。值得注意的是,在一些實施例中,當封包係一IPv4封包時,逆向封包標籤可以記錄於封包之標頭之一服務種類(Type Of Service,TOS)欄位中,且起始節點之資訊可以記錄於封包之標頭之一選項(Option)欄位中。在一些實施例中,當封包係一IPv6封包時,逆向封包標籤可以記錄於封包之標頭之一交通等級(Traffic Class)欄位中,且起始節點之資訊可以記錄於封包之標頭之一延長標頭(Extension Header)欄位中。必須注意的是,上述封包中用以記錄逆向封包標籤與起始節點之資訊的位置僅為本案之實施例,本案並不限定於此。
第9圖顯示依據本發明另一實施例之重新路由方法。在此實施例中,一備援節點可以依據一逆向路由表對於封包進行路由管理。
如步驟S902,備援節點接收且解析一封包,從而得到相應之目的地節點與起始節點之資訊、與逆向封包標籤等。提醒的是,若封包中並未包括起始節點之資訊與逆向封包標籤時,將會進行第8圖之實施例。如步驟S904,相應於逆向封包標籤,備援節點檢索一逆向路由表,從而依據目的地節點與起始節點由逆向路由表中檢索得到相應之轉送節點與終端標籤。如步驟S906,依據終端標籤判斷此轉送節點是否係一逆向路由終端。若此轉送節點並非逆向路由終端(步驟S906的否),如步驟S908,備援節點將封包傳送至轉送節點。若此轉送節點係逆向路由終端(步驟S906的是),如步驟S910,備援節點編輯封包,以將封包中記錄之逆向封包標籤與起始節點移除,且如步驟S912,將編輯後之封包傳送至轉送節點。
當轉送節點接收到封包之後,便可解析封包以得到相關資訊。若封包中並未記錄逆向封包標籤與起始節點資訊時,轉送節點便可依據其路由表來管理此封包。若封包中記錄逆向封包標籤與起始節點資訊時,轉送節點便可依據其逆向路由表來管理此封包。
接續第7D圖之例子,當節點N1欲傳送封包到節點N5時,一旦節點N1與節點N4間之連結中斷,則節點N1可以搜尋路由表且發現封包必須轉送給備援節點N0,且備援節點N0為逆向路由保護。因此,節點N1將逆向封包標籤與起始節點資訊(節點N1資訊)記錄至封包之標頭中,且將封包傳送至節點N0。當節點N0收到封包之後,解析封包,從而得知此封包係一逆向封包。節點N0依據目的地節點(節點N5資訊)與起始節點資訊(節點N1資訊)檢索逆向路由表,從而得知轉送節點係節點N3,且節點N3係逆向路由保護之終端。因此,節點N0將封包中之逆向封包標籤與起始節點資訊移除,並將封包傳送給節點N3。當節點N3收到封包之後,即可以一般正向路由方式繞送。節點N3搜尋路由表後,將封包傳送給節點N4,節點N4再將封包繞送給目的地節點N5。
因此,透過本案之重新路由及逆向路由資訊產生方法與系統,可以基於目的地樹為基礎進行逆向路由資訊計算,並進行重新路由,從而強化節點間連線中斷時之備援路由機制。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可以包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可以透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...重新路由系統
110、120、130、140、150...節點
160...網路
200...節點
210...儲存單元
211...路由表
211a...目的地節點
211b...下一節點
211c...備援節點
211d...逆向路由標籤
212...逆向路由表
212a...目的地節點
212b...起始節點
212c...轉送節點
212d...終端標籤
220...處理單元
S502、S504、...、S516...步驟
S602、S604、...、S614...步驟
N0、N1、...、N5...節點
DT...目的地樹
SDT1、SDT2、SDTA、SDTB...子目的地樹
S802、S804、...、S814...步驟
S902、S904、....S912...步驟
第1圖為一示意圖係顯示依據本發明實施例之重新路由系統。
第2圖為一示意圖係顯示依據本發明實施例之節點。
第3圖為一示意圖係顯示依據本發明實施例之路由表之資料結構。
第4圖為一示意圖係顯示依據本發明實施例之逆向路由表之資料結構。
第5圖為一流程圖係顯示依據本發明實施例之路由資訊產生方法。
第6圖為一流程圖係顯示依據本發明實施例之逆向路由資訊產生方法。
第7A圖顯示一網路例子。
第7B圖顯示第7A圖中相應節點N0至節點N5之最短目的地樹。
第7C圖顯示第7B圖中之目的地樹基於節點N0與節點N1間之連結中斷所產生之子目的地樹。
第7D圖顯示第7A圖中基於節點N1與節點N4間之連結中斷所進行之逆向路由。
第8圖為一流程圖係顯示依據本發明實施例之重新路由方法。
第9圖為一流程圖係顯示依據本發明另一實施例之重新路由方法。
S802、S804、...、S814...步驟
Claims (26)
- 一種重新路由方法,應用於網路路由系統,包括下列步驟:提供一起始節點,具有一路由表,其中,該路由表至少記錄相應一目的地節點之一下一節點、一備援節點、與一逆向路由標籤,用以記錄該備援節點係一逆向路由保護;當該起始節點欲將一封包傳送至該目的地節點時,判斷該起始節點是否無法傳送該封包至該下一節點;以及當該起始節點無法傳送該封包至該下一節點時,該起始節點將該封包進行編輯,以將相應該逆向路由標籤之一逆向封包標籤與相應該起始節點之資訊記錄至該封包中,且將編輯後之該封包傳送至該備援節點。
- 如申請專利範圍第1項所述之重新路由方法,更包括下列步驟:該備援節點解析該封包,以得知該起始節點、該目的地節點、與該逆向封包標籤;該備援節點依據該逆向封包標籤檢索一逆向路由表,其中,該逆向路由表至少記錄相應該起始節點與該目的地節點之一轉送節點、與一終端標籤,用以記錄該轉送節點是否係一逆向路由終端;以及當該終端標籤記錄該轉送節點並非係該逆向路由終端時,該備援節點將該封包傳送至該轉送節點。
- 如申請專利範圍第2項所述之重新路由方法,更包括當該終端標籤記錄該轉送節點係該逆向路由終端時,該備援節點編輯該封包,以將該封包中記錄之該逆向封包標籤與該起始節點移除,且將該封包傳送至該轉送節點。
- 如申請專利範圍第1項所述之重新路由方法,其中,該逆向封包標籤係記錄於該封包之一標頭之一服務種類(Type Of Service,TOS)欄位或一交通等級(Traffic Class)欄位中。
- 如申請專利範圍第1項所述之重新路由方法,其中,該起始節點之資訊係記錄於該封包之一標頭之一選項(Option)欄位或一延長標頭(Extension Header)欄位中。
- 如申請專利範圍第1項所述之重新路由方法,其中,該起始節點產生該路由表之方法包括下列步驟:建立該起始節點至該目的地節點之一目的地樹;基於該起始節點與該下一節點間之連結中斷,從而將該目的地樹分割為包括該起始節點之一第一子目的地樹與包括該目的地節點之一第二子目的地樹;判斷該起始節點是否可以直接連接至該第二子目的地樹之一鄰近節點;若該起始節點無法直接連接至該第二子目的地樹之該鄰近節點,判斷該目的地樹中是否可以找到一上游節點,使得該起始節點可以透過該上游節點連結至該目的地節點;以及若該目的地樹中可以找到該上游節點,將該上游節點記錄為該路由表中之該備援節點,且於該路由表中記錄相應該備援節點之該逆向路由標籤。
- 如申請專利範圍第2項所述之重新路由方法,其中,該備援節點產生該逆向路由表之方法包括下列步驟:建立該備援節點至該目的地節點之一目的地樹;基於該起始節點與該下一節點間之連結中斷,將該目的地樹分割為包括該起始節點之一第一子目的地樹與包括該目的地節點之一第二子目的地樹;基於該起始節點與該下一節點間之連結中斷,建立由該起始節點至該目的地節點之一最短路徑;判斷該最短路徑是否經過該備援節點;若該最短路徑經過該備援節點,將該最短路徑中該備援節點之後之一特定節點記錄為該逆向路由表中相應該起始節點與該目的地節點之該轉送節點;判斷該特定節點是否屬於該第二子目的地樹;以及當該特定節點屬於該第二子目的地樹時,於該逆向路由表中記錄該終端標籤,用以表示該特定節點係該逆向路由終端。
- 一種重新路由方法,應用於網路路由系統,包括下列步驟:一備援節點接收且解析一封包,從而得知該封包中記錄之一起始節點、一目的地節點、與一逆向封包標籤;該備援節點依據該逆向封包標籤檢索一逆向路由表,其中,該逆向路由表至少記錄相應該起始節點與該目的地節點之一轉送節點、與一終端標籤,用以記錄該轉送節點是否係一逆向路由終端;以及當該終端標籤記錄該轉送節點並非係該逆向路由終端時,該備援節點將該封包傳送至該轉送節點。
- 如申請專利範圍第8項所述之重新路由方法,更包括當該終端標籤記錄該轉送節點係該逆向路由終端時,該備援節點編輯該封包,以將該封包中記錄之該逆向封包標籤與該起始節點移除,且將該封包傳送至該轉送節點。
- 如申請專利範圍第8項所述之重新路由方法,其中,該逆向封包標籤係記錄於該封包之一標頭之一服務種類(Type Of Service,TOS)欄位或一交通等級(Traffic Class)欄位中。
- 如申請專利範圍第8項所述之重新路由方法,其中,該起始節點之資訊係記錄於該封包之一標頭之一選項(Option)欄位或一延長標頭(Extension Header)欄位中。
- 一種逆向路由資訊產生方法,應用於網路路由系統,包括下列步驟:建立相應一起始節點之一備援節點至一目的地節點之一目的地樹,其中,該起始節點欲將一封包傳送至該目的地節點時,先將該封包傳送至與該起始節點連結之一下一節點;基於該起始節點與該下一節點間之連結中斷,將該目的地樹分割為包括該起始節點之一第一子目的地樹與包括該目的地節點之一第二子目的地樹;基於該起始節點與該下一節點間之連結中斷,建立由該起始節點至該目的地節點之一最短路徑;判斷該最短路徑是否經過該備援節點;若該最短路徑經過該備援節點,將該最短路徑中該備援節點之後之一特定節點記錄為一逆向路由表中相應該起始節點與該目的地節點之一轉送節點;判斷該特定節點是否屬於該第二子目的地樹;以及當該特定節點屬於該第二子目的地樹時,於該逆向路由表中記錄一終端標籤,用以表示該特定節點係一逆向路由終端。
- 一種重新路由系統,至少包括:一起始節點,包括:一儲存單元,包括一路由表,其中,該路由表至少記錄相應一目的地節點之一下一節點、一備援節點、與一逆向路由標籤,用以記錄該備援節點係一逆向路由保護;以及一處理單元,用以欲將一封包傳送至該目的地節點時,判斷是否無法傳送該封包至該下一節點,當無法傳送該封包至該下一節點時,將該封包進行編輯,以將相應該逆向路由標籤之一逆向封包標籤與相應該起始節點之資訊記錄至該封包中,且將編輯後之該封包傳送至該備援節點。
- 如申請專利範圍第13項所述之重新路由系統,其中,該備援節點包括:一儲存單元,用以記錄一逆向路由表,其中,該逆向路由表至少記錄相應該起始節點與該目的地節點之一轉送節點、與一終端標籤,用以記錄該轉送節點是否係一逆向路由終端;以及一處理單元,用以解析該封包,以得知該起始節點、該目的地節點、與該逆向封包標籤,依據該逆向封包標籤檢索該逆向路由表,當該終端標籤記錄該轉送節點並非係該逆向路由終端時,將該封包傳送至該轉送節點。
- 如申請專利範圍第14項所述之重新路由系統,其中,當該終端標籤記錄該轉送節點係該逆向路由終端時,該處理單元更編輯該封包,以將該封包中記錄之該逆向封包標籤與該起始節點移除,且將該封包傳送至該轉送節點。
- 如申請專利範圍第13項所述之重新路由系統,其中,該逆向封包標籤係記錄於該封包之一標頭之一服務種類(Type Of Service,TOS)欄位或一交通等級(Traffic Class)欄位中。
- 如申請專利範圍第13項所述之重新路由系統,其中,該起始節點之資訊係記錄於該封包之一標頭之一選項(Option)欄位或一延長標頭(Extension Header)欄位中。
- 如申請專利範圍第13項所述之重新路由系統,其中,該起始節點產生該路由表之方法係先建立該起始節點至該目的地節點之一目的地樹,基於該起始節點與該下一節點間之連結中斷,從而將該目的地樹分割為包括該起始節點之一第一子目的地樹與包括該目的地節點之一第二子目的地樹,判斷該起始節點是否可以直接連接至該第二子目的地樹之一鄰近節點,若該起始節點無法直接連接至該第二子目的地樹之該鄰近節點,判斷該目的地樹中是否可以找到一上游節點,使得該起始節點可以透過該上游節點連結至該目的地節點,若該目的地樹中可以找到該上游節點,將該上游節點記錄為該路由表中之該備援節點,且於該路由表中記錄相應該備援節點之該逆向路由標籤。
- 如申請專利範圍第14項所述之重新路由系統,其中,該備援節點產生該逆向路由表之方法係建立該備援節點至該目的地節點之一目的地樹,基於該起始節點與該下一節點間之連結中斷,將該目的地樹分割為包括該起始節點之一第一子目的地樹與包括該目的地節點之一第二子目的地樹,基於該起始節點與該下一節點間之連結中斷,建立由該起始節點至該目的地節點之一最短路徑,判斷該最短路徑是否經過該備援節點,若該最短路徑經過該備援節點,將該最短路徑中該備援節點之後之一特定節點記錄為該逆向路由表中相應該起始節點與該目的地節點之該轉送節點,判斷該特定節點是否屬於該第二子目的地樹,且當該特定節點屬於該第二子目的地樹時,於該逆向路由表中記錄該終端標籤,用以表示該特定節點係該逆向路由終端。
- 一種重新路由系統,適用於一備援節點,包括:一儲存單元,用以記錄一逆向路由表,其中,該逆向路由表至少記錄相應該起始節點與該目的地節點之一轉送節點、與一終端標籤,用以記錄該轉送節點是否係一逆向路由終端;以及一處理單元,用以接收且解析一封包,從而得知該封包中記錄之一起始節點、一目的地節點、與一逆向封包標籤,依據該逆向封包標籤檢索該逆向路由表,且當該終端標籤記錄該轉送節點並非係該逆向路由終端時,將該封包傳送至該轉送節點。
- 如申請專利範圍第20項所述之重新路由系統,其中,當該終端標籤記錄該轉送節點係該逆向路由終端時,該處理單元更編輯該封包,以將該封包中記錄之該逆向封包標籤與該起始節點移除,且將該封包傳送至該轉送節點。
- 如申請專利範圍第20項所述之重新路由系統,其中,該逆向封包標籤係記錄於該封包之一標頭之一服務種類(Type Of Service,TOS)欄位或一交通等級(Traffic Class)欄位中。
- 如申請專利範圍第20項所述之重新路由系統,其中,該起始節點之資訊係記錄於該封包之一標頭之一選項(Option)欄位或一延長標頭(Extension Header)欄位中。
- 一種電腦程式產品,用以被一機器載入且執行一重新路由方法,其中,該機器具有一路由表,用以至少記錄相應一目的地節點之一下一節點、一備援節點、與一逆向路由標籤,用以記錄該備援節點係一逆向路由保護,該電腦程式產品包括:一第一程式碼,用以欲將一封包傳送至該目的地節點時,判斷是否無法傳送該封包至該下一節點;一第二程式碼,用以當無法傳送該封包至該下一節點時,將該封包進行編輯,以將相應該逆向路由標籤之一逆向封包標籤與相應該起始節點之資訊記錄至該封包中;以及一第三程式碼,用以將編輯後之該封包傳送至該備援節點。
- 一種電腦程式產品,用以被一機器載入且執行一重新路由方法,其中,該機器具有一逆向路由表,用以至少記錄相應一起始節點與一目的地節點之一轉送節點、與一終端標籤,用以記錄該轉送節點是否係一逆向路由終端,該電腦程式產品包括:一第一程式碼,用以接收且解析一封包,從而得知該封包中記錄之該起始節點、該目的地節點、與一逆向封包標籤;一第二程式碼,用以依據該逆向封包標籤檢索該逆向路由表;以及一第三程式碼,用以當該終端標籤記錄該轉送節點並非係該逆向路由終端時,該備援節點將該封包傳送至該轉送節點。
- 一種電腦程式產品,用以被一機器載入且執行一逆向路由資訊產生方法,該電腦程式產品包括:一第一程式碼,用以建立相應一起始節點之一備援節點至一目的地節點之一目的地樹,其中,該起始節點欲將一封包傳送至該目的地節點時,先將該封包傳送至與該起始節點連結之一下一節點;一第二程式碼,用以基於該起始節點與該下一節點間之連結中斷,將該目的地樹分割為包括該起始節點之一第一子目的地樹與包括該目的地節點之一第二子目的地樹;一第三程式碼,用以基於該起始節點與該下一節點間之連結中斷,建立由該起始節點至該目的地節點之一最短路徑;一第四程式碼,用以判斷該最短路徑是否經過該備援節點;一第五程式碼,用以若該最短路徑經過該備援節點,將該最短路徑中該備援節點之後之一特定節點記錄為一逆向路由表中相應該起始節點與該目的地節點之一轉送節點;一第六程式碼,用以判斷該特定節點是否屬於該第二子目的地樹;以及一第七程式碼,用以當該特定節點屬於該第二子目的地樹時,於該逆向路由表中記錄一終端標籤,用以表示該特定節點係一逆向路由終端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098139270A TWI418182B (zh) | 2009-11-19 | 2009-11-19 | 重新路由及逆向路由資訊產生方法與系統,及其電腦程式產品 |
US12/651,346 US8532109B2 (en) | 2009-11-19 | 2009-12-31 | Methods and systems for reroute and generation of backward routing information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098139270A TWI418182B (zh) | 2009-11-19 | 2009-11-19 | 重新路由及逆向路由資訊產生方法與系統,及其電腦程式產品 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201119288A TW201119288A (en) | 2011-06-01 |
TWI418182B true TWI418182B (zh) | 2013-12-01 |
Family
ID=44011257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098139270A TWI418182B (zh) | 2009-11-19 | 2009-11-19 | 重新路由及逆向路由資訊產生方法與系統,及其電腦程式產品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8532109B2 (zh) |
TW (1) | TWI418182B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5573942B2 (ja) * | 2010-03-17 | 2014-08-20 | 日本電気株式会社 | 通信システム、ノード、制御サーバ、通信方法およびプログラム |
EP3808041A1 (en) | 2018-06-14 | 2021-04-21 | Nokia Solutions and Networks Oy | Flow-specific fast rerouting of source routed packets |
US11621913B2 (en) * | 2018-06-14 | 2023-04-04 | Nokia Solutions And Networks Oy | Path compression in routing of source routed packets |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050083953A1 (en) * | 2003-10-17 | 2005-04-21 | Ip Infusion Inc., A Delaware Corporation | System and method for providing redundant routing capabilities for a network node |
TW200524340A (en) * | 2004-01-13 | 2005-07-16 | Ind Tech Res Inst | Method for MPLS link protection |
US20060256712A1 (en) * | 2003-02-21 | 2006-11-16 | Nippon Telegraph And Telephone Corporation | Device and method for correcting a path trouble in a communication network |
US20090046587A1 (en) * | 2007-08-16 | 2009-02-19 | Cisco Technology, Inc. | Fast computation of alterative packet routes |
TW200920033A (en) * | 2007-05-18 | 2009-05-01 | Ibm | System, method and program for making routing decisions |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7477593B2 (en) | 2005-04-04 | 2009-01-13 | Cisco Technology, Inc. | Loop prevention techniques using encapsulation manipulation of IP/MPLS field |
-
2009
- 2009-11-19 TW TW098139270A patent/TWI418182B/zh not_active IP Right Cessation
- 2009-12-31 US US12/651,346 patent/US8532109B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060256712A1 (en) * | 2003-02-21 | 2006-11-16 | Nippon Telegraph And Telephone Corporation | Device and method for correcting a path trouble in a communication network |
US20050083953A1 (en) * | 2003-10-17 | 2005-04-21 | Ip Infusion Inc., A Delaware Corporation | System and method for providing redundant routing capabilities for a network node |
TW200524340A (en) * | 2004-01-13 | 2005-07-16 | Ind Tech Res Inst | Method for MPLS link protection |
TW200920033A (en) * | 2007-05-18 | 2009-05-01 | Ibm | System, method and program for making routing decisions |
US20090046587A1 (en) * | 2007-08-16 | 2009-02-19 | Cisco Technology, Inc. | Fast computation of alterative packet routes |
Also Published As
Publication number | Publication date |
---|---|
TW201119288A (en) | 2011-06-01 |
US20110116506A1 (en) | 2011-05-19 |
US8532109B2 (en) | 2013-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101953124B (zh) | 在数据通信网络中构造绕过多条不可用链路的修复路径 | |
Bryant et al. | Remote loop-free alternate (LFA) fast reroute (FRR) | |
US7710860B2 (en) | Data relay apparatus and data relay method | |
Shand et al. | IP fast reroute framework | |
CN101044728B (zh) | Rfc 2574网络边缘处的快速重路由(frr)保护 | |
US7848224B2 (en) | Method and apparatus for constructing a repair path for multicast data | |
CN101645842B (zh) | 通信网络系统、通路计算装置、通信信道确立控制方法 | |
US7936667B2 (en) | Building backup tunnels for fast reroute in communications networks | |
JP4109692B2 (ja) | ラベルスイッチネットワークにおけるセッション確立方法及びラベルスイッチノード | |
CN109617803B (zh) | 一种转发表项生成方法、装置及设备 | |
JP2006197613A (ja) | Mplsマルチキャストの高速再経路設定装置及び方法 | |
US11646960B2 (en) | Controller provided protection paths | |
WO2016198012A2 (zh) | 一种通过指定路径传输流量的方法和装置 | |
JP2007060461A (ja) | 複数エリアに分割されるネットワークにおけるパス設定方法及び通信装置 | |
CN102299835A (zh) | 环网故障切换方法和装置 | |
US20210176169A1 (en) | Source Routing Tunnel Ingress Protection | |
WO2017000802A1 (zh) | 一种业务故障定位方法及装置 | |
TWI492575B (zh) | 快速標籤交換路徑警示機制 | |
Papán et al. | Overview of IP fast reroute solutions | |
JP2010517350A (ja) | リンク状態アドバタイズメント(lsa)に基づきスパニングツリーを計算する方法、ブリッジ及びコンピュータ・ネットワーク | |
TWI418182B (zh) | 重新路由及逆向路由資訊產生方法與系統,及其電腦程式產品 | |
US20140269410A1 (en) | Efficient Flooding of Link State Packets for Layer 2 Link State Protocols | |
CN101207555B (zh) | 一种路由黑洞避免过程中过载位自动清除的方法 | |
CN111970196B (zh) | 一种建立备份路径、切换备份路径的方法和路由设备 | |
US20120033671A1 (en) | Communication device, communication method, and recording medium for recording communication program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |