專利名稱:用于檢測鏈路故障的系統(tǒng)和方法
技術(shù)領域:
本發(fā)明一般地涉及計算機網(wǎng)絡,更具體而言,涉及用于快速有效地檢測鏈路故障的方法和裝置。
背景技術(shù):
許多組織(包括商業(yè)、政府和教育機構(gòu))都采用計算機網(wǎng)絡從而使雇員和其他人可以共享并交換信息和/或資源。計算機網(wǎng)絡一般包括利用一種或多種通信介質(zhì)互連的多個實體。實體可包含任何設備,如計算機,其通過通信介質(zhì)“發(fā)出”(即發(fā)送)或“吸收”(即接收)消息,如數(shù)據(jù)幀。一種常見類型的計算機網(wǎng)絡是局域網(wǎng)(LAN),其一般指單個建筑物或校園內(nèi)的私有網(wǎng)絡。LAN一般采用數(shù)據(jù)通信協(xié)議(LAN標準),如以太網(wǎng)、FDDI或令牌環(huán),這些協(xié)議定義了由通信體系結(jié)構(gòu)(即協(xié)議棧)的數(shù)據(jù)鏈路和物理層執(zhí)行的功能。
耦合在以太網(wǎng)LAN上的實體可以采用電氣和電子工程師協(xié)會(IEEE)802協(xié)議族來通過LAN彼此通信。在體系結(jié)構(gòu)上,IEEE 802LAN參考模型包括物理層和數(shù)據(jù)鏈路層,其通常分別被稱為參考模型的第1層(L1)和第2層(L2)。
物理層處理發(fā)送和接收載波,載波支持傳輸介質(zhì)上的承載數(shù)據(jù)的信號。在物理層執(zhí)行的功能一般包括對信號編碼/解碼、生成/去除用于同步的前導信息以及在傳輸介質(zhì)上發(fā)送和接收比特。數(shù)據(jù)鏈路層處理數(shù)據(jù)幀,并執(zhí)行流和錯誤控制。數(shù)據(jù)鏈路層一般包括媒體訪問控制(MAC)層和邏輯鏈路控制(LLC)子層。MAC子層將要發(fā)送的數(shù)據(jù)組裝到具有地址和檢錯字段的幀中,分解接收到的幀,執(zhí)行地址識別和檢錯,并管理對LAN傳輸介質(zhì)的訪問。LLC子層提供到更高層的接口并執(zhí)行流和錯誤控制。
一個或多個中間網(wǎng)絡設備常用于將LAN耦合在一起,并允許相應的實體交換信息。例如,網(wǎng)橋可用于在兩個或更多個LAN或末端站之間提供“橋接”或“交換”功能。一般來說,網(wǎng)橋是計算機,并且包括多個端口,這多個端口經(jīng)由LAN或者耦合到其他網(wǎng)橋,或者耦合到諸如路由器或主機計算機之類的末端站。用于將網(wǎng)橋彼此耦合的端口通常被稱為干線端口,而用于將網(wǎng)橋耦合到末端站的端口通常被稱為接入端口。橋接功能包括在源端口接收來自發(fā)送實體的數(shù)據(jù),并將該數(shù)據(jù)傳送到至少一個目的地端口以轉(zhuǎn)發(fā)到一個或多個接收實體。
大多數(shù)計算機網(wǎng)絡包括冗余通信路徑,從而使任何給定鏈路或網(wǎng)絡設備的故障不會隔離網(wǎng)絡的任何部分。這種網(wǎng)絡一般被稱為網(wǎng)格化或部分網(wǎng)格化網(wǎng)絡。然而,冗余鏈路的存在可能導致網(wǎng)絡內(nèi)迂回路徑或“環(huán)路”的形成。環(huán)路是非常不希望形成的,因為數(shù)據(jù)幀可能無限地經(jīng)過環(huán)路。此外,網(wǎng)橋復制目的地未知的幀。如果環(huán)路存在,則在幀被復制時產(chǎn)生的流量可能給網(wǎng)絡帶來過重的負擔。
為了避免環(huán)路形成,大多數(shù)網(wǎng)橋和交換機執(zhí)行生成樹協(xié)議,該協(xié)議允許其計算活動網(wǎng)絡拓撲,這種活動網(wǎng)絡拓撲是無環(huán)路的(即樹狀的),并且連接網(wǎng)絡內(nèi)的每一對LAN和/或末端站(即,樹是生成型的)。電氣和電子工程師協(xié)會(IEEE)已經(jīng)發(fā)布了一種定義由802.1D兼容設備執(zhí)行的生成樹協(xié)議的標準(IEEE Std.802.1D-1998TM)。通常,通過執(zhí)行802.1D生成樹協(xié)議,網(wǎng)橋?qū)蚪泳W(wǎng)絡內(nèi)的單個網(wǎng)橋選為“根網(wǎng)橋”。802.1D標準利用了這一事實,即通過指定根網(wǎng)橋是具有最低網(wǎng)橋ID的網(wǎng)橋,而使每個網(wǎng)橋具有唯一的數(shù)值標識符(網(wǎng)橋ID)。另外,對于耦合到任何網(wǎng)橋的每個LAN,一個網(wǎng)橋(“指定網(wǎng)橋”)上的恰好一個端口(“指定端口”)被選擇。指定網(wǎng)橋一般是離根網(wǎng)橋最近的網(wǎng)橋。根網(wǎng)橋上的所有端口都是指定端口,而根網(wǎng)橋是所有這樣的LAN上的指定網(wǎng)橋該根網(wǎng)橋具有到這些LAN的端口。
每個非根網(wǎng)橋還從其非指定端口中選擇一個端口(其“根端口”),該端口給出了到根網(wǎng)橋的最低代價路徑。根端口和指定端口被選擇以包含在活動拓撲中,并且被置于轉(zhuǎn)發(fā)(forwarding)狀態(tài),從而使數(shù)據(jù)幀可被轉(zhuǎn)發(fā)到這些端口上以及從這些端口轉(zhuǎn)發(fā),從而轉(zhuǎn)發(fā)到互連網(wǎng)絡的網(wǎng)橋和末端站的LAN和鏈路上。未被包含在活動拓撲中的端口被置于阻止(blocking)狀態(tài)。當端口處于阻止狀態(tài)時,數(shù)據(jù)幀將不會轉(zhuǎn)發(fā)到該端口或從該端口接收。網(wǎng)絡管理員還可以通過將端口置于被禁用(disabled)狀態(tài)而從生成樹中排除端口。
為了獲得運行生成樹協(xié)議所必需的信息,網(wǎng)橋交換被稱為配置網(wǎng)橋協(xié)議數(shù)據(jù)單元(BPDU)消息或簡稱為BPDU的消息。BPDU攜帶用于計算活動拓撲的信息,如假定根和最低根路徑代價。更具體而言,在啟動后,每個網(wǎng)橋首先假定其自身是根網(wǎng)橋,并據(jù)此發(fā)送BPDU。在接收到來自相鄰設備的BPDU后,檢查其內(nèi)容并與由接收網(wǎng)橋存儲在存儲器中的類似信息(例如,假定根和最低根路徑代價)相比較。如果來自接收的BPDU的信息“好于”所存儲的信息,則網(wǎng)橋采用更好的信息,并將其用在從其除了接收到“更好”信息的端口以外的端口發(fā)送的BPDU中(將與接收端口相關聯(lián)的代價添加到根路徑代價上)。盡管BPDU不被網(wǎng)橋轉(zhuǎn)發(fā),但是根網(wǎng)橋的標識符最終被傳播到所有網(wǎng)橋,并被所有網(wǎng)橋采用,如上所述,從而允許其選擇其根端口和任何指定端口。
為了使活動拓撲適應變化和故障,根網(wǎng)橋周期性地(例如,每個hello時間)發(fā)送BPDU。響應于在其根端口上接收到BPDU,網(wǎng)橋從其指定端口(如果有的話)發(fā)送其自身的BPDU。從而,BPDU被周期性地傳播到整個橋接網(wǎng)絡,確認活動拓撲。在BPDU信息被更新和/或超時以及活動拓撲被重新計算時,端口可以從阻止狀態(tài)轉(zhuǎn)變到轉(zhuǎn)發(fā)狀態(tài),反之亦然。即,作為新的BPDU信息的結(jié)果,先前被阻止的端口可能獲知其應當處于轉(zhuǎn)發(fā)狀態(tài)(即,其現(xiàn)在是根端口或指定端口)。
快速生成樹協(xié)議近年來,IEEE發(fā)布了一種定義快速生成樹協(xié)議(RSTP)的新標準(IEEE Std.802.1W-2001TM規(guī)范標準)。RSTP類似地將橋接網(wǎng)絡的一個網(wǎng)橋選為根網(wǎng)橋,并定義了提供LAN和/或末端站間的完全連接性同時切斷任何環(huán)路的活動拓撲。每個網(wǎng)橋的每個端口被根據(jù)端口是否是活動拓撲的一部分而被分配以角色。由802.1W規(guī)范標準定義的角色包括根、指定、替換和備份。提供到根端口的最優(yōu)(例如最低代價)路徑的網(wǎng)橋端口被分配以根端口角色。提供到根網(wǎng)橋的替換(例如較高代價)路徑的每個網(wǎng)橋端口被分配以替換端口角色。對于每個LAN,提供從該LAN到根網(wǎng)橋的最低代價路徑的一個端口被分配以指定端口角色,而耦合到LAN的所有其他端口被分配以根、備份或者(在某些情況下)替換端口角色。在根網(wǎng)橋處,所有端口被分配以指定端口角色。
已被分配以根端口和指定端口角色的那些端口被置于轉(zhuǎn)發(fā)狀態(tài),而被分配以替換和備份角色的端口被置于丟棄或阻止狀態(tài)。倘若被分配以替換端口角色的所有端口被置于阻止狀態(tài),則被分配以根端口角色的端口可以快速轉(zhuǎn)變到轉(zhuǎn)發(fā)狀態(tài)。類似地,倘若先前的根端口已轉(zhuǎn)變到丟棄或阻止狀態(tài),那么如果在當前被分配以根端口角色的端口上發(fā)生故障,則被分配以替換端口角色的端口可以被重新分配以根端口角色,并快速轉(zhuǎn)變到轉(zhuǎn)發(fā)狀態(tài)。倘若下游網(wǎng)橋的端口角色與被分配以指定端口角色的端口一致,那么被分配以指定端口角色的端口或者要被重新分配以指定端口角色的備份端口可以快速轉(zhuǎn)變到轉(zhuǎn)發(fā)狀態(tài)。RSTP提供了明確的握手,這種握手由相鄰網(wǎng)橋用來確認新的指定端口可以快速轉(zhuǎn)變到轉(zhuǎn)發(fā)狀態(tài)。
與在802.1D規(guī)范標準中描述的STP類似,運行RSTP的網(wǎng)橋也交換BPDU以便確定向網(wǎng)橋的端口分配哪些角色。BPDU也用在用于使指定端口快速轉(zhuǎn)變到轉(zhuǎn)發(fā)狀態(tài)的握手中。
利用RSTP,網(wǎng)橋可以從故障中快速恢復。但是,由于檢測故障所花費的時間,仍然可能導致延遲。即,一直要到檢測到現(xiàn)有根端口處的故障,轉(zhuǎn)換被分配以替換端口角色的端口以變?yōu)樾碌母丝诘倪^程才會開始。當前的用于克服這些對第1層鏈路故障檢測的限制的技術(shù)或者消耗大量資源(如處理器和存儲器資源和/或帶寬),或者花費太長時間來檢測鏈路故障從而降低了RSTP的效率。因此,需要一種快速有效地檢測鏈路故障的技術(shù)。
發(fā)明內(nèi)容
簡要來說,本發(fā)明涉及一種用于監(jiān)視計算機網(wǎng)絡中的鏈路的操作并快速有效地檢測這些鏈路的故障的系統(tǒng)和方法。在圖示實施例中,計算機網(wǎng)絡包括多個中間網(wǎng)絡設備(包括兩個網(wǎng)絡設備,如網(wǎng)橋),這些中間網(wǎng)絡設備由具有載波的點對點鏈路互連,載波支持承載數(shù)據(jù)的信號。每個網(wǎng)橋具有鏈路建立實體,并且還被配置為包括故障檢測引擎,故障檢測引擎與耦合到點對點鏈路的相應網(wǎng)橋端口通信。故障檢測引擎包括消息生成器、一個或多個狀態(tài)機和快速故障檢測器邏輯。在圖示實施例中,狀態(tài)機使選定端口在啟用(enabling)、工作(working)、禁用(disabling)和故障(failed)狀態(tài)間轉(zhuǎn)變。
在建立了點對點鏈路,從而建立了載波后,兩個故障檢測引擎生成并交換故障檢測分組,從而向彼此告知其存在情況。其后,每個故障檢測引擎確保其相應網(wǎng)橋在鏈路上連續(xù)發(fā)送。具體而言,如果網(wǎng)橋有要在鏈路上發(fā)送的網(wǎng)絡消息,則該消息被發(fā)送。如果網(wǎng)橋沒有要發(fā)送的網(wǎng)絡消息,則故障檢測引擎生成并發(fā)送故障檢測分組。因此,鏈路在兩個方向上保持全利用狀態(tài),攜帶網(wǎng)絡消息或者故障檢測分組。如果檢測到通信停止,即網(wǎng)絡消息和/或故障檢測分組的接收中斷,則故障檢測引擎推斷點對點鏈路已發(fā)生故障。作為響應,故障檢測引擎生成并發(fā)送包含“強制停機(force_down)”消息或信號的故障檢測分組。故障檢測引擎隨后使載波被丟棄,并使鏈路被切斷。接收到“強制停機”故障檢測分組的網(wǎng)橋類似地丟棄載波并切斷鏈路(假定其還未這么作)。優(yōu)選地,兩個故障檢測引擎在保持停機(hold-down)時段中使鏈路保持切斷。在保持停機時段期滿后,故障檢測引擎允許鏈路建立實體運行,以嘗試在兩個網(wǎng)橋間重新建立點對點鏈路。如果鏈路被重新建立,則故障檢測引擎再一次交換故障檢測分組以向彼此告知其存在情況。
在本發(fā)明的另一個方面中,故障檢測引擎可被指示終止其故障檢測操作。為此,故障檢測引擎生成并發(fā)送包含“禁用”消息的故障檢測分組。在發(fā)出具有“禁用”消息的故障檢測分組后,發(fā)送網(wǎng)橋停止發(fā)出故障檢測分組。在接收到具有“禁用”消息的故障檢測分組后,接收網(wǎng)橋不再期望從其他網(wǎng)橋接收到故障檢測分組。然而,接收網(wǎng)橋并不推斷故障檢測分組的中斷是鏈路故障的結(jié)果。
在本發(fā)明的又一個方面中,故障檢測引擎可被指示切斷鏈路,即使未檢測到故障時也是如此。在這種情況下,故障檢測引擎生成并發(fā)送包含“強制停機”消息的故障檢測分組。隨后網(wǎng)橋丟棄載波并切斷鏈路。響應于接收到具有“強制停機”消息的故障檢測分組,接收網(wǎng)橋丟棄載波并在保持停機時段中切斷鏈路。在保持停機時段期滿后,網(wǎng)橋可以再次嘗試重新建立鏈路。
本發(fā)明的以下描述參考了附圖,在附圖中圖1是計算機網(wǎng)絡的高度示意性的圖示;圖2是根據(jù)本發(fā)明配置的中間網(wǎng)絡設備的部分功能框圖;圖3是根據(jù)本發(fā)明的狀態(tài)圖的高度示意性的圖示;圖4是按層組織的通信體系結(jié)構(gòu)的高度示意性的圖示;圖5A-C是根據(jù)本發(fā)明的優(yōu)選方法的流程圖;圖6是根據(jù)本發(fā)明的故障檢測分組的優(yōu)選格式的高度示意性的圖示;以及圖7是根據(jù)本發(fā)明的故障檢測分組的替換格式的高度示意性的圖示。
具體實施例方式
圖1是包括兩個子網(wǎng)(即,子網(wǎng)A 102和子網(wǎng)B 104)的計算機網(wǎng)絡100的高度示意性圖示。計算機網(wǎng)絡100還包括多個(例如兩個)中間網(wǎng)絡設備106、108。網(wǎng)絡設備106通過鏈路110耦合到子網(wǎng)102,網(wǎng)絡設備108通過鏈路112耦合到子網(wǎng)104。另外,這兩個網(wǎng)絡設備106、108通過點對點鏈路114互連。一個或多個局域網(wǎng)(LAN)和/或末端站可以耦合到每個網(wǎng)絡設備106、108。例如,服務器116經(jīng)由鏈路115耦合到網(wǎng)絡設備106,而工作站或個人計算機118經(jīng)由鏈路117耦合到網(wǎng)絡設備108。這兩個子網(wǎng)102、104優(yōu)選地包括多個互連的LAN、末端站和中間網(wǎng)絡設備(未示出)。
每個網(wǎng)絡設備106、108具有多個端口202,并且被配置為將在第一端口202上接收到的網(wǎng)絡消息交換或轉(zhuǎn)發(fā)到第二端口202,從而使末端站116和118可以彼此通信,并與置于子網(wǎng)102、104中的其他末端站通信。每個網(wǎng)絡設備106、108例如通過端口號識別其自身的端口202,例如端口0(PO)、端口1(P1)、端口2(P2)、端口3(P3)等。從而,網(wǎng)絡設備106、108能夠?qū)⑵涠丝谥械奶囟ǘ鄠€與耦合到其的LAN、末端站和/或網(wǎng)絡設備相關聯(lián)。
應當理解,圖1的計算機網(wǎng)絡100僅用于示例目的,本發(fā)明也可用于可能具有復雜得多的拓撲的其他網(wǎng)絡。還應當理解,網(wǎng)絡設備106、108可能是集線器、網(wǎng)橋、交換機或路由器、或支持其各種功能組合的設備。而且,除了中間網(wǎng)絡設備外,本發(fā)明還可以有利地用于其他網(wǎng)絡實體。例如,本發(fā)明可用于末端站,如服務器、工作站、個人計算機等,并且這里的任何內(nèi)容都不是要限制本發(fā)明的應用。
圖2是圖1的網(wǎng)絡設備106的部分功能框圖。具體而言,圖2僅圖示了一個端口(即,端口PO 202a)和其關聯(lián)組件。媒體訪問控制(MAC)實體206與每個端口(如端口P0)相關聯(lián)。根據(jù)本發(fā)明,每個MAC實體206具有故障檢測引擎210。而且,每個故障檢測引擎210優(yōu)選地具有多個子組件,包括快速故障檢測邏輯211、故障檢測分組生成器212和狀態(tài)機214。除了MAC實體206外,還有鏈路建立引擎208。一個或多個幀發(fā)送和接收對象(如對象204)與端口202b相關聯(lián),從而可以捕捉在端口P1接收到的網(wǎng)絡消息(包括數(shù)據(jù)和控制幀),并且要由網(wǎng)絡設備106發(fā)送的幀可被傳遞到端口P1。幀接收和發(fā)送對象204一般是消息存儲結(jié)構(gòu),如優(yōu)先級隊列。
網(wǎng)絡設備106可以對于其所有端口具有單個鏈路建立引擎208,或者其可以具有多個引擎208。
盡管在圖2中只示出了單個端口,但是本領域技術(shù)人員將會理解,網(wǎng)絡設備106一般包括多個端口,每個端口優(yōu)選地由一個號(例如P0-P2)標識。此外,設備106處的多個端口可以通過一個或多個線路卡和/或網(wǎng)絡接口卡(NIC)建立。設備106還可以具有一個或多個中央處理單元(CPU)和/或微處理器,以及用于執(zhí)行計算的關聯(lián)存儲設備和一個或多個總線結(jié)構(gòu)。設備106還可以(但是不一定)具有其他組件,如轉(zhuǎn)發(fā)引擎、一個或多個過濾數(shù)據(jù)庫、生成樹協(xié)議(STP)引擎等。
圖3是根據(jù)本發(fā)明的高度示意性的狀態(tài)圖300。在優(yōu)選實施例中,端口202可以處于五種可能故障檢測狀態(tài)中的任何一種啟用狀態(tài)302、工作狀態(tài)304、禁用狀態(tài)306和故障狀態(tài)308。當端口首先開始運行本發(fā)明的故障檢測協(xié)議時,進入啟用狀態(tài)302。當由點對點鏈路連接的兩個端口已建立并在運行故障檢測協(xié)議時,進入工作狀態(tài)304。當要終止故障檢測操作時,使用禁用狀態(tài)306,而當已檢測到故障并且將要使鏈路停止工作時,使用故障狀態(tài)308。
在圖示實施例中,故障檢測引擎210是在硬件中實現(xiàn)的,如通過一個或多個專用集成電路(ASIC)和/或現(xiàn)場可編程門陣列(FPGA)或通過其他制造技術(shù)實現(xiàn),其中FPGA具有被配置和安排為產(chǎn)生順序邏輯電路和狀態(tài)機的寄存器和組合邏輯。但是,本領域技術(shù)人員將會認識到,本發(fā)明也可以以包含程序指令的一個或多個軟件模塊或庫的形式實現(xiàn),這些程序指令能夠存儲在電、磁和/或光介質(zhì)上,還能夠以電子和/或光學形式發(fā)送。這些程序指令與這里描述的方法有關,并且可由網(wǎng)絡設備106的一個或多個處理元件(未示出)執(zhí)行。也可以采用硬件、軟件和固件的各種組合。
用于本發(fā)明的合適的中間網(wǎng)絡設備平臺包括但不限于可從California,San Jose的思科系統(tǒng)公司購得的Catalyst 4000和6000系列交換機。
計算機網(wǎng)絡(包括網(wǎng)絡100)一般采用通信體系結(jié)構(gòu)或協(xié)議棧來支持網(wǎng)絡的末端節(jié)點之間的通信。協(xié)議棧至少在邏輯上被組織為多層,并且末端節(jié)點和網(wǎng)絡設備具有被配置為工作在這些層中的各層上的硬件、軟件和固件組件。另外,協(xié)議棧的層還指定在置于計算機網(wǎng)絡內(nèi)的源站和目標站之間傳送的數(shù)據(jù)的格式,等等。每層還在數(shù)據(jù)通過該層時提供預定服務。通常,較低的層是標準化的,并且一般實現(xiàn)在硬件和固件中,而較高的層通常實現(xiàn)在軟件中。
圖4是根據(jù)開放系統(tǒng)互連(OSI)模型的協(xié)議棧400的高度示意性的圖示。該模型定義了七層,按上升順序是物理層402、數(shù)據(jù)鏈路層404、網(wǎng)絡層406、傳輸層408、會話層410、表達層412和應用層414。物理層402涉及沿通信信道(如電線)的實際信號傳輸,并且例如定義與信道結(jié)合使用的線纜、插孔和連接器的類型。數(shù)據(jù)鏈路層404(也稱為第2層(L2))負責數(shù)據(jù)傳輸。網(wǎng)絡層406(也稱為第3層(L3))提供網(wǎng)絡路由選擇。傳輸層408(也稱為第4層(L4))支持端對端可靠性。
會話層410允許不同機器上的用戶在其間建立會話。會話可以支持高于由傳輸層提供的服務,例如允許用戶登錄到遠程分時系統(tǒng)。表達層412用于執(zhí)行共同請求的功能,例如以特定方式對數(shù)據(jù)編碼。應用層414包含高級應用,如虛擬終端軟件、文件傳送軟件、電子郵件等。
如圖4所示,數(shù)據(jù)鏈路層404被劃分為多個子層,包括鏈路層控制(LLC)子層416和媒體訪問控制(MAC)子層418。近年來,在被稱為IEEE草案P802.3ah(其當前版本是2004年4月19日發(fā)布的草案3.3)的草案協(xié)議標準(其全部內(nèi)容通過引用結(jié)合于此)中,電氣和電子工程師協(xié)會(IEEE)已在數(shù)據(jù)鏈路層404內(nèi)定義了若干附加子層。具體而言,IEEE定義了操作、管理和維護(OAM)子層420和MAC控制子層422,這兩層都置于LLC和MAC子層416和418之間。根據(jù)本發(fā)明,在數(shù)據(jù)鏈路層404內(nèi)提供了新的子層。具體而言,提供了故障檢測子層424,其優(yōu)選地置于OAM和MAC控制子層420和422之間。如這里所述,MAC實體206的故障檢測引擎210(圖2)優(yōu)選地工作在該新的故障檢測子層424內(nèi)。另外,鏈路建立子層430優(yōu)選地置于LLC和OAM子層之間,盡管本領域技術(shù)人員將會認識到,其也可以位于其他位置,如LLC子層416之上,如虛線方格430a所示。
網(wǎng)絡設備可以工作在協(xié)議棧400的各級上。例如,網(wǎng)橋可以工作在數(shù)據(jù)鏈路層或第2層上。數(shù)據(jù)鏈路層處的數(shù)據(jù)幀一般包括頭部,該頭部包含發(fā)出消息的實體的MAC地址(被稱為源地址)和消息被發(fā)送到的實體的MAC地址(被稱為目的地地址)。為了執(zhí)行橋接功能,第2層網(wǎng)橋檢查在源端口上接收到的每個數(shù)據(jù)幀的MAC目的地地址,并將幀交換到已與該MAC目的地地址相關聯(lián)的(一個或多個)目的地端口上。
其他網(wǎng)絡設備(通常被稱為路由器)可以工作在更高的通信層,如OSI或TCP/IP參考模型的網(wǎng)絡層或第3層。L3層處的數(shù)據(jù)幀也包括頭部。L3數(shù)據(jù)幀的頭部包括IP源地址和IP目的地地址。路由器或L3交換機可以將接收到的數(shù)據(jù)幀從一種LAN標準(例如以太網(wǎng))重組裝或轉(zhuǎn)換為另一種(例如令牌環(huán))。從而,L3網(wǎng)絡設備通常用于互連不相似的子網(wǎng)。
在圖示實施例中,網(wǎng)絡設備106和108優(yōu)選地是工作在L2的網(wǎng)橋。但是,本領域技術(shù)人員將會認識到,網(wǎng)絡設備106和/或108可以工作在協(xié)議棧400的更高層,如工作在L3、L4甚至更高層的交換機或路由器。
本發(fā)明的故障檢測技術(shù)被設計用于在任何兩個網(wǎng)絡實體之間延伸的點對點鏈路上,例如但不限于在網(wǎng)絡設備106和108之間延伸的鏈路114、在網(wǎng)絡設備106和服務器116之間延伸的鏈路115以及在網(wǎng)絡設備108和工作站118之間延伸的鏈路117。其并不用于共享介質(zhì)上,例如包含共享LAN網(wǎng)段的多于兩個設備的LAN網(wǎng)段。
如這里所述,與現(xiàn)有技術(shù)相比,本發(fā)明的故障檢測技術(shù)允許快得多地識別出故障。另外,本發(fā)明的故障檢測技術(shù)可以在無需切斷或中止鏈路工作的情況下終止。
圖5A-C是根據(jù)本發(fā)明的優(yōu)選方法的流程圖。首先,網(wǎng)絡設備(如網(wǎng)絡設備106)初始化主題鏈路,例如鏈路114,如框502所指示(圖5A)。這一般包括給鏈路加電并建立將在其上發(fā)送數(shù)據(jù)信號的載波,這可以是幀發(fā)送和接收對象204的功能。隨后,啟用相應端口的MAC服務,如框504所指示。網(wǎng)絡設備106使得鏈路建立引擎208嘗試通過鏈路104建立通信,如框506所指示。鏈路建立引擎208采用傳統(tǒng)協(xié)議來建立鏈路114。合適的鏈路建立協(xié)議包括在Chin等人共同擁有的美國專利No.5,959,968中描述的端口聚集協(xié)議、來自思科系統(tǒng)公司的單向鏈路檢測(UDLD)協(xié)議和IEEE標準802.1X(端口訪問)或802.3ad(鏈路聚集控制協(xié)議)。作為鏈路建立過程的一部分,引擎208確定鏈路114的雙向方向性,確定或假定共同終止,并且還可以確定使用權(quán)(right-to-use)特征。
如判決框508所指示,MAC實體206隨后確定鏈路114是否已成功建立。如果是,則MAC實體確定故障檢測引擎210(對于與鏈路相關聯(lián)的端口)是否啟用,如指向判決框512的“是”箭頭510所指示。更具體而言,作為其啟動過程的一部分,MAC控制子層422可被配置為啟用或禁用工作在子層424的故障檢測引擎210,如箭頭426所指示(圖4),其圖示了從MAC控制子層422到故障檢測子層424的命令流。在圖示實施例中,網(wǎng)絡管理員可以調(diào)節(jié)網(wǎng)絡設備106處的設置或其配置,以使得設備106的故障檢測子層424被啟用或禁用。假定在設備106已啟用故障檢測,則初始化故障檢測,如指向框516的“是”箭頭514所指示。
如框518所指示,故障檢測引擎210指示狀態(tài)機214轉(zhuǎn)變到啟用狀態(tài)302(圖3),從而將部件202b與啟用故障檢測狀態(tài)相關聯(lián)。故障檢測引擎210還生成一個或多個啟用型故障檢測分組,并從端口P1 202b發(fā)送這些分組,如框520所指示。
圖6是故障檢測分組600的優(yōu)選格式的高度示意性的圖示。故障檢測分組600由多個字段構(gòu)成,包括目的地地址(DA)字段602、源地址(SA)字段604、長度/類型字段606、LLC/SNAP(子網(wǎng)訪問協(xié)議)字段608、代碼字段612、故障檢測狀態(tài)字段614、填充字段615和幀校驗序列(FCS)字段616??梢允橇鶄€八位字節(jié)的目的地地址字段602優(yōu)選地加載有十六進制01-80-C2-00-00-01??梢允橇鶄€八位字節(jié)的源地址字段604加載有與端口(例如端口P1 202b)相關聯(lián)的MAC地址,從該端口發(fā)送相應的故障檢測分組600。長度/類型字段606優(yōu)選地是兩個八位字節(jié)字段,其加載有指定分組600的長度的值。LLC/SNAP字段608優(yōu)選地是六個八位字節(jié)字段,其加載有十六進制AAAAOC的LLC值和十六進制00000C的組織唯一標識符(OUI)值。代碼字段612優(yōu)選地是兩個八位字節(jié)字段,其加載有指示分組600是故障檢測分組的預定義值。故障檢測狀態(tài)字段614優(yōu)選地是一個八位字節(jié)字段,其加載有預定值,例如“00”,指示該故障檢測分組600是啟用型分組。填充字段615包含足夠數(shù)目的“填充”八位字節(jié),以優(yōu)選地使分組總長度達到64個八位字節(jié)。優(yōu)選地,包含在填充字段615中的八位字節(jié)加載有0值。FCS字段616加載有對分組600計算的糾錯值。
圖7是可用于本發(fā)明的故障檢測分組700配置的替換格式的高度示意性的圖示。分組700包含目的地地址字段702、源地址字段704、類型字段706、故障檢測狀態(tài)字段714、填充字段715和FCS字段716。目的地地址702、源地址704、故障檢測狀態(tài)714、填充715和FCS 716字段優(yōu)選地分別加載有如上針對目的地地址602、源地址604、故障檢測狀態(tài)614、填充615和FCS 616字段所述的信息。類型字段是2個八位字節(jié)字段,其加載有標識分組為故障檢測分組的特殊“以太網(wǎng)型”代碼(從IEEE注冊當局獲得)。
本領域技術(shù)人員將會認識到,也可以使用其他分組格式。
除了生成并發(fā)送一個或多個啟用型故障檢測分組600外,設備106的故障檢測引擎210還“監(jiān)聽”可能經(jīng)由鏈路114從網(wǎng)絡設備108接收到的任何故障檢測分組600,如判決框522所指示(圖5B)。
考慮網(wǎng)絡設備108,在其耦合到鏈路114的端口P2處接收到來自設備106的一個或多個啟用型故障檢測分組600,并且由于包含在接收的故障檢測分組600中的目的地地址和長度/類型值,這些分組被傳遞到置于設備108處的故障檢測引擎。假定設備108的故障檢測引擎已被啟用并初始化。隨后,啟用型故障檢測分組的接收使得設備108處的故障檢測引擎推斷設備106支持故障檢測協(xié)議。作為響應,設備108處的故障檢測引擎使得與其端口P2相關聯(lián)的狀態(tài)機轉(zhuǎn)變到工作狀態(tài)304,并生成一個或多個工作型故障檢測分組,并經(jīng)由鏈路114向設備106發(fā)送這些分組。工作型故障檢測分組600類似于上述啟用型分組,只不過故障檢測狀態(tài)字段614加載有不同值(例如“01”),以表明該故障檢測分組600是工作型分組。在設備106接收到來自網(wǎng)絡設備108的工作型故障檢測分組600,并將其傳遞到故障檢測引擎210。
在經(jīng)由鏈路114從網(wǎng)絡設備108接收到故障檢測分組600后,設備106處的故障檢測引擎210推斷設備108參與本發(fā)明的故障檢測協(xié)議。作為響應,網(wǎng)絡設備106開始經(jīng)由鏈路114向設備108發(fā)送連續(xù)的網(wǎng)絡消息流,從而使鏈路114保持在全利用狀況。具體而言,MAC實體206和故障檢測引擎210協(xié)同工作以確保設備106經(jīng)由鏈路114從端口P1 202b連續(xù)發(fā)送某些東西,即或者是數(shù)據(jù)(或控制)幀,或者是工作型故障檢測分組600,以供設備108接收,如框524所指示(圖5B)。換句話說,在每幀的發(fā)送完成時,設備106的MAC實體206查看其是否有另一個數(shù)據(jù)/控制幀,例如從協(xié)議棧的上層接收到的數(shù)據(jù)幀,以經(jīng)由端口P1 202b和鏈路114發(fā)送到網(wǎng)絡設備108。如果其有這樣的數(shù)據(jù)/控制幀,則發(fā)送該幀。如果MAC實體206沒有另一個數(shù)據(jù)/控制幀以供發(fā)送,則故障檢測引擎210生成工作型故障檢測分組600以發(fā)送到網(wǎng)絡設備108。這樣,MAC實體206和故障檢測引擎210使鏈路114在從網(wǎng)絡設備106到設備108的方向上保持全利用和連續(xù)利用(例如飽和)狀況。
示例性的數(shù)據(jù)幀是由服務器116(或者置于子網(wǎng)A 102中的實體)發(fā)出并去往工作站118(或者置于子網(wǎng)B 104中的實體)的消息。示例性的控制幀是配置網(wǎng)橋協(xié)議數(shù)據(jù)單元(BPDU)。
同時,設備106處的故障檢測引擎210還恒定地檢查來自設備108的工作型故障檢測分組600的接收,如判決框526所指示。一旦設備106從設備108接收到其第一工作型故障檢測分組600,故障檢測引擎210就使狀態(tài)機轉(zhuǎn)變到工作狀態(tài)304,如指向框530的“是”箭頭528所指示。引擎210還啟用其快速故障檢測器邏輯211,如框532所指示。以類似的方式,設備108處的故障檢測引擎在從設備106接收到工作型故障檢測分組600后也啟用其快速故障檢測邏輯212。此刻,根據(jù)本發(fā)明的快速故障檢測已在網(wǎng)絡100的鏈路114上啟用。
應當理解,如果網(wǎng)絡設備106在發(fā)送任何其自身的故障檢測分組之前從設備108接收到啟用型故障檢測分組,則該設備106開始發(fā)送工作型故障檢測分組。另外,故障檢測引擎210優(yōu)選地通知一個或多個高層協(xié)議端口P1 202b處于工作狀態(tài),并且故障檢測已啟用,如傳輸箭頭428所指示(圖4)。
返回判決框522(圖5B),如果網(wǎng)絡設備106沒有從設備108接收到任何故障檢測分組,則故障檢測引擎210推斷設備108不被配置為運行本發(fā)明的故障檢測協(xié)議。作為響應,設備106處的用于端口P1 202b的故障檢測引擎210優(yōu)選地使端口P1 202b轉(zhuǎn)變到禁用狀態(tài)306,如指向框536的“否”箭頭534所指示。故障檢測引擎210還停止向設備108發(fā)送故障檢測分組600,如框538所指示。引擎210還可以通知一個或多個高層協(xié)議故障檢測未被啟用。
應當理解,框516-530和536-538的步驟代表了一種自協(xié)商過程或階段,通過該過程或階段位于點對點鏈路的相對末端的兩個網(wǎng)絡設備可以自動確定它們各自被配置并啟用為運行本發(fā)明的故障檢測過程,或者確定其中之一未被配置。
一旦被啟用,設備106和108的快速故障檢測器邏輯就監(jiān)視鏈路114的健康狀況。在圖示實施例中,快速故障檢測器邏輯以兩種方式監(jiān)視鏈路114的健康狀況。首先,其確認相應網(wǎng)絡設備正經(jīng)由鏈路114接收連續(xù)的網(wǎng)絡消息流,即數(shù)據(jù)、控制或故障檢測分組。該連續(xù)流中的任何中斷將被立即檢測到,并被認為是鏈路114的故障。如上所述,網(wǎng)絡設備接收到的故障檢測分組600被其故障檢測引擎210處理,故障檢測引擎210被配置為工作在新的故障檢測子層424。另一方面,數(shù)據(jù)(和其他控制)幀通過故障檢測子層424到達MAC控制子層422。因此,通過使故障檢測引擎工作在置于MAC 418和MAC控制子層422之間的其自身的子層,引擎210的快速故障檢測器邏輯211“看見了”經(jīng)由鏈路114在端口P1 202b上從設備108接收的連續(xù)的網(wǎng)絡消息流。
優(yōu)選地,在接收到數(shù)據(jù)幀或故障檢測分組600后,每個網(wǎng)絡設備處的快速故障檢測器211啟動定時器(未示出),定時器可被編程以預設限制,例如“F”。每次在快速故障檢測器211接收到另一個數(shù)據(jù)幀或故障檢測分組600時,其重啟該定時器。如判決框540所指示(圖5B),如果定時器在網(wǎng)絡設備106在該端口上接收到另一個數(shù)據(jù)幀或故障檢測分組之前期滿,則快速故障檢測邏輯211斷言(declare)鏈路故障,如指向框544的“是”箭頭542所指示。如果在定時器期滿之前接收到另一個數(shù)據(jù)、控制或故障檢測分組,則定時器被重啟,并且不斷言任何鏈路故障,如“否”箭頭546所指示,箭頭546返回判決框540。
優(yōu)選地,在其他狀況下也斷言鏈路故障。例如,快速故障檢測邏輯211斷言鏈路故障的另一種方式是響應于載波信號的損耗。優(yōu)選地,載波信號的損耗被報告給故障檢測邏輯211,而邏輯211斷言鏈路故障,如框544所指示??焖俟收蠙z測邏輯211監(jiān)視鏈路114的健康狀況的另一種方式是通過檢查來自設備108的任何故障型故障檢測分組600的接收,如判決框548所指示。如圖4所示,故障型故障檢測分組600優(yōu)選地使其故障檢測狀態(tài)字段614被設為預定值,例如“10”。故障檢測引擎被配置為將這種分組識別為故障型分組。如果接收到這種故障檢測分組,則快速故障檢測邏輯211斷言鏈路故障,如也指向框544的“是”箭頭550所指示。
在斷言鏈路故障后,故障檢測引擎210使與端口相關聯(lián)的狀態(tài)機轉(zhuǎn)變到故障狀態(tài)308,如框552所指示(圖5C)。設備106處的故障檢測引擎210還通知位于故障鏈路(例如鏈路114)的另一端的網(wǎng)絡設備(例如設備108)該故障狀況。具體而言,故障檢測引擎210生成一個或多個(例如兩個)故障型故障檢測分組600,并從其耦合到故障鏈路(例如鏈路114)的端口發(fā)送出去,以供其他設備(例如設備108)接收,如框554所指示。隨后,故障檢測引擎210使得載波被丟棄并切斷鏈路114,如框556所指示。在圖示實施例中,故障檢測引擎210還防止鏈路在可預設的保持停機(hold down)時間中被重新激活,如框558所指示。保持停機時間的合適值是3.0秒的量級,盡管本領域技術(shù)人員將會認識到可以采用其他值。故障檢測引擎210還可以通知一個或多個更高層協(xié)議(如生成樹協(xié)議)該故障狀況,如傳輸箭頭428所指示(圖4)。
在從設備106接收到故障型故障檢測分組600后,設備108處的故障檢測引擎類似地斷言鏈路故障,丟棄載波,并切斷鏈路。設備108處的故障檢測引擎還使故障鏈路至少在保持停機時間內(nèi)保持切斷。
在切斷時間期滿后,網(wǎng)絡設備106和108可以嘗試重啟故障鏈路114。即,設備106和108的鏈路建立引擎給鏈路加電,啟用MAC服務并嘗試鏈路建立,如前述的框502-506所指示(圖5A)。參考判決框508(圖5A),如果鏈路建立不成功,則本發(fā)明的故障檢測技術(shù)優(yōu)選地不被啟用,如指向結(jié)束框562的“否”箭頭560所指示。換句話說,如果鏈路不能成功建立,則永不啟用故障檢測引擎。此外,如果未在相應網(wǎng)絡設備處啟用故障檢測,則處理類似地終止,如也指向結(jié)束框562的“否”箭頭564所指示。
在本發(fā)明的又一方面中,故障檢測引擎(如設備108處的引擎)還可以在鏈路(如鏈路114)正在運行的同時禁用或“關閉”故障檢測。例如,假定工作在比故障檢測子層424更高的級別的應用或協(xié)議向設備108處的故障檢測引擎發(fā)出命令,指示其停止運行故障檢測。作為響應,設備108處的故障檢測引擎優(yōu)選地生成一個或多個故障型故障檢測分組600并將其發(fā)送到設備106。故障型故障檢測分組與其他故障檢測分組具有相同格式,只不過故障檢測狀態(tài)字段加載有預定義的值(例如“11”),這表明其是禁用型分組600。
設備106處的故障檢測引擎210觀察任何禁用型故障檢測分組600的接收,如判決框566所指示(圖5C)。當設備106接收到禁用型故障檢測分組600時,其優(yōu)選地使與端口P1202b相關聯(lián)的狀態(tài)機轉(zhuǎn)變到禁用狀態(tài)306,如框568所指示。引擎210還停止生成工作型故障檢測分組600并經(jīng)由鏈路114向設備108發(fā)送這些分組的操作,如框570所指示。從而,如果設備106沒有數(shù)據(jù)或控制分組要經(jīng)由鏈路114發(fā)送到設備108,則鏈路114將變得空閑。即,設備106不再經(jīng)由鏈路114向設備108發(fā)送連續(xù)的網(wǎng)絡消息流。設備108處的故障檢測引擎在發(fā)送了一個或多個禁用型故障檢測分組之后,也停止向設備106發(fā)送故障檢測分組。從而,設備106也不再從設備108接收到連續(xù)的數(shù)據(jù)、控制或故障檢測分組流。但是,在與設備106的端口P1 202b相關聯(lián)的狀態(tài)機處于禁用狀態(tài)306的情況下,在經(jīng)由鏈路114接收來自設備108的網(wǎng)絡消息的過程中發(fā)生任何這種中斷或停止將不再使鏈路故障被斷言,如框572所指示。這樣,故障檢測引擎可以在無需切斷或中止鏈路114的情況下終止操作。
除了停止故障檢測分組的發(fā)送外,故障檢測引擎還可以通知一個或多個更高級協(xié)議故障檢測操作已在鏈路114上停止。
在本發(fā)明的又一方面中,鏈路可能故意發(fā)生故障。例如,假定設備106處的協(xié)議或應用檢測到故障,如載波損耗、太多的CRC錯誤等,和/或希望使鏈路114切斷。協(xié)議或應用可以使命令被發(fā)送到故障檢測引擎210,例如如箭頭426所指示。響應于該命令,故障檢測引擎210斷言鏈路故障,如進入框544的箭頭574所指示(圖5B)。隨后,故障檢測引擎210執(zhí)行前述的框552-558所示的步驟,導致鏈路被切斷并在保持停機時間內(nèi)保持切斷。
IEEE 802.3X規(guī)范標準定義了暫停幀(Pause frame)。如果設備向另一個設備發(fā)送暫停幀,則接收設備停止發(fā)送幀。在本發(fā)明的優(yōu)選實施例中,盡管接收到暫停幀,故障檢測分組仍繼續(xù)被發(fā)送。這可以通過在MAC棧中將故障檢測引擎210置于802.3X暫停引擎之下來實現(xiàn)。這樣,暫停幀只影響在MAC棧中在802.3X暫停引擎之上的幀,例如數(shù)據(jù)/控制幀。
應當理解,與圖3中所示的具有單個狀態(tài)集不同的是,可以有多個接收和發(fā)送狀態(tài)。例如,接收狀態(tài)可包括通知,其用于通知更高層協(xié)議故障檢測分組的發(fā)送和識別已停止;啟用狀態(tài),其用在正發(fā)送啟用型故障檢測分組并且故障檢測引擎正等待接收來自鏈路另一端的設備的故障檢測時;被禁用狀態(tài),其用在故障檢測引擎尚需被激活時;工作狀態(tài),其用在已從鏈路另一端的設備接收到至少一個啟用型或工作型故障檢測分組之后;禁用狀態(tài),其用在更高層協(xié)議已發(fā)出命令以禁用故障檢測并且至少一個禁用型故障檢測分組已被發(fā)送時;檢測到故障(fail_detected)狀態(tài),其用在已檢測到鏈路故障以引發(fā)故障型故障檢測分組的發(fā)送時;和強制故障(fail_forced)狀態(tài),其用在已接收到故障型故障檢測分組時。
類似地,發(fā)送狀態(tài)可包括復位(reset)狀態(tài),其用作保持狀態(tài),直到釋放出復位變量為止;等待空閑(waiting_for_idle)狀態(tài),其用在等待發(fā)送者完成發(fā)送幀時;發(fā)送數(shù)據(jù)(transmit_data)狀態(tài),其用于發(fā)起數(shù)據(jù)或控制幀的發(fā)送,記住數(shù)據(jù)或控制幀而不是故障檢測分組是最后發(fā)送的;遞減(decrement)狀態(tài),其用于對要發(fā)送的故障檢測分組計數(shù);發(fā)送故障檢測(transmit_failure_detection)狀態(tài),其用于發(fā)起故障檢測分組的發(fā)送,記住故障檢測分組是最后發(fā)送的;復位中(resetting)狀態(tài),其用于丟棄載波、切斷鏈路并啟動保持停機定時器;和停止(stop)狀態(tài),其用于在載波已被丟棄后通知上層以便可以嘗試重新建立鏈路。
發(fā)送數(shù)據(jù)、發(fā)送故障檢測和遞減狀態(tài)可以與預定義的變量一起使用,以確保網(wǎng)絡設備在自協(xié)商階段期間在數(shù)據(jù)或控制幀和故障檢測分組之間交替。這確保了故障檢測協(xié)商的發(fā)生并且不會被例如連續(xù)運行的數(shù)據(jù)和/或控制幀流先占。
本領域技術(shù)人員還將會認識到,本發(fā)明的故障檢測過程還可被配置為以各種方式與現(xiàn)有的協(xié)議和網(wǎng)絡設備操作交互操作。例如,故障檢測引擎210可被配置為中止數(shù)據(jù)或控制幀的發(fā)送以便發(fā)送故障型故障檢測分組。類似地,在自協(xié)商期間IEEE 802.3X暫停幀的發(fā)送可以禁止故障檢測分組的發(fā)送。
應當注意到,在上述圖示實施例中,本發(fā)明的技術(shù)是針對應用于兩個中間節(jié)點之間的點對點鏈路114(圖1)的情形描述的。然而,這并不是要限制本發(fā)明。其他類型的網(wǎng)絡實體之間的其他點對點鏈路也可以利用本發(fā)明。例如,本發(fā)明的技術(shù)可以被末端站采用,如末端站116和118,以監(jiān)視其相應鏈路(如鏈路115和117)的操作并檢測這些鏈路的故障。
前述描述是針對本發(fā)明的特定實施例的。但是,很清楚對所述實施例也可以進行其他變化和修改,同時獲得某些或全部優(yōu)點。例如,可以使用其他格式的故障檢測分組。具體而言,故障檢測分組可被修改以包括關于鏈路為何發(fā)生故障的信息,例如太多CRC錯誤。因此,所附權(quán)利要求的目的是覆蓋所有這些在本發(fā)明的真實精神和范圍內(nèi)的變化和修改。
權(quán)利要求
1.在被配置為置于計算機網(wǎng)絡內(nèi)并通過點對點鏈路連接到第二網(wǎng)絡實體的網(wǎng)絡實體中,一種用于檢測所述點對點鏈路中的故障的方法,所述方法包括以下步驟與所述第二網(wǎng)絡實體交換信號,其中所述信號被用于自協(xié)商在所述兩個網(wǎng)絡實體處故障檢測過程的存在和操作;在所述鏈路上向所述第二網(wǎng)絡實體發(fā)送連續(xù)的網(wǎng)絡消息流;在所述鏈路上從所述第二網(wǎng)絡實體接收連續(xù)的網(wǎng)絡消息流;檢測在所述鏈路上從所述第二網(wǎng)絡實體接收到的連續(xù)的網(wǎng)絡消息流中的中斷;以及響應于檢測到所述中斷,斷言所述鏈路發(fā)生故障。
2.如權(quán)利要求1所述的方法,其中在所述第一和第二網(wǎng)絡實體之間發(fā)送的連續(xù)的網(wǎng)絡消息流包括一個或多個數(shù)據(jù)、控制或故障檢測分組。
3.如權(quán)利要求1所述的方法,還包括以下步驟響應于檢測到所述中斷,通知所述第二網(wǎng)絡實體所述鏈路已發(fā)生故障。
4.如權(quán)利要求3所述的方法,其中所述鏈路具有用于發(fā)送信息的載波,所述方法還包括以下步驟在斷言所述鏈路已發(fā)生故障的步驟之后,丟棄所述載波;使所述鏈路被切斷;以及在保持停機時間內(nèi)防止所述鏈路被重新建立。
5.如權(quán)利要求1所述的方法,其中所述交換步驟包括以下步驟生成一個或多個第一類故障檢測分組;經(jīng)由所述鏈路將所述一個或多個第一類故障檢測分組發(fā)送到所述第二網(wǎng)絡實體;在所述鏈路上從所述第二網(wǎng)絡實體接收一個或多個第二類故障檢測分組;響應于從所述第二網(wǎng)絡實體接收到所述一個或多個第二類故障檢測分組,生成一個或多個第二類故障檢測分組;以及將所述一個或多個第二類故障檢測分組發(fā)送到所述第二網(wǎng)絡實體。
6.如權(quán)利要求5所述的方法,其中所述第一類故障檢測分組表明置于發(fā)送所述第一類故障檢測分組的網(wǎng)絡實體處的故障檢測過程存在并且正在工作,并且所述第二類故障檢測分組表明所述發(fā)送網(wǎng)絡實體處的故障檢測過程已推斷出在這兩個網(wǎng)絡實體處的故障檢測過程都正在工作。
7.如權(quán)利要求1所述的方法,還包括以下步驟通知所述鏈路的故障的協(xié)議。
8.如權(quán)利要求1所述的方法,其中所述被通知協(xié)議是生成樹協(xié)議。
9.如權(quán)利要求1所述的方法,其中所述網(wǎng)絡實體是末端站和中間網(wǎng)絡設備之一。
10.如權(quán)利要求1所述的方法,還包括與所述第二網(wǎng)絡實體交換第二信號的步驟,其中所述第二信號被用于終止在這兩個網(wǎng)絡實體處的故障檢測過程的操作,并且所述故障檢測過程的操作是在無需切斷所述鏈路的情況下被終止的。
11.一種用在計算機網(wǎng)絡中的網(wǎng)絡實體,所述網(wǎng)絡實體包括用于發(fā)送和接收網(wǎng)絡消息的至少一個端口,其中所述至少一個端口被配置用于經(jīng)由點對點鏈路連接到第二網(wǎng)絡實體;與所述至少一個端口處于通信關系的故障檢測引擎,所述故障檢測引擎包括快速故障檢測器邏輯,和分組生成器,其中所述分組生成器產(chǎn)生故障檢測分組以發(fā)送到所述第二網(wǎng)絡實體,從而自協(xié)商所述故障檢測引擎的操作,經(jīng)由所述點對點鏈路從所述第二網(wǎng)絡實體接收連續(xù)的網(wǎng)絡消息流,并且所述快速故障檢測器邏輯響應于從所述第二網(wǎng)絡實體接收的網(wǎng)絡消息流中的中斷,而識別出所述點對點鏈路中的故障。
12.如權(quán)利要求11所述的網(wǎng)絡實體,其中所述故障檢測引擎還包括狀態(tài)機,并且所述狀態(tài)機依賴于所述故障檢測引擎的操作和所述點對點鏈路中的故障的檢測,而在多個狀態(tài)之間轉(zhuǎn)變。
13.如權(quán)利要求11所述的網(wǎng)絡實體,還包括多個端口;以及耦合到所述端口的至少一個轉(zhuǎn)發(fā)引擎,其用于識別要從其發(fā)送接收的網(wǎng)絡消息的一個或多個目的地端口。
14.如權(quán)利要求11所述的網(wǎng)絡實體,其中所述點對點鏈路根據(jù)以太網(wǎng)規(guī)范標準工作。
全文摘要
一種系統(tǒng)和方法監(jiān)視計算機網(wǎng)絡中的鏈路,并快速檢測這些鏈路的故障。置于鏈路相對端的網(wǎng)絡實體(106)具有向彼此告知其存在情況的故障檢測引擎(210)。其后,每個故障檢測引擎確保其實體向另一實體發(fā)送連續(xù)流,這是通過或者發(fā)送數(shù)據(jù)幀(204)或者發(fā)送新定義的故障檢測分組實現(xiàn)的。如果檢測到該連續(xù)流中的中斷,則故障檢測引擎(210)推斷出鏈路已發(fā)生故障。作為響應,故障檢測引擎優(yōu)選地通知其他應用或協(xié)議該故障情況,并使鏈路被切斷。
文檔編號G06F15/173GK1947024SQ200580012874
公開日2007年4月11日 申請日期2005年5月9日 優(yōu)先權(quán)日2004年5月10日
發(fā)明者諾曼·W·芬恩 申請人:思科技術(shù)公司