保護倒換源路由的制作方法
【專利說明】保護倒換源路由
[0001]相關申請案交叉申請
[0002]本申請要求于2013年7月26日提交的作者為Peter Ashwood-Smith、發明名稱為“保護倒換源路由”的第61/858,858號美國臨時專利申請的在先申請的優先權,其全部內容通過引用結合在本申請中,還要求于2014年7月23日提交的作者為PeterAshwood-Smith、發明名稱為“保護倒換源路由”的第14/339,036號美國專利申請的在先申請的優先權,其全部內容通過引用結合在本申請中。
【背景技術】
[0003]源路由是一種在源路由報頭內部分或完全指定數據包可以通過網絡經過的路由的一種協議。該源路由報頭可以包含待穿過的鏈路和/或節點的嚴謹列表或松散列表。嚴謹列表可以明確列出傳輸數據包可能經過的所有鏈路和/或節點。另外,松散列表可以指定數據包到達目的地可能需要穿過的一個或多個鏈路和/或節點,并可以不包括數據包到達目的地可能穿過的所有鏈路和/或節點。因此,額外的路由決策可以用于通過一個中間點將該數據包路由到另一個中間點。與使用轉發表相比,實現源路由可以簡化數據轉發網絡節點,減少路由時間和時延。網絡節點(例如,路由器或交換機)可以使用源路由報頭內的路由信息轉發數據包而不用使用所述轉發表執行查找功能。
【發明內容】
[0004]在一實施例中,本發明包括一種網元,用于在源路由網路中運行,所述網元包括:接收器;發射器;處理器,與所述接收器和發射器耦合。所述處理器可用于使所述網元從上游網元接收包括報頭的活性保護探測報文,所述報頭包括一個或多個有序的連接標識的列表,所述標識指示網絡路徑,該網絡路徑穿過所述活性保護探測報文轉發時通過的所述源路由網絡;根據所述連接標識向下游網元發射所述活性保護探測報文;從所述下游網元接收所述活性保護探測報文;根據包含在所述報頭內的一個或多個有序的連接標識的第二列表向所述上游網元發射所述活性保護探測報文。
[0005]在另一實施例中,本發明包括一種用于在源路由網絡中進行保護倒換的方法,在一種網元中執行,所述方法包括:通過所述源路由網絡中的串聯網元從入口節點接收通過網路路徑發射的數據包;通過所述數據包的網絡路徑從所述入口節點接收包括報頭和凈荷的源路由網絡故障檢測探測報文;通過所述源路由網絡向所述入口節點發射所述故障檢測探測報文,以響應從所述入口節點接收所述故障檢測探測報文。
[0006]在又一實施例中,本發明包括一種源路由網絡中的入口節點,包括:接收器;發射器;處理器,與所述接收器和所述發射器耦合。所述處理器可用于使所述入口節點:從源地接收數據包;接收指示穿過所述源路由網絡的多個路徑的多個源路由封裝標識,所述源路由網絡用于向出口節點發射所述數據包;沿著第一組封裝標識指示的主用網絡路徑向所述出口節點發射源路由網路路徑保護探測報文。所述處理器還可以用于:當從所述出口節點接收到所述保護探測報文時,采用所述第一組封裝標識封裝所述數據包;當在預定時間段內未從所述出口節點接收到所述保護探測報文時,采用第二組封裝標識封裝所述數據包,所述第二組封裝標識指示轉發所述數據包需要通過的備用網絡路徑;根據所述封裝標識向下游節點發射所述數據包。
[0007]通過以下結合附圖和權利要求的詳細描述,這些以及其他特征將會清楚地理解。
【附圖說明】
[0008]為了更透徹地理解本發明,現參閱結合附圖和【具體實施方式】而描述的以下簡要說明,其中的相同參考標號表不相同部分。
[0009]圖1是一種源路由網絡的一實施例的示意圖;
[0010]圖2是一種源路由網絡中的網元的一實施例的示意圖;
[0011]圖3是一種保護倒換源路由網絡的一實施例的示意圖;
[0012]圖4是一種在源路由網絡中進行保護倒換的方法的一實施例的協議圖。
【具體實施方式】
[0013]首先應理解,盡管下文提供一項或多項實施例的說明性實施例,但所公開的系統和/或方法可使用任何數目的技術來實施,無論該技術是當前已知還是現有的。本發明決不應限于下文所說明的說明性實施例、附圖和技術,包括本文所說明并描述的示例性設計和實施例,而是可在所附權利要求書的范圍以及其等效物的完整范圍內修改。
[0014]保護倒換是一種可以使網絡免遭故障的手段。在保護倒換網絡中,例如波分復用(WDM),時分復用(TDM),異步傳輸模式(ATM)和多協議標簽交換(MPLS),從源地到目的地的備用路徑可以用于避過網絡中的故障。當節點檢測到保護倒換網絡中的故障時,節點可以激活該網絡中的保護機制,使節點繞過或重新路由將會受到該故障影響的數據流。做出這些轉發數據流決策的節點稱為具有狀態連接的串聯節點(例如,網絡中既不是入口節點也不是出口節點的內部節點)。狀態連接中,設備記錄其他設備的邏輯網絡位置和/或暫時和/或在一個延長時間段內跟蹤連接和/或流。因此,串聯節點可以維持穿過所述串聯節點的連接(例如主用連接和/或備用連接)的知識和/或狀態。
[0015]本發明公開的是一種用于在源路由網絡中提供保護倒換的保護方案,該源路由網絡不支持維持串聯節點上的每個連接路由狀態。所公開的方案可以使采用無狀態連接運行的源路由網絡通過將探測報文從入口節點發射到出口節點,并將所述出口節點接收的所述探測報文反射到所述入口節點來確定網絡路徑的活性或連通狀態。所公開的方案可以促進:當主用網絡路徑退化或不工作時將數據流從主用網絡路徑倒換到備用網絡路徑,還可以促進:當通過一定數量的探測報文獲知主用網絡路徑已經正常運行時將數據流從備用網絡路徑倒換到主用網絡路徑。
[0016]圖1是一種源路由網絡100的一實施例的示意圖。本發明實施例可以在所述源路由網絡100中進行。網絡100可以包括多個能夠促進從源地到目的地的數據傳輸的相互連接的元件,例如控制器110,入口節點120,串聯節點130(例如,網絡路徑中既不是入口節點也不是出口節點的節點),出口節點140,源地150和目的地160。在網絡100中,控制器110可以一直知道網絡100的拓撲和狀態。例如,控制器110可以知道網絡100內的所有節點的位置,以及節點之間的連接/鏈路,使得該控制器110能夠通過一個或多個串聯節點130確定從入口節點120到出口節點140的路由,以支持源地150和目的地160之間的連通。節點之間的連接可以由每個節點通過將標識本地分配給連接到該節點的每個鏈路識別,所述鏈路包括節點之間的平行鏈路的每個分支。控制器110可以明確指定穿過網絡100的數據包需要發射經過的部分或所有連接。連接列表可以是識別節點之間的鏈路的鏈路列表,列出網絡100中的特定節點(例如,入口節點120,串聯節點130和出口節點140)的節點標識列表,或它們的組合。鏈路和/或節點可以全局/或局部分配。當連接列表為節點標識列表時,該列表可能是部分或“松散”列表。
[0017]控制器110可以是任何能夠一直知道源路由網絡100的拓撲并確定從源地150到目的地160通過源路由網絡的路由的集中式或分布式網絡控制器。例如,控制器110可以支持OpenFlow。OpenFlow支持的控制器可以通過向網絡中的一個或多個節點發射多個流表促進網絡中的數據傳輸,以通過所述節點將數據從源地路由到目的地。控制器110可以根據一組路由規則計算數據包和/或數據流從源地150到目的地160通過網絡的多個路由(例如,主用路由和一個或多個備用路由)。由控制器110計算出的所述多個路由可以以不相交/最大限度不同的方式進行計算。換句話說,控制器110可以計算路由,使得主用路由和備用路由有最少的共同鏈路/節點或沒有共同的鏈路/節點,從而在主用路由出現故障時將通過網絡100成功路由的最佳機會提供給備用路由。計算所述多個路由之后,控制器110可以向入口節點120發射所述多個路由。
[0018]入口節點120可以從控制器110接收多個路由并存儲在表中。該表可以稱為流表,路由表,轉發信息庫,或本領域普通技術人員所熟知的任何其它名稱。從源地150接收數據包之后,入口節點120可以使用報頭封裝數據包,所述報頭包括從控制器110接收到的路由,并在一些實施例中,包括可以指示所述數據包需要發射經過的下一跳的指針或指示符。包括在報頭中的路由可以根據網絡100中的路由選擇的預定義規則選擇。例如,當網絡100正常運行時,可以將主用路由封裝到數據包。如果網絡100不在正常運行,可以將備用路由封裝到數據包。在將路由封裝到數據包之后,入口節點120可以推進指示報頭中下一跳的指針,然后根據包含在報頭中的路由中所識別的下一跳將數據包轉發到串聯節點130。在一些實施例中,入口節點120不推進指針,而是在將路由封裝到數據包之后,可以執行顯露報頭中下一跳的彈出操作,然后根據包含在報頭中的路由中所識別的下一跳將數據包轉發到串聯節點130。
[0019]串聯節點130可以通過無狀態連接在網絡100中接收和轉發數據包。換句話說,根據包含在封裝到數據包上的報頭中的路由信息,無需參考特定連接