專利名稱:用于檢測網(wǎng)絡(luò)故障的系統(tǒng)和方法
背景技術(shù):
計算機網(wǎng)絡(luò)一般包括不同計算機之間的物理互連,以允許對程序和數(shù)據(jù)進行便利的交換。諸如交換機和路由器之類的多個連通性設(shè)備互連每個連接到網(wǎng)絡(luò)的用戶計算機。連通性設(shè)備維護關(guān)于計算機的路由選擇信息,并且執(zhí)行關(guān)于經(jīng)由連通性設(shè)備在計算機之間傳遞的消息流量的路由選擇判決。每個連通性設(shè)備或路由器對應(yīng)于指示其可直接或間接訪問的其他計算機的網(wǎng)絡(luò)路由選擇前綴(前綴)。因此,被從一個計算機路由到另一個計算機的數(shù)據(jù)沿著由兩個計算機之間的路由器限定的經(jīng)過網(wǎng)絡(luò)的路徑前行。以這種方式,網(wǎng)絡(luò)中路由器的聚集限定了連接到網(wǎng)絡(luò)的各種計算機之間的互連的圖。
因此,在圖形表示中,這種網(wǎng)絡(luò)可被設(shè)想為計算機之間的節(jié)點的圖。該圖限定了連接到網(wǎng)絡(luò)的每個計算機之間的一個或多個路徑。因此,路由器限定了網(wǎng)絡(luò)中的節(jié)點,以及在網(wǎng)絡(luò)上的一系列所謂的“跳”中在節(jié)點之間行進的數(shù)據(jù)。由于每個路由器一般連接到多個其他路由器,因此在給定計算機之間可能存在多個可能的路徑。一般來說,路由選擇信息被用于每個路由器中的路由選擇表中,該路由選擇表被用于確定去往目的地計算機或網(wǎng)絡(luò)的路徑。路由器利用路由選擇表作出路由選擇判決,以識別向其發(fā)送數(shù)據(jù)的下一“跳”或下一路由器,以便它最終到達目的地計算機。但是,可能出現(xiàn)網(wǎng)絡(luò)問題,使得路由器和路由器之間的傳輸路徑不可工作。這種故障在實際上消除了由網(wǎng)絡(luò)限定的圖中的節(jié)點或跳(這種故障本應(yīng)當(dāng)由控制平面檢測到),因此干擾了本該通過受影響路徑路由的數(shù)據(jù)流量。
發(fā)明內(nèi)容
在典型的計算機網(wǎng)絡(luò)中,可能發(fā)生阻止或延遲從一個節(jié)點到另一節(jié)點的傳輸?shù)墓收?。這種故障可能在路由器本身處,例如不正常工作的端口或轉(zhuǎn)發(fā)引擎,或者可以發(fā)生在去往下一跳的傳輸線路中,例如物理中斷或線路缺口。傳輸線路故障一般可通過內(nèi)部網(wǎng)關(guān)(路由選擇)協(xié)議(IGP)來識別和繞過。但是,IGP卻無法識別轉(zhuǎn)發(fā)問題。因此,傳統(tǒng)的方法通過手工地“查驗(ping)”遠程節(jié)點以識別可能發(fā)生問題的區(qū)域,來逼近這種事故。如本領(lǐng)域所知的,這種“查驗”或者連通性檢查包括發(fā)送請求確認(rèn)的簡單消息到遠程節(jié)點。如果接收到確認(rèn)(ack),則認(rèn)為遠程節(jié)點和中間的路徑可工作。但是,這種傳統(tǒng)的方法卻有若干個缺陷??赡艽嬖谌ネ弧安轵灐钡墓?jié)點的多個路徑,并且中間節(jié)點可能繞開故障路由查驗和相應(yīng)的ack。此外,否定結(jié)果僅僅是未接收到ack;而沒有提供關(guān)于故障發(fā)生在何處以及為何發(fā)生的更多信息,或者關(guān)于故障是否將自己更正自身的更多信息,例如在傳輸線路故障的情形下就是如此。
本發(fā)明的配置部分地基于以下觀察到的事實傳統(tǒng)的網(wǎng)絡(luò)診斷和故障排查機制一般識別不可達的目的地,但不識別問題的位置,例如斷開的連接或發(fā)生故障的路由器。傳統(tǒng)路由器的特定缺點在支持關(guān)于虛擬專用網(wǎng)(VPN)的因特網(wǎng)RFC 2547bis的設(shè)備中尤其明顯。通常,這種影響沿著下一跳的數(shù)據(jù)傳輸?shù)乃^“轉(zhuǎn)發(fā)/數(shù)據(jù)平面”問題在“控制平面”或者說判定路由選擇路徑的功能處是不明顯的。因此,控制平面判決可能基于轉(zhuǎn)發(fā)平面關(guān)于網(wǎng)絡(luò)的不準(zhǔn)確視圖繼續(xù)通過已廢止的路徑進行路由,而此時路由器或者使不可轉(zhuǎn)發(fā)的分組排隊,或者甚至丟棄不可轉(zhuǎn)發(fā)的分組。后者有時被稱為分組的“黑洞效應(yīng)(black holing)”,導(dǎo)致為了避免丟失數(shù)據(jù)而依賴于應(yīng)用冗余性和重傳機制,這兩者都負(fù)面地影響著吞吐量。
換言之,轉(zhuǎn)發(fā)平面級別的問題或故障可能要到認(rèn)識到丟失分組的積累擁堵或丟失分組變得顯著時才會變得明顯。直到有了這種認(rèn)識并且操作者隨后進行手工干預(yù),控制平面判決才不會繼續(xù)沿著不可工作的路徑進行路由。因此,開發(fā)出這樣一種路徑驗證機制將會是有益的,該機制可以探測特定路由選擇路徑,并且不僅識別端到端故障,比如常見的“查驗”消息,還通過發(fā)送命令并接收指示對增長點(incremental point)來說可見的其他節(jié)點的響應(yīng)來識別增長點或者說節(jié)點處的故障。以這種方式,一系列路徑驗證消息可識別發(fā)生這種轉(zhuǎn)發(fā)平面問題的增長點,例如節(jié)點或路徑,并且可能推翻數(shù)據(jù)平面路由選擇判決,以便沿著繞開識別出的問題的替換路由選擇路徑前行。
因此,本發(fā)明的配置通過提供一種枚舉發(fā)送到沿可疑路徑的一組節(jié)點或路由器的一系列消息的路徑驗證協(xié)議(PVP),基本上克服了傳統(tǒng)的網(wǎng)絡(luò)故障檢測和故障排查的缺點。這些消息包括這樣一個命令,該命令請求詢問另一遠程節(jié)點,以便獲得關(guān)于接收PVP消息的節(jié)點和另一遠程節(jié)點之間的路徑的信息。接收PVP消息的節(jié)點(第一節(jié)點)利用指示嘗試達到另一遠程節(jié)點(第二節(jié)點)的結(jié)果的命令響應(yīng)作為答復(fù)。在特定的傳統(tǒng)設(shè)備中,例如根據(jù)RFC 2547bis的設(shè)備中,某些客戶裝備(CE)邊緣路由器不具有核心(即中間公共網(wǎng)絡(luò))內(nèi)的可見性,因此依賴于另一節(jié)點例如提供商裝備(PE)節(jié)點來執(zhí)行這種驗證。該系列消息總體上覆蓋了沿著從發(fā)源者到接收者的路徑的一組重要的預(yù)定路由選擇點。路徑驗證處理器分析對該系列PVP消息的聚集命令響應(yīng),以嘗試不僅識別整個路徑是否可工作,并且還嘗試識別問題的位置和性質(zhì)(端口、卡、傳輸線路等等)。以這種方式,下文進一步討論的路徑驗證機制限定了用于從網(wǎng)絡(luò)設(shè)備(如路由器)中的路徑驗證處理器枚舉一組消息并且分析來自對路徑驗證消息作出響應(yīng)的一組節(jié)點的命令響應(yīng)以便定位故障的路徑驗證協(xié)議(PVP)。
在典型網(wǎng)絡(luò)中,如上所述,數(shù)據(jù)采取消息的形式,消息在從源到目的地的一系列跳中在網(wǎng)絡(luò)設(shè)備(例如路由器)之間傳播。在適合用于這里討論的方法和設(shè)備的示例性網(wǎng)絡(luò)中,虛擬專用網(wǎng)(VPN)利用VPN服務(wù)互連兩個或更多個本地網(wǎng)絡(luò)(例如LAN),所述VPN服務(wù)可操作來向子網(wǎng)之間的網(wǎng)絡(luò)流量提供安全性,以便每個子LAN的節(jié)點可與作為同一VPN的成員的其他子LAN的節(jié)點通信。在典型的VPN布置中,特定子網(wǎng)可以是具有分別有一個實質(zhì)性的子網(wǎng)的多個不同站內(nèi)的大型商業(yè)企業(yè)(例如銀行、零售商店或大公司)的個體站點。這種環(huán)境中的傳統(tǒng)VPN十分適合于向子網(wǎng)之間的通信提供透明保護。
在典型的VPN中,每個子網(wǎng)具有一個或多個網(wǎng)關(guān)節(jié)點,或者說客戶裝備(CE)路由器,離開以去往其他子網(wǎng)或從其他子網(wǎng)進入的流量經(jīng)過這些網(wǎng)關(guān)節(jié)點。網(wǎng)關(guān)節(jié)點連接到核心網(wǎng)絡(luò)邊緣處的可操作來提供去往VPN中的其他子網(wǎng)的傳輸?shù)木W(wǎng)絡(luò)提供商路由器,或者說提供商裝備(PE)。CE和PE路由器有時被稱為“邊緣”路由器,因為它們接近客戶網(wǎng)絡(luò)或提供商網(wǎng)絡(luò)的邊緣。核心網(wǎng)絡(luò)可以是諸如因特網(wǎng)這樣的公共接入網(wǎng)絡(luò)、物理上分離的內(nèi)聯(lián)網(wǎng)或者其他互連,它提供去往遠程PE路由器的傳輸。遠程PE路由器耦合到代表遠程子網(wǎng)或LAN(其是VPN的一部分)的入口的遠程CE路由器。遠程CE路由器在遠程VPN(LAN)子網(wǎng)內(nèi)將消息流量繼續(xù)轉(zhuǎn)發(fā)到的目的地。
在這種VPN布置中,VPN源或者說發(fā)源者和VPN目的地或者說接收者之間特定的端到端路徑代表多個網(wǎng)段。每個網(wǎng)段是沿著路徑的某些節(jié)點之間的一個或多個跳的集合。多個網(wǎng)段代表一個路徑,并且包括從本地CE路由器到核心網(wǎng)絡(luò)的本地CE網(wǎng)段,核心網(wǎng)絡(luò)的PE路由器之間的核心網(wǎng)段,以及從遠程PE路由器到遠程CE路由器的遠程CE網(wǎng)段,下文將對此進行進一步討論。也可以定義其他網(wǎng)段。
具體而言,在操作的一個級別,這里討論的配置執(zhí)行一種用于通過以下步驟來定位網(wǎng)絡(luò)故障的方法根據(jù)診斷協(xié)議發(fā)送多個路徑驗證消息到多個預(yù)定的網(wǎng)絡(luò)點(即節(jié)點),并且接收來自這些節(jié)點的與發(fā)送的路徑驗證消息相對應(yīng)的命令響應(yīng),其中響應(yīng)包括根據(jù)診斷協(xié)議的測試結(jié)果。該方法跟蹤響應(yīng)于沿著從源到目的地的特定路徑發(fā)送的多個路徑驗證消息中的每一個而接收的命令響應(yīng),并且基于接收到來自預(yù)定網(wǎng)絡(luò)點的響應(yīng),斷定或計算一個路由選擇判決,該路由選擇判決包括網(wǎng)絡(luò)中消息流量的可能的替換路由選擇路徑。因此,命令響應(yīng)允許了發(fā)起路徑驗證消息的路由器或交換機基于在響應(yīng)中接收的測試結(jié)果,確定是否在網(wǎng)絡(luò)中重路由流量,以及如果是,則基于接收和未接收到來自特定網(wǎng)絡(luò)點的響應(yīng),定位替換路徑。
更詳細(xì)地說,本發(fā)明的配置通過以下步驟執(zhí)行網(wǎng)絡(luò)故障識別周期性地發(fā)送診斷消息到沿著去往目的地的路徑的多個預(yù)定的路由選擇點,并且如果診斷消息指示沿著路徑的中間節(jié)點存在問題,則發(fā)送一系列路徑驗證消息,其中每個路徑驗證消息包括一個命令,該命令可操作來引導(dǎo)中間節(jié)點(第一節(jié)點)發(fā)送另一消息到路徑中的后繼中間節(jié)點(第二節(jié)點),接收來自另一消息的結(jié)果,并且將結(jié)果作為命令響應(yīng)進行報告,從而使得結(jié)果指示從第一節(jié)點到后繼(第二)中間節(jié)點的可達性。該方法根據(jù)預(yù)定的跳(即“重要”路由選擇點)以系統(tǒng)的方式重復(fù)發(fā)送路徑驗證消息到指示或報告問題的節(jié)點的沿著所述路徑的后繼節(jié)點。該方法分析接收到的來自后繼路徑驗證消息的命令響應(yīng)以識別問題或故障,并且因此基于分析確定替換路徑,以繞過被識別為所指示問題的源的中間節(jié)點。
發(fā)送路徑驗證消息還包括1)根據(jù)診斷協(xié)議發(fā)送一組路徑驗證消息到多個預(yù)定的網(wǎng)絡(luò)點,2)接收與發(fā)送的路徑驗證消息相對應(yīng)的命令響應(yīng),其中命令響應(yīng)包括根據(jù)診斷協(xié)議的測試結(jié)果;以及3)跟蹤從沿著從源到目的地的路徑發(fā)送的多個路徑驗證消息中的每一個接收的命令響應(yīng),其中跟蹤還包括識別響應(yīng)所源自的網(wǎng)段。
分析接收到的命令響應(yīng)包括分析路徑驗證消息,以識別命令響應(yīng)指示有問題的第一中間節(jié)點和對診斷消息的命令響應(yīng)指示正常操作的前面的中間節(jié)點。如上所述,中間節(jié)點表示網(wǎng)絡(luò)中的網(wǎng)段,其中網(wǎng)段還包括客戶設(shè)備和核心網(wǎng)絡(luò)之間的本地網(wǎng)段,代表多個提供商設(shè)備的核心網(wǎng)段,以及核心網(wǎng)絡(luò)和目的地之間的遠程網(wǎng)段。分析還包括識別接收和未接收,其中接收包括從發(fā)送消息的預(yù)定網(wǎng)絡(luò)點起的可訪問路徑的指示,未接收根據(jù)診斷邏輯指示調(diào)解故障。分析可以識別指示無法沿假定的所選路徑傳播消息的轉(zhuǎn)發(fā)平面差錯,從而使得確定替換路徑包括改變與假定可工作路徑相對應(yīng)的控制平面路由選擇判決。
在特定布置中,該方法基于網(wǎng)絡(luò)故障的位置和性質(zhì),識別在該處更改流量以重路由流量使之繞開故障的網(wǎng)絡(luò)點。這種點是中間網(wǎng)絡(luò)節(jié)點,并且識別中間節(jié)點還對應(yīng)于識別與測試發(fā)起者和目的地之間的網(wǎng)絡(luò)跳相對應(yīng)的網(wǎng)絡(luò)前綴。
這里公開的配置通過以下步驟解決核心網(wǎng)絡(luò)中的故障發(fā)送第一路徑驗證消息,識別沒有接收到來自核心網(wǎng)絡(luò)中間路由器的與第一路徑驗證消息相對應(yīng)的命令響應(yīng),以及等待預(yù)定的閾值,其中該預(yù)定閾值對應(yīng)于一個收斂時間,該收斂時間適合于允許自動路由選擇表更新以補償不穩(wěn)定的路由。該方法隨后發(fā)送第二路徑驗證消息,其中接收到對第二路徑驗證消息的命令響應(yīng)指示繞開不穩(wěn)定路由的路由選擇表改變,從而將所謂的核心網(wǎng)絡(luò)的收斂屬性用于重路由以利用冗余路徑繞開故障。
發(fā)送診斷消息包括識別與具有實質(zhì)性的邏輯路由選擇價值的網(wǎng)絡(luò)路由選擇點相對應(yīng)的重要前綴,以及發(fā)送針對重要前綴的診斷消息。在重要前綴中,該方法還可選地確定活動前綴,其中活動前綴指示在前一閾值定時窗口期間的實質(zhì)量的路由選擇流量。這種實質(zhì)量的路由選擇流量負(fù)載是基于所傳輸?shù)念A(yù)定最小量字節(jié)的,并且重要路徑對應(yīng)于若干個可用的替換路由選擇路徑,例如可能的瓶頸和周期性的突發(fā)門戶。此外,該方法基于驅(qū)動覆蓋端到端路徑檢查的一組消息的可抖動且可配置的定時器來交錯診斷消息,從而避免PE路由器本身接收到診斷消息突發(fā)。
在示例性的布置中,路徑驗證消息是根據(jù)預(yù)定協(xié)議的探測消息。探測消息包括出于確認(rèn)特定路徑的可用性或交換的目的而發(fā)送的消息和分組,而不是對數(shù)據(jù)有效載荷的傳輸。這里所使用的探測消息包括用于指定測試結(jié)果的測試指示符和用于指示所關(guān)注的節(jié)點的目的地指示符,并且斷定還包括根據(jù)預(yù)定協(xié)議應(yīng)用診斷邏輯。該協(xié)議的診斷邏輯實現(xiàn)了指示或確定特定類型的故障(例如發(fā)生故障的轉(zhuǎn)發(fā)引擎和災(zāi)難性的節(jié)點故障)的規(guī)則或狀況。
本發(fā)明的替換配置包括多重編程或多重處理的計算機化設(shè)備,例如工作站、手持式計算機或膝上型計算機,或者專用計算設(shè)備等等,其被配置以軟件和/或電路(例如上面概括的處理器)以便處理這里作為本發(fā)明實施例公開的任何一種或全部方法操作。本發(fā)明的其他實施例包括軟件程序,例如Java虛擬機和/或操作系統(tǒng),其可單獨工作、或者彼此結(jié)合工作、或者與多重處理計算機化設(shè)備相聯(lián)合地工作,以執(zhí)行上面概括的或在下面詳細(xì)公開的方法實施例步驟和操作。一個這種實施例包括具有計算機可讀介質(zhì)的計算機程序產(chǎn)品,該計算機可讀介質(zhì)包括編碼在其上的計算機程序邏輯,該計算機程序邏輯當(dāng)在具有存儲器和處理器的耦合的多重處理計算機化設(shè)備中被執(zhí)行時,將處理器編程為執(zhí)行這里作為本發(fā)明實施例公開的操作,以進行數(shù)據(jù)訪問請求。本發(fā)明的這種布置一般是以布置或編碼在計算機可讀介質(zhì)(所述計算機可讀介質(zhì)例如是光介質(zhì)(例如CD-ROM)、軟盤或硬盤,或其他介質(zhì))上的軟件、代碼和/或其他數(shù)據(jù)(例如數(shù)據(jù)結(jié)構(gòu))、例如一個或多個ROM或RAM或PROM芯片或現(xiàn)場可編程門陣列(FPGA)中的固件或微代碼,或者專用集成電路(ASIC)的形式提供的。軟件或固件或其他這種配置可被安裝在計算機化設(shè)備上(例如在用于執(zhí)行環(huán)境的操作系統(tǒng)的安裝期間),以使計算機化設(shè)備執(zhí)行這里作為本發(fā)明實施例說明的技術(shù)。
本發(fā)明的前述和其他目的、特征和優(yōu)點將從以下對附圖中示出的本發(fā)明的優(yōu)選實施例的更具體描述中顯現(xiàn)出來,在附圖中類似的標(biāo)號在不同圖中指代相同的部件。附圖不一定是按比例繪制的,相反重點在于圖示本發(fā)明的原理。
圖1是可用于本發(fā)明的包括經(jīng)由多個提供商裝備設(shè)備(路由器)限定路徑的網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)通信環(huán)境的上下文圖;圖2是在圖1的網(wǎng)絡(luò)中使用路徑驗證機制的流程圖;圖3是圖1的示例性網(wǎng)絡(luò)中的路徑驗證設(shè)備的框圖;以及圖4-7是在圖4的網(wǎng)絡(luò)中利用圖3的路徑驗證設(shè)備的路徑驗證機制的操作的流程圖。
具體實施例方式
本發(fā)明的配置部分基于以下事實即傳統(tǒng)的網(wǎng)絡(luò)診斷和故障排查機制一般識別不可達目的地,但不識別問題的位置,例如斷開的連接或發(fā)生故障的路由器。通常,這種影響去往后繼的下一跳的數(shù)據(jù)傳輸?shù)乃^“轉(zhuǎn)發(fā)平面”問題在“控制平面”級別或者說判定路由選擇路徑的功能(即路由選擇邏輯)處是不明顯的。因此,控制平面判決可能繼續(xù)通過轉(zhuǎn)發(fā)平面處已廢止的路徑進行路由,而此時路由器或者使不可轉(zhuǎn)發(fā)的分組排隊,或者甚至丟棄不可轉(zhuǎn)發(fā)的分組。后者有時被稱為分組的“黑洞效應(yīng)”,導(dǎo)致為了避免丟失數(shù)據(jù)而依賴于應(yīng)用冗余性和重傳機制,這兩者都負(fù)面地影響著吞吐量。
換言之,轉(zhuǎn)發(fā)平面級別的問題或故障可能要到認(rèn)識到丟失分組的積累擁堵或丟失分組變得顯著時才會變得明顯,而在控制平面級別則永遠不會明顯。直到有了這種認(rèn)識并且操作者隨后進行手工干預(yù),控制平面判決才不會繼續(xù)沿著不可工作的路徑進行路由。下面將進一步討論的是一種路徑驗證機制,該機制可操作來探測特定路由選擇路徑,并且不僅識別端到端故障,比如常見的“查驗”消息,還通過發(fā)送命令并接收指示對增長點來說可見的其他節(jié)點的響應(yīng)來識別增長點或者說節(jié)點處的故障。以這種方式,一系列路徑驗證消息可識別發(fā)生這種轉(zhuǎn)發(fā)平面問題的位置,并且推翻來自路由選擇邏輯的數(shù)據(jù)平面路由選擇判決,以便沿著繞開識別出的問題的替換路由選擇路徑前行。
這里更詳細(xì)描述的路徑驗證機制使用了一種路徑驗證協(xié)議,該協(xié)議可操作來根據(jù)協(xié)議發(fā)送路徑驗證消息,以便嘗試診斷和識別網(wǎng)絡(luò)故障的位置。因此,路徑驗證設(shè)備,例如具有這里公開的路徑驗證處理器的數(shù)據(jù)通信設(shè)備(即路由器)可操作來利用路徑驗證協(xié)議執(zhí)行路徑驗證。
因此,這里公開的系統(tǒng)包括在路由器中運行或執(zhí)行的路徑驗證處理器,其具有用于執(zhí)行這里詳細(xì)公開的用于定位有缺陷網(wǎng)絡(luò)互連的方法,包括識別從數(shù)據(jù)通信設(shè)備到遠程網(wǎng)絡(luò)目的地的路徑,其中該路徑還包括多個網(wǎng)段,其中每個網(wǎng)段由若干個跳界定。路徑驗證處理器通過識別去往目的地的路徑所限定的網(wǎng)段順序,并且反復(fù)地發(fā)送探測到沿著有序路徑的相繼的每一跳,來識別故障點。如果針對特定的跳的探測響應(yīng)返回,則路徑驗證處理器斷定該路徑直到與返回的探測相對應(yīng)的跳都無阻塞,而如果對于特定探測未接收到探測響應(yīng),則斷定在與該特定探測相對應(yīng)的跳和前一跳之間存在阻塞。路徑驗證處理器隨后基于與斷定的阻塞相對應(yīng)的跳和/或先前的跳識別替換路徑,并且基于識別出的替換路徑確定是否將消息流量引導(dǎo)到識別出的替換路徑。
因此,本發(fā)明的配置通過提供一種枚舉發(fā)送到沿可疑路徑的一組節(jié)點或路由器的一系列消息的路徑驗證協(xié)議(PVP),基本上克服了傳統(tǒng)的網(wǎng)絡(luò)故障檢測和故障排查(例如查驗)的缺點。這些消息包括這樣一個命令,該命令請求詢問另一遠程節(jié)點,以便獲得關(guān)于接收PVP消息的節(jié)點和另一遠程節(jié)點之間的路徑的信息。接收PVP消息的節(jié)點利用指示嘗試達到另一遠程節(jié)點的結(jié)果的命令響應(yīng)作為答復(fù)。該系列消息總體上覆蓋了沿著從發(fā)源者到接收者的路徑的一組重要路由選擇點。對該系列PVP消息的聚集命令響應(yīng)被分析,以不僅識別整個路徑是否可工作,并且還嘗試定位故障(端口、卡、交換架構(gòu)等等)。以這種方式,路徑驗證機制限定了用于從網(wǎng)絡(luò)設(shè)備(如路由器)中的路徑驗證處理器枚舉一組消息并且分析來自對路徑驗證消息作出響應(yīng)的一組節(jié)點的命令響應(yīng)以便定位故障的路徑驗證協(xié)議(PVP)。
圖1是可用于本發(fā)明的包括限定路徑的網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)通信環(huán)境的上下文圖。參考圖1,網(wǎng)絡(luò)通信環(huán)境100包括互連多個本地用戶114-1...114-3(總稱為114)的本地VPN LAN子集110。本地LAN 110連接到網(wǎng)關(guān)客戶裝備CE路由器120,該網(wǎng)關(guān)客戶裝備CE路由器120耦合到一臺或多臺提供商裝備設(shè)備130-1和130-2(總稱為130)。如下文將更詳細(xì)討論的,知曉多個PE路由器130-1和130-2的CE路由器120可基于這里討論的考慮因素執(zhí)行關(guān)于是否經(jīng)由路由器130-1或130-2來路由流量的路由選擇判決,所述考慮因素一般是位于核心網(wǎng)絡(luò)140邊緣的另一路由器。CE路由器120或初始路徑驗證設(shè)備包括可操作以用于典型的控制平面路由選擇判決的路由選擇邏輯122、可操作來定位故障并補充路由選擇判決的路徑驗證處理器124以及用于轉(zhuǎn)發(fā)和接收網(wǎng)絡(luò)流量的網(wǎng)絡(luò)接口126。交換架構(gòu)128可對路由選擇邏輯122作出響應(yīng),用于經(jīng)由設(shè)備上的物理端口(未具體示出)實現(xiàn)交換判決。核心網(wǎng)絡(luò)140包括多個核心節(jié)點142-1...142-2(總稱為142),例如各種路由器、集線器、交換機和其他連通性設(shè)備,它們互連由提供商服務(wù)的其他用戶。遠程提供商裝備設(shè)備132(即遠程PE路由器)耦合到為比如VPN LAN 112這樣的遠程VPN子網(wǎng)服務(wù)的遠程客戶裝備路由器122。遠程VPN LAN 112就像其對應(yīng)子網(wǎng)110那樣為多個遠程用戶116-1...116-3(總稱為116)服務(wù)。
這里討論的配置中實現(xiàn)的原理可由圖1來概括,并且在下面參考圖3和圖4-7的流程圖更詳細(xì)討論。本地CE路由器120將從本地LAN 110上的用戶114發(fā)送來的分組路由到提供商裝備路由器130,該提供商裝備路由器130表示進入核心網(wǎng)絡(luò)140的入口。PE路由器130-1和130-2可通過核心網(wǎng)絡(luò)140分別經(jīng)由特定路徑146-1或146-2將分組轉(zhuǎn)發(fā)向其預(yù)期目的地。為了說明方便,假設(shè)PE1例如通過調(diào)用PE1 130-1作為進入核心網(wǎng)絡(luò)140的入口來將分組114轉(zhuǎn)發(fā)到節(jié)點142-1。
如果例如在節(jié)點142-1處發(fā)生問題,則CE路由器120上的路徑驗證處理器124調(diào)用PE路由器130來經(jīng)由一組周期性診斷消息150識別問題,并且PE路由器130經(jīng)由一組路徑驗證消息152定位問題,兩者都將在下文進一步討論。因此,CE路由器120上的路徑驗證處理器124引導(dǎo)路由選擇邏輯122經(jīng)由PE2路由器130-2路由分組144。如上所述,控制平面和轉(zhuǎn)發(fā)平面操作之間的差異由路徑驗證處理器124來有效地銜接。傳統(tǒng)的路由選擇邏輯為特定分組識別優(yōu)選路由。在轉(zhuǎn)發(fā)平面級別的問題在路由選擇邏輯計算優(yōu)選路由的控制平面可能是不明顯的。因此,在上述示例中,PE路由器130-1處的傳統(tǒng)的路由選擇邏輯繼續(xù)使用路由146-1,而不知曉節(jié)點142-1的問題。CE路由器120上的使用這里討論的路徑驗證協(xié)議的路徑驗證處理器124經(jīng)由PE路由器130-2識別去往核心網(wǎng)絡(luò)140的使用路徑146-2上的節(jié)點142-2而不是已廢止節(jié)點142-1的替換路徑,并且推翻路由選擇邏輯否則會使用的優(yōu)選路由判決。注意實現(xiàn)路徑驗證處理器124執(zhí)行的操作的軟件、硬件和/或固件可分布在PE和CE設(shè)備130和132上,并且為了簡單在CE路由器120中被放大示出。PE和CE設(shè)備(路由器)中的每一個可被實現(xiàn)以一個路徑驗證處理器,或者可對路徑驗證處理器124作出響應(yīng)的其他機制以及因而實現(xiàn)的方法。由于經(jīng)由130-2的替換路徑使路徑142-2至146-2從PE2延伸通過核心網(wǎng)絡(luò)140。因此,CE1可執(zhí)行路由選擇判決以將其流量從PE1切換到PE2,在所示出的示例性實施例中,這有效地繞過了核心中的節(jié)點142-1,而改為選擇節(jié)點142-2。應(yīng)當(dāng)注意,這種路由選擇判決應(yīng)用來自網(wǎng)絡(luò)的路徑信息,例如其中路徑146-1和146-2是分離的,只有146-1依賴于節(jié)點142-1。
圖2是在圖1的網(wǎng)絡(luò)中使用路徑驗證機制的示例性客戶裝備設(shè)備(例如路由器120)的流程圖。參考圖1和圖2,路由器120基于最近傳送的流量從重要路由中識別活動路由,如步驟200所示?;顒勇酚墒钱?dāng)前傳送實質(zhì)量的流量的路徑或交換選項,這可以根據(jù)觀察交換架構(gòu)的活動、嗅探或其他掃描機制來確定。路徑驗證處理器124為每個識別出的活動路由確定是否存在無阻塞的網(wǎng)絡(luò)路徑,如步驟201所示。路徑驗證處理器124可執(zhí)行所謂的“查驗”或其他機制,以確定每個活動路由的可用性。應(yīng)當(dāng)注意,活動路由是由負(fù)責(zé)沿活動路徑的消息吞吐量的特定設(shè)備或路由器來表示的,并且在確定是否存在問題時是決定性的。這些路由器一般由指示它們所服務(wù)的IP地址的前綴來指定,這里本領(lǐng)域的技術(shù)人員已知的。
因此,路徑驗證處理器124首先為每個活動路由發(fā)送一個診斷消息150,例如“查驗”或其他查詢消息,以確定是否存在可能的阻塞,如步驟202所示。路徑驗證處理器124執(zhí)行檢查,以確定是否接收到指示非響應(yīng)節(jié)點的否定回復(fù),如步驟203所示。如果未從活動路由(即與活動路由相對應(yīng)的路由器)接收到否定回復(fù),則控制傳遞到步驟204,以期待下一診斷間隔。
在如步驟202-204中所公開的向每個活動路由發(fā)送周期性診斷消息之后,對于路徑驗證處理器124未接收到對其的響應(yīng)的每個前綴,即活動路由,路徑驗證處理器124發(fā)送多個路徑驗證消息152到故障路徑中當(dāng)前使用的下一跳設(shè)備,如步驟205所示。路徑驗證消息152是以預(yù)定的順序或模式發(fā)送到已被發(fā)現(xiàn)了問題的路徑中的前綴(路由器)的。作為對路徑驗證消息152的響應(yīng),路徑驗證處理器124接收到與發(fā)送的路徑驗證消息相對應(yīng)的命令響應(yīng)154,其中命令響應(yīng)154包括根據(jù)診斷協(xié)議的測試結(jié)果,如步驟206所示。在步驟207,執(zhí)行檢查以確定是否有更多命令響應(yīng)154要取得,并且控制相應(yīng)地回到步驟206。注意,未接收到命令響應(yīng)154也被視為否定響應(yīng),下文將更詳細(xì)討論這一點。路徑驗證處理器124跟蹤從發(fā)送到本地PE路由器的多個路徑驗證消息152中每一個接收到的一組命令響應(yīng)154,如步驟208所示,并且基于從本地PE路由器接收到響應(yīng)154,斷定網(wǎng)絡(luò)100中消息流量144的替換路由選擇路徑,如步驟209所示。因此,從CE路由器120發(fā)送的該組路徑驗證消息152引發(fā)一組命令響應(yīng)154,每個命令響應(yīng)指示路徑驗證信息。典型的路徑驗證信息例如是關(guān)于路由器是否能夠與端到端網(wǎng)絡(luò)的特定網(wǎng)段通信的指示。整個這組命令響應(yīng)154指示哪些網(wǎng)段正確工作,因此使故障的發(fā)生本地化,現(xiàn)在將更詳細(xì)討論這一點。
圖3是圖1的示例性網(wǎng)絡(luò)的CE路由器120中的路徑驗證處理器124的框圖。參考圖3,網(wǎng)絡(luò)100包括客戶裝備120-11..120-13(總稱為120),提供商裝備130-11、130-12和132-11,以及中間節(jié)點142-11..142-15(總稱為142)。通過網(wǎng)絡(luò)100的路徑可被細(xì)分為網(wǎng)段160,這些網(wǎng)段由客戶裝備120和提供商裝備130、132定界,并且由點線168示出。本地VPN網(wǎng)段162包括從本地VPN 110到提供商裝備130-11和130-12的路徑。
核心網(wǎng)段164包括去往遠程提供商裝備132-11設(shè)備的核心網(wǎng)絡(luò)140,遠程VPN網(wǎng)段166覆蓋從遠程PE路由器132-11到遠程VPN 112的路徑。另外的多個主機S1、S2和S3位于遠程VPN LAN子網(wǎng)112內(nèi),例如本地LAN服務(wù)器節(jié)點,下文將對其進行更詳細(xì)討論。
在特定配置中,路徑驗證處理器124利用PE節(jié)點130使用路徑驗證協(xié)議(PVP),以通知CE節(jié)點120路徑可用性,以識別發(fā)生故障的網(wǎng)段160。由于對核心網(wǎng)段164的路由選擇控制可能是有限的,因此CE路由器120進行的路由選擇判決的有效性可能是有限的。但是,在本地網(wǎng)段162中,可能有多個PE路由器130-11、130-12用于接入到核心網(wǎng)絡(luò)164中。此外,這些PE路由器130-11、130-12可連接到核心網(wǎng)絡(luò)140中的不同節(jié)點142,例如分別連接到142-11和142-14。因此,使用不同的提供商裝備路由器130的路由選擇判決可有效地繞過了核心網(wǎng)絡(luò)140中的故障。類似地,多個CE路由器120可為特定的子網(wǎng)VPN服務(wù)。在所示的示例中,遠程VPN LAN 112耦合到CE路由器120-12和120-13(CE2和CE3)。因此,如果132-11(PE3)上的路徑驗證處理器124識別出CE2或CE3的問題,則它可使用其他CE路由器來從提供商裝備132接入遠程子網(wǎng)112。
又例如,繼續(xù)參考圖3,從VPN子網(wǎng)110到VPN子網(wǎng)112的優(yōu)選路由包括節(jié)點PE1、142-11、142-12、142-13,在PE3處離開提供商網(wǎng)絡(luò)并在CE2處進入遠程VPN子網(wǎng)112。進一步假設(shè)在節(jié)點142-11發(fā)生轉(zhuǎn)發(fā)平面路由選擇差錯。因此,120-11(CE1)上的路徑驗證處理器124經(jīng)由周期性診斷消息(下文進一步討論)識別存在問題,并且調(diào)用路徑驗證協(xié)議如下。根據(jù)CE1的請求,PE1上的路徑驗證處理器124發(fā)送路徑驗證(PVP)消息152到路由器PE3,該消息實際上詢問“你能看見子網(wǎng)112嗎?”PE3可能接收到該PVP消息,也可能未接收到。如果它接收到,則PE3發(fā)送另一個PVP消息以測試去往子網(wǎng)112的遠程網(wǎng)段166,并且確認(rèn)連續(xù)性。因此,PE3將命令響應(yīng)154發(fā)送回PE1,指示從PE3到CE2的網(wǎng)段166正確工作。然而,如果在PE3和CE2之間檢測到問題,則PE3上的路徑驗證處理器124可使用CE3,作為進入VPN子網(wǎng)112的重路由判決。如果接收到指示網(wǎng)段164和166完好(例如在這種情況下是節(jié)點142-11沒有問題)的肯定響應(yīng),則CE1上的路徑驗證處理器124可推斷問題出在節(jié)點130-11。
如果PE1上的路徑驗證處理器124在設(shè)置的時間內(nèi)未接收到對它發(fā)送到PE3的PVP消息的響應(yīng),則它將假設(shè)在其自身和PE3之間存在問題,因此通過核心網(wǎng)段164中的節(jié)點142前進,最終嘗試詢問節(jié)點142-11。PE1上的路徑驗證處理器124發(fā)送PVP消息152到節(jié)點142-11。由于PE1可工作,并且它從節(jié)點142-11接收到對其PVP消息的肯定響應(yīng),因此它可推斷問題出在節(jié)點142-11和142-12之間,并且PE1發(fā)送命令響應(yīng)154到CE1 120-11,指示核心數(shù)據(jù)平面故障為故障源,而不是正常的收斂事件。因此,路由器CE1處的路徑驗證處理器124分析返回的命令響應(yīng)154,并且確定不應(yīng)當(dāng)使用PE1路由器130-11。此外,路徑驗證處理器124識別出路由器PE2 130-12為進入核心網(wǎng)絡(luò)140的替換入口,它也提供了去往PE3的路徑。因此,CE1上的路徑驗證處理器124實現(xiàn)路由選擇判決,以推翻路由選擇邏輯122,以經(jīng)由提供商裝備路由器130-12(PE2)發(fā)送流量到核心網(wǎng)絡(luò)140。
圖4-7是在圖3的網(wǎng)絡(luò)中利用圖1的路徑驗證設(shè)備(即路由器)120的路徑驗證機制的操作的流程圖。參考圖1和圖3-7,這里公開的使用路徑驗證處理器124識別網(wǎng)絡(luò)故障的方法包括周期性地發(fā)送診斷消息150到多個預(yù)定的路由選擇點,例如目的地116,如步驟300所示。路徑驗證處理器124為了識別中間節(jié)點,識別與測試發(fā)起者和目的地之間的網(wǎng)絡(luò)跳相對應(yīng)的網(wǎng)絡(luò)前綴,如步驟301所示。該下一跳一般是本地附接的PE路由器。如上所述,典型的TCP/IP(傳輸控制協(xié)議/因特網(wǎng)協(xié)議)路由選擇配置為個體設(shè)備或路由器分配指示它可路由到或“看見”的IP地址的網(wǎng)絡(luò)前綴。因此,CE1上的路徑驗證處理器124只能看見其本地附接的PE路由器,因此必須依賴于來自這些PE的PVP處理結(jié)果。PE路由器能夠經(jīng)由一組前綴識別活動路徑146,該組前綴限定了它和去往目的地116的出口點(即132-11(PE3))之間的路徑146中的路由器。
路徑驗證處理器124基于驅(qū)動端到端路徑檢查的可抖動且可配置的定時器來交錯發(fā)送診斷消息150到每個前綴,如步驟302所示。路徑驗證處理器124以恒定的間隔發(fā)送或查詢活動路由,如上所述。使消息150交錯避免了在每個間隔診斷消息150的驟然突發(fā)。這種接收診斷消息150的前綴被標(biāo)為重要前綴(其可利用訪問列表來識別),并且對應(yīng)于具有實質(zhì)性的邏輯路由選擇價值的網(wǎng)絡(luò)路由選擇點,如步驟303所示。此外,路徑驗證處理器124從重要前綴中確定活動前綴,其中活動前綴指示前一閾值定時窗口期間的實質(zhì)量的路由選擇流量,如步驟304所公開。此外,某些前綴可能經(jīng)歷休眠時段,或者可能主要在特定時間被利用,例如在每日或每周備份或下載時。因此,對實質(zhì)量路由選擇流量負(fù)載的確定是基于所傳輸?shù)念A(yù)定最小量字節(jié)的,并且重要路徑對應(yīng)于若干個可用的替換路由選擇路徑,如步驟305所示。例如,金融機構(gòu)往往可能在業(yè)務(wù)周結(jié)束時(即星期五下午)進行許多事務(wù)。因此,某些前綴可被指明為僅在星期五下午活動,因為在這種時間,路由選擇問題可能尤其會侵害業(yè)務(wù)操作。在確定活動前綴之后,路徑驗證處理器124發(fā)送診斷消息150到重要的活動前綴,如步驟306所示。
如步驟307所示,路徑驗證處理器124執(zhí)行檢查以確定是否診斷消息150中的任何一個指示出問題,這一般是由未接收到確認(rèn)引起的。如果沒有診斷消息150指示了問題,則控制回到步驟300以等待下一間隔。但是,如果一個或多個目的地未確認(rèn)診斷消息150,則路徑驗證處理器124開始發(fā)送一系列路徑驗證消息,其中每個路徑驗證消息包括一個命令,該命令可操作來引導(dǎo)中間PE節(jié)點執(zhí)行以下操作a)發(fā)送另一個消息到路徑中后繼的中間節(jié)點,b)接收來自該另一個消息的結(jié)果,以及c)報告該結(jié)果以作為命令響應(yīng),其中該結(jié)果指示后繼的中間節(jié)點的可達性,如步驟308所示。
在步驟300-306中公開的去往每個活動路由的周期性診斷消息150(即去往活動前綴的消息)之后,路徑驗證處理器124應(yīng)用路徑驗證以識別和定位未回復(fù)的前綴的問題。如步驟309所示,對于每個有問題的目的地,PE1上的路徑驗證處理器124根據(jù)診斷協(xié)議發(fā)送多個路徑驗證消息152到多個預(yù)定的網(wǎng)絡(luò)點(即活動前綴),如步驟310所示。在這里的示例性配置中,路徑驗證消息152是根據(jù)預(yù)定協(xié)議的探測消息,其中探測消息包括測試指示符和目的地指示符,以便探測消息152引發(fā)來自每個路徑驗證消息152的命令響應(yīng)154,從而允許PE1上的路徑驗證處理器124根據(jù)預(yù)定的協(xié)議應(yīng)用診斷邏輯,如步驟311所示。路徑驗證消息152中的測試指示符和目的地指示符包括關(guān)于其他遠程節(jié)點142及其可達性的信息。接收方節(jié)點142執(zhí)行所請求的對目的地指示符中的節(jié)點的檢查,并將測試結(jié)果寫入測試指示符中。例如,節(jié)點142-1接收詢問提供商邊緣PE節(jié)點132(圖1)的可達性的消息。此外,PE節(jié)點130接收到類似的消息。如果PE節(jié)點130能夠看見PE節(jié)點132,但是節(jié)點142-1不能看見節(jié)點132,則似乎在節(jié)點142-1處存在問題。可以假設(shè),PE節(jié)點130經(jīng)由節(jié)點142-2訪問PE節(jié)點132,去往142-2的后續(xù)路徑驗證消息可以確認(rèn)。在這兩種情況下,PE1上的路徑驗證處理器124都請求和獲得測試指示符字段中攜帶的關(guān)于通過不同的遠程節(jié)點訪問另一個不同的遠程節(jié)點的信息,而不僅僅是識別路徑驗證處理器124本身可達的節(jié)點。典型的傳統(tǒng)查驗和相關(guān)操作只識別針對發(fā)送方節(jié)點(進行查驗操作的節(jié)點)的成功,而不代表其他節(jié)點。
繼續(xù)上述示例,路徑驗證處理器124接收與發(fā)送的路徑驗證消息152相對應(yīng)的命令響應(yīng)154,其中命令響應(yīng)154包括根據(jù)診斷協(xié)議的關(guān)于目的地指示符中的節(jié)點的測試結(jié)果,如步驟312所示。路徑驗證處理器124聚集命令響應(yīng)154,以跟蹤從沿著從源到目的地的特定可疑路徑發(fā)送的多個路徑驗證消息152中每一個接收的命令響應(yīng),如步驟313所示。在步驟314,執(zhí)行檢查以確定被跟蹤的命令響應(yīng)是否指示問題。如果不,則路徑驗證處理器124繼續(xù)重復(fù)發(fā)送路徑驗證消息到指示所述問題的節(jié)點的沿著所述路徑的后繼節(jié)點(如步驟315所示),因此遍歷沿可疑路徑的每個前綴以識別原因。
如果特定命令響應(yīng)154指示出問題,則在步驟314,PE1上的路徑驗證處理器124嘗試檢測核心網(wǎng)段164中的核心網(wǎng)絡(luò)問題。通常,網(wǎng)絡(luò)在路由器之間提供多個物理路徑,并且路由器自適應(yīng)地改變路由以避開問題區(qū)域。這種作法被稱為收斂,并且可以在路徑驗證消息經(jīng)由命令響應(yīng)154指示故障之后立刻發(fā)生。
因此,路徑驗證處理器識別沒有接收到與第一路徑驗證消息152相對應(yīng)的命令響應(yīng)或接收到與第一路徑驗證消息152相對應(yīng)的否定命令響應(yīng),如步驟316所示。路徑驗證處理器124隨后等待預(yù)定的閾值,其中該預(yù)定閾值對應(yīng)于一個收斂時間,該收斂時間適合于允許自動路由選擇表更新以補償不穩(wěn)定的路由,如步驟317所示。在收斂閾值時間之后,路徑驗證處理器發(fā)送第二路徑驗證消息,其中接收到對第二路徑驗證消息152的命令響應(yīng)154指示繞開不穩(wěn)定路由的路由選擇表改變或其他收斂校正,如步驟318所示。
如果路徑驗證處理器接收到來自第二路徑驗證消息的肯定響應(yīng),如步驟319所示,則路徑驗證消息處理器斷定核心網(wǎng)段164內(nèi)的收斂問題,并將此報告回CE1,并且控制回到步驟300,直到下一診斷間隔。如果收斂閾值檢查沒有解決故障,則路徑驗證處理器分析接收到的來自后繼的路徑驗證消息的命令響應(yīng),以識別問題或故障,如步驟320所示,并將此報告給CE1。
路徑驗證處理器聚集并分析針對去往指示故障的前綴的路徑所接收的響應(yīng)154。分析響應(yīng)消息154還包括識別接收和未接收,其中接收包括來自發(fā)送消息的預(yù)定網(wǎng)絡(luò)點的可訪問路徑的指示,未接收根據(jù)診斷邏輯指示調(diào)解故障,如步驟321所示。在從源到目的地的特定路徑中,這種分析可包括分析接收到的來自路徑驗證消息的命令響應(yīng)以識別命令響應(yīng)指示有問題的第一中間節(jié)點以及對診斷消息的命令響應(yīng)指示正常操作的前面的中間節(jié)點,如步驟322所公開。換言之,分析力求識別在該處可識別故障的第一網(wǎng)絡(luò)跳。緊挨著的前一跳或者說路徑上可達(即響應(yīng)154指示沒有問題)的最后一個成功前綴和第一個不成功跳,從而標(biāo)識發(fā)生故障的范圍。這種分析可操作來識別指示無法沿假定的最優(yōu)路徑傳播消息的轉(zhuǎn)發(fā)平面差錯,如步驟323所示。如上所述,轉(zhuǎn)發(fā)平面差錯,例如關(guān)于轉(zhuǎn)發(fā)引擎、端口或交換架構(gòu)的故障,可能不會立即在作出路由選擇判決的控制平面(即路由選擇邏輯)處變得明顯。通過詢問沿著已知有問題的路徑的后繼跳,可以識別第一個發(fā)生錯誤的跳。
在特定配置中,收斂場景是基于整體流量的量來審查的。在擁塞網(wǎng)絡(luò)中,冒險丟棄一些分組并等待滯后時間以便收斂閾值過去而不是通過已知的擁塞路由重新路由分組,可能是有益的。
一旦分析指示出發(fā)生錯誤的位置、跳或節(jié)點,路徑驗證處理器124就基于網(wǎng)絡(luò)故障的位置和性質(zhì)識別在該處更改流量的網(wǎng)絡(luò)點,如步驟324所示。例如,給定從本地VPN LAN 110到遠程VPN LAN 112(圖3)的路徑,如果在路由器PE1(130-11)中或在去往節(jié)點142-11的跳中發(fā)現(xiàn)問題,則替換路徑是從CE1重新路由流量以使之在PE2(130-12)而不是PE1處進入核心網(wǎng)絡(luò)140,以避開故障并且仍維持去往位于核心網(wǎng)絡(luò)140遠側(cè)的PE3的路徑。此外,中間節(jié)點表示網(wǎng)段160,其中網(wǎng)段還包括客戶設(shè)備和核心網(wǎng)絡(luò)之間的本地網(wǎng)段162、代表多個提供商設(shè)備的核心網(wǎng)段164和核心網(wǎng)絡(luò)和目的地之間的遠程網(wǎng)段166,從而使得跟蹤還包括識別響應(yīng)所源自的網(wǎng)段,如步驟325所示。在特定配置中,網(wǎng)段可由與路徑驗證處理器或本地CE路由器120的距離來標(biāo)識,其中網(wǎng)段還包括從客戶邊緣路由器到中間網(wǎng)絡(luò)到遠程邊緣路由器的第一網(wǎng)段162、提供商邊緣路由器之間的第二網(wǎng)段164和從提供商邊緣路由器到遠程客戶邊緣路由器的第三網(wǎng)段166,如步驟326所示。
如上所述,對替換路由的確定可包括改變與假定的可工作路徑相對應(yīng)的控制平面路由選擇判決,如步驟327所示。路徑驗證處理器124基于步驟320的分析確定替換路由,以繞過在步驟324被識別為所指示問題的源的中間節(jié)點,如步驟328所公開。基于響應(yīng)消息的接收的路由選擇判決的結(jié)論包括基于在響應(yīng)中接收的測試結(jié)果確定是否在網(wǎng)絡(luò)中重路由流量,如步驟329所公開的,并且如果是,則基于接收和未接收到來自特定網(wǎng)絡(luò)點的響應(yīng)來定位可操作來將流量傳輸?shù)酵荒康牡鼗騐PN子網(wǎng)的替換路徑。
參考圖3,控制平面路由選擇判決可如下進行。從本地VPN LAN 110起的最優(yōu)(最短)路徑包括經(jīng)由142-11、142-12和142-13從PE1到PE3。參考上述示例,PE1上的路徑驗證處理器124識別故障發(fā)生在去往遠程VPN LAN 112的最優(yōu)(最短)路徑中包括的節(jié)點142-11中的轉(zhuǎn)發(fā)引擎。傳統(tǒng)的方法將會使控制平面繼續(xù)沿最優(yōu)路徑進行路由,從而導(dǎo)致節(jié)點142-11處的黑洞效應(yīng)和/或排隊。還注意到,在一些情況下,核心網(wǎng)絡(luò)可能是公共接入網(wǎng)絡(luò)和/或外部提供商網(wǎng)絡(luò),因此不會直接對路徑驗證處理器作出響應(yīng)(即不像VPN那樣在用戶的直接控制之下)。然而,CE1上的路徑驗證處理器124觀察到經(jīng)由PE2通過節(jié)點142-14和142-15的替換路徑在142-13處與最優(yōu)(最短)路徑匯合。CE1上的路徑驗證處理器124推翻傾向于以PE1作為進入核心140的優(yōu)選入口的路由選擇邏輯122,并且使用PE2作為替換路徑。因此,路徑驗證處理器通過觀察和確定路由選擇邏輯122能夠控制的新的PE設(shè)備而解決了核心網(wǎng)絡(luò)中的問題(142-11),并且避免了會繼續(xù)將流量引導(dǎo)到故障節(jié)點142-11的數(shù)據(jù)平面狀況。類似地,如果問題被診斷為影響了CE2,則從PE3進入遠程VPN LAN 112的替換路徑包括CE3。
更詳細(xì)地說,圖3的系統(tǒng)中的示例性PVP場景如下。繼續(xù)參考圖3,如果從同一VPN的不同的本地附接的客戶端接收到針對同一遠程目的地的多個請求,則PE路由器應(yīng)當(dāng)聚集路徑驗證檢查。PE在發(fā)起某些路由時充當(dāng)下一跳本身。因此,接收來自請求驗證去往116-1和116-2的路徑的CE的PVP消息的PE將能夠看到兩個前綴都具有同一BGP下一跳(即遠程PE3)。利用這種信息,可按如下方式為路徑的核心部分164聚集PVP過程注意,對于下面的示例,如圖3所示,CE1連接到PE1和PE2。還要注意CE2附接到PE3,并且CE3也附接到PE3。關(guān)于子網(wǎng)前綴116-1、116-2和116-3,前綴PE1連接到CE1、前綴116-1、116-2和116-3連接到CE2和CE3,如下面的序列所描述-CE1希望驗證去往前綴116-1、116-2和11-63的路徑。這假設(shè)了先前去往這些設(shè)備的查驗已經(jīng)失敗-CE1讀取前綴的共性(community)/標(biāo)簽,并找出哪些是前綴的下一跳,如下116-1->PE1116-2->PE1116-3->PE1-CE1準(zhǔn)備3個PVP消息。這些消息可以是基本的或高級的,詳見下ο目的地為PE1針對116-1的PVPο目的地為PE1針對116-2的PVPο目的地為PE1針對116-3的PVP-CE1將PVP消息發(fā)送到PE1-PE1檢查這些PVP消息的目的地,并找出前綴116實際上連接到同一PE(PE3)。
-如果請求是基本檢查,則PE1將會向前綴116中的每一個發(fā)送一個查驗。如果成功,則它將會以肯定響應(yīng)對CE1作出響應(yīng)。如果查驗失敗,則它將會以否定響應(yīng)對CE1作出響應(yīng)。
-如果請求是高級檢查,則PE1準(zhǔn)備一個PVP消息ο針對PE3的PVP(包括針對116-1、116-2和116-3的PVP)-PE1將該PVP消息發(fā)送到PE3-當(dāng)PE3接收到PVP消息時,它將會ο檢查誰是去往116-1、116-2和116-3的下一跳,并發(fā)現(xiàn)使用了相同的下一跳ο發(fā)起到適當(dāng)CE的PVP消息。
-假設(shè)是對BPV(基本路徑驗證)的請求,則客戶端(在本示例中即本地VPN LAN 110或CE1 120-11)將會接收來自PE 130-11的肯定或否定響應(yīng)。如果接收到肯定響應(yīng),則它將會假設(shè)問題存在于入口PE 130-11(PE1)的交換路徑內(nèi),因為該PE能夠達到遠程目的地,但是來自CE1的分組卻不能,從而指示在PE1上存在本地交換故障,并且它因此將促成本地重路由(其細(xì)節(jié)是特定于實現(xiàn)方式的,取決于所使用的網(wǎng)絡(luò)管理協(xié)議/機制)。如果響應(yīng)是否定的,則客戶端將會假設(shè)收斂事件正在進行中并因而不采取進一步動作,或者,基于配置和諸如沿替換路徑的路徑成本增長這樣的標(biāo)準(zhǔn),判定觸發(fā)本地重路由。
-假設(shè)是對APV(高級路徑驗證)的請求,則PE路由器130將會識別問題是存在于(1)核心網(wǎng)絡(luò)146內(nèi),(2)遠程PE路由器132內(nèi),還是(3)核心網(wǎng)絡(luò)之外。
-如果問題在核心網(wǎng)絡(luò)164內(nèi),則PE 130將會向客戶端120-11作出響應(yīng),指示核心146問題。依賴于基于定時器的方法的技術(shù)可被用于此目的,從而PE 130可啟動一個定時器,該定時器的值將會反映最壞IGP收斂時間。客戶端應(yīng)當(dāng)將該信息理解為意味著正在發(fā)生收斂事件,因此不采取動作。
-如果問題在于遠程PE路由器132,則PE將會向客戶端作出響應(yīng)以指示這一點。遠程PE路由器132的故障可以是真實故障(例如路由處理器、電源、線路卡等),在這種情況下收斂事件正在進行,或者該故障可以是交換故障,在這種情況下收斂事件并未進行。在任一種情況下,如果經(jīng)由另一PE的另一路徑可用,客戶端CE1就將會發(fā)起本地重路由,而不論該路徑的成本是否大于當(dāng)前最佳路徑(即,應(yīng)當(dāng)觸發(fā)層間故障通知機制)。這將會增加到經(jīng)由另一PE或經(jīng)由同一PE的不同可工作接口到達目的地。
-如果問題在核心網(wǎng)絡(luò)164之外,則客戶端CE1應(yīng)當(dāng)不采取動作。
-在任何故障情況下,客戶端應(yīng)當(dāng)記錄從PE路由器接收的驗證響應(yīng)。
-一旦本地重路由被發(fā)起,客戶端就啟動可配置的定時器Y,在該定時器期滿時新的驗證被觸發(fā)。這是為了確保一旦原始故障的原因已得以矯正并且倘若路由選擇協(xié)議仍選擇原始(故障前)路徑作為最佳路徑,更優(yōu)的路徑會被重新建立。
本領(lǐng)域的技術(shù)人員將很容易認(rèn)識到,這里定義的用于識別網(wǎng)絡(luò)故障的程序和方法可以以許多形式遞送到處理設(shè)備,所述形式包括但不限于a)永久存儲在諸如ROM設(shè)備這樣的不可寫存儲介質(zhì)上的信息,b)可改變地存儲在諸如軟盤、磁帶、CD、RAM設(shè)備和其他磁介質(zhì)和光介質(zhì)之類的可寫存儲介質(zhì)上的信息,或者c)通過通信介質(zhì)傳輸?shù)接嬎銠C的信息,例如利用基帶信令或?qū)拵帕罴夹g(shù)傳輸?shù)接嬎銠C的信息,就像諸如因特網(wǎng)或電話調(diào)制解調(diào)器線路之類的電子網(wǎng)絡(luò)中那樣。這些操作和方法可實現(xiàn)在軟件可執(zhí)行對象中,或者實現(xiàn)為嵌入在載波中的一組指令?;蛘撸@里公開的操作和方法可整體或部分地利用硬件組件或者硬件、軟件和固件組件的組合實現(xiàn),所述硬件組件例如是專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、狀態(tài)機、控制器或其他硬件組件或設(shè)備。
雖然已經(jīng)參考其實施例具體地示出和描述了用于識別網(wǎng)絡(luò)故障的系統(tǒng)和方法,但是本領(lǐng)域的技術(shù)人員將會理解,在不脫離由所附權(quán)利要求所限定的本發(fā)明的范圍的情況下,可對其作出各種形式和細(xì)節(jié)上的改變。因此,本發(fā)明只打算由所附權(quán)利要求所限。
權(quán)利要求
1.一種識別網(wǎng)絡(luò)故障的方法,包括周期性地發(fā)送診斷消息到沿著去往目的地的路徑的多個預(yù)定的路由選擇點;如果所述診斷消息指示沿著所述路徑的中間節(jié)點存在問題,則發(fā)送一系列路徑驗證消息,每個所述路徑驗證消息包括一個命令,該命令可操作來引導(dǎo)中間節(jié)點發(fā)送另一消息到所述路徑中的后繼中間節(jié)點,接收來自所述另一消息的結(jié)果,并且將所述結(jié)果作為命令響應(yīng)進行報告,所述結(jié)果指示所述后繼中間節(jié)點的可達性;重復(fù)發(fā)送路徑驗證消息到指示所述問題的節(jié)點的沿著所述路徑的后繼節(jié)點;分析接收到的來自所述后繼路徑驗證消息的命令響應(yīng)以識別問題;以及基于所述分析確定替換路徑,以繞過被識別為所指示問題的源的中間節(jié)點。
2.如權(quán)利要求1所述的方法,其中分析還包括分析接收到的來自所述路徑驗證消息的命令響應(yīng),以識別所述命令響應(yīng)指示有問題的第一中間節(jié)點和對所述診斷消息的命令響應(yīng)指示正常操作的前面的中間節(jié)點。
3.如權(quán)利要求2所述的方法,其中所述中間節(jié)點表示網(wǎng)段,所述網(wǎng)段還包括客戶設(shè)備和核心網(wǎng)絡(luò)之間的本地網(wǎng)段,代表多個提供商設(shè)備的核心網(wǎng)段,以及所述核心網(wǎng)絡(luò)和所述目的地之間的遠程網(wǎng)段,跟蹤還包括識別響應(yīng)所源自的網(wǎng)段。
4.如權(quán)利要求3所述的方法,其中所述網(wǎng)段還包括從客戶邊緣路由器到中間網(wǎng)絡(luò)到遠程邊緣路由器的第一網(wǎng)段、提供商邊緣路由器之間的第二網(wǎng)段和從提供商邊緣路由器到遠程客戶邊緣路由器的第三網(wǎng)段。
5.如權(quán)利要求1所述的方法,其中發(fā)送還包括根據(jù)診斷協(xié)議發(fā)送多個路徑驗證消息到多個預(yù)定的網(wǎng)絡(luò)點;接收與發(fā)送的路徑驗證消息相對應(yīng)的命令響應(yīng),所述命令響應(yīng)包括根據(jù)所述診斷協(xié)議的測試結(jié)果;以及跟蹤從沿著從源到目的地的路徑發(fā)送的所述多個路徑驗證消息中的每一個接收的命令響應(yīng)。
6.如權(quán)利要求5所述的方法,其中分析還包括識別接收和未接收,其中所述接收包括來自發(fā)送所述消息的預(yù)定網(wǎng)絡(luò)點的可訪問路徑的指示,未接收根據(jù)診斷邏輯指示調(diào)解故障。
7.如權(quán)利要求6所述的方法,還包括基于所述網(wǎng)絡(luò)故障的位置和性質(zhì),識別在該處更改流量的網(wǎng)絡(luò)點。
8.如權(quán)利要求7所述的方法,還包括識別與具有實質(zhì)性的邏輯路由選擇價值的網(wǎng)絡(luò)路由選擇點相對應(yīng)的重要前綴;以及發(fā)送所述診斷消息到所述重要前綴。
9.如權(quán)利要求8所述的方法,還包括確定活動前綴,所述活動前綴指示在前一閾值定時窗口期間的實質(zhì)量的路由選擇流量。
10.如權(quán)利要求9所述的方法,其中所述實質(zhì)量的路由選擇流量負(fù)載是基于所傳輸?shù)念A(yù)定最小量字節(jié)的,并且所述重要路徑對應(yīng)于多個可用的替換路由選擇路徑。
11.如權(quán)利要求10所述的方法,其中所述路徑驗證消息是根據(jù)預(yù)定協(xié)議的探測消息,所述探測消息包括測試指示符和目的地指示符,并且斷定還包括根據(jù)所述預(yù)定協(xié)議應(yīng)用診斷邏輯。
12.如權(quán)利要求11所述的方法,還包括基于驅(qū)動端到端路徑檢查的可抖動且可配置的定時器來交錯所述診斷消息。
13.如權(quán)利要求12所述的方法,其中識別所述中間節(jié)點還對應(yīng)于識別與測試發(fā)起者和目的地之間的網(wǎng)絡(luò)跳相對應(yīng)的網(wǎng)絡(luò)前綴。
14.如權(quán)利要求1所述的方法,其中分析還包括識別指示無法沿假定的最優(yōu)路徑傳播消息的轉(zhuǎn)發(fā)平面差錯,并且確定包括改變與所述假定可工作路徑相對應(yīng)的控制平面路由選擇判決。
15.如權(quán)利要求14所述的方法,其中發(fā)送所述路徑驗證消息還包括發(fā)送第一路徑驗證消息;識別沒有接收到與所述第一路徑驗證消息相對應(yīng)的命令響應(yīng);等待預(yù)定的閾值,該預(yù)定閾值對應(yīng)于一個收斂時間,該收斂時間適合于允許自動路由選擇表更新以補償不穩(wěn)定的路由;以及發(fā)送第二路徑驗證消息,其中接收到對所述第二路徑驗證消息的命令響應(yīng)指示繞開所述不穩(wěn)定路由的路由選擇表改變。
16.一種用于定位網(wǎng)絡(luò)故障的方法,包括根據(jù)診斷協(xié)議發(fā)送多個路徑驗證消息到多個預(yù)定的網(wǎng)絡(luò)點;接收與發(fā)送的路徑驗證消息相對應(yīng)的命令響應(yīng),所述響應(yīng)包括根據(jù)所述診斷協(xié)議的測試結(jié)果;跟蹤從沿著從源到目的地的路徑發(fā)送的所述多個路徑驗證消息中的每一個接收的命令響應(yīng);以及基于接收到來自所述預(yù)定網(wǎng)絡(luò)點的響應(yīng),斷定所述網(wǎng)絡(luò)中消息流量的替換路由選擇路徑。
17.如權(quán)利要求16所述的方法,其中基于接收消息而斷定還包括基于在所述響應(yīng)中接收的測試結(jié)果,確定是否在所述網(wǎng)絡(luò)中重路由流量;以及基于接收和未接收來自特定網(wǎng)絡(luò)點的響應(yīng),定位替換路徑。
18.一種用于定位有缺陷的網(wǎng)絡(luò)互連的方法,包括識別從數(shù)據(jù)通信設(shè)備到遠程網(wǎng)絡(luò)目的地的路徑,該路徑還包括多個網(wǎng)段,每個網(wǎng)段由一跳來界定;識別故障點包括識別由去往所述目的地的路徑限定的網(wǎng)段順序;反復(fù)發(fā)送探測到沿著所述有序路徑的每個后繼跳;如果針對特定跳有探測響應(yīng)返回,則斷定所述路徑直到與返回的探測相對應(yīng)的跳都無阻塞;如果對于特定探測沒有接收到探測響應(yīng),則斷定在與所述特定探測相對應(yīng)的跳和前一跳之間存在阻塞;基于與斷定出的阻塞相對應(yīng)的跳,識別替換路徑;以及基于識別出的替換路徑,確定是否將消息流量引導(dǎo)到所述識別出的替換路徑。
19.一種用于網(wǎng)絡(luò)故障位置識別的方法,包括枚舉一組重要路由,所述重要路由通過關(guān)鍵路徑傳送著實質(zhì)性的流量負(fù)載;基于最近傳送的流量從所述重要路由中識別活動路由;對于每個識別出的活動路由,確定是否存在無阻塞的網(wǎng)絡(luò)路徑;對于被確定具有阻塞的每個活動路由,應(yīng)用路徑驗證以識別與阻塞點相對應(yīng)的路徑網(wǎng)段,所述路徑驗證過程還包括查驗多個中間跳中的每一個;識別其查驗響應(yīng)有缺陷的跳;如果所述查驗響應(yīng)有缺陷,則在等待收斂閾值延遲之后重查驗所述跳;如果接收到對重查驗的響應(yīng),則斷定已被重路由以繞開的核心網(wǎng)絡(luò)故障;以及如果未接收到重查驗響應(yīng),則確定在被重查驗的跳和前一跳之間的某個點存在故障。
20.一種識別網(wǎng)絡(luò)故障的數(shù)據(jù)通信設(shè)備,包括可操作來存儲指令和數(shù)據(jù)的存儲器;耦合到所述存儲器的執(zhí)行單元,所述執(zhí)行單元與所述數(shù)據(jù)通信,并且可對所述指令作出響應(yīng);耦合到其他數(shù)據(jù)通信設(shè)備的網(wǎng)絡(luò)接口;所述執(zhí)行單元中的路徑驗證處理器,該路徑驗證處理器可操作來經(jīng)由所述網(wǎng)絡(luò)接口周期性地發(fā)送診斷消息到沿著去往目的地的路徑的多個預(yù)定的路由選擇點,并且還可操作來在所述診斷消息指示沿著所述路徑的中間節(jié)點存在問題的情況下,發(fā)送一系列路徑驗證消息,每個所述路徑驗證消息包括一個命令,該命令可操作來引導(dǎo)中間節(jié)點發(fā)送另一消息到所述路徑中的后繼中間節(jié)點;接收來自所述另一消息的結(jié)果;并且將所述結(jié)果作為命令響應(yīng)進行報告,所述結(jié)果指示所述后繼中間節(jié)點的可達性,所述路徑驗證處理器還可操作來重復(fù)發(fā)送路徑驗證消息到指示所述問題的節(jié)點的沿著所述路徑的后繼節(jié)點;分析接收到的來自所述后繼路徑驗證消息的命令響應(yīng)以識別問題;以及所述存儲器中的路由選擇邏輯,其可對所述路徑驗證處理器作出響應(yīng),并且可操作來基于所述分析確定替換路徑,以繞過被識別為所指示問題的源的中間節(jié)點。
21.如權(quán)利要求20所述的數(shù)據(jù)通信設(shè)備,其中所述路徑驗證處理器還可操作來分析接收到的來自所述路徑驗證消息的命令響應(yīng),以識別所述命令響應(yīng)指示有問題的第一中間節(jié)點和對所述診斷消息的命令響應(yīng)指示正常操作的前面的中間節(jié)點。
22.如權(quán)利要求21所述的數(shù)據(jù)通信設(shè)備,其中所述中間節(jié)點表示網(wǎng)段,所述網(wǎng)段還包括客戶設(shè)備和核心網(wǎng)絡(luò)之間的本地網(wǎng)段,代表多個提供商設(shè)備的核心網(wǎng)段,以及所述核心網(wǎng)絡(luò)和所述目的地之間的遠程網(wǎng)段,跟蹤還包括識別響應(yīng)所源自的網(wǎng)段。
23.如權(quán)利要求20所述的數(shù)據(jù)通信設(shè)備,還包括耦合到所述路徑驗證處理器的網(wǎng)絡(luò)接口,該網(wǎng)絡(luò)接口可操作來根據(jù)診斷協(xié)議發(fā)送多個路徑驗證消息到多個預(yù)定的網(wǎng)絡(luò)點;接收與發(fā)送的路徑驗證消息相對應(yīng)的命令響應(yīng),所述命令響應(yīng)包括根據(jù)所述診斷協(xié)議的測試結(jié)果;以及將所述命令響應(yīng)轉(zhuǎn)發(fā)到所述路徑驗證處理器,以便跟蹤從沿著從源到目的地的路徑發(fā)送的所述多個路徑驗證消息中的每一個接收的命令響應(yīng)。
24.如權(quán)利要求23所述的數(shù)據(jù)通信設(shè)備,其中所述路徑驗證處理器還可操作來識別與具有實質(zhì)性的邏輯路由選擇價值的網(wǎng)絡(luò)路由選擇點相對應(yīng)的重要前綴;以及發(fā)送所述診斷消息到所述重要前綴。
25.如權(quán)利要求24所述的數(shù)據(jù)通信設(shè)備,其中所述路徑驗證處理器還可操作來確定活動前綴,所述活動前綴指示在前一閾值定時窗口期間的實質(zhì)量的路由選擇流量。
26.如權(quán)利要求25所述的數(shù)據(jù)通信設(shè)備,其中所述路徑驗證消息是根據(jù)預(yù)定協(xié)議的探測消息,所述探測消息包括測試指示符和目的地指示符,并且斷定還包括根據(jù)所述預(yù)定協(xié)議應(yīng)用診斷邏輯。
27.如權(quán)利要求20所述的數(shù)據(jù)通信設(shè)備,其中所述路徑驗證處理器還可操作來識別指示無法沿假定的最優(yōu)路徑傳播消息的轉(zhuǎn)發(fā)平面差錯,并且確定包括改變與所述假定可工作路徑相對應(yīng)的控制平面路由選擇判決。
28.如權(quán)利要求14所述的數(shù)據(jù)通信設(shè)備,其中發(fā)送所述路徑驗證消息還包括發(fā)送第一路徑驗證消息;識別沒有接收到與所述第一路徑驗證消息相對應(yīng)的命令響應(yīng);等待預(yù)定的閾值,該預(yù)定閾值對應(yīng)于一個收斂時間,該收斂時間適合于允許自動路由選擇表更新以補償不穩(wěn)定的路由;以及發(fā)送第二路徑驗證消息,其中接收到對所述第二路徑驗證消息的命令響應(yīng)指示繞開所述不穩(wěn)定路由的路由選擇表改變。
29.一種具有計算機可讀介質(zhì)的計算機程序產(chǎn)品,該計算機可讀介質(zhì)可操作來存儲體現(xiàn)在編碼在其上的計算機程序代碼中的計算機程序邏輯,用于識別識別網(wǎng)絡(luò)故障,包括用于周期性地發(fā)送診斷消息到沿著去往目的地的路徑的多個預(yù)定的路由選擇點的計算機程序代碼;用于如果所述診斷消息指示沿著所述路徑的中間節(jié)點存在問題,則發(fā)送一系列路徑驗證消息的計算機程序代碼,每個所述路徑驗證消息包括一個命令,該命令可操作來引導(dǎo)中間節(jié)點發(fā)送另一消息到所述路徑中的后繼中間節(jié)點,接收來自所述另一消息的結(jié)果,并且將所述結(jié)果作為命令響應(yīng)進行報告,所述結(jié)果指示所述后繼中間節(jié)點的可達性;用于重復(fù)發(fā)送路徑驗證消息到指示所述問題的節(jié)點的沿著所述路徑的后繼節(jié)點的計算機程序代碼;用于分析接收到的來自所述后繼路徑驗證消息的命令響應(yīng)以識別問題的計算機程序代碼;以及用于基于所述分析確定替換路徑,以繞過被識別為所指示問題的源的中間節(jié)點的計算機程序代碼。
30.一種計算機數(shù)據(jù)信號,具有用于識別網(wǎng)絡(luò)故障的程序代碼,包括用于周期性地發(fā)送診斷消息到沿著去往目的地的路徑的多個預(yù)定的路由選擇點的程序代碼;用于如果所述診斷消息指示沿著所述路徑的中間節(jié)點存在問題,則發(fā)送一系列路徑驗證消息的程序代碼,每個所述路徑驗證消息包括一個命令,該命令可操作來引導(dǎo)中間節(jié)點發(fā)送另一消息到所述路徑中的后繼中間節(jié)點,接收來自所述另一消息的結(jié)果,并且將所述結(jié)果作為命令響應(yīng)進行報告,所述結(jié)果指示所述后繼中間節(jié)點的可達性;用于重復(fù)發(fā)送路徑驗證消息到指示所述問題的節(jié)點的沿著所述路徑的后繼節(jié)點的程序代碼;用于分析接收到的來自所述后繼路徑驗證消息的命令響應(yīng)以識別問題的程序代碼;以及用于基于所述分析確定替換路徑,以繞過被識別為所指示問題的源的中間節(jié)點的程序代碼。
31.一種用于識別網(wǎng)絡(luò)故障的數(shù)據(jù)通信設(shè)備,包括用于周期性地發(fā)送診斷消息到沿著去往目的地的路徑的多個預(yù)定的路由選擇點的裝置;用于如果所述診斷消息指示沿著所述路徑的中間節(jié)點存在問題,則發(fā)送一系列路徑驗證消息的裝置,每個所述路徑驗證消息包括一個命令,該命令可操作來引導(dǎo)中間節(jié)點發(fā)送另一消息到所述路徑中的后繼中間節(jié)點,接收來自所述另一消息的結(jié)果,并且將所述結(jié)果作為命令響應(yīng)進行報告,所述結(jié)果指示所述后繼中間節(jié)點的可達性;用于重復(fù)發(fā)送路徑驗證消息到指示所述問題的節(jié)點的沿著所述路徑的后繼節(jié)點的裝置;用于分析接收到的來自所述后繼路徑驗證消息的命令響應(yīng)以識別問題的裝置;以及用于基于所述分析確定替換路徑,以繞過被識別為所指示問題的源的中間節(jié)點的裝置。
全文摘要
一種枚舉發(fā)送到沿可疑路徑的一組節(jié)點或路由器的一系列消息的路徑驗證協(xié)議(PVP)識別轉(zhuǎn)發(fā)平面問題,以實現(xiàn)控制平面級別的改變。這些消息包括這樣一個命令,該命令請求詢問另一遠程節(jié)點,以便獲得關(guān)于接收PVP消息的節(jié)點和另一遠程節(jié)點之間的路徑的信息(202)。接收PVP消息的節(jié)點利用指示嘗試達到另一遠程節(jié)點的結(jié)果的命令響應(yīng)作為答復(fù)(206)。該系列消息總體上覆蓋了沿著從發(fā)源者到接收者的路徑的一組重要的預(yù)定路由選擇點。對該系列PVP消息的聚集命令響應(yīng)被分析,以不僅識別整個路徑是否可工作,并且還識別問題的位置和性質(zhì)(308)。
文檔編號H04J1/16GK101036330SQ200580034136
公開日2007年9月12日 申請日期2005年11月30日 優(yōu)先權(quán)日2004年12月1日
發(fā)明者詹姆斯·N·古伊查德, 讓-菲利普·瓦瑟爾, 克拉倫斯·A·M·菲爾斯非斯, 戴維·D·沃德, 斯特凡諾·普雷維蒂, 托馬斯·D·納德奧 申請人:思科技術(shù)公司