專利名稱:鏈路故障定位方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本申請涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種鏈路故障定位方法及設(shè)備。
背景技術(shù):
Tracert (跟蹤路由)功能是一種應(yīng)用于三層網(wǎng)絡(luò)的鏈路跟蹤檢測功能。通過使用Tracert功能,用戶可以查看IP (Internet Protocol,互聯(lián)網(wǎng)協(xié)議)報文從源端到達(dá)目的端所經(jīng)過的所有三層設(shè)備,從而檢查網(wǎng)絡(luò)連接是否可用。當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時,用戶可以使用該功能分析發(fā)生故障的網(wǎng)絡(luò)節(jié)點。Tracert功能是基于ICMP (Internet ControlMessage Protocol,互聯(lián)網(wǎng)控制消息協(xié)議)來實現(xiàn)的。以圖I所示的網(wǎng)絡(luò)為例,Tracert功能的實現(xiàn)原理為(I)源端(Device A)向目的端(Device D)發(fā)送一個 ICMP (Internet ControlMessageProtocol,互聯(lián)網(wǎng)控制消息協(xié)議)請求報文,該報文中的TTL (Time to Live,生存時間)值為I,且該報文的UDP (User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)端口號是目的端的任何一個應(yīng)用程序都不可能使用的端口號;(2)第一跳(即該報文所到達(dá)的第一個三層設(shè)備=Device B)回應(yīng)一個TTL超時的ICMP錯誤消息(該消息中含有第一跳的IP地址I. I. 2. 1),這樣,源端就得到了第一個三層設(shè)備(Device B)的地址(I. I. 2. I);(3)源端重新向目的端發(fā)送一個ICMP請求報文,該報文中的TTL值為2 ;(4)第二跳(即該報文所到達(dá)的第二個三層設(shè)備=Device C)回應(yīng)一個TTL超時的ICMP錯誤消息(該消息中含有第一跳的IP地址I. I. 2. 2),這樣,源端就得到了第二個三層設(shè)備(Device C)的地址(I. I. 2. 2);(5)以上過程不斷進(jìn)行,直到ICMP請求報文到達(dá)目的端,因為目的端沒有任何一個應(yīng)用程序使用該ICMP請求報文中的UDP端口號,因此,目的端返回一個端口不可達(dá)的ICMP錯誤消息(該消息中攜帶有目的端的IP地址I. I. 3. 2);(6)當(dāng)源端收到這個端口不可達(dá)的ICMP錯誤消息后,就知道ICMP請求報文已經(jīng)到達(dá)了目的端,從而得到了 ICMP請求報文從源端到目的端所經(jīng)過的路徑(I. I. I. 2 ;1. 1.2.2 ;I. I. 3. 2)。但是,對于既包含有二層設(shè)備、也包含有三層設(shè)備的二三層混合網(wǎng)絡(luò)(也即,既包含有二層網(wǎng)絡(luò)、也包含有三層網(wǎng)絡(luò)),如果故障節(jié)點(網(wǎng)絡(luò)節(jié)點或網(wǎng)點)處于二層網(wǎng)絡(luò)中,此時,使用Tracert功能就無法準(zhǔn)確定位故障點了。例如,在如圖2所示的二三層混合網(wǎng)絡(luò)中,PC (Private Computer,個人電腦)A使用Tracert功能檢測本設(shè)備與PC B之間的鏈路故障時,假設(shè)故障發(fā)生在Switch (交換機(jī))F,則PC A只能檢測出本設(shè)備與Router C之間沒有故障,而無法定位故障發(fā)生在位于Router C下游的哪臺交換機(jī)。
發(fā)明內(nèi)容
本申請?zhí)峁┝艘环N鏈路故障定位方法及設(shè)備,以解決現(xiàn)有技術(shù)中存在的對于二三層混合網(wǎng)絡(luò),當(dāng)故障節(jié)點處于二層網(wǎng)絡(luò)中時,使用Tracert功能無法準(zhǔn)確定位故障點的問題。本申請的技術(shù)方案如下一方面,提供了一種鏈路故障定位方法,應(yīng)用于由二層網(wǎng)絡(luò)和三層網(wǎng)絡(luò)組成的網(wǎng)絡(luò),二層網(wǎng)絡(luò)中包括至少兩個二層的轉(zhuǎn)發(fā)設(shè)備,位于三層網(wǎng)絡(luò)中的三層設(shè)備包括用戶終端設(shè)備和路由設(shè)備,該方法包括第一轉(zhuǎn)發(fā)設(shè)備在確定本設(shè)備與三層設(shè)備直連之后,建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接,以進(jìn)行連續(xù)性檢測CC,其中,第二轉(zhuǎn)發(fā)設(shè)備也與三層設(shè)備直連,且第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備在同一二層網(wǎng)絡(luò)的同一 VLAN中; 第一轉(zhuǎn)發(fā)設(shè)備接收第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的綁定關(guān)系,其中,該綁定關(guān)系是第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備之間的CFD連接與第二轉(zhuǎn)發(fā)設(shè)備直連的三層設(shè)備的MAC地址之間的綁定關(guān)系;當(dāng)通過CC檢測到有鏈路不連通時,第一轉(zhuǎn)發(fā)設(shè)備開啟ICMP報文偵聽;在偵聽到TTL值為I的ICMP請求報文之后,第一轉(zhuǎn)發(fā)設(shè)備查找與該ICMP請求報文中的目的MAC地址綁定的第一 CFD連接,對第一 CFD連接進(jìn)行鏈路跟蹤LT檢測,其中,該ICMP請求報文是第一用戶終端設(shè)備在進(jìn)行Tracert檢測時發(fā)出的;第一轉(zhuǎn)發(fā)設(shè)備將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息發(fā)送給第一用戶終端設(shè)備。另一方面,還提供了一種轉(zhuǎn)發(fā)設(shè)備,應(yīng)用于由二層網(wǎng)絡(luò)和三層網(wǎng)絡(luò)組成的網(wǎng)絡(luò),二層網(wǎng)絡(luò)中包括至少兩個二層的轉(zhuǎn)發(fā)設(shè)備,位于三層網(wǎng)絡(luò)中的三層設(shè)備包括用戶終端設(shè)備和路由設(shè)備,該轉(zhuǎn)發(fā)設(shè)備包括判斷模塊、CFD連接模塊、接收模塊、保存模塊、發(fā)送模塊、偵聽模塊和查找模塊,其中,判斷模塊,用于判斷本設(shè)備是否與三層設(shè)備直連;CFD連接模塊,用于在判斷模塊確定本設(shè)備與三層設(shè)備直連之后,建立本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接,對該CFD連接進(jìn)行連續(xù)性檢測CC,其中,第二轉(zhuǎn)發(fā)設(shè)備也與三層設(shè)備直連,且第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備在同一二層網(wǎng)絡(luò)的同一 VLAN中;還用于對查找模塊查找到的第一 CFD連接進(jìn)行鏈路跟蹤LT檢測;接收模塊,用于接收第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的綁定關(guān)系,其中,該綁定關(guān)系是第二轉(zhuǎn)發(fā)設(shè)備與本設(shè)備之間的CFD連接與第二轉(zhuǎn)發(fā)設(shè)備直連的三層設(shè)備的MAC地址之間的綁定關(guān)系;保存模塊,用于保存接收模塊接收到的綁定關(guān)系;發(fā)送模塊,用于將CFD連接模塊通過LT檢測得到的最后一個可達(dá)設(shè)備的信息,發(fā)送給第一用戶終端設(shè)備;偵聽模塊,用于當(dāng)CFD連接模塊通過CC檢測到有鏈路不連通時,開啟ICMP報文偵聽;查找模塊,用于在偵聽模塊偵聽到TTL值為I的ICMP請求報文之后,在保存模塊中查找與該ICMP請求報文中的目的MAC地址綁定的第一 CFD連接,其中,該ICMP請求報文是第一用戶終端設(shè)備在進(jìn)行跟蹤路由Tracert檢測時發(fā)出的。在本申請的技術(shù)方案中,在二三層混合網(wǎng)絡(luò)中,當(dāng)二層網(wǎng)絡(luò)中發(fā)生了故障之后,能通過Tracert和CFD (Connectivity Fault Detection,連通錯誤檢測)聯(lián)動的方式,準(zhǔn)確定位出故障點。
圖I是現(xiàn)有技術(shù)的Tracert功能應(yīng)用的典型組網(wǎng)圖;圖2是一種二三層混合網(wǎng)絡(luò)的組網(wǎng)圖;圖3是本申請的實施例一的鏈路故障定位方法的流程圖;圖4是本申請的實施例三的轉(zhuǎn)發(fā)設(shè)備的一種結(jié)構(gòu)示意圖; 圖5是本申請的實施例三的轉(zhuǎn)發(fā)設(shè)備的另一種結(jié)構(gòu)示意圖。
具體實施例方式為了解決現(xiàn)有技術(shù)中存在的對于二三層混合網(wǎng)絡(luò),當(dāng)故障節(jié)點處于二層網(wǎng)絡(luò)中時,使用Tracert功能無法準(zhǔn)確定位故障點的問題,本申請的以下實施例中提供了一種應(yīng)用于二三層混合網(wǎng)絡(luò)中的鏈路故障定位方法以及一種可以應(yīng)用該方法的二層的轉(zhuǎn)發(fā)設(shè)備。本申請以下實施例的技術(shù)方案中,在二三層混合網(wǎng)絡(luò)中,當(dāng)二層網(wǎng)絡(luò)中發(fā)生了故障之后,能通過Tracert和CFD(Connectivity Fault Detection,連通錯誤檢測)聯(lián)動的方式,準(zhǔn)確定位出故障點。并且,在組網(wǎng)成功后,任意一個與三層網(wǎng)絡(luò)直連(具體是與三層設(shè)備直連)的二層轉(zhuǎn)發(fā)設(shè)備(稱為第一轉(zhuǎn)發(fā)設(shè)備)能動態(tài)地配置并建立本設(shè)備與同一二層網(wǎng)絡(luò)的同一 VLAN中的也與三層網(wǎng)絡(luò)直連的第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接。在建立了 CFD連接后,會建立該CFD連接與本設(shè)備直連的三層設(shè)備的MAC地址之間的綁定關(guān)系,同時也可以接收到第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的該CFD連接與第二轉(zhuǎn)發(fā)設(shè)備直連的三層設(shè)備之間的綁定關(guān)系;當(dāng)對CFD連接進(jìn)行連續(xù)性檢測時檢測到有鏈路不連通了之后,第一轉(zhuǎn)發(fā)設(shè)備會開啟ICMP報文偵聽功能,在偵聽到TTL值為I的ICMP請求報文(即第一用戶終端設(shè)備使用Tracert功能時發(fā)出的ICMP請求報文)后,第一轉(zhuǎn)發(fā)設(shè)備就可以根據(jù)該報文中的目的地址查找到對應(yīng)的CFD連接(稱為第一 CFD連接),并對第一 CFD連接進(jìn)行鏈路跟蹤檢測,將檢測得到的最后一個可達(dá)設(shè)備的信息發(fā)送給第一用戶終端設(shè)備,這樣,管理員就可以在第一用戶終端設(shè)備上查看到最后一個可達(dá)設(shè)備的信息。通過以上技術(shù)方案,在二三層混合網(wǎng)絡(luò)中,管理員只要在用戶終端設(shè)備上使用Tracert功能,就可以根據(jù)Tracert中使用的ICMP請求報文進(jìn)行CFD聯(lián)動檢測,從而準(zhǔn)確地定位出二層網(wǎng)絡(luò)中的故障點。為了便于理解本申請實施例的技術(shù)方案,下面首先對CFD及其功能進(jìn)行詳細(xì)介紹。CFD 是一種遵循 IEEE 802. lag 的 CFM (Connectivity Fault Management,連通錯誤管理)協(xié)議,是一種應(yīng)用于二層網(wǎng)絡(luò)中的基于VLAN (Virtual Local Area Network,虛擬局域網(wǎng))的端到端 0AM (Operations, Administration and Maintenance,操作、管理和維護(hù))機(jī)制。CFD主要用于在二層網(wǎng)絡(luò)中檢測鏈路的連通性,以及在故障發(fā)生時確認(rèn)并定位故障。CFD的有效應(yīng)用建立在合理的網(wǎng)絡(luò)部署和配置之上。CFD的功能是在所配置的MP(Maintenance Point,維護(hù)點)之間實現(xiàn)的。其中,MP配置在二層設(shè)備的接口上,屬于某一個 MA (Maintenance Association,維護(hù)集),可分為 MEP (Maintenance association EndPoint,維護(hù)端點)和 MIP (Maintenance associationlntermediate Point,維護(hù)中間點)兩種。CFD主要包括以下三種功能I、連續(xù)性檢測功能MEP之間的連通失敗可能由設(shè)備故障或配置錯誤造成,連續(xù)性檢測(ContinuityCheck,CC)功能就是用來檢測MEP之間的連通狀態(tài)。該功能的實現(xiàn)方式是由MEP周期性地發(fā)送CCM報文,相同MA的其它MEP接收該報文,并由此獲知遠(yuǎn)端狀態(tài)。若MEP在3. 5個CCM報文發(fā)送周期內(nèi)未收到遠(yuǎn)端MEP發(fā)來的CCM報文,則認(rèn)為鏈路有問題,會輸出日志報告。當(dāng)MA中的多個MEP在發(fā)送CCM報文時,就實現(xiàn)了多點到多點之間的鏈路檢測。其中,CCM報文是組播報文。
2、環(huán)回功能環(huán)回(Loopback,LB)功能類似于 IP 層的 ping (Packet Internet Grope,因特網(wǎng)包探索器)功能,用于驗證源MEP與目標(biāo)MP之間的連接狀態(tài)。該功能的實現(xiàn)方式是由源MEP發(fā)送LBM (Loopback Message,環(huán)回報文)報文給目標(biāo)MP,并根據(jù)能否收到對端反饋的LBR (Loopback Reply,環(huán)回應(yīng)答)報文來檢驗鏈路狀態(tài)。 其中,LBM報文和LBR報文都是單播報文。3、鏈路跟蹤功能鏈路跟蹤(Linktrace, LT)功能類似于IP層的tracert功能,用于確定源MEP到目標(biāo)MP的路徑,其實現(xiàn)方式是由源MEP發(fā)送LTM (Linktrace Message,鏈路跟蹤報文)報文給目標(biāo)MP,目標(biāo)MP以及LTM報文所經(jīng)過的MIP收到該報文后,都會發(fā)送LTR (LinktraceReply,鏈路跟蹤應(yīng)答)報文給源MEP,源MEP則根據(jù)收到的LTR報文來確定到目標(biāo)MP的路徑。其中,LTM報文是組播報文,LTR報文是單播報文。實施例一本申請的實施例一的鏈路故障定位方法應(yīng)用于由二層網(wǎng)絡(luò)和三層網(wǎng)絡(luò)組成的二三層混合網(wǎng)絡(luò)中,其中,二層網(wǎng)絡(luò)中包括至少兩個二層的轉(zhuǎn)發(fā)設(shè)備,該轉(zhuǎn)發(fā)設(shè)備可以是交換機(jī)等;三層網(wǎng)絡(luò)中包括用戶終端設(shè)備和路由設(shè)備等三層設(shè)備,用戶終端設(shè)備可以是PC等,路由設(shè)備可以是路由器等。該方法可以由二三層混合網(wǎng)絡(luò)中的任意一個二層網(wǎng)絡(luò)中的任意一個與三層網(wǎng)絡(luò)(或三層設(shè)備)直連的轉(zhuǎn)發(fā)設(shè)備執(zhí)行。需要說明的是下文中的第一轉(zhuǎn)發(fā)設(shè)備可以是二三層混合網(wǎng)絡(luò)中的任意一個與三層設(shè)備直連的轉(zhuǎn)發(fā)設(shè)備,并不特指某一個與三層設(shè)備直連的轉(zhuǎn)發(fā)設(shè)備。如圖3所示,該鏈路故障定位方法包括以下步驟步驟S301,第一轉(zhuǎn)發(fā)設(shè)備判斷本設(shè)備是否與三層設(shè)備直連,若不是,則進(jìn)入步驟S302,否則,進(jìn)入步驟S303 ;例如,第一轉(zhuǎn)發(fā)設(shè)備可以使用LLDP (Link Layer Discovery Protocol,鏈路層發(fā)現(xiàn)協(xié)議)協(xié)議來獲取與本設(shè)備直連的每一個鄰居設(shè)備的信息,根據(jù)每一個鄰居設(shè)備的信息來確定該鄰居設(shè)備是否是三層設(shè)備,若其中有一個鄰居設(shè)備是三層設(shè)備(路由器或PC),就可以確定本設(shè)備與三層設(shè)備直連,若沒有一個鄰居設(shè)備是三層設(shè)備,就可以確定本設(shè)備與三層設(shè)備不直連。步驟S302,按照現(xiàn)有技術(shù)進(jìn)行處理;
步驟S303,第一轉(zhuǎn)發(fā)設(shè)備建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接,以進(jìn)行連續(xù)性檢測(CC),其中,第二轉(zhuǎn)發(fā)設(shè)備也與三層設(shè)備直連,且第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備在同一二層網(wǎng)絡(luò)的同一 VLAN中;這樣,在同一個二層網(wǎng)絡(luò)的同一 VLAN中的與三層設(shè)備直連的轉(zhuǎn)發(fā)設(shè)備之間會建立CFD連接。其中,第一轉(zhuǎn)發(fā)設(shè)備建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接的方式可以采用以下方式一或方式二在方式一中,第一轉(zhuǎn)發(fā)設(shè)備需要執(zhí)行的操作包括以下步驟11-12 步驟11 :第一轉(zhuǎn)發(fā)設(shè)備發(fā)送二層廣播請求消息,其中,該二層廣播請求消息中攜帶有建立CFD連接所需的相關(guān)參數(shù);該相關(guān)參數(shù)可以是CFD連接應(yīng)用的VLAN實例,以及第一轉(zhuǎn)發(fā)設(shè)備上用于CFD連接的接口的MAC地址;第二轉(zhuǎn)發(fā)設(shè)備在接收到該二層廣播請求消息后,會根據(jù)該二層廣播請求消息中攜帶的建立CFD連接所需的相關(guān)參數(shù),計算CFD連接的標(biāo)識,建立與第一轉(zhuǎn)發(fā)設(shè)備之間的CFD連接,并將計算的CFD連接的標(biāo)識通過應(yīng)答消息發(fā)送給第一轉(zhuǎn)發(fā)設(shè)備。假設(shè),二層廣播請求消息中攜帶的第一轉(zhuǎn)發(fā)設(shè)備所要建立的CFD連接應(yīng)用的VLAN實例為VLANl,第一轉(zhuǎn)發(fā)設(shè)備上用于CFD連接的接口的MAC地址為MAC D ;第二轉(zhuǎn)發(fā)設(shè)備上用于CFD連接的接口的MAC地址為MAC A,此時,第二轉(zhuǎn)發(fā)設(shè)備計算CFD連接的標(biāo)識,建立與第一轉(zhuǎn)發(fā)設(shè)備之間的CFD連接,第二轉(zhuǎn)發(fā)設(shè)備將計算的CFD連接的標(biāo)識通過應(yīng)答消息發(fā)送給第一轉(zhuǎn)發(fā)設(shè)備的方法可以是第二轉(zhuǎn)發(fā)設(shè)備將MAC D和MAC A按照預(yù)定算法進(jìn)行計算,例如,將MAC D和MAC A進(jìn)行“與”運算,將計算結(jié)果作為與第一轉(zhuǎn)發(fā)設(shè)備之間的CFD連接的標(biāo)識(例如,名稱),并將該CFD連接應(yīng)用于VLAN1,將該計算結(jié)果攜帶在應(yīng)答消息中發(fā)送給第一轉(zhuǎn)發(fā)設(shè)備。步驟12 :在接收到第二轉(zhuǎn)發(fā)設(shè)備針對該二層廣播請求消息返回的應(yīng)答消息之后,第一轉(zhuǎn)發(fā)設(shè)備根據(jù)該應(yīng)答消息中攜帶的CFD連接的標(biāo)識,建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接;例如,第一轉(zhuǎn)發(fā)設(shè)備將應(yīng)答消息中攜帶的標(biāo)識作為與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接的標(biāo)識。在方式二中,第一轉(zhuǎn)發(fā)設(shè)備需要執(zhí)行的操作包括以下步驟21-22 步驟21 :第一轉(zhuǎn)發(fā)設(shè)備接收到第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的二層廣播請求消息之后,根據(jù)該二層廣播請求消息中攜帶的建立CFD連接所需的相關(guān)參數(shù),計算CFD連接的標(biāo)識,并建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接;假設(shè),二層廣播請求消息中攜帶的第二轉(zhuǎn)發(fā)設(shè)備所要建立的CFD連接應(yīng)用的VLAN實例為VLANl,第二轉(zhuǎn)發(fā)設(shè)備上用于CFD連接的接口的MAC地址為MACA ;第一轉(zhuǎn)發(fā)設(shè)備上用于CFD連接的接口的MAC地址為MAC D,此時,第一轉(zhuǎn)發(fā)設(shè)備執(zhí)行步驟21的方法可以是將MAC A和MAC D按照預(yù)定算法進(jìn)行計算,例如,將MAC A和MAC D進(jìn)行“與”運算,將計算結(jié)果作為與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接的標(biāo)識(例如,名稱),并將該CFD連接應(yīng)用于VLANl。步驟22:第一轉(zhuǎn)發(fā)設(shè)備向第二轉(zhuǎn)發(fā)設(shè)備返回應(yīng)答消息,其中,該應(yīng)答消息中攜帶有所計算的CFD連接的標(biāo)識。例如,將在步驟21中計算得到的計算結(jié)果攜帶在應(yīng)答消息中發(fā)送給第二轉(zhuǎn)發(fā)設(shè)備。由上述方式一和方式二可知,第一轉(zhuǎn)發(fā)設(shè)備可以主動地發(fā)送二層廣播請求消息,以建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接;也可以被動地接收第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的二層廣播請求消息,以建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接。本申請對此不做限定。另外,只有在同一個二層網(wǎng)絡(luò)的同一 VLAN中的與三層設(shè)備直連的轉(zhuǎn)發(fā)設(shè)備之間才能建立CFD連接,因為用于請求建立CFD連接的二層廣播請求消息到達(dá)路由設(shè)備后,會被路由設(shè)備丟棄,從而無法達(dá)到其他二層網(wǎng)絡(luò)中;并且,CFD是基于VLAN的,只有處于同一VLAN中的轉(zhuǎn)發(fā)設(shè)備之間才能建立CFD連接。步驟S304,第一轉(zhuǎn)發(fā)設(shè)備將該CFD連接(即在步驟S303中建立的CFD連接)與本設(shè)備直連的三層設(shè)備(包括用戶終端設(shè)備和路由設(shè)備)的MAC (Media AccessControl,媒體訪問控制)地址綁定,即,建立該CFD連接與該MAC地址之間的綁定關(guān)系,然后,將兩者的綁定關(guān)系發(fā)送給第二轉(zhuǎn)發(fā)設(shè)備;以及,第一轉(zhuǎn)發(fā)設(shè)備接收第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的綁定關(guān)系,其 中,該綁定關(guān)系是第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備之間的CFD連接與第二轉(zhuǎn)發(fā)設(shè)備直連的三層設(shè)備的MAC地址之間的綁定關(guān)系,即,該CFD連接與該MAC地址之間的綁定關(guān)系;例如,可以通過建立CFD連接的標(biāo)識與MAC地址之間的綁定關(guān)系,來建立CFD連接與MAC地址之間的綁定關(guān)系。第一轉(zhuǎn)發(fā)設(shè)備將建立的綁定關(guān)系通知給該CFD連接的對端第二轉(zhuǎn)發(fā)設(shè)備的目的是當(dāng)?shù)诙D(zhuǎn)發(fā)設(shè)備接收到TTL值為1,且目的地址是與第一轉(zhuǎn)發(fā)設(shè)備直連的一個三層設(shè)備的MAC地址(例如,MAC I)的ICMP請求報文后,就可以從該綁定關(guān)系中查找到與MAC I綁定或?qū)?yīng)的CFD連接,并對查找到的CFD連接進(jìn)行LT檢測。從而,根據(jù)偵聽到的TTL值為I的ICMP請求報文的目的MAC地址,從本地保存的綁定關(guān)系中查找到需要對哪一個CFD連接進(jìn)行LT檢測。同樣,第一轉(zhuǎn)發(fā)設(shè)備作為第二轉(zhuǎn)發(fā)設(shè)備的CFD連接的對端,也會接收到第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的綁定關(guān)系,從而,也可以根據(jù)偵聽到的TTL值為I的ICMP請求報文的目的MAC地址,從本地保存的綁定關(guān)系中查找到需要對哪一個CFD連接進(jìn)行LT檢測。當(dāng)?shù)诙D(zhuǎn)發(fā)設(shè)備有多個時,第一轉(zhuǎn)發(fā)設(shè)備會針對每一個第二轉(zhuǎn)發(fā)設(shè)備執(zhí)行上述的步驟 S303-S304。步驟S305,當(dāng)通過CC檢測到有鏈路(即二層鏈路)不連通時,第一轉(zhuǎn)發(fā)設(shè)備開啟ICMP報文偵聽;使用CC檢測到二層鏈路不連通,即二層鏈路中發(fā)生了故障,但是,此時還不能定位出故障點。在通過CC檢測到鏈路(即二層鏈路)連通時,第一轉(zhuǎn)發(fā)設(shè)備就不會開啟ICMP報文偵聽,對于接收到的ICMP報文就直接透傳。步驟S306,在偵聽到TTL值為I的ICMP請求報文之后,第一轉(zhuǎn)發(fā)設(shè)備查找與該ICMP請求報文中的目的MAC地址綁定的CFD連接,稱為第一 CFD連接,對第一 CFD連接進(jìn)行LT檢測,其中,該ICMP請求報文是第一用戶終端設(shè)備在進(jìn)行Tracert檢測時發(fā)出的;顯然,該ICMP請求報文的源MAC地址是第一用戶終端設(shè)備的MAC地址;當(dāng)?shù)谝挥脩艚K端設(shè)備使用Tracert功能進(jìn)行故障定位時,途徑的路由設(shè)備收到ICMP請求報文后,仍然按照現(xiàn)有技術(shù)的Tracert流程進(jìn)行處理。
當(dāng)途經(jīng)的第一轉(zhuǎn)發(fā)設(shè)備收到ICMP請求報文后,查看該報文,如果該報文中的TTL=I (因為上游的鏈路是連通的,每經(jīng)過一個路由設(shè)備該ICMP請求報文中的TTL值就會減1,因此,到達(dá)第一轉(zhuǎn)發(fā)設(shè)備時,該報文中的TTL值已經(jīng)減到了 1),則根據(jù)該ICMP請求報文的目的MAC地址,從本地保存的綁定關(guān)系中查找到與該目的MAC地址對應(yīng)的CFD連接第一 CFD連接,從而確定出了需要使用哪個CFD連接。然后,對第一 CFD連接開啟Linktrace功能,使用Linktrace能夠檢測到第一 CFD連接中的最后一個可達(dá)設(shè)備。步驟S307,第一轉(zhuǎn)發(fā)設(shè)備將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息發(fā)送給第一用戶終端設(shè)備。在步驟S307中,針對不同情況,第一轉(zhuǎn)發(fā)設(shè)備將最后一個可達(dá)設(shè)備的信息發(fā)送給第一用戶終端設(shè)備的方式也不同,具體的情況I :當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備與路由設(shè)備直連時,第一轉(zhuǎn)發(fā)設(shè)備將通過LT檢測得到的 最后一個可達(dá)設(shè)備的信息(如MAC地址)封裝在ICMP不可達(dá)報文中,將該ICMP不可達(dá)報文發(fā)送給第一用戶終端設(shè)備,其中,該ICMP不可達(dá)報文的目的MAC地址是第一用戶終端設(shè)備的MAC地址。當(dāng)與第一用戶終端設(shè)備直連的轉(zhuǎn)發(fā)設(shè)備接收到該目的MAC地址是第一用戶終端設(shè)備的MAC地址的ICMP不可達(dá)報文之后,解封裝該ICMP不可達(dá)報文得到該最后一個可達(dá)設(shè)備的信息,然后,將該最后一個可達(dá)設(shè)備的信息封裝在SNMP(SimpleNetwork ManagementProtocol,簡單網(wǎng)絡(luò)管理協(xié)議)Trap (告警)報文中,將該SNMPTrap報文發(fā)送給第一用戶終端設(shè)備。情況2:當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備與第一用戶終端設(shè)備直連時,第一轉(zhuǎn)發(fā)設(shè)備將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息封裝在SNMP Trap報文中,將該SNMP Trap報文發(fā)送給第一用戶終端設(shè)備。另外,當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備與第一用戶終端設(shè)備直連時,第一轉(zhuǎn)發(fā)設(shè)備也可能會接收到其他轉(zhuǎn)發(fā)設(shè)備(可以是不同二層網(wǎng)絡(luò)中的其他轉(zhuǎn)發(fā)設(shè)備)執(zhí)行上述的步驟S305-S307發(fā)來的、目的MAC地址是第一用戶終端設(shè)備的MAC地址的ICMP不可達(dá)報文,此時,第一轉(zhuǎn)發(fā)設(shè)備會解封裝該ICMP不可達(dá)報文得到其中的最后一個可達(dá)設(shè)備的信息,然后,將該最后一個可達(dá)設(shè)備的信息封裝在SNMP Trap報文中,將該SNMP Trap報文發(fā)送給第一用戶終端設(shè)備。通過上述實施例一中的方法,第一用戶終端設(shè)備使用Tracert功能就可以得到二層網(wǎng)絡(luò)中的故障位置。實施例二以圖2所示的二三層混合網(wǎng)絡(luò)中的SwitchA和Switch F為例,來詳細(xì)地說明上述實施例一中的方法的具體處理流程。在圖2中,轉(zhuǎn)發(fā)設(shè)備是Switch (交換機(jī)),用戶終端設(shè)備是PC,路由設(shè)備是路由器。假設(shè),Switch A和Switch D處于同一個VLAN中,Switch F和Switch H處于同一個VLAN中。一、對于 Switch A I、初始階段Switch A使用LLDP協(xié)議確定出本設(shè)備是與PC (即PC A)直連的交換機(jī)。然后,SwitchA可以通過主動發(fā)送二層廣播請求消息的方式、或者被動接收Switch D發(fā)來的二層廣播請求消息的方式,建立與Switch D之間的CFD連接(根據(jù)兩者的MAC地址來確保CFD連接的唯一性)。接下來,Switch A將該CFD與本設(shè)備直連的三層設(shè)備PC A的MAC地址(記為PC A-MAC)綁定,并將兩者的綁定關(guān)系通知給Switch D ;同時,還會接收到Switch D發(fā)來的該CFD連接與Switch D直連的三層設(shè)備Router (路由器)A的MAC地址(記為RouterA-MAC)之間的綁定關(guān)系。2、檢測階段Switch A在檢測到二層鏈路有故障后,開啟ICMP報文偵聽。當(dāng)PC A發(fā)現(xiàn)Ping不通PC B,使用Tracert功能進(jìn)行故障定位檢測時,PC A會先發(fā)送TTL=I的ICMP請求報文。在Switch A偵聽到該報文后,若判定TTL=1,則,Switch A根據(jù)該ICMP請求報文中的目的MAC地址RouterA-MAC,查找與RouterA-MAC綁定的CFD連接,從而查找到本設(shè)備與SwitchD的CFD連接進(jìn)行Linktrace檢測。假設(shè)Switch B與Switch D之間的鏈路存在故障,則,Switch A會通過Linktrace檢測得到最后一個可達(dá)設(shè)備是Switch B,由于Switch A與PCA直連,所以,直接將Switch B的MAC地址封裝在SNMP Trap報文中發(fā)送PC A。藉此,PC A可以得到二層網(wǎng)絡(luò)中的故障位置為Switch B之后。二、對于 Switch F I、初始階段Switch F使用LLDP協(xié)議確定出本設(shè)備是與路由器(即Router C)直連的交換機(jī)。然后,Switch F可以通過主動發(fā)送二層廣播請求消息的方式、或者被動接收Switch H發(fā)來的二層廣播請求消息的方式,建立與Switch H之間的CFD連接(根據(jù)兩者的MAC地址來確保CFD連接的唯一性)。接下來,Switch F將該CFD與直連的三層設(shè)備RouterC的MAC地址綁定,并將兩者的綁定關(guān)系通知給Switch H ;同時,還會接收到SwitchH發(fā)來的該CFD連接與Switch H直連的三層設(shè)備PC B的MAC地址(記為PCB-MAC)之間的綁定關(guān)系。2、檢測階段Switch F在檢測到二層鏈路有故障后,開啟ICMP報文偵聽。當(dāng)PC A發(fā)現(xiàn)Ping不通PC B,使用Tracert功能進(jìn)行故障定位檢測時,PC A會發(fā)送若干個ICMP請求報文,每次發(fā)送一個ICMP請求報文,且每次發(fā)送的ICMP請求報文中的TTL值加I。當(dāng)Switch F偵聽到ICMP請求報文后,若判定出TTL=I,則,Switch F根據(jù)該ICMP請求報文中的目的MAC地址PC B-MAC,查找與PC B-MAC綁定的CFD連接,從而查找到本設(shè)備與Switch H的CFD連接進(jìn)行Linktrace檢測。假設(shè)Switch F與SwitchH之間的鏈路存在故障,貝U, Switch F會通過Linktrace檢測得到最后一個可達(dá)設(shè)備是Switch F,于是,Switch F將本設(shè)備的MAC地址(記為Switch F-MAC)封裝進(jìn)ICMP不可達(dá)報文,發(fā)往PC A。此時,與PC A直連的SwitchA偵聽到目的地址是PC A-MAC的ICMP不可達(dá)報文后,對該報文進(jìn)行解析后得到SwitchF-MAC,再將Switch F-MAC封裝到SNMP Trap報文中發(fā)送給PC A。藉此,PC A可以得到二層網(wǎng)絡(luò)中的故障位置為Switch F之后。實施例三針對上述實施例一中的方法,本申請的實施例三提供了一種應(yīng)用于由二層網(wǎng)絡(luò)和三層網(wǎng)絡(luò)組成的二三層混合網(wǎng)絡(luò)的轉(zhuǎn)發(fā)設(shè)備,其中,二層網(wǎng)絡(luò)中包括至少兩個二層的轉(zhuǎn)發(fā)設(shè)備,位于三層網(wǎng)絡(luò)中的三層設(shè)備包括用戶終端設(shè)備和路由設(shè)備。該轉(zhuǎn)發(fā)設(shè)備可以是交換機(jī)等二層設(shè)備。
如圖4所示,該轉(zhuǎn)發(fā)設(shè)備包括判斷模塊10、CFD連接模塊20、接收模塊30、保存模塊40、發(fā)送模塊50、偵聽模塊60和查找模塊70,其中,判斷模塊10,用于判斷本設(shè)備是否與三層設(shè)備直連;CFD連接模塊20,用于在判斷模塊10確定本設(shè)備與三層設(shè)備直連之后,建立本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接,對該CFD連接進(jìn)行連續(xù)性檢測CC,其中,第二轉(zhuǎn)發(fā)設(shè)備也與三層設(shè)備直連,且第二轉(zhuǎn)發(fā)設(shè)備與本設(shè)備在同一二層網(wǎng)絡(luò)的同一 VLAN中;還用于對查找模塊70查找到的第一 CFD連接進(jìn)行鏈路跟蹤LT檢測;接收模塊30,用于接收第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的綁定關(guān)系,其中,該綁定關(guān)系是第二轉(zhuǎn)發(fā)設(shè)備與本設(shè)備之間的CFD連接與第二轉(zhuǎn)發(fā)設(shè)備直連的三層設(shè)備的MAC地址之間的綁定關(guān)系;即,該CFD連接與該MAC地址之間的綁定關(guān)系;
保存模塊40,用于保存接收模塊30接收到的綁定關(guān)系;發(fā)送模塊50,用于將CFD連接模塊20通過LT檢測得到的最后一個可達(dá)設(shè)備的信
息,發(fā)送給第一用戶終端設(shè)備;偵聽模塊60,用于當(dāng)CFD連接模塊20通過CC檢測到有鏈路不連通時,開啟ICMP報文偵聽;查找模塊70,用于在偵聽模塊60偵聽到TTL值為I的ICMP請求報文之后,在保存模塊40中查找與該ICMP請求報文中的目的MAC地址綁定的第一 CFD連接,其中,該ICMP請求報文是第一用戶終端在進(jìn)行Tracert檢測時發(fā)出的。其中,CFD連接模塊20建立本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接的方式可以采用以下方式之一方式一發(fā)送二層廣播請求消息,其中,二層廣播請求消息中攜帶有建立CFD連接所需的相關(guān)參數(shù);在接收到第二轉(zhuǎn)發(fā)設(shè)備針對該二層廣播請求消息返回的應(yīng)答消息之后,根據(jù)該應(yīng)答消息中攜帶的該CFD連接的標(biāo)識建立本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接;方式二 接收到第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的二層廣播請求消息之后,根據(jù)該二層廣播請求消息中攜帶的建立CFD連接所需的相關(guān)參數(shù),計算CFD連接的標(biāo)識,并建立本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接;向第二轉(zhuǎn)發(fā)設(shè)備返回應(yīng)答消息,其中,該應(yīng)答消息中攜帶有所計算的CFD連接的標(biāo)識。另外,如圖5所示,該轉(zhuǎn)發(fā)設(shè)備中還可以包括綁定關(guān)系建立模塊80,其中,綁定關(guān)系建立模塊80,用于建立CFD連接模塊20所建立的本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接與本設(shè)備直連的三層設(shè)備的MAC地址之間的綁定關(guān)系;即,建立該CFD連接與該MAC地址之間的綁定關(guān)系;保存|吳塊,還用于保存綁定關(guān)系建立|吳塊80所建立的綁定關(guān)系。為了將CFD連接模塊20通過LT檢測得到的最后一個可達(dá)設(shè)備的信息發(fā)送給第一用戶終端設(shè)備,發(fā)送模塊50進(jìn)一步可以包括封裝單元和發(fā)送單元,其中封裝單元,用于在本設(shè)備與路由設(shè)備直連時,將CFD連接模塊20通過LT檢測得到的最后一個可達(dá)設(shè)備的信息封裝在ICMP不可達(dá)報文中;還用于在本設(shè)備與第一用戶終端設(shè)備直連時,將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息封裝在SNMP Trap報文中;發(fā)送單元,用于將封裝單元封裝得到的ICMP不可達(dá)報文和SNMP Trap報文發(fā)送給第一用戶終端設(shè)備。
此外,在本設(shè)備與第一用戶終端設(shè)備直連時,接收模塊30,還用于接收目的MAC地址是第一用戶終端設(shè)備的MAC地址的ICMP不可達(dá)報文,解封裝該ICMP不可達(dá)報文得到該最后一個可達(dá)設(shè)備的信息;發(fā)送模塊50中的封裝單元,還用于將接收模塊解封裝得到的最后一個可達(dá)設(shè)備的信息封裝在SNMP Trap報文中,并通過發(fā)送單元將該SNMP Trap報文發(fā)送給第一用戶終端設(shè)備。綜上,本申請以上實施例可以達(dá)到以下技術(shù)效果在二三層混合網(wǎng)絡(luò)中,當(dāng)二層網(wǎng)絡(luò)中發(fā)生了故障之后,能通過Tracert和CFD聯(lián)動的方式,準(zhǔn)確定位出故障點。從而,在復(fù)雜的二三層網(wǎng)絡(luò)中,管理員只要在PC終端使用Tracert功能即可定位二層網(wǎng)絡(luò)中的故障位置。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種鏈路故障定位方法,應(yīng)用于由二層網(wǎng)絡(luò)和三層網(wǎng)絡(luò)組成的網(wǎng)絡(luò),所述二層網(wǎng)絡(luò)中包括至少兩個二層的轉(zhuǎn)發(fā)設(shè)備,位于所述三層網(wǎng)絡(luò)中的三層設(shè)備包括用戶終端設(shè)備和路由設(shè)備,其特征在于,所述方法包括 第一轉(zhuǎn)發(fā)設(shè)備在確定本設(shè)備與三層設(shè)備直連之后,建立與第二轉(zhuǎn)發(fā)設(shè)備之間的連通錯誤檢測CFD連接,以進(jìn)行連續(xù)性檢測CC,其中,第二轉(zhuǎn)發(fā)設(shè)備也與三層設(shè)備直連,且第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備在同一二層網(wǎng)絡(luò)的同一虛擬局域網(wǎng)VLAN中; 第一轉(zhuǎn)發(fā)設(shè)備接收第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的綁定關(guān)系,其中,該綁定關(guān)系是第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備之間的CFD連接與第二轉(zhuǎn)發(fā)設(shè)備直連的三層設(shè)備的媒體訪問控制MAC地址之間的綁定關(guān)系; 當(dāng)通過CC檢測到有鏈路不連通時,第一轉(zhuǎn)發(fā)設(shè)備開啟互聯(lián)網(wǎng)控制消息協(xié)議ICMP報文偵聽; 在偵聽到生存時間TTL值為I的ICMP請求報文之后,第一轉(zhuǎn)發(fā)設(shè)備查找與該ICMP請求報文中的目的MAC地址綁定的第一 CFD連接,對第一 CFD連接進(jìn)行鏈路跟蹤LT檢測,其中,該ICMP請求報文是第一用戶終端設(shè)備在進(jìn)行跟蹤路由Tracert檢測時發(fā)出的; 第一轉(zhuǎn)發(fā)設(shè)備將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息發(fā)送給第一用戶終端設(shè)備。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接的方式包括以下之一 第一轉(zhuǎn)發(fā)設(shè)備發(fā)送二層廣播請求消息,其中,所述二層廣播請求消息中攜帶有建立CFD連接所需的相關(guān)參數(shù);在接收到第二轉(zhuǎn)發(fā)設(shè)備針對該二層廣播請求消息返回的應(yīng)答消息之后,第一轉(zhuǎn)發(fā)設(shè)備根據(jù)該應(yīng)答消息中攜帶的CFD連接的標(biāo)識建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接; 第一轉(zhuǎn)發(fā)設(shè)備接收到第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的二層廣播請求消息之后,根據(jù)該二層廣播請求消息中攜帶的建立CFD連接所需的相關(guān)參數(shù),計算CFD連接的標(biāo)識,并建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接;第一轉(zhuǎn)發(fā)設(shè)備向第二轉(zhuǎn)發(fā)設(shè)備返回應(yīng)答消息,其中,該應(yīng)答消息中攜帶有所計算的CFD連接的標(biāo)識。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接之后,還包括 第一轉(zhuǎn)發(fā)設(shè)備建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接與本設(shè)備直連的三層設(shè)備的MAC地址之間的綁定關(guān)系; 第一轉(zhuǎn)發(fā)設(shè)備將該綁定關(guān)系發(fā)送給第二轉(zhuǎn)發(fā)設(shè)備。
4.根據(jù)權(quán)利要求I至3中任一項所述的方法,其特征在于,所述第一轉(zhuǎn)發(fā)設(shè)備將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息發(fā)送給第一用戶終端設(shè)備的方法包括 當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備與路由設(shè)備直連時,第一轉(zhuǎn)發(fā)設(shè)備將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息封裝在ICMP不可達(dá)報文中,將該ICMP不可達(dá)報文發(fā)送給第一用戶終端設(shè)備; 當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備與第一用戶終端設(shè)備直連時,第一轉(zhuǎn)發(fā)設(shè)備將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息封裝在簡單網(wǎng)絡(luò)管理協(xié)議SNMP告警Trap報文中,將該SNMP Trap報文發(fā)送給第一用戶終端設(shè)備。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)?shù)谝晦D(zhuǎn)發(fā)設(shè)備與第一用戶終端設(shè)備直連時,所述方法還包括 第一轉(zhuǎn)發(fā)設(shè)備接收到目的MAC地址是第一用戶終端設(shè)備的MAC地址的ICMP不可達(dá)報文之后,解封裝該ICMP不可達(dá)報文得到該最后一個可達(dá)設(shè)備的信息; 第一轉(zhuǎn)發(fā)設(shè)備將該最后一個可達(dá)設(shè)備的信息封裝在SNMP Trap報文中,將該SNMP Trap報文發(fā)送給第一用戶終端設(shè)備。
6.一種轉(zhuǎn)發(fā)設(shè)備,應(yīng)用于由二層網(wǎng)絡(luò)和三層網(wǎng)絡(luò)組成的網(wǎng)絡(luò),所述二層網(wǎng)絡(luò)中包括至少兩個二層的轉(zhuǎn)發(fā)設(shè)備,位于所述三層網(wǎng)絡(luò)中的三層設(shè)備包括用戶終端設(shè)備和路由設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)設(shè)備包括判斷模塊、CFD連接模塊、接收模塊、保存模塊、發(fā)送模塊、偵聽模塊和查找模塊,其中, 所述判斷模塊,用于判斷本設(shè)備是否與三層設(shè)備直連; 所述CFD連接模塊,用于在所述判斷模塊確定本設(shè)備與三層設(shè)備直連之后,建立本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的連通錯誤檢測CFD連接,對該CFD連接進(jìn)行連續(xù)性檢測CC,其中,第二轉(zhuǎn)發(fā)設(shè)備也與三層設(shè)備直連,且第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備在同一二層網(wǎng)絡(luò)的同一虛擬局域網(wǎng)VLAN中;還用于對查找模塊查找到的第一 CFD連接進(jìn)行鏈路跟蹤LT檢測;所述接收模塊,用于接收第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的綁定關(guān)系,其中,該綁定關(guān)系是第二轉(zhuǎn)發(fā)設(shè)備與本設(shè)備之間的CFD連接與第二轉(zhuǎn)發(fā)設(shè)備直連的三層設(shè)備的媒體訪問控制MAC地址之間的綁定關(guān)系; 所述保存模塊,用于保存所述接收模塊接收到的綁定關(guān)系; 所述發(fā)送模塊,用于將所述CFD連接模塊通過LT檢測得到的最后一個可達(dá)設(shè)備的信息,發(fā)送給第一用戶終端設(shè)備; 所述偵聽模塊,用于當(dāng)所述CFD連接模塊通過CC檢測到有鏈路不連通時,開啟互聯(lián)網(wǎng)控制消息協(xié)議ICMP報文偵聽; 所述查找模塊,用于在所述偵聽模塊偵聽到生存時間TTL值為I的ICMP請求報文之后,在所述保存模塊中查找與該ICMP請求報文中的目的MAC地址綁定的第一 CFD連接,其中,該ICMP請求報文是第一用戶終端設(shè)備在進(jìn)行跟蹤路由Tracert檢測時發(fā)出的。
7.根據(jù)權(quán)利要求6所述的轉(zhuǎn)發(fā)設(shè)備,其特征在于,所述CFD連接模塊建立本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接的方式包括以下之一 發(fā)送二層廣播請求消息,其中,所述二層廣播請求消息中攜帶有建立CFD連接所需的相關(guān)參數(shù);在接收到第二轉(zhuǎn)發(fā)設(shè)備針對該二層廣播請求消息返回的應(yīng)答消息之后,根據(jù)該應(yīng)答消息中攜帶的該CFD連接的標(biāo)識建立本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接; 接收到第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的二層廣播請求消息之后,根據(jù)該二層廣播請求消息中攜帶的建立CFD連接所需的相關(guān)參數(shù),計算CFD連接的標(biāo)識,并建立本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接;向第二轉(zhuǎn)發(fā)設(shè)備返回應(yīng)答消息,其中,該應(yīng)答消息中攜帶有所計算的CFD連接的標(biāo)識。
8.根據(jù)權(quán)利要求7所述的轉(zhuǎn)發(fā)設(shè)備,其特征在于,還包括綁定關(guān)系建立模塊,其中, 所述綁定關(guān)系建立模塊,用于建立所述CFD連接模塊所建立的本設(shè)備與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接與本設(shè)備直連的三層設(shè)備的MAC地址之間的綁定關(guān)系; 所述保存模塊,還用于保存所述綁定關(guān)系建立模塊所建立的綁定關(guān)系。
9.根據(jù)權(quán)利要求7或8所述的轉(zhuǎn)發(fā)設(shè)備,其特征在于,所述發(fā)送模塊包括 封裝單元,用于在本設(shè)備與路由設(shè)備直連時,將所述CFD連接模塊通過LT檢測得到的最后一個可達(dá)設(shè)備的信息封裝在ICMP不可達(dá)報文中;還用于在本設(shè)備與第一用戶終端設(shè)備直連時,將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息封裝在簡單網(wǎng)絡(luò)管理協(xié)議SNMP告警Trap報文中; 發(fā)送單元,用于將所述封裝單元封裝得到的ICMP不可達(dá)報文和SNMP Trap報文發(fā)送給第一用戶終端設(shè)備。
10.根據(jù)權(quán)利要求9所述的轉(zhuǎn)發(fā)設(shè)備,其特征在于,在本設(shè)備與第一用戶終端設(shè)備直連時, 所述接收模塊,還用于接收目的MAC地址是第一用戶終端設(shè)備的MAC地址的ICMP不可達(dá)報文,解封裝該ICMP不可達(dá)報文得到該最后一個可達(dá)設(shè)備的信息; 所述封裝單元,還用于將所述接收模塊解封裝得到的最后一個可達(dá)設(shè)備的信息封裝在SNMP Trap報文中,并通過所述發(fā)送單元將該SNMP Trap報文發(fā)送給第一用戶終端設(shè)備。
全文摘要
本申請公開了一種鏈路故障定位方法及設(shè)備,其中,該方法包括第一轉(zhuǎn)發(fā)設(shè)備在確定本設(shè)備與三層設(shè)備直連之后,建立與第二轉(zhuǎn)發(fā)設(shè)備之間的CFD連接以進(jìn)行CC;接收第二轉(zhuǎn)發(fā)設(shè)備發(fā)來的綁定關(guān)系,其中,該綁定關(guān)系是第二轉(zhuǎn)發(fā)設(shè)備與第一轉(zhuǎn)發(fā)設(shè)備之間的CFD連接與第二轉(zhuǎn)發(fā)設(shè)備直連的三層設(shè)備的MAC地址之間的綁定關(guān)系;當(dāng)通過CC檢測到有鏈路不連通時,開啟ICMP報文偵聽;在偵聽到TTL值為1的ICMP請求報文之后,查找與該ICMP請求報文中的目的MAC地址綁定的第一CFD連接,對第一CFD連接進(jìn)行LT檢測,其中,該ICMP請求報文是第一用戶終端設(shè)備在進(jìn)行Tracert檢測時發(fā)出的;將通過LT檢測得到的最后一個可達(dá)設(shè)備的信息發(fā)送給第一用戶終端設(shè)備。
文檔編號H04L12/24GK102984011SQ20121052557
公開日2013年3月20日 申請日期2012年12月4日 優(yōu)先權(quán)日2012年12月4日
發(fā)明者戴一凡, 呂輝 申請人:杭州華三通信技術(shù)有限公司