專利名稱:一種診斷網絡故障的方法及裝置的制作方法
技術領域:
本發(fā)明涉及通信技術領域,更具體的說,涉及一種診斷網絡故障的方法及裝置。
背景技術:
BGP (Border Gateway Protocol,邊界網關協議)是一種用于 AS (Autonomous System,自治系統(tǒng))之間進行通信的動態(tài)路由協議,是互聯網進行域間路由的事實標準。發(fā)送BGP消息的路由器稱為BGP發(fā)言者,用于接收或產生新的路由信息,并發(fā)布給其它BGP發(fā)言者;當BGP發(fā)言者收到來自其它AS的新路由時,若該新路由比當前已知路由更優(yōu)、或當前還沒有該新路由存在,將該新路由發(fā)布給AS內所有其它的BGP發(fā)言者,其中,相互交換消息的BGP發(fā)言者之間互稱對等體(Peer)。目前,現有技術方案中,網管設備以通過主動發(fā)送特定命令的方式來查看BGP對等體上本地配置的能力和BGP對等體之間協商成功的能力交集。在實現本發(fā)明過程中,發(fā)明人發(fā)現現有技術中至少存在如下問題網管設備以主動發(fā)送特定命令的方式,來查看BGP對等體上本地配置的能力和 BGP對等體之間協商成功的能力交集,手段單一,不能及時的發(fā)現BGP對等體之間由于兩端能力出現不一致,從而導致BGP會話中斷的情況,只能在后續(xù)的故障排查過程中,才能知道是否實現了客戶規(guī)劃的業(yè)務,網絡維護成本較高。
發(fā)明內容
本發(fā)明的實施例提供了一種診斷網絡故障的方法及裝置,能夠使網管設備及時獲取到故障信息,提高網絡維護的效率。本發(fā)明實施例一方面提供了一種診斷網絡故障的方法,該方法包括在對等體之間建立連接關系;所述對等體之間進行能力協商;將所述對等體兩端協商過程中不一致的能力信息進行記錄;并將記錄的所述不一致的能力信息通知給網管設備。本發(fā)明實施例另一方面還提供了一種診斷網絡故障的裝置,該裝置包括連接建立模塊,用于在對等體之間建立連接關系;協商控制模塊,用于所述對等體之間進行能力協商,并對所述對等體兩端協商過程中不一致的能力信息進行記錄;能力信息通告模塊,用于將所述協商控制模塊記錄的所述不一致的能力信息通知給網管設備。由上述本發(fā)明的實施例提供的技術方案可以看出,在對等體之間進行能力協商的過程中,將兩端不一致的能力信息記錄下來,并將記錄的不一致的能力信息通知給網管設備,使得網管設備能夠及時獲知網絡設備在倒換或升級等過程中能力異常情況的發(fā)生,不僅能夠及時對對等體兩端出現能力不一致的對等體設備進行排查,還提高了網絡維護的效率。
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發(fā)明實施例診斷網絡故障的方法的流程圖;圖2為本發(fā)明實施例Open消息格式;圖3為本發(fā)明實施例可選參數的消息格式;圖4為本發(fā)明實施例診斷網絡故障的方法的應用場景圖;圖5為本發(fā)明實施例診斷網絡故障的裝置的結構示意圖;圖6為本發(fā)明實施例診斷網絡故障的裝置的具體結構示意圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例針對對等體間部署有多種能力的網絡中對等體間發(fā)生能力不一致的應用場景,提出一種診斷網絡故障的方法及裝置,通過在對等體兩端進行能力協商過程中,記錄下兩端不一致的能力信息,并將該不一致的能力信息通知網管設備,使得網管設備能夠及時的對故障設備進行排查,提高了網絡管理的效率和可靠性。其中,本發(fā)明實施例中所涉及的對等體可以為BGP中的對等體。舉例來說,本發(fā)明實施例中對等體兩端能力不一致的場景可以為,但并不限于以下的任意一種或多種對等體設備由于某種原因發(fā)生主控制平面和備控制平面倒換;對等體設備進行版本升級;因為某種原因丟失了客戶業(yè)務配置的原有能力的使能命令,或者,由于錯誤的配置導致對等體兩端使能的能力不一致。下面通過具體實施例對本發(fā)明的技術方案做詳細說明。如圖1所示,本發(fā)明實施例提出一種診斷網絡故障的方法,該方法包括100、在對等體之間建立連接關系;具體的,步驟100中在對等體之間建立連接關系,可以包括對等體之間在 TCP (Transmission Control Protocol,傳輸控制協議)連接建立后,通過發(fā)送BGP中的 Open消息(初始消息)的方式來建立對等體之間的連接關系,所述對等體例如可以為BGP 對等體。101、所述對等體之間進行能力協商;具體的,步驟101中對等體之間進行能力協商,可以包括
所述對等體之間通過發(fā)送Open消息進行能力協商,其中,所述對等體可以將本地使能的能力信息攜帶在發(fā)送的Open消息的可選參數中。進一步具體的,本發(fā)明實施例中Open消息可以采用現有BGP中的Open消息來實現,其中,Open消息是TCP連接建立后發(fā)送的第一個消息,用于建立BGP對等體之間的連接關系。Open消息格式可以如圖2所示Version :BGP 的版本號;對于 BGP-4,Version 為 4 ;My Autonomous System 本地 AS (Autonomous System,自治系統(tǒng))編號通過比較兩端的AS 編號可以確定是 EBGP (External Border Gateway Protocol, 外部邊界網關協議)連接還是IBGPanternal Border Gateway Protocol,內部邊界網關協議)連接;Hold time 維持時間,在建立對等體關系時兩端要協商Hold time,并保持一致;如果兩端所配置的Hold time時間不同,則BGP會選擇較小的那個值作為協商的結果;如果在這個時間內未收到對端發(fā)來的Ke印alive消息(?;钕?或Update消息 (更新消息),則認為BGP連接中斷;BGP Identifier =BGP標識符,以IP地址的形式表示,用來識別BGP路由器;Opt Parm Len (Optional Parameters Length)可選參數的長度,如果為 0 則沒有可選參數,現有BGP中規(guī)定可選參數的長度可以為1個字節(jié),本申請實施例將可選參數的長度擴展為4字節(jié),支持超過255個可選能力。Optional Parameters 用于攜帶 BGP 驗證或多協議擴展(Multiprotocol Extensions)等功能的可選參數。在本發(fā)明實施例中,可以將對等體兩端協商的能力信息攜帶在該字段中。Optional Parameters 的消息格式可以采用 TLV(Type-Length-Value,類型-長度-值)的形式來表示,如圖3所示,其中Capability Code 能力代碼;能力代碼是一個單字節(jié)字段,用于標識一種能力;Capability Length 能力長度;能力長度是一個單字節(jié)字段,用于指示能力值字段的字節(jié)長度;Capability Value 能力值;能力值是一個可變長度的字段,按照能力代碼字段的值來解釋。102、將所述對等體兩端協商過程中不一致的能力信息進行記錄;具體的,將所述對等體兩端協商過程中不一致的能力信息進行記錄,可以包括所述進行能力協商的對等體,記錄所述不一致的能力信息;所述不一致的能力信息包括所述進行能力協商的對端對等體的地址,不一致的能力類型以及協商失敗的原因。進一步具體的,在本發(fā)明實施例中對等體通過Open消息進行能力協商,在能力協商過程中,對等體通過Open消息將本地使能的能力通知對端,對等體在接收到Open消息后,將Open消息的可選參數中攜帶的能力信息,與本地使能的能力進行比較,取兩者的能力交集,用于BGP會話連接的正常建立。
對等體之間由于某種原因造成能力不一致時,在能力協商過程中,進行協商的對等體會發(fā)現有不一致的能力存在,為了避免不一致的能力存在而影響B(tài)GP會話的正常連接,本發(fā)明實施例在能力協商時,提出針對不一致的能力信息進行記錄,其中,進行協商的兩端對等體可以同時對不一致的能力信息進行記錄;或者,可以由進行協商的對等體中的任意一端對不一致的能力信息進行記錄。此外,對等體記錄的不一致的能力信息,可以參見如下示例來實現,但本發(fā)明實施例并不限定于如下示例。示例性的,第一對等體與第二對等體進行能力協商,當由第一對等體對不一致的能力信息進行記錄時,記錄的能力信息包括進行能力協商的對端對等體的地址,在本示例中為第二對等體的IP地址;不一致的能力類型,指示不一致的能力,可以采用如圖3所示的格式來表示;協商失敗的原因,該原因指示不一致的能力是第一對等體本地使能的,但接收到的第二對等體發(fā)送的Open消息中并未包含該不一致的能力;禾口/ 或,進行能力協商的對端對等體的地址,在本示例中為第二對等體的IP地址;不一致的能力類型,指示不一致的能力,可以采用如圖3所示的格式來表示;協商失敗的原因,指示接收到的第二對等體發(fā)送的Open消息中包含該不一致的能力,但第一對等體本地并沒有使能該不一致的能力。當然,也可以由第二對等體對不一致的能力信息進行記錄,記錄的能力信息例如可以包括進行能力協商的對端對等體的地址,在本示例中為第一對等體的IP地址;不一致的能力類型,指示不一致的能力,可以采用如圖3所示的格式來表示;協商失敗的原因,指示不一致的能力是第二對等體本地使能的,但接收到的第一對等體發(fā)送的Open消息中并未包含該不一致的能力;禾口/ 或,進行能力協商的對端對等體的地址,在本示例中為第一對等體的IP地址;不一致的能力類型,指示該不一致的能力,可以采用如圖3所示的格式來表示;協商失敗的原因,指示接收到的第一對等體發(fā)送的Open消息中包含該不一致的能力,但第二對等體本地并沒有使能該不一致的能力。103、將記錄的所述不一致的能力信息通知給網管設備。具體的,步驟103中將記錄的所述不一致的能力信息通知給網管設備,可以包括配置有SNMP(Simple Network Management Protocol,簡單網絡管理協議)功能的對等體,將所述不一致的能力信息記錄在日志中,或者,通過告警的方式,如Trap(自陷)方式通知網管設備,使得網管設備可以直接對能力協商過程中對等體兩端出現能力不一致的對等體設備進行故障排查,或通知監(jiān)控人員對能力協商過程中對等體兩端出現能力不一致的對等體設備進行故障排查,提高了網絡的可維護性。進一步具體的,在BGP對等體上均部署有SNMP功能的情況下,通過SNMP可以將記錄的不一致的能力信息通知給網管設備,使得網關設備可以直接對能力協商過程中對等體兩端出現能力不一致的對等體設備進行故障排查,或通知監(jiān)控人員對能力協商過程中對等體兩端出現能力不一致的對等體設備進行故障排查,提高了網絡的可維護性。需要說明的是,本發(fā)明實施例提供的一種診斷網絡故障的方法,還可以應用于其它涉及能力參數協商的網絡協議中,例如PPP(Peer to Peer Protocol,點對點協議)等,具體實現方式可以參考本發(fā)明實施例中的相關說明。如圖4所示,以BGP為應用場景對本發(fā)明實施例的技術方案進行具體說明。其中, 假設路由器1為BGP對等體1,路由器2為BGP對等體2 ;在初始階段,路由器1上本地使能的能力包括IPv4anternet Protocol version 4,第四版互聯網協議版本 4)單播、IPv4 多播、VPNv4 (Virtual Private Network version 4,第四版虛擬專用網絡)以及IPv4 MDT(multicast distribution tree,組播分發(fā)樹);路由器2上本地使能的能力包括IPv4單播、IPv4多播、VPNv4以及IPv4MDT。路由器1和路由器2之間在初始協商過程中,確定兩端的能力交集為IPv4單播、 IPv4 多播、VPNv4 及 IPv4MDT。因為錯誤的配置、升級或倒換等原因,導致路由器1和路由器2的初始配置丟失, 例如,路由器1上只剩下能力IPv4單播、IPv4多播以及VPNv4 ;路由器2上只剩下能力IPv4 單播、IPv4多播以及IPv4 MDT ;此時,由于路由器1和路由器2之間的能力發(fā)生不一致,從而導致路由器1和路由器之間的BGP會話中斷。針對上述場景,本發(fā)明實施例提供的診斷網絡故障的方法包括400、路由器1與路由器2在TCP連接建立后,通過發(fā)送Open消息的方式來建立對等體之間的連接關系;401、路由器1與路由器2之間通過發(fā)送Open消息進行能力協商,其中,所述對等體本地使能的能力信息攜帶在發(fā)送的Open消息的可選參數中,Open消息的具體格式可以參見上述實施例的相關描述。通過協商之后,路由器1和路由器2的能力交集僅包含IPv4單播、IPv4多播,此時,BGP會話已經無法正常建立。402、路由器1和/或路由器2對所述對等體兩端協商過程中不一致的能力信息進行記錄;舉例來說,假設本實施例中由路由器2來記錄協商過程中不一致的能力信息,可以通過如下方式來記錄不一致的能力信息不一致的能力信息包括進行能力協商的對端對等體的地址路由器1的地址;不一致的能力類型不一致的能力中屬于路由器2本地使能的能力類型;協商失敗的原因該不一致的能力是路由器2本地使能的,但從路由器1收到的 Open消息中并未包含該不一致的能力,例如可以用bgpCapabilityAdvertised字段來表示該協商失敗的原因。因此,本發(fā)明實施例上述路由器2記錄的不一致的能力信息可以具體為10.1.12.l+IPv4 MDT+bgpCapabi1ityAdvertiSed 同時,路由器2也可以記錄協商過程中發(fā)現的路由器1使能的、但路由器2本地沒有使能的能力信息,例如記錄如下的信息進行能力協商的對端對等體的地址路由器1的地址;
7
不一致的能力類型不一致的能力中屬于路由器1使能的能力類型;以及,協商失敗的原因指示路由器2接收到的路由器1發(fā)送的Open消息中包含該不一致的能力,但路由器2本地并沒有使能該不一致的能力;可以用bgpCapability Received 字段來表示該協商失敗的原因;因此,記錄的不一致的能力信息可以具體為10. 1. 12. l+VPNv4+bgpCapability Received。此外,本發(fā)明實施例也可以由路由器1來記錄協商過程中不一致的能力信息,不一致的能力信息包括進行能力協商的對端對等體的地址本實施例中為路由器2的地址;不一致的能力類型不一致的能力中屬于路由器1本地使能的能力類型;協商失敗的原因該不一致的能力是路由器1本地使能的,但從路由器2收到的 Open消息中并未包含該不一致的能力;可以用bgpCapabilityAdvertised字段來表示該協商失敗的原因;因此,記錄的不一致的能力信息可以具體為10. 1. 12. 2+VPNv4+bgpCapabilityAdvertikd。同時,路由器1也可以記錄協商過程中發(fā)現的路由器2使能的、但路由器1本地沒有使能的能力信息,例如記錄如下的信息進行能力協商的對端對等體的地址路由器2的地址;不一致的能力類型不一致的能力中屬于路由器2本地使能的能力類型;以及,協商失敗的原因路由器1接收到的路由器2發(fā)送的Open消息中包含該不一致的能力,但路由器1本地并沒有使能該不一致的能力;可以用bgpCapabiIityReceived字段來表示該協商失敗的原因。因此,本發(fā)明實施例中記錄的不一致的能力信息可以具體為10. 1. 12. 2+IPv4MDT+bgpCapability Received。需要說明的是,上述實施例提出可以由路由器1或路由器2對不一致的能力信息進行記錄,在本發(fā)明的實現過程中也可以根據實際需要由路由器1和路由器2同時對不一致的能力信息進行記錄,對此本發(fā)明實施例不做具體限定。403、將記錄的所述不一致的能力信息通知給網管設備;具體為,配置有簡單網絡管理協議功能的對等體,可以通過如下兩種方式中的任意一種,將所述不一致的能力信息通知給網管設備所述對等體將所述不一致的能力信息記錄在日志中;或者,所述對等體通過Trap的方式將所述不一致的能力信息通知給網管設備,以便所述網管設備對發(fā)生能力不一致的對等體進行故障排查。如圖5所示,本發(fā)明實施例提出一種診斷網絡故障的裝置,該裝置包括連接建立模塊51,用于在對等體之間建立連接關系;協商控制模塊52,用于所述對等體之間進行能力協商,并對所述對等體兩端協商過程中不一致的能力信息進行記錄;能力信息通告模塊53,用于將所述協商控制模塊記錄的所述不一致的能力信息通知給網管設備。進一步的,所述連接建立模塊51可以具體為Open消息連接建立模塊,用于所述對等體之間在TCP連接建立后,通過發(fā)送Open消息的方式來建立對等體之間的連接關系。進一步的,如圖6所示,本發(fā)明實施例診斷網絡故障的裝置中協商控制模塊52可以進一步包括協商單元521,用于所述對等體之間通過發(fā)送Open消息進行能力協商,其中,所述對等體可以將本地使能的能力信息攜帶在發(fā)送的Open消息的可選參數中;記錄單元522,用于針對所述進行能力協商的對等體,記錄所述不一致的能力信
肩、ο其中,對等體兩端進行能力協商所采用的Open消息的格式具體可以參見上述診斷網絡故障的方法實施例中的相關描述。進一步的,所述不一致的能力信息包括能力協商的對端對等體的地址,不一致的能力類型以及協商失敗的原因。其中,記錄不一致的能力信息的具體方式可以參見上述診斷網絡故障的方法實施例中的相關描述。進一步的,所述能力信息通告模塊53可以具體用于配置有簡單網絡管理協議功能的對等體,將所述不一致的能力信息記錄在日志中,或者,通過Trap的方式將所述不一致的能力信息通知給網管設備,使得網管設備可以直接對能力協商過程中對等體兩端出現能力不一致的對等體設備進行故障排查,或通知監(jiān)控人員對能力協商過程中對等體兩端出現能力不一致的對等體設備進行故障排查,提高了網絡的可維護性。需要說明的是,本發(fā)明實施例是基于上述診斷網絡故障的方法實施例獲得的裝置實施例,包含了與上述方法實施例中相同或相應的技術特征,因此,在本發(fā)明裝置實施例中涉及的技術方案可以參見上述方法實施例中的描述,在此不做一一贅述。本發(fā)明實施例一種診斷網絡故障的方法及裝置,通過在對等體的協商過程中,記錄下對等體兩端不一致的能力信息,并將該不一致的能力信息通知給網管設備,使網管設備及時的獲取到對等體兩端能力不一致的信息,不僅可以提高對對等體發(fā)生能力不一致的故障排查的及時性,還可以提高網絡維護的可靠性,從而有效避免在對等體間部署有多種能力的網絡中由于對等體間使能的能力不一致造成的BGP會話中斷的問題。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換, 都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
權利要求
1.一種診斷網絡故障的方法,其特征在于,包括 在對等體之間建立連接關系;所述對等體之間進行能力協商;將所述對等體兩端協商過程中不一致的能力信息進行記錄; 將記錄的所述不一致的能力信息通知給網管設備。
2.根據權利要求1所述的方法,其特征在于,所述對等體之間建立連接關系,包括 所述對等體之間在傳輸控制協議連接建立后,通過發(fā)送Open消息的方式來建立對等體之間的連接關系。
3.根據權利要求1所述的方法,其特征在于,所述對等體之間進行能力協商,包括 所述對等體之間通過發(fā)送Open消息進行能力協商,其中,所述對等體本地使能的能力信息攜帶在發(fā)送的Open消息的可選參數中。
4.根據權利要求1-3中任一所述的方法,其特征在于,將所述對等體兩端協商過程中不一致的能力信息進行記錄,包括所述進行能力協商的對等體,記錄所述不一致的能力信息; 所述不一致的能力信息包括能力協商的對端對等體的地址,不一致的能力類型以及協商失敗的原因。
5.根據權利要求4所述的方法,其特征在于,所述將記錄的所述不一致的能力信息通知給網管設備,包括通過將所述不一致的能力信息記錄在日志中的方式,或者,通過告警的方式將所述不一致的能力信息通知網管設備,以便所述網管設備對發(fā)生能力不一致的對等體進行故障排查。
6.一種診斷網絡故障的裝置,其特征在于,包括 連接建立模塊,用于在對等體之間建立連接關系;協商控制模塊,用于所述對等體之間進行能力協商,并對所述對等體兩端協商過程中不一致的能力信息進行記錄;能力信息通告模塊,用于將所述協商控制模塊記錄的所述不一致的能力信息通知給網管設備。
7.根據權利要求6所述的裝置,其特征在于,所述連接建立模塊具體用于所述對等體之間在傳輸控制協議連接建立后,通過發(fā)送Open消息的方式來建立對等體之間的連接關系。
8.根據權利要求6所述的裝置,其特征在于,所述協商控制模塊包括協商單元,用于所述對等體之間通過發(fā)送Open消息進行能力協商,其中,所述對等體本地使能的能力信息攜帶在發(fā)送的Open消息的可選參數中;記錄單元,用于針對所述進行能力協商的對等體,記錄所述不一致的能力信息。
9.根據權利要求8所述的裝置,其特征在于,所述不一致的能力信息包括 能力協商的對端對等體的地址,不一致的能力類型以及協商失敗的原因。
10.根據權利要求6-9中任一所述的裝置,其特征在于,所述能力信息通告模塊具體用于 將所述不一致的能力信息記錄在日志中,或者,通過告警的方式將所述不一致的能力信息通知給網管設備,以便所述網管設備對發(fā)生能力不一致的對等體進行故障排查。
全文摘要
本發(fā)明公開了一種診斷網絡故障的方法及裝置,其中,診斷網絡故障的方法包括在對等體之間建立連接關系;所述對等體之間進行能力協商;將所述對等體兩端協商過程中不一致的能力信息進行記錄;并將記錄的所述不一致的能力信息通知給網管設備。本發(fā)明還公開了一種診斷網絡故障的裝置。本發(fā)明技術方案的實現,能夠在對等體兩端能力不一致時,通過將記錄的不一致的能力信息及時的通知網管設備,使得網管設備能夠及時對能力協商過程中對等體兩端出現能力不一致的對等體設備進行排查,提高了網絡維護的效率。
文檔編號H04L29/06GK102404155SQ20111039393
公開日2012年4月4日 申請日期2011年12月1日 優(yōu)先權日2011年12月1日
發(fā)明者莊順萬, 歐陽沅斌 申請人:華為數字技術有限公司