技術領域
本公開一般地涉及網(wǎng)絡可靠性,特別是通過主動和靜態(tài)路徑冗余的使用。
背景技術:
傳遞流的每個分組可提供以下保證:目的地將接收分組中的至少一個分組,即使發(fā)生單一故障。然而,即使單一故障發(fā)生,進一步的故障是可能的。針對要求超低分組丟失率的應用,存在通過利用網(wǎng)絡節(jié)點智能來增加主動/靜態(tài)冗余的有效性以增加網(wǎng)絡的可靠性來優(yōu)雅地處理多故障的可能性的需求。
附圖說明
附圖被合并于此并構(gòu)成本公開的一部分,示出了本公開的各個實施例。在附圖中:
圖1示出了示出具有適當?shù)念~外路徑的兩個釘牢(nailed up)路徑的一個示例的示例網(wǎng)絡拓撲;
圖2示出了可被所描述的ISO/IEC/IEEE提議解決方案采用的網(wǎng)絡環(huán)境100;
圖3示出了在網(wǎng)絡設備101e由于偶發(fā)事件或任意其他非限制性原因而發(fā)生故障之后可被所描述的ISO/IEC/IEEE提議解決方案采用的網(wǎng)絡環(huán)境100;
圖4示出了可被本公開的實施例采用的網(wǎng)絡環(huán)境100;
圖5示出了在網(wǎng)絡設備101e由于偶發(fā)事件或任意其他非限制性原因而發(fā)生故障之后可被本公開的實施例采用的網(wǎng)絡環(huán)境100;
圖6進一步示出了在網(wǎng)絡設備101e由于偶發(fā)事件或任意其他非限制性原因而已發(fā)生故障之后可被本公開的實施例采用的網(wǎng)絡環(huán)境100;
圖7是示出了當用于使用預留帶寬的數(shù)據(jù)流時本公開的實施例的操作的流程圖;
圖8更詳細地示出了網(wǎng)絡設備(例如,網(wǎng)絡設備101a-p);
圖9是示出了本公開的實施例的流程圖;以及
圖10是示出了本公開的實施例的流程圖。
具體實施方式
概覽
方法和系統(tǒng)可被提供以提供下列高度保證:當沿著兩個分離路徑同時傳遞流的每個分組時,這些分組中的至少一個分組將被期望的目的地接收,而不管沿著數(shù)據(jù)路徑是否有一個或多個故障情況。本公開的實施例可使用網(wǎng)絡拓撲協(xié)議來學習在第一故障發(fā)生之后何時重新生成雙流。這可確保雙傳遞的維護,進而提供關于防止可能發(fā)生的進一步故障的保證。
前述概覽以及下列示例實施例二者僅是示例和說明性的,而不應被視為限制如所描述和要求保護的本公開的范圍。此外,可提供除本文所闡述的那些特征和/或變化之外的特征和/或變化。例如,本公開的實施例可針對示例實施例中所描述的各種特征組合和子組合。
示例實施例
下列詳細描述涉及附圖。在任何可能的情況下,附圖和下列描述中使用的相同參考標號指代相同或相似的元件。盡管可能描述了本公開的實施例,但修改、改編、以及其他實現(xiàn)方式是可能的。例如,可對附圖中示出的元件做出替代、添加、或修改,并且本文所描述的方法可通過替代、重新排序、或向所公開的方法添加階段來修改。因此,下列詳細描述不限制本公開。替代地,本公開的適當?shù)姆秶伤綑?quán)利要求來定義。
諸如電視演播室和其他實時控制應用(例如,實時會議應用)之類的某些應用可能要求超低分組丟失率。例如,應用可包括但不限于確定性網(wǎng)絡,例如,與虛擬專用網(wǎng)絡一起使用的那些確定性網(wǎng)絡。超低分組丟失率可以是但不限于從10-6到10-12范圍內(nèi)的、或潛在地更低的分組丟失率。
分組丟失可在兩個非限制性類別中定義:單一故障和可用性故障。例如,單一故障針對每個故障事件可影響單個或僅數(shù)個分組。阻塞是導致分組丟失的這類單一故障的一個原因。當轉(zhuǎn)發(fā)節(jié)點(橋、路由器、或其他非限制性網(wǎng)絡設備)缺乏足夠的緩沖存儲空間以容納所接收的用于后續(xù)轉(zhuǎn)發(fā)的分組時,阻塞可能在有線網(wǎng)絡上發(fā)生。當網(wǎng)絡設備缺乏這類緩沖空間時,所接收的分組可能不得不被丟棄,并且不在到所期望的目的地的路徑上繼續(xù)。
在這樣的有線網(wǎng)絡場景下,傳輸速率可受任意數(shù)目的偶發(fā)事件限制。這類偶發(fā)事件可在介質(zhì)或轉(zhuǎn)發(fā)設備它們本身中發(fā)生。偶發(fā)事件可包括但不限于:宇宙射線、功率波動、電磁干擾、以及其他這類速率限制事件。當無線網(wǎng)絡處理阻塞時,傳輸限制影響在這類無線網(wǎng)絡中也可能是類似的。
替代地,當存在網(wǎng)絡設備(節(jié)點)、網(wǎng)絡設備的獨立組件的故障、或傳輸介質(zhì)它本身的故障(可使得特定網(wǎng)絡設備無法轉(zhuǎn)發(fā)分組)時,可用性故障可能發(fā)生。取決于可用性故障的嚴重程度,網(wǎng)絡設備可能在包括大約幾秒的時間段到大約幾天或更長時間內(nèi)無法轉(zhuǎn)發(fā)分組。
應理解的是,盡管可用性和單一故障在本文被描述,但中間速率的故障也是可能的,并在本公開中被考慮。例如,在某些實施例中,中間速率的故障可通過能夠標識過量單一故障的各種啟發(fā)來處理,并且在某些情況下隨后觸發(fā)有目的的可用性故障。
實現(xiàn)超低分組丟失的方法可包括簡單多路徑的概念。在簡單多路徑中,行進到目的地的同一數(shù)據(jù)分組在多于一個路徑上從源被發(fā)送到目的地。理想地,多路徑可以以近乎同時的方式在分離路徑上發(fā)送同一分組(原始的和復制的)。在目的地接收的分組的額外副本隨后可被丟棄。在各個實施例中,位于分組的源附近的網(wǎng)絡轉(zhuǎn)發(fā)設備可負責復制要被發(fā)送到目的地的分組。類似地,位于目的地附近的網(wǎng)絡設備可負責刪除所接收的復制分組。
基于任意給定的實施例中使用的重復路徑的數(shù)目(N),則在那些路徑的N-1個路徑上傳遞任意給定的分組的故障可被容忍。在某些實施例中,典型的解決方案可以是基于硬件和其他成本考慮使用兩個路徑。當網(wǎng)絡尺寸增加時簡單多路徑的有效性可能降低。這是由于沿所有路徑的同時故障的機會可能增加。
在大多數(shù)情況下,偶發(fā)物理誤差傾向于在多個(N)路徑上不相關。因此,偶發(fā)誤差的比率通常是足夠低的以在沒有額外的多路徑的情況下滿足網(wǎng)絡要求。該等級的故障率的平方通常留下適當?shù)木W(wǎng)絡條件。替代地,使用可用性誤差,故障率的平方可能不足夠低以滿足高要求的用戶。本公開的實施例,討論了在多個路徑上轉(zhuǎn)發(fā)以處理多于一個故障的方法。
類似地,對于堵塞誤差,典型的多路徑可證明是無用的。這是由于當數(shù)據(jù)的重要的部分被復制時,在兩個復制路徑上遭遇堵塞是可能的。本公開的實施例用于消除可能起因于這類堵塞誤差的問題。
用于創(chuàng)建從源到目的地的數(shù)據(jù)路徑的傳統(tǒng)路由和橋接不足以解決上述故障問題。例如,當兩個或多個路徑針對流被創(chuàng)建時,每個路徑可利用橋接或網(wǎng)絡協(xié)議(例如,中間系統(tǒng)對中間系統(tǒng)(“ISIS”))提供的主動拓撲。若網(wǎng)絡拓撲改變(例如,當網(wǎng)絡鏈路被關閉或被添加到拓撲),則路由協(xié)議必須重新聚合。在這樣的重新聚合過程期間,每個路徑可被中斷并丟失所有流量一段時間是可能的。在網(wǎng)絡路徑上存在這類故障以及隨后的恢復的任何時間,分組可能丟失。
這類問題可能要求網(wǎng)絡路徑的所謂的“釘牢”,以傳統(tǒng)的路由和橋接不考慮的方式。釘牢路徑試圖保持路徑“永久”可用。這僅在下列意義上是真實的:當一個路徑故障時,第二路徑可從源向目的地傳輸數(shù)據(jù)分組。路徑的簡單釘牢可能不足以處理數(shù)據(jù)路徑上網(wǎng)絡設備的多個故障。
三個或更多路徑可被釘牢以試圖確保數(shù)據(jù)的安全傳輸。例如,使用三個路徑,故障率可變?yōu)槊總€路徑的數(shù)據(jù)傳輸速率的立方。然而,這可比兩路徑解決方案多花費至少50%的硬件。多個路徑的添加固有地要求更多的硬件以及更多的安裝成本,當成本是目標時這作為解決方案變得不實際。此外,兩路徑解決方案還通常是環(huán)形,這表示對于連接所必需的硬件的最小數(shù)量。例如,環(huán)形拓撲僅運載與簡單使用單一路徑相等的帶寬懲罰。
在許多實現(xiàn)方式中,環(huán)形網(wǎng)絡可以是局域網(wǎng)(LAN),其中節(jié)點(工作站或其他網(wǎng)絡設備)被連接在閉環(huán)配置中。相鄰的節(jié)點對可被直接連接。其他節(jié)點對使用通過一個或多個中間節(jié)點從源節(jié)點行進到目的地節(jié)點的數(shù)據(jù)來間接地連接。這類連接可以是有線或無線鏈路。
當系統(tǒng)要求是適度的并且工作站是位于分散的點時,環(huán)形拓撲可證明是有用的。若工作站相當接近,則當選擇電纜線路來最小化所需電纜的總長度時,成本可低于其他拓撲的成本。當然,這樣的方法對于針對實時應用(例如,電視廣播)提供超低分組丟失率是不適當?shù)摹?/p>
也就是說,環(huán)形網(wǎng)絡的電纜中的斷裂可導致數(shù)據(jù)路徑由于斷裂而增加的那些工作站的對之間的數(shù)據(jù)速率降低。若兩個斷裂發(fā)生并且它們二者不在同一電纜部分中,則某些工作站將與某些其他工作站切斷。該問題通過本公開的實施例被避免。
另一提議解決方案實現(xiàn)在國際標準化組織/國際電工技術委員會(“ISO/IEC”)62439-3中,ISO/IEC 62439-3描述了并行冗余協(xié)議(“PRP”)和高可用性無縫冗余(“HSR”)二者。PRP和HSR是可被共同使用在包括多個環(huán)的網(wǎng)絡中的協(xié)議,該多個環(huán)經(jīng)由網(wǎng)絡連接設備(所謂的“四方盒(Quadboxes)”)的對可被連接在宏樹中,每個網(wǎng)絡連接設備的對可使得環(huán)形為環(huán)形連接。在產(chǎn)生的連接環(huán)形網(wǎng)絡中,每個環(huán)形上的一個故障或每個四方盒的對上的一個故障在不完全中斷連接的情況下可被容忍。
四方盒允許簡單環(huán)形拓撲的輕微改善,但不是顯著程度的改善。例如,將大環(huán)形劃分為由四方盒連接的兩個環(huán)形可將傳遞速率提升兩倍。類似地,將環(huán)形分成三個連接的環(huán)形結(jié)構(gòu)提供三分之一的單一環(huán)形故障率。
四方盒還可提供復雜性問題。例如,每個四方盒要求分離的狀態(tài)以既處理對分組的復制也丟棄每個流的過量復制分組。特別地,該方法采用了丟棄過量復制分組的功能,其中,該功能要求每個關鍵的流分組運載序列號。序列號然后必須由每個四方盒中存在的復制刪除單元進行后續(xù)跟蹤。清楚地,這使得對額外復制分組的刪除更復雜。
在高速流(即,實時應用)的情況下,重復復制分組消除功能要求詳細歷史保持、添加另一非期望等級的復雜度到每個網(wǎng)絡設備的設計。通過要求具有不被路由的信息的L2標簽以及對于橋接設備不是容易可見的該相同信息的L3封裝,流序列號的使用可使得創(chuàng)建用于被橋接和路由二者的路徑的解決方案非常困難。
反映解決分組丟失問題的適用性的另一標準是電氣與電子工程師協(xié)會(“IEEE”)P802.1CB-針對可靠性的幀復制及消除。該標準針對提供了下列項的橋和終端站指定過程、管理對象以及協(xié)議:1)幀的標識和復制,用于冗余傳輸;2)復制幀的標識;3)復制幀的消除。更具體地,P802.1CB提供了類似于ISO/IEC 62439-3解決方案的“無縫冗余”,其中網(wǎng)絡中的節(jié)點(設備)被附接兩個端口。源節(jié)點然后可通過兩個端口發(fā)送同一幀。目的地節(jié)點然后應在無故障狀態(tài)下在一定時滯(time skew)內(nèi)接收兩個相同的幀。目的地節(jié)點可將第一幀轉(zhuǎn)發(fā)到應用,并當?shù)谝粠竭_時(以及若第一幀到達)將第二幀丟棄。序列號用于識別這類重復。P802.1CB遭受許多與ISO/IEC 62439-3解決方案相同的復雜性問題,本公開的實施例避免了這些問題。
將分組丟失降低到超低等級的另一不滿意的方法是歐洲核研究組織(“CERN”)的白兔項目(共同稱為“白兔”),其“旨在結(jié)合工業(yè)網(wǎng)絡的實時性能以及具有專用定時系統(tǒng)的精確度的以太網(wǎng)的靈活性”。實際上,白兔試圖釘牢多個路徑,如上面討論的。無論何時路徑發(fā)生故障,標準路由協(xié)議(在這種情況下,802.1生成樹)可用于在不影響第一路徑的情況下快速尋找該路徑的不同路線。這通過具有兩個分離的物理網(wǎng)絡(每個運行分離的生成樹)來完成。使用白兔,故障路徑的平均修復時間(“MTTR”)通常是次秒而不是小時,而平均故障時間(“MTTF”)與簡單多路徑方案相比是不變的。低MTTR表示在第二路徑恢復重復傳遞之前,僅一個路徑被依賴很短的時間。這使得總故障率降低到兩個生成樹網(wǎng)絡的速率的平方。
然而,白兔的設備中的成本很大。實際上,四個物理路徑必須始終是可用的,兩個網(wǎng)絡中的每個網(wǎng)絡上都有正常和替代路徑。該方案可被修改以使用不多于簡單多路徑方案的網(wǎng)絡節(jié)點。一個人使用普通橋接或路由技術通過其他路線快速重新路由發(fā)生故障的路徑。但是,結(jié)果仍要求額外帶寬以覆蓋移位負載。實際上,這不比以三個或四個靜態(tài)路徑來開始更好,并且額外開銷使得該解決方案不如本公開的實施例。
多協(xié)議標簽切換(“MPLS”)是被設計用于加速網(wǎng)絡流量流動并使其更容易管理的技術。MPLS提供了快速重新路由的機制(還稱為MPLS本地恢復或MPLS本地保護)以用作本地恢復網(wǎng)絡彈性機制。實際重新路由是設計用于在檢測到主要路徑的故障之后重新配置數(shù)據(jù)路徑的資源預留協(xié)議(“RSVP”)流量的特征。在MPLS快速重新路由中,通過設施的每個標簽切換路徑(LSP)由起源于節(jié)點并立即上游到該設施的備份路徑來保護。由于恢復的決定是嚴格本地的,快速重新路由可提供較快恢復。
MPLS快速重新路由的一個問題是在路徑的重新配置期間每次發(fā)生故障則丟失某些分組。為了避免這類分組丟失,通過兩個MPLS快速重新路由路徑的雙傳遞可被采用(類似于白兔),與本公開中所描述的實施例相比,其再次證明在設施成本以及網(wǎng)絡資源方面是昂貴的方法。
與本公開的實施例一致,本文描述的方法和系統(tǒng)可提供沿兩個不同路徑同時傳遞流的每個分組,以高度確保目的地將接收這些分組中的至少一個,即使發(fā)生單一故障。拓撲協(xié)議可用于了解在一個故障發(fā)生之后何時重新生成雙流,以便維護雙傳遞,并因此維護關于防止進一步的故障的保證。這些所描述的實施例在沒有與之前嘗試的解決方案相關聯(lián)的問題的情況下可針對實時應用提供超低分組丟失。
本公開的實施例可被看作用于避免分組丟失的主動/靜態(tài)冗余方法。實施例的“靜態(tài)”部分可包括貫穿具有額外的可用鏈路的網(wǎng)絡的兩個釘牢的路徑。本實施例的“主動”部分表示若釘牢路徑中的一個路徑發(fā)生故障,則與額外鏈路相連的節(jié)點可開始復制其數(shù)據(jù)流的副本。這使得重新創(chuàng)建多路徑,這防止第二故障。
圖1示出了示出具有適當?shù)念~外路徑的兩個釘牢的路徑的一個示例的示例網(wǎng)絡拓撲。圖1中所描述的拓撲將用在下列描述中以說明本公開的實施例。
所描述的網(wǎng)絡拓撲可存在于網(wǎng)絡環(huán)境100中。盡管網(wǎng)絡環(huán)境100被描繪為有線網(wǎng)絡環(huán)境,但無線網(wǎng)絡環(huán)境也與本公開的實施例是一致的。例如,網(wǎng)絡環(huán)境100可以是通過網(wǎng)絡傳輸數(shù)據(jù)分組的任意類型的系統(tǒng)。作為示例,網(wǎng)絡環(huán)境100可以是能夠提供語音通信、以及視頻和數(shù)據(jù)服務的環(huán)境。
網(wǎng)絡環(huán)境100可基于任意數(shù)目的網(wǎng)絡設備之間的基于分組的雙向傳送的服務,例如,互網(wǎng)絡協(xié)議(IP)流量。網(wǎng)絡環(huán)境100還可包括多個網(wǎng)關(未示出),例如但不限于:電纜調(diào)制解調(diào)器、路由器、交換機、機頂盒、以及計算機。網(wǎng)絡環(huán)境100可包括廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、或適合分組類型通信(例如,互網(wǎng)絡通信)的無線網(wǎng)絡的任意組合。
網(wǎng)絡環(huán)境100可包括若干網(wǎng)絡設備101a-p。網(wǎng)絡設備101a-p可以是路由器、橋、或能夠接收數(shù)據(jù)流并將數(shù)據(jù)流從源網(wǎng)絡設備(此處為101a)傳輸?shù)侥康牡鼐W(wǎng)絡設備(此處為101p)的其他網(wǎng)絡設備。網(wǎng)絡設備關于圖8一般地被更詳細地討論。
網(wǎng)絡環(huán)境100可被設計為將數(shù)據(jù)分組的流從網(wǎng)絡設備101a傳輸?shù)骄W(wǎng)絡設備101p。數(shù)據(jù)分組可與期望超低分組丟失的實時應用(例如,電視廣播)有關。如可以看出的,存在分組在其上可從網(wǎng)絡設備101a行進穿越到網(wǎng)絡設備101p的兩個靜態(tài)路徑。如此處示出的,額外路徑102可連接網(wǎng)絡設備101f和網(wǎng)絡設備101g。
圖2示出了可被如上所述的所描述的ISO/IEC/IEEE提議解決方案采用的網(wǎng)絡環(huán)境100。數(shù)據(jù)流可被期望從網(wǎng)絡設備101a穿越到網(wǎng)絡設備101p。網(wǎng)絡設備101a可復制流中的每個數(shù)據(jù)分組,以便流的每個分組的兩個副本被發(fā)送去往網(wǎng)絡設備101p。
每個分組的一個副本可通過從網(wǎng)絡設備101a到網(wǎng)絡設備101b的傳輸開始其在路徑201上的穿越。該第一數(shù)據(jù)分組可在路徑201上從網(wǎng)絡設備101b繼續(xù)到網(wǎng)絡設備101d,然后從網(wǎng)絡設備101d到網(wǎng)絡設備101f。類似地,第二數(shù)據(jù)分組可從網(wǎng)絡設備101a到網(wǎng)絡設備101c穿越路徑202。該第一數(shù)據(jù)分組可在路徑202上從網(wǎng)絡設備101c繼續(xù)到網(wǎng)絡設備101e,然后從網(wǎng)絡設備101e到網(wǎng)絡設備101g。因此,在典型操作中,網(wǎng)絡設備101f和網(wǎng)絡設備101g各自將接收數(shù)據(jù)分組的至少一個副本,丟棄該分組的任何額外副本并繼續(xù)一個分組向目的地的穿越。
如可以看出的,第二網(wǎng)絡分組從網(wǎng)絡設備101g被提供到網(wǎng)絡設備101f。若網(wǎng)絡設備101f首先接收第一網(wǎng)絡分組,則網(wǎng)絡設備101f可在路徑203上將第一網(wǎng)絡分組轉(zhuǎn)發(fā)到網(wǎng)絡設備101h。第一網(wǎng)絡分組的復制副本可被發(fā)送到網(wǎng)絡設備101g。隨后接收的分組(即,網(wǎng)絡設備101g所提供的第二網(wǎng)絡分組)的副本將被丟棄。
第一網(wǎng)絡分組將隨后從網(wǎng)絡設備101h到網(wǎng)絡設備101k穿越路徑203。第一網(wǎng)絡分組然后從網(wǎng)絡設備101k被提供給目的地(網(wǎng)絡設備101p)。第一網(wǎng)絡分組的復制副本將首先被提供給網(wǎng)絡設備101g并將隨后從網(wǎng)絡設備101g到網(wǎng)絡設備101i穿越路徑204。第一網(wǎng)絡分組的復制副本然后從網(wǎng)絡設備101i被提供給網(wǎng)絡設備101n。網(wǎng)絡設備101n然后將第一網(wǎng)絡分組的復制副本提供給目的地(網(wǎng)絡設備101p)。
若網(wǎng)絡設備101f在相應的第一網(wǎng)絡分組之前從網(wǎng)絡設備101g接收第二網(wǎng)絡分組的復制副本,則網(wǎng)絡設備101f將通過路徑203將第二網(wǎng)絡分組的復制副本發(fā)送到網(wǎng)絡設備101h。第二網(wǎng)絡分組的復制副本將隨后從網(wǎng)絡設備101h到網(wǎng)絡設備101k穿越路徑203。第二網(wǎng)絡分組的復制副本然后從網(wǎng)絡設備101k被提供給目的地(網(wǎng)絡設備101p)。隨后接收的分組(即,網(wǎng)絡設備101d所提供的第一網(wǎng)絡分組)的副本將被丟棄。網(wǎng)絡設備101g還可將原始第二網(wǎng)絡分組發(fā)送到路徑204上的網(wǎng)絡設備101i。第二網(wǎng)絡分組然后從網(wǎng)絡設備101i被提供給網(wǎng)絡設備101n。網(wǎng)絡設備101n然后將第二網(wǎng)絡分組提供給目的地(網(wǎng)絡設備101p)。
在任一情況下,網(wǎng)絡設備101p將接收網(wǎng)絡分組的兩個副本并可以處理一個副本而丟棄另一副本。網(wǎng)絡設備101f和網(wǎng)絡設備101g之間的鏈路102可運載網(wǎng)絡設備之間的其他鏈路的兩倍的流量。因此,在本公開的某些實施例中,鏈路102可以是兩個鏈路的集合。
圖3示出了在網(wǎng)絡設備101e由于如上所述的偶發(fā)事件或任意其他非限制性原因而發(fā)生故障之后可被如上所述的所描述ISO/IEC/IEEE提議解決方案采用的網(wǎng)絡環(huán)境100。如可以看出的,網(wǎng)絡設備101e的故障使得網(wǎng)絡設備101e和網(wǎng)絡設備101g之間的連接斷裂。在該實例中,網(wǎng)絡設備101f將從路徑201將第一網(wǎng)絡分組的復制副本發(fā)送到網(wǎng)絡設備101g。網(wǎng)絡設備101g還可將第一網(wǎng)絡分組的復制副本發(fā)送到路徑204上的網(wǎng)絡設備101i。第一網(wǎng)絡分組的復制副本然后從網(wǎng)絡設備101i被提供給網(wǎng)絡設備101n。網(wǎng)絡設備101n然后將第一網(wǎng)絡分組的復制副本提供給目的地(網(wǎng)絡設備101p)。
因此,網(wǎng)絡設備101f還將沿著路徑203將第一網(wǎng)絡分組傳送到網(wǎng)絡設備101h。第一網(wǎng)絡分組隨后將從網(wǎng)絡設備101h到網(wǎng)絡設備101k穿越路徑203。第一網(wǎng)絡分組然后從網(wǎng)絡設備101k被提供給目的地(網(wǎng)絡設備101p)。該方法的結(jié)果允許網(wǎng)絡設備101h、101i、101k、或101n中的任意設備死亡并仍維護從源(網(wǎng)絡設備101a)到目的地(網(wǎng)絡設備101p)的連接。
圖4示出了可被本公開的實施例采用的網(wǎng)絡環(huán)境100。數(shù)據(jù)流可被期望從網(wǎng)絡設備101a穿越到網(wǎng)絡設備101p。網(wǎng)絡設備101a可復制流中的每個數(shù)據(jù)分組,以便流的每個分組的兩個副本可被發(fā)送去往網(wǎng)絡設備101p。
每個分組的一個副本可通過從網(wǎng)絡設備101a到網(wǎng)絡設備101b的傳輸開始其在路徑401上的穿越。該第一數(shù)據(jù)分組可在路徑401上從網(wǎng)絡設備101b繼續(xù)到網(wǎng)絡設備101d,然后從網(wǎng)絡設備101d到網(wǎng)絡設備101f。在正常操作中,第一數(shù)據(jù)分組可在路徑401上從網(wǎng)絡設備101f繼續(xù)到網(wǎng)絡設備101h,然后從網(wǎng)絡設備101h到網(wǎng)絡設備101k。最后,第一數(shù)據(jù)分組可從網(wǎng)絡設備101k繼續(xù)到目的地(網(wǎng)絡設備101p)。
類似地,第二數(shù)據(jù)分組可從網(wǎng)絡設備101a到網(wǎng)絡設備101c穿越路徑402。該第一數(shù)據(jù)分組可在路徑402上從網(wǎng)絡設備101c繼續(xù)到網(wǎng)絡設備101e,然后從網(wǎng)絡設備101e到網(wǎng)絡設備101g。在正常操作中,第一數(shù)據(jù)分組可在路徑402上從網(wǎng)絡設備101g繼續(xù)到網(wǎng)絡設備101i,然后從網(wǎng)絡設備101i到網(wǎng)絡設備101n。最后,第一數(shù)據(jù)分組可從網(wǎng)絡設備101n繼續(xù)到目的地(網(wǎng)絡設備101p)。網(wǎng)絡設備101p接收在網(wǎng)絡設備101a處創(chuàng)建的分組的兩個副本。網(wǎng)絡設備101p然后可丟棄一個分組并處理另一分組。在正常操作中,網(wǎng)絡設備101f和101g之間的鏈路403不需要被使用。
圖5示出了在網(wǎng)絡設備101e由于如上所述的偶發(fā)事件或任意其他非限制性原因而發(fā)生故障之后可被本公開的實施例采用的網(wǎng)絡環(huán)境100。如可以看出的,網(wǎng)絡設備101e的故障使得網(wǎng)絡設備101e和網(wǎng)絡設備101g之間的連接斷裂。在這些實施例中,諸如ISIS之類的網(wǎng)絡協(xié)議可向路徑上的每個網(wǎng)絡設備發(fā)送消息以向網(wǎng)絡設備通知網(wǎng)絡設備101e已發(fā)生故障。盡管ISIS協(xié)議連同這些所描述的實施例被描述,本公開考慮任意適當?shù)南鬟f協(xié)議,網(wǎng)絡設備通過這些消息傳遞協(xié)議可被警告同一數(shù)據(jù)路徑上所連接的網(wǎng)絡設備的故障。
在這種情況下,假設網(wǎng)絡設備101f之前被指定為一接收到指示網(wǎng)絡設備的故障的消息就實現(xiàn)分組丟失避免過程的設備。因此,網(wǎng)絡設備101f知道響應于接收到指示網(wǎng)絡設備101e的故障的ISIS消息而采取什么動作。
特別地,在接收到ISIS消息之后,網(wǎng)絡設備101f開始復制在路徑401上從網(wǎng)絡設備101d接收的分組。轉(zhuǎn)向圖6,可以看出來自路徑401的復制分組通過鏈路403從網(wǎng)絡設備101f被傳輸?shù)骄W(wǎng)絡設備101g。復制分組在路徑404上從網(wǎng)絡設備101g繼續(xù)到網(wǎng)絡設備101i,然后從網(wǎng)絡設備101i到網(wǎng)絡設備101n。最后,復制數(shù)據(jù)分組可從網(wǎng)絡設備101n繼續(xù)到目的地(網(wǎng)絡設備101p)。在本公開的某些實施例中,路徑403被指定為發(fā)生網(wǎng)絡設備故障時的緊急數(shù)據(jù)路徑。關于緊急數(shù)據(jù)路徑的知識可被網(wǎng)絡設備101f知道。
盡管復制分組可從網(wǎng)絡設備101f被發(fā)送到網(wǎng)絡設備101g,來自路徑401的原始分組在路徑401上從網(wǎng)絡設備101g繼續(xù)到路徑401上的網(wǎng)絡設備101i。原始網(wǎng)絡分組然后從網(wǎng)絡設備101i被提供給網(wǎng)絡設備101n。網(wǎng)絡設備101n然后將原始網(wǎng)絡分組提供給目的地(網(wǎng)絡設備101p)。該方法的結(jié)果允許網(wǎng)絡設備101h、101i、101k、或101n中的任意網(wǎng)絡設備死亡并仍維護從源(網(wǎng)絡設備101a)到目的地(網(wǎng)絡設備101p)的連接。
本公開的實施例要求適當操作的某些等級的流配置以防止分組丟失。這類配置可通過諸如網(wǎng)絡管理員之類的個人來手動地完成,或替代地可由程序來配置,該程序可考慮用于必要時選擇緊急路徑以及委派能夠復制分組并添加新的流的網(wǎng)絡設備的網(wǎng)絡條件。對于本公開的實施例的操作,無ISIS故障消息之外的額外信令是必要的。
在本公開的實施例中,額外(緊急)鏈路(網(wǎng)絡設備101f到網(wǎng)絡設備101g)通常不運載不同于上述之前的解決方案的流量。這對于被指定為僅當需要時使用的任意其他鏈路可能是真實的。之前的解決方案始終運載這些鏈路上的普通流量的兩倍的流量,并可要求2-鏈路集合以處理流量。在諸如I/I/I解決方案之類的之前的解決方案中,網(wǎng)絡設備101f和101g要求每個流重復識別和丟棄狀態(tài)以及額外的硬件來驅(qū)動它。在本公開的實施例中這都不是被要求的。因為在本實施例中,僅最終目的地(例如,網(wǎng)絡設備101p)需要丟棄副本。因此,L2標簽可被消除,允許應用或傳輸協(xié)議處理如何消除副本。這消除了使得之前的解決方案不合適的L2/L3轉(zhuǎn)換問題。本實施例允許數(shù)據(jù)在兩個路徑上被傳遞,以便第二故障將不阻止最終目的地(例如,網(wǎng)絡設備101p)接收每個分組的至少一個副本。
圖7是示出了當用于使用預留帶寬的數(shù)據(jù)流時本公開的實施例的操作的流程圖。當預留帶寬被采用時,當斷裂節(jié)點(例如,網(wǎng)絡設備101e)從其故障位置恢復使用時可能存在問題。網(wǎng)絡設備101g必須從一個輸入(例如,網(wǎng)絡設備101f)切換到之前的輸入(例如,恢復的網(wǎng)絡設備101e)以返回正常操作。取決于具體數(shù)據(jù)分組流的細節(jié),當從網(wǎng)絡設備101f切換回網(wǎng)絡設備101e時,網(wǎng)絡設備101g可發(fā)送具體分組的副本是可能的。這可能是由于具體分組已從網(wǎng)絡設備101f和網(wǎng)絡設備101e二者被接收。
在所描述的場景中對復制分組的接收可導致存儲了用于傳輸?shù)姆纸M的一個或多個緩沖器的填充。這可使得速率受限的流在較晚的時間丟棄分組以滿足速率限制界限。方法700示出了采用控制事件以防止所描述場景中的帶寬溢出的實施例。
方法700可在步驟710處開始,其中,網(wǎng)絡設備101e(在從之前的故障恢復之后)在恢復之后丟棄從路徑402接收的分組直到其從網(wǎng)絡設備101g接收到消息。消息指示網(wǎng)絡設備101g現(xiàn)在準備好繼續(xù)在路徑402上從網(wǎng)絡設備101e接收分組。
當網(wǎng)絡設備101g學習到網(wǎng)絡設備101e恢復運作時,方法700可隨后前進到步驟720。在步驟720處,網(wǎng)絡設備101g可切斷路徑403上針對網(wǎng)絡設備101f發(fā)送的分組的接收。然后,方法700可前進到步驟730,其中網(wǎng)絡設備101g可向網(wǎng)絡設備101e發(fā)送消息。消息可指示路徑402被完全地連接并且分組可以以正常方式被傳輸。隨后,方法700可前進到步驟740。在步驟740處,網(wǎng)絡設備101e可開始重新允許來自路徑402的分組從網(wǎng)絡設備101c進入其輸入端口,并然后繼續(xù)將分組轉(zhuǎn)發(fā)到網(wǎng)絡設備101g。
圖8更詳細地示出了網(wǎng)絡設備(例如,網(wǎng)絡設備101a-p)。網(wǎng)絡設備可包括處理設備802、存儲器804、輸入/輸出(I/O)設備806、以及網(wǎng)絡接口808,這些項中的每項經(jīng)由本地接口(未示出)被通信地耦合。處理設備802可以是用于執(zhí)行特別是存儲在存儲器804中的軟件的硬件設備。處理設備802可以是任意定制或市場上可買到的處理器、中央處理單元(CPU)、若干處理器中的輔助處理器、基于半導體的微處理器(以微芯片或芯片組的形式)、微處理器、或通常用于執(zhí)行軟件指令的任意設備。
網(wǎng)絡接口808可包括傳送輸入和輸出二者的一個或多個設備,例如但不限于:調(diào)制器/解調(diào)器(用于訪問另一設備、系統(tǒng)、或網(wǎng)絡的調(diào)制解調(diào)器)、射頻(RF)收發(fā)器或其他類型的收發(fā)器、電話接口、橋、路由器等。
I/O設備806可包括輸入設備,例如但不限于:鍵盤、鼠標、掃描儀、麥克風等。此外,I/O設備806還可包括輸出設備,例如但不限于:打印機、顯示器等。
本地接口可以是(例如但不限于)一個或多個總線或其他有線或無線連接。本地接口可具有為了簡化起見而被省略的額外元件,例如,控制器、緩沖器(緩存器)、驅(qū)動、中繼器、以及接收器以使能通信。此外,本地接口810可包括地址、控制、和/或數(shù)據(jù)連接以使能上述組件中的適當通信,并提供接口以與網(wǎng)絡控制器(未示出)通信。
在某些實施例中,網(wǎng)絡設備還可被配置耦合于本地接口810的集成存儲設備812。存儲設備812可被配置為緩沖多個數(shù)據(jù)分組。在某些實施例中,存儲設備812可被外部地耦合于內(nèi)容服務器(未示出)。
存儲器804可包括適當?shù)牟僮飨到y(tǒng)(O/S)814。操作系統(tǒng)814本質(zhì)上可控制其他計算機程序的執(zhí)行,例如,調(diào)度、輸入-輸出控制、文件和數(shù)據(jù)管理、存儲器管理、以及通信控制和有關服務。邏輯816可包括可執(zhí)行代碼以向網(wǎng)絡控制器發(fā)送服務請求。
存儲器804可包括易失性存儲器元件(例如,隨機存取存儲器(RAM,例如,DRAM、SRAM、SDRAM等))和非易失性存儲器元件(例如,ROM、硬盤驅(qū)動器、磁帶、CDROM等)中的任意一個或組合。此外,存儲器804可包括電、磁、光、半導體、和/或其他類型的存儲介質(zhì)。注意到的是,存儲器804可具有分布式架構(gòu),其中各個組件彼此位于遠程處,可由處理設備802訪問。
存儲器804中的軟件可包括一個或多個分離的程序,這些程序中的每個包括用于實現(xiàn)邏輯功能的可執(zhí)行指令的有序列表。在圖8所示的實施例中,存儲器804中的軟件可包括操作系統(tǒng)814和邏輯816,如上面所解釋的。邏輯816的功能可使用單一模塊來實現(xiàn),或分布在多個模塊中。
當邏輯816運行時,處理設備802可被配置為執(zhí)行存儲在存儲器804中的邏輯816,以將數(shù)據(jù)傳送到存儲器804并從存儲器804傳送數(shù)據(jù),以及一般地控制邏輯816的操作。邏輯816和O/S 814(整體或部分地,但通常是后者)可由處理設備802讀取,也許被緩沖在處理設備802中然后被執(zhí)行。
網(wǎng)絡控制器可包括適用于使能數(shù)據(jù)分組與網(wǎng)絡環(huán)境100的其他網(wǎng)絡設備818的通信的通信接口(例如,TCP/IP)。例如,通信接口可以是適用于通過IP網(wǎng)絡、同軸電纜網(wǎng)絡、HFC網(wǎng)、和/或無線網(wǎng)絡等通信的類型。
已描述了網(wǎng)絡環(huán)境100的某些實施例的各個組件,由網(wǎng)絡環(huán)境100上所采用的一個或多個網(wǎng)絡設備實現(xiàn)的方法900現(xiàn)在將參考圖9被描述。
方法900可在步驟910處開始,其中至少第一數(shù)據(jù)路徑、第二數(shù)據(jù)路徑以及第一緊急數(shù)據(jù)路徑可被選擇。在上述示例中,第一路徑可由數(shù)據(jù)路徑401表示,第二數(shù)據(jù)路徑可由數(shù)據(jù)路徑402表示,并且緊急數(shù)據(jù)路徑可由在網(wǎng)絡設備101f和網(wǎng)絡設備101g之間穿越的數(shù)據(jù)路徑403表示。這些路徑可由網(wǎng)絡管理員選擇或通過啟發(fā)式編程來確定。
方法900然后可前進到步驟920。在步驟920處,至少第一網(wǎng)絡設備可被委派為緊急網(wǎng)絡設備。在上面的示例中,委派設備對應于網(wǎng)絡設備101f。在某些實施例中,可存在多于一個委派的設備。再次,網(wǎng)絡設備可由網(wǎng)絡管理員委派或通過啟發(fā)式編程來確定。該委派的設備可存儲關于本地存儲器中的緊急數(shù)據(jù)路徑的信息。
在網(wǎng)絡設備(例如,上面示例中的網(wǎng)絡設備101e)發(fā)生故障時,方法900可前進到步驟930。在步驟930處,包括第一數(shù)據(jù)路徑和第二數(shù)據(jù)路徑的多個網(wǎng)絡設備可被通知第二數(shù)據(jù)路徑上的第二網(wǎng)絡設備已發(fā)生故障。這類通知可經(jīng)由ISIS協(xié)議消息傳遞發(fā)生,盡管本公開的實施例適應于其他適當?shù)南鬟f協(xié)議。
在步驟903處的消息傳遞之后,方法900可前進到步驟940。在步驟940處,在緊急網(wǎng)絡設備處接收的網(wǎng)絡分組的副本一有故障通知就可被路由到第一緊急網(wǎng)絡路徑。在故障通知故障安全已被激活之后,第一網(wǎng)絡設備可開始丟棄每個數(shù)據(jù)分組的復制副本。作為方法900的結(jié)果,在第一緊急網(wǎng)絡路徑的實現(xiàn)之后,連接到第一數(shù)據(jù)路徑和第二數(shù)據(jù)路徑的目的地網(wǎng)絡設備將仍接收源自源網(wǎng)絡設備的每個分組的兩個副本。一旦確認發(fā)生故障的網(wǎng)絡設備再次運作,對緊急網(wǎng)絡路徑的使用可被停止。
已描述了網(wǎng)絡環(huán)境100的某些實施例的各個組件,由網(wǎng)絡環(huán)境100上所采用的一個或多個網(wǎng)絡設備實現(xiàn)的方法1000現(xiàn)在將參考圖10被描述。
方法1000可在步驟1010處開始,其中,能夠?qū)?shù)據(jù)分組的流從源網(wǎng)絡設備傳輸?shù)侥康牡鼐W(wǎng)絡設備的多個路徑可被建立。在正常操作中,這可允許數(shù)據(jù)流中的每個分組的至少兩個副本從源網(wǎng)絡設備被傳輸?shù)侥康牡鼐W(wǎng)絡設備。這表示在步驟1020中,其中,數(shù)據(jù)分組的流中的第一數(shù)據(jù)分組可在源網(wǎng)絡設備處被復制,以便數(shù)據(jù)分組的一個副本在多個路徑中的每個路徑上被傳輸。
當多個路徑中的一個路徑上的第一網(wǎng)絡設備的故障被識別時,方法1000可前進到步驟1030。第一網(wǎng)絡設備的故障可由于上述偶發(fā)事件或通過禁止第一網(wǎng)絡設備的正確操作的其他方式而發(fā)生。當?shù)谝痪W(wǎng)絡設備發(fā)生故障時,方法1000可前進到步驟1040,其中,包括多個路徑的每個網(wǎng)絡設備被通知第一網(wǎng)絡設備的故障。
在消息傳遞步驟之后,方法1000可前進到步驟1050。在步驟1050處,數(shù)據(jù)流可在不包括第一網(wǎng)絡設備的路徑上的指定網(wǎng)絡設備處被復制。一旦復制,方法1000就可前進到步驟1060,其中復制的數(shù)據(jù)流被提供給包括第一網(wǎng)絡設備的路徑上的第二網(wǎng)絡設備,其中,目的地設備從包括第一網(wǎng)絡設備的路徑以及包括指定網(wǎng)絡設備的路徑接收數(shù)據(jù)分組的流。
在方法1000的某些實施例中,多個路徑可駐留在預留帶寬網(wǎng)絡上。若是這種情況,則當?shù)谝痪W(wǎng)絡設備從故障狀態(tài)恢復時,方法700中描述的步驟可被實現(xiàn)。
例如,本公開的實施例可被實現(xiàn)為計算機處理(方法)、計算系統(tǒng)、或制品,例如,非暫態(tài)計算機程序產(chǎn)品或計算機可讀介質(zhì)。計算機程序產(chǎn)品可以是由計算機系統(tǒng)可讀并對用于執(zhí)行計算機處理的指令的計算機程序進行編碼的計算機存儲介質(zhì)。計算機程序產(chǎn)品還可以是由計算系統(tǒng)可讀并對用于執(zhí)行計算機處理的指令的計算機程序進行編碼的載波上的傳播信號。因此,本公開可被體現(xiàn)在硬件和/或軟件(包括固件、常駐軟件、微碼等)中。換句話說,本公開的實施例可采取計算機可用或計算機可讀存儲介質(zhì)上的計算機程序產(chǎn)品的形式,該計算機可用或計算機可讀存儲介質(zhì)具有體現(xiàn)在由指令執(zhí)行系統(tǒng)使用的或結(jié)合指令執(zhí)行系統(tǒng)使用的介質(zhì)中的計算機可用或計算機可讀程序代碼。計算機可用或計算機可讀介質(zhì)可以是可包括、存儲、傳送、傳播、或傳輸由指令執(zhí)行系統(tǒng)、裝置或設備使用的或結(jié)合指令執(zhí)行系統(tǒng)、裝置或設備使用的程序的任意介質(zhì)。
計算機可用或計算機可讀介質(zhì)可以是,例如但不限于:電、磁、光、電磁、紅外、或半導體系統(tǒng)、裝置、設備、或傳播介質(zhì)。更具體的計算機可讀介質(zhì)示例(非詳盡列表),計算機可讀介質(zhì)可包括下列項:具有一個或多個電線的電氣連接、便攜式計算機磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM或閃速存儲器)、光纖、以及便攜式光盤只讀存儲器(CD-ROM)。注意到的是計算機可用或計算機可讀介質(zhì)甚至可以是程序打印在其上的紙張或另一適當介質(zhì),這是因為程序可被電子地獲取(例如,經(jīng)由紙張或其他介質(zhì)的光學掃描),然后編譯、解釋、或必要時以適當?shù)姆绞教幚?、以及然后存儲在計算機存儲器中。
例如,本公開的實施例參考根據(jù)本公開的實施例的方法、系統(tǒng)以及計算機程序產(chǎn)品的方框圖和/或操作說明在上面被描述。方框中標注的功能/動作可以以任意流程圖所示的順序之外的順序發(fā)生。例如,被連續(xù)示出的兩個方框?qū)嶋H上可被實質(zhì)上同時執(zhí)行,或方框有時可以以相反的順序被執(zhí)行,這取決于所涉及的功能/動作。
盡管本公開的某些實施例已被描述,其他實施例可存在。此外,盡管本公開的實施例已被描述為與存儲在存儲器或其他存儲介質(zhì)中的數(shù)據(jù)相關聯(lián),但數(shù)據(jù)還可被存儲在其他類型的計算機可讀介質(zhì)上或從其他類型的計算機可讀介質(zhì)讀取,計算機可讀介質(zhì)例如為,輔助存儲設備,像硬盤、軟盤、或CD-ROM、來自互聯(lián)網(wǎng)的載波、或其他形式的RAM或ROM。此外,所公開的方法的階段在不脫離本公開的情況下可以以任意方式被修改,包括通過對于階段進行重新排序和/或插入或刪除階段。
盡管本說明書包括示例,但本公開的范圍由下列權(quán)利要求指示。此外,盡管本說明書已經(jīng)以特定于結(jié)構(gòu)特征和/或方法動作的語言被描述,但權(quán)利要求不被限制于上述特征或動作。相反,上述具體的特征和動作作為本公開的實施例的示例被公開。