分散式乙太網系統及基於該系統的故障檢測方法

分散式乙太網系統及基於該系統的故障檢測方法

《分散式乙太網系統及基於該系統的故障檢測方法》是中控科技集團有限公司浙江大學於2007年4月27日申請的發明專利,該專利申請號為200710097678,公布號為CN101030901,專利公布日為2007年9月5日,發明人是馮冬芹、章涵、褚健、金建祥。

《分散式乙太網系統及基於該系統的故障檢測方法》包括多個交換機,所述交換機依次相連,形成環形結構,各交換機進行時鐘同步之後,按照預先確定的軟體組態周期性輪流進行環路檢測和協定機檢測,並當出現環路故障或協定機故障時,傳送故障報警報文。該發明同時公開了一種基於上述系統的故障檢測方法。該發明中,各交換機的功能是對等的,體現了乙太網通信的公平性原則,解決了2007年4月之前技術中由於主交換機故障對網路造成的不可控制的影響而導致的風險高度集中的問題。

2010年11月15日,《分散式乙太網系統及基於該系統的故障檢測方法》獲得第十二屆中國專利獎優秀獎。

(概述圖為《分散式乙太網系統及基於該系統的故障檢測方法》的摘要附圖)

基本介紹

  • 中文名:分散式乙太網系統及基於該系統的故障檢測方法
  • 公布號:CN101030901
  • 公布日:2007年9月5日
  • 申請號:200710097678
  • 申請日:2007年4月27日
  • 申請人:中控科技集團有限公司、浙江大學
  • 地址:浙江省杭州市濱江區六和路309號中控科技園(高新區)
  • 發明人:馮冬芹、章涵、褚健、金建祥
  • 代理機構:北京集佳智慧財產權代理有限公司
  • 代理人:逯長明
  • Int.Cl.:H04L12/26(2006.01)I
  • 類別:發明專利
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,權利要求,實施方式,榮譽表彰,

專利背景

隨著乙太網技術的發展,乙太網越來越多地套用在工業場合,工業生產的穩定運行和效益提高對於工業乙太網的可靠性提出了越來越高的要求,因此,工業乙太網的高可用性也越來越受到重視。
2007年之前普遍採用的是主從式的環網冗餘系統,如圖1所示,環網冗餘系統中由主交換機10(主設備)控制整個網路系統的工作情況,保證網路在單一故障(單一故障指的是:整個環網系統的所有交換機及連線交換機的所有網線中有且僅有一個組成部分出現故障)的情況下網路的可用性。主從式的乙太網系統中,由各從交換機20負責監測自身的工作狀態,並在監測到自身故障的情況下,向主交換機傳送故障報警;主交換機定時向網路傳送測試報文,監測網路工作狀態,並處理從交換機的故障報警,根據從交換機的故障報警,確定從交換機的故障恢復動作。
由於在上述主/從式的環網冗餘系統中,網路的工作狀態以及故障的恢復是由主交換機統一負責的,使得網路風險高度集中在主交換機上,如果主/交換機出現故障,那么網路將處於癱瘓,可靠性低。

發明內容

專利目的

《分散式乙太網系統及基於該系統的故障檢測方法》的目的在於提供一種分散式乙太網系統,以解決2007年4月之前技術的網路風險集中在一個交換機上,可靠性低的問題。

技術方案

一種分散式乙太網系統,包括多個交換機,所述交換機依次相連,形成環形結構,各交換機進行時鐘同步之後,按照預先確定的軟體組態周期性輪流進行環路檢測和協定機檢測,並當出現環路故障或協定機故障時,傳送故障報警報文。
優選的,所述交換機包括:時鐘同步單元、環路檢測單元、自檢單元、協定機檢測單元、故障報警單元和狀態設定單元,其中,所述時鐘同步單元用於調整該交換機與系統時鐘同步;所述環路檢測單元用於對系統的環路進行檢測;所述自檢單元用於當環路檢測單元檢測出系統環路出現故障後,檢查與該交換機連線的鏈路的工作狀態,並進行記錄;所述協定機檢測單元用於對與其相鄰的交換機進行協定機檢測;故障報警單元用於以組播形式傳送包含指示故障類型以及故障發生的位置的信息的報警報文;所述狀態設定單元用於按照預先確定的軟體組態的指示,結合其它交換機的環連線埠的狀態,設定該交換機的環連線埠的協定狀態。
優選的,所述環路檢測單元包括:第一傳送單元,用於以組播形式周期性從該交換機的兩個環連線埠傳送環路故障探測報文,所述環路故障探測報文包括該交換機的MAC(介質訪問控制)地址和用於指示環連線埠協定狀態的信息;第一判斷單元,用於判斷在所述第一傳送單元傳送環路故障探測報文後,在環路檢測周期結束時,該交換機的兩環連線埠是否接收到對端傳送的環路故障探測報文,若是,判斷系統正常;否則,判斷系統出現環路故障。
優選的,所述環路檢測單元還包括:
第二判斷單元,用於接收其他交換機傳送環路故障探測報文,在間隔等於報文傳遞周期的時間內是否接收到同一環路故障探測報文,若是,則判斷環路正常,否則判斷環路出現故障。
優選的,所述協定機檢測單元包括:第二傳送單元,用於以單播形式周期性從該交換機的兩個環連線埠傳送鏈路探測報文至相鄰交換機,所述環路故障探測報文包括該交換機的MAC(介質訪問控制)地址、相鄰交換機的MAC地址和用於指示環連線埠協定狀態的信息;第三判斷單元,用於判斷在所述第二傳送單元傳送鏈路探測報文後,在協定機檢測周期結束時,該交換機的兩環連線埠是否接收到相鄰交換機傳送的鏈路探測報文,若是,判斷相鄰交換機的協定機正常;否則,判斷相鄰交換機出現協定機故障。
優選的,所述狀態設定單元包括:第一狀態設定單元,用於在時鐘同步單元完成時鐘同步操作之前,設定該交換機的兩個環連線埠協定狀態為“初始化”狀態,在所述時鐘同步單元完成時鐘同步操作之後,設定該交換機的兩個環連線埠協定狀態為“擁塞”;第二狀態設定單元,用於當該交換機接收到包含用於指示環連線埠處於“擁塞”狀態的信息的報文時,設定該交換機的兩個環連線埠的狀態為“轉發”狀態;並且當該交換機獲知環網中其它交換機的所有環連線埠均處於“轉發”狀態時,設定該交換機的環連線埠中的一個的狀態為“擁塞”,另外一個狀態為“轉發”。
第三狀態設定單元,用於在所述自檢單元檢測出鏈路故障,將該交換機與所述鏈路連線的環連線埠的狀態設定為“擁塞”;當該交換機的環路檢測單元判斷出系統環網恢復正常,則維持環連線埠的“擁塞”狀態;第四狀態設定單元,用於在協定機檢測單元判斷出相鄰交換機出現協定機故障時,將與相鄰交換機相連的環連線埠的協定狀態設定為“擁塞”,並在協定機檢測單元判斷出發生協定機故障的交換機恢復正常時,將該交換機的環連線埠的狀態設定為“轉發”;第五狀態設定單元,用於在接收到環路中的報警報文後,將該交換機的環連線埠的協定狀態設定為“轉發”。
該發明同時還提供了一種分散式乙太網系統故障檢測方法,包括:對系統中的所有交換機進行時鐘同步;按照預先確定的軟體組態的指示,對系統進行周期性的環路檢測和協定機檢測;當出現環路故障或協定機故障時,傳送故障報警報文。
優選的,按照以下步驟進行環路檢測:各交換機相隔預設時間以組播形式通過交換機的兩個環連線埠向系統傳送環路故障探測報文;當該交換機的兩個環連線埠在一次報文傳遞周期結束時沒有都接收到從對端環連線埠發出的環路故障探測報文時,檢測與該交換機相連的鏈路;如果與該交換機相連的鏈路出現故障或者處於未連線狀態,將該交換機與該鏈路相連的環連線埠的狀態設定為“擁塞”;否則,進一步判斷其他交換機的環連線埠的協定狀態;如果其他交換機的環連線埠的協定狀態均為“轉發”,將該交換機的兩個環連線埠中的一個設定為“轉發”狀態,將另一個設定為“擁塞”狀態;否則,將該交換機的兩個環連線埠的協定狀態均設定為“轉發”。
優選的,按照以下步驟進行協定機測試:在一個協定機檢測周期開始時,所有交換機同時傳送鏈路探測報文至相鄰交換機;在與該交換機連線的鏈路處於正常工作狀態時,判斷交換機的環連線埠在所述協定機檢測周期結束時是否接收到從相鄰交換機發出的協定機檢測報文,若是,判斷所述相鄰交換機正常;否則,判斷所述相鄰交換機出現協定機故障。優選的,按照以下步驟傳送故障報警報文:在完成協定機檢測後,系統中所有交換機以組播形式傳送故障報警報文,所述故障報警報文包括用於指示發生環路故障和/或協定機故障的信息和用於指示故障發生位置的信息。

改善效果

《分散式乙太網系統及基於該系統的故障檢測方法》所有的交換機可通過環路檢測單元和協定機檢測單元對系統環路和各交換機進行檢測,也就是說,各交換機的功能是對等的,沒有主/從交換機之分,從而體現了乙太網通信的公平性原則,避免了由於主交換機故障對網路造成的不可控制的影響而導致的風險高度集中的問題。

附圖說明

圖1為2007年4月之前技術的系統結構示意圖;
圖2為該發明分散式乙太網系統的實施例一結構示意圖;
圖3為該發明分散式乙太網系統的實施例二的交換機的結構示意圖;
圖4為該發明分散式乙太網系統的實施例三結構示意圖;
圖5為該發明分散式乙太網系統的實施例四的環路檢測單元的結構示意圖;
圖6為該發明分散式乙太網系統的實施例五的環路檢測單元的結構示意圖;
圖7為該發明分散式乙太網系統的實施例五的協定機檢測單元的結構示意圖;
圖8為該發明分散式乙太網系統的交換機實施例五的狀態設定單元的結構示意圖;
圖9為該發明基於分散式乙太網系統的故障檢測方法的實現流程圖;
圖10為該發明基於分散式乙太網系統的故障檢測方法的實現流程中環路檢測的流程圖;
圖11為該發明基於分散式乙太網系統的故障檢測方法的實現流程中協定機檢測的流程圖。

權利要求

1、一種分散式乙太網系統,包括多個交換機,所述交換機依次相連,形成環形結構,其特徵在於,各交換機進行時鐘同步之後,按照預先確定的軟體組態周期性輪流進行環路檢測和協定機檢測,並當出現環路故障或協定機故障時,傳送故障報警報文。
2、如權利要求2所述的系統,其特徵在於,所述交換機包括:時鐘同步單元、環路檢測單元、自檢單元、協定機檢測單元、故障報警單元和狀態設定單元,其中,所述時鐘同步單元用於調整該交換機與系統時鐘同步;所述環路檢測單元用於對系統的環路進行檢測;所述自檢單元用於當環路檢測單元檢測出系統環路出現故障後,檢查與該交換機連線的鏈路的工作狀態,並進行記錄;所述協定機檢測單元用於對與其相鄰的交換機進行協定機檢測;故障報警單元用於以組播形式傳送包含指示故障類型以及故障發生的位置的信息的報警報文;所述狀態設定單元用於按照預先確定的軟體組態的指示,結合其它交換機的環連線埠的狀態,設定該交換機的環連線埠的協定狀態。
3、如權利要求2所述的系統,其特徵在於,所述環路檢測單元包括:第一傳送單元,用於以組播形式周期性從該交換機的兩個環連線埠傳送環路故障探測報文,所述環路故障探測報文包括該交換機的MAC(介質訪問控制)地址和用於指示環連線埠協定狀態的信息;第一判斷單元,用於判斷在所述第一傳送單元傳送環路故障探測報文後,在環路檢測周期結束時,該交換機的兩環連線埠是否接收到對端傳送的環路故障探測報文,若是,判斷系統正常;否則,判斷系統出現環路故障。
4、如權利要求3所述的系統,其特徵在於,所述環路檢測單元還包括:第二判斷單元,用於接收其他交換機傳送環路故障探測報文,在間隔等於報文傳遞周期的時間內是否接收到同一環路故障探測報文,若是,則判斷環路正常,否則判斷環路出現故障。
5、如權利要求2或3或4所述的系統,其特徵在於,所述協定機檢測單元包括:第二傳送單元,用於以單播形式周期性從該交換機的兩個環連線埠傳送鏈路探測報文至相鄰交換機,所述環路故障探測報文包括該交換機的MAC(介質訪問控制)地址、相鄰交換機的MAC地址和用於指示環連線埠協定狀態的信息;第三判斷單元,用於判斷在所述第二傳送單元傳送鏈路探測報文後,在協定機檢測周期結束時,該交換機的兩環連線埠是否接收到相鄰交換機傳送的鏈路探測報文,若是,判斷相鄰交換機的協定機正常;否則,判斷相鄰交換機出現協定機故障。
6、如權利要求5所述的系統,其特徵在於,所述狀態設定單元包括:第一狀態設定單元,用於在時鐘同步單元完成時鐘同步操作之前,設定該交換機的兩個環連線埠協定狀態為“初始化”狀態,在所述時鐘同步單元完成時鐘同步操作之後,設定該交換機的兩個環連線埠協定狀態為“擁塞”;第二狀態設定單元,用於當該交換機接收到包含用於指示環連線埠處於“擁塞”狀態的信息的報文時,設定該交換機的兩個環連線埠的狀態為“轉發”狀態;並且當該交換機獲知環網中其它交換機的所有環連線埠均處於“轉發”狀態時,設定該交換機的環連線埠中的一個的狀態為“擁塞”,另外一個狀態為“轉發”。第三狀態設定單元,用於在所述自檢單元檢測出鏈路故障,將該交換機與所述鏈路連線的環連線埠的狀態設定為“擁塞”;當該交換機的環路檢測單元判斷出系統環網恢復正常,則維持環連線埠的“擁塞”狀態;第四狀態設定單元,用於在協定機檢測單元判斷出相鄰交換機出現協定機故障時,將與相鄰交換機相連的環連線埠的協定狀態設定為“擁塞”,並在協定機檢測單元判斷出發生協定機故障的交換機恢復正常時,將該交換機的環連線埠的狀態設定為“轉發”;第五狀態設定單元,用於在接收到環路中的報警報文後,將該交換機的環連線埠的協定狀態設定為“轉發”。
7、一種分散式乙太網系統故障檢測方法,其特徵在於,包括:對系統中的所有交換機進行時鐘同步;按照預先確定的軟體組態的指示,對系統進行周期性的環路檢測和協定機檢測;當出現環路故障或協定機故障時,傳送故障報警報文。
8、如權利要求7所述的方法,其特徵在於,按照以下步驟進行環路檢測:各交換機相隔預設時間以組播形式通過交換機的兩個環連線埠向系統傳送環路故障探測報文;當該交換機的兩個環連線埠在一次報文傳遞周期結束時沒有都接收到從對端環連線埠發出的環路故障探測報文時,檢測與該交換機相連的鏈路;如果與該交換機相連的鏈路出現故障或者處於未連線狀態,將該交換機與該鏈路相連的環連線埠的狀態設定為“擁塞”;否則,進一步判斷其他交換機的環連線埠的協定狀態;如果其他交換機的環連線埠的協定狀態均為“轉發”,將該交換機的兩個環連線埠中的一個設定為“轉發”狀態,將另一個設定為“擁塞”狀態;否則,將該交換機的兩個環連線埠的協定狀態均設定為“轉發”。
9、如權利要求8所述的方法,其特徵在於,按照以下步驟進行協定機測試:在一個協定機檢測周期開始時,所有交換機同時傳送鏈路探測報文至相鄰交換機;在與該交換機連線的鏈路處於正常工作狀態時,判斷交換機的環連線埠在所述協定機檢測周期結束時是否接收到從相鄰交換機發出的協定機檢測報文,若是,判斷所述相鄰交換機正常;否則,判斷所述相鄰交換機出現協定機故障。
10、如權利要求7或8或9所述的方法,其特徵在於,按照以下步驟傳送故障報警報文:在完成協定機檢測後,系統中所有交換機以組播形式傳送故障報警報文,所述故障報警報文包括用於指示發生環路故障和/或協定機故障的信息和用於指示故障發生位置的信息。

實施方式

2007年4月之前的環網冗餘系統,由於其主從式的結構,網路工作狀態以及網路中故障的恢復都需要主設備進行控制,使得網路風險高度集中在主設備上,一旦主設備出現故障,將導致網路癱瘓。
《分散式乙太網系統及基於該系統的故障檢測方法》的基本思想是:系統網路中的各交換機均可對系統的環路或交換機進行故障檢測,各交換機的角色對等,以避免2007年4月之前技術將所有故障檢測工作都集中在主設備上而導致的系統可靠性低的情況。
為了該領域技術人員對該發明的技術方案有更好的理解,下面結合附圖和實施例對該發明的技術方案進行詳細描述。
參考圖2,示出了該發明分散式乙太網系統的實施例一結構示意圖。
該系統包括多個乙太網交換機,各乙太網交換機首尾相連,形成環形網路拓撲結構。各乙太網交換機包括兩個連線埠,在此稱之為“環連線埠”,所述環連線埠具有三種協定狀態:“初始化”、“轉發”和“擁塞”。
處於“擁塞”狀態和“初始化”狀態的連線埠僅僅轉發環路故障探測報文和鏈路探測報文(所述環路故障探測報文主要用於探測網路鏈路是否出現故障,而所述鏈路探測報文用於探測相鄰交換機是否正常,該交換機與相鄰交換機之間的鏈路工作是否正常),其他所有數據報文均被丟棄;而對於處於“轉發”狀態的連線埠將所有數據報文進行轉發。
所有工業乙太網交換機接入該環形網路之前,需要通過軟體組態,包括:所有交換機傳送環路故障探測報文的和鏈路探測報文的測試周期時間長度(所述測試周期等於系統環路檢測周期、協定機檢測周期和報警報文傳送時間之和)、所有交換機傳送環路故障探測報文和鏈路探測報文的起始時刻相對於測試周期的偏移量。
所述系統環路檢測周期T=Switch_Number*(T1+interval);其中,Switch_Number為系統中交換機的數量,T1為報文在系統環路中傳遞一周所需要的時間(為了表述清楚,下文均將其稱之為“環路報文傳遞周期”),interval為相鄰交換機傳送報文的時間間隔;T1=Switch_Number*Maxhandltime;其中,Maxhandltime為交換機處理報文的最大處理時間。
參考圖3,示出了該系統實施例二的交換機的結構示意圖,該系統中每個乙太網交換機均包括:時鐘同步單元111、環路檢測單元112、、自檢單元113、協定機檢測單元114、狀態設定單元115和故障報警單元116。
所述時鐘同步單元111在該交換機接入系統時,調整該交換機與系統時鐘同步。在系統中所有的交換機中,只有一個處於主時鐘狀態,該主時鐘作為整個系統中所有交換機的時鐘源,其他交換機作為該時鐘源的從時鐘,與該主時鐘同步,所述時鐘同步單元111按照IEEE1588協定完成該交換機與系統時鐘源的同步,具體的方法與2007年4月之前技術相同。
所述環路檢測單元112在交換機完成時鐘同步後,定時以組播形式通過該交換機的兩個環連線埠同時傳送環路故障探測報文,對系統的環路進行檢測。當該交換機的兩個環連線埠在環路檢測周期內均接收到對連線埠(該交換機處於同個環網的另一個環連線埠)傳送的環路故障探測報文,則可判斷系統環路正常,否則,判斷系統出現環路故障。所述環路故障探測報文包含的信息包括:連線埠的冗餘域、交換機的標識,兩個環連線埠的協定狀態和連結狀態。
每個交換機在傳送環路探測報文的同時,也接收來自系統中其他交換機傳送的環路探測報文,所述環路檢測單元112還用於依據其他交換機傳送的環路探測報文,判斷是否出現環路故障。
自檢單元113用於當環路檢測單元112檢測出系統環路出現故障後,檢查與該交換機連線的鏈路的工作狀態,並進行記錄。
系統中所有交換機在系統環路測試周期結束時,由各自的協定機檢測單元114從本身的兩個環連線埠同時傳送鏈路故障探測報文,並在協定機檢測周期結束時,判斷環連線埠是否接收到來自相鄰交換機的鏈路故障探測報文,若收到,則判斷與所述環連線埠通過鏈路相連的相鄰交換機工作正常,否則,則判斷與所述環連線埠通過鏈路相連的相鄰交換機出現協定機故障。所述該交換機的MAC(Media Access Control,介質訪問控制)地址、相鄰交換機的MAC地址、環連線埠協定狀態等信息。
需要說明的是,為了保證系統中的報文的傳輸不影響正常數據的傳輸,所有的交換機並不是連續地對系統進行檢測,而是在兩個交換機傳送環路故障探測報文中存在一個固定的時間間隔,稱為協定數據時間間隔。該時間間隔根據環路故障探測報文占用的網路時間和該方法對於頻寬的利用率計算得到。
所述狀態設定單元115用於按照上述軟體組態以及環路檢測單元112和協定機檢測單元114的檢測結果,設定對該交換機的環連線埠的協定狀態。在時鐘同步單元111將該交換機與系統時鐘源同步之前,所述狀態設定單元114將該交換機的環連線埠的協定狀態設定為“初始化”,並在時鐘同步單元111完成該交換機與系統時鐘源的時鐘同步後,將該交換機的環連線埠的協定狀態設定為“擁塞”。在系統環路檢測周期開始時,第一個交換機傳送環路故障探測報文,系統中的其他交換機在接收到第一個交換機傳送環路故障探測報文之後,由自身的狀態設定單元115將該交換機的兩個環連線埠的協定狀態設定為“轉發”,在系統環路檢測周期結束時,在檢測出系統環路正常的情況下,所述第一個交換機接收到系統中所有交換機傳送的環路故障探測報文,如果獲知所有交換機的環連線埠均處於“轉發”狀態,則由自身的狀態設定單元115將兩個環連線埠中的一個環連線埠的協定狀態設定為“擁塞”,將另一個環連線埠的協定狀態設定為“轉發”。由此,可以避免出現網路迴環。
如果環路檢測單元114檢測出系統出現環路故障後,由該交換機的自檢單元113檢查與該交換機相連的鏈路的工作狀態,判斷是否出現中斷故障或者處於未連線狀態,若是,則由狀態設定單元115將與該鏈路相連的環連線埠的協定狀態設定為“擁塞”。
如果協定機檢測單元114檢測出相鄰交換機出現協定機故障,則由該交換機的狀態設定單元115將於交換機相連的環連線埠的協定狀態設定為“擁塞”,並在故障恢復後,將該環連線埠的協定狀態設定為“轉發”。而從故障狀態恢復過來的交換機由自身的狀態設定單元115將自身兩個環連線埠中的一個設定為“擁塞”狀態,並將另一個設定為“轉發”狀態。由此可以使得系統環網中有且只有一個環連線埠處於“擁塞”狀態,避免出現網路迴環。
所述故障報警單元116用於在協定機檢測周期結束時,以組播形式傳送報警報文。該報警報文包括指示故障類型(鏈路故障或協定機故障)以及故障發生的位置的信息。
需要說明的是,由於環路故障探測報文是從交換機兩個環連線埠傳送的,所以該系統中的各交換機在一個環連線埠接收到其他交換機傳送的環路故障探測報文後,由環路檢測單元112判斷是否在報文傳遞周期結束時從另一個環連線埠接收到與上述環路故障探測報文相同的環路故障探測報文,若收到,則可判斷出系統環路正常,否則,判斷出系統環路出現故障。
為了使得該領域技術人員更好理解該系統的工作原理和工作過程,下面通過另一個實施例對該系統進行進一步的詳細描述。
參考圖4,為該系統的實施例三的結構示意圖。
假設系統中包括交換機101、交換機102、交換機103和交換機104等4個交換機,在完成時鐘同步之前,各交換機由自身的狀態設定單元114將自身兩個環連線埠的協定狀態設定為“初始化”,並在完成時鐘同步後,將這兩個環連線埠的協定狀態設定為“擁塞”狀態。然後,系統中所有交換機從該交換機的環連線埠輪流向網路上傳送環路故障探測報文,該環路故障探測報文包含該交換機的MAC(Media Access Control,介質訪問控制)地址、環連線埠協定狀態等信息,例如交換機101的環路檢測單元從環連線埠A或B向系統環網傳送環路故障探測報文,其他交換機從一個連線埠接收所述環路故障探測報文,由狀態設定單元115將該交換機的環連線埠的狀態均設為“轉發”狀態,並根據QoS(Quality of Service,網路服務質量),以最高優先權將該報文從該交換機的另一個環連線埠轉發出去,環路檢測單元112判斷在一個環路故障測試周期內,交換機101的環連線埠B收到從交換機101的環連線埠A傳送出來的環路故障探測報文,並且交換機101的環連線埠A收到從環連線埠B傳送出來的環路故障探測報文,則判斷系統環網鏈路工作正常;否則,判斷系統環網鏈路出現故障。假設交換機101與交換機102之間的鏈路中斷,則與該鏈路連線的交換機102以及交換機101可以由自檢單元113檢測出該故障,並進行記錄。
上述故障屬於該系統中的“鏈路故障”,所述“鏈路故障”是指連線兩個工業乙太網交換機之間的通信鏈路出現故障,當出現這種故障的時候,傳送環路故障探測報文的交換機(如上述實施例中的交換機101)在一個報文傳遞周期內沒有接收到從兩個環連線埠傳送出去的環路故障探測報文。
該系統中的故障還包括其他另一種故障,即“協定機故障”。
所述“協定機故障”是指:交換機中的協定機出現故障,無法處理和傳送各種探測報文和鏈路報警故障報文。雖然該故障不影響普通數據處理,但是,出現該故障的交換機的協定機將無法工作,所以這時,有可能會出現整個系統環路中所有環連線埠中沒有一個環連線埠的狀態為“擁塞”狀態,也就是說,有可能會出現網路迴環的情況。
上述系統可以根據環路故障探測報文確定系統環網是否出現“鏈路故障”,但是無法確定是否出現“協定機故障”以及出現該故障的交換機。為了確定系統環網是否發生“協定機故障”以及發生該故障的交換機,所以該系統中的交換機的協定機檢測單元114在系統中所有交換機的環路檢測單元112完成環路故障檢測後,延遲預設時間向系統環網傳送鏈路探測報文。所述鏈路探測報文包含的信息有:冗餘域、環連線埠協定狀態、該交換機的MAC地址、相鄰兩個交換機的MAC地址。所述預設時間等於系統的兩個交換機的環路檢測單元傳送環路故障探測報文的時間間隔interval。
所述鏈路探測報文由協定機檢測單元114以單播形式傳送,也就是說,只傳送給相鄰兩個交換機,而不向其他交換機傳送。並且,所述報文在從源地址到目的地址之間傳遞,不需要其他交換機的轉發,因此,不存在網路信道共享的問題,所以,所有交換機可以同時傳送該鏈路故障探測報文。
在自檢單元113檢查出與該交換機相連的鏈路都是正常的情況下,協定機檢測單元114判斷在協定機測試周期結束時,該交換機的環連線埠是否接收到來自相鄰交換機的鏈路故障檢測報文,若是,則判斷該相鄰交換機工作正常;否則,判斷該相鄰交換機出現協定機故障。例如圖3中的交換機101分別通過環連線埠A和環連線埠B向交換機102和交換機104傳送鏈路探測報文,如果在傳送鏈路探測報文之後的預設時間沒有接收到來自交換機104的鏈路探測報文,所述交換機101中的協定機檢測單元114確定所述交換機104出現“協定機故障”,並由該交換機的狀態設定單元115將環連線埠B的協定狀態設定為“擁塞”狀態。
在協定機檢測周期結束時,交換機101中的故障報警單元116以組播形式傳送報警報文,該報警報文包含指示交換機104發生協定機故障的信息。交換機102、交換機103接收到該報警報文後,由自身的狀態設定單元115將自身的環連線埠狀態設定為“轉發”,以保證網路順利運行。
參考圖5,為該系統交換機實施例四的環路檢測單元的結構示意圖。
該系統中交換機的環路檢測單元112可以由第一傳送單元1121和第一判斷單元1122組成。所述第一傳送單元1121以組播形式周期性從該交換機的兩個環連線埠傳送環路故彰探測報文,所述環路故障探測報文包括該交換機的MAC(介質訪問控制)地址和用於指示環連線埠協定狀態的信息;所述第一判斷單元1122判斷在所述第一傳送單元傳送環路故障探測報文後,在報文傳遞周期結束時,該交換機的兩環連線埠是否接收到對端傳送的環路故障探測報文,若是,判斷系統正常;否則,判斷系統出現環路故障。
該系統交換機環路檢測單元112還可以包括第二判斷單元1123,如圖6所示,所述第二判斷單元1123用於接收其他交換機傳送環路故障探測報文,在間隔預設時間內是否接收到同一環路故障探測報文,若是,則判斷環路正常,否則判斷環路出現故障。所述預設時間等於報文傳遞周期。
圖7示出了該系統實施例五的交換機協定機檢測單元的結構示意圖。該系統中的交換機中的協定機檢測單元114可以由第二傳送單元1141和第三判斷單元1142組成。所述第二傳送單元1141以單播形式定時從該交換機的兩個環連線埠傳送鏈路探測報文至相鄰交換機,所述環路故障探測報文包括該交換機的MAC(介質訪問控制)地址、相鄰交換機的MAC地址和用於指示環連線埠協定狀態的信息;在自檢單元113檢查出與該交換機相連的鏈路狀態正常的情況下,所述第三判斷單元1142判斷在協定機檢測周期結束時,該交換機的兩環連線埠是否接收到相鄰交換機傳送的鏈路探測報文,若是,判斷相鄰交換機的協定機正常;否則,判斷相鄰交換機出現協定機故障。
該裝置中的狀態設定單元115可以包括第一狀態設定單元1151、第二狀態設定單元1152、第三狀態設定單元1153、第四狀態設定單元1154和第五狀態設定單元1145。如圖8所示。
所述第一狀態設定單元1151在時鐘同步單元111完成時鐘同步操作之前,設定該交換機的環連線埠協定狀態為“初始化”狀態,在所述時鐘同步單元111完成時鐘同步操作之後,設定該交換機的環連線埠協定狀態為“擁塞”。
在系統環路檢測周期結束時,如果該交換機接收到包含用於指示環連線埠處於“擁塞”狀態的信息的報文,由所述第二狀態設定單元1152將該交換機的兩個環連線埠的狀態設定為“轉發”狀態;並且,該交換機接收系統中其他交換機傳送的環路故障探測報文後,根據所述環路故障探測報文可獲知其他交換機的環連線埠的協定狀態,當其他交換機的環連線埠的協定狀態均為“轉發”時,設定該交換機的環連線埠中的一個的協定狀態為“擁塞”,將另外一個的協定狀態設定為“轉發”。
第三狀態設定單元1143在所述自檢單元113檢測出鏈路故障,將該交換機與所述鏈路連線的環連線埠的狀態設定為“擁塞”。當該交換機的環路檢測單元112判斷出系統環網恢復正常,則維持環連線埠的“擁塞”狀態,以防止出現網路迴環的情況。
第四狀態設定單元1144在協定機檢測單元113判斷出相鄰交換機出現協定機故障時,將與相鄰交換機相連的環連線埠的協定狀態設定為“擁塞”,並在協定機檢測單元113判斷出發生協定機故障的交換機恢復正常時,將該交換機的環連線埠的狀態設定為“轉發”。
第五狀態設定單元1145在接收到環路中的報警報文後,將該交換機的環連線埠的協定狀態設定為“轉發”。
而從故障狀態恢復過來的交換機由自身的狀態設定單元115將自身兩個環連線埠中的一個設定為“擁塞”狀態,並將另一個設定為“轉發”狀態。由此可以使得系統環網中有且只有一個環連線埠處於“擁塞”狀態,避免出現網路迴環。
該系統網路中,所有的交換機的角色是對等的,沒有主從交換機之分,從而體現了乙太網通信的公平性原則,避免了由於主設備故障對網路造成的不可控制的影響而導致的風險高度集中的問題。並且,該發明實施例利用時鐘同步單元將交換機與系統時鐘進行同步,提高網路系統中所有交換機的時鐘同步精度,避免了普通交換機的“存儲-轉發”機制對於系統的實時性的負面影響。
基於上述系統,該發明同時公開一種故障檢測方法。參考圖9,為本發明一種基於分散式乙太網系統的故障檢測方法的實現流程圖。
具體包括以下步驟:
步驟S101:對系統中的所有交換機進行時鐘同步。
步驟S102:按照預先確定的軟體組態的指示,對系統進行周期性的環路檢測和協定機檢測;
步驟S103:當出現環路故障或協定機故障時,傳送故障報警報文。
在上述步驟的執行過程中,涉及到對系統中的各個交換機的環連線埠的狀態進行設定。
下面通過具體實例對該發明的技術方案進行進一步的描述。參考圖10和圖11,為該發明故障檢測方法的實施例一中的環路檢測流程圖和協定機檢測流程圖。
在所有工業乙太網交換機接入本環形網路之前,或者網路結構改變之後,需要通過軟體組態,包括:所有交換機傳送環路故障探測報文的和鏈路探測報文的測試周期時間長度(所述測試周期等於環路檢測周期、協定機檢測周期和報警報文傳送時間之和)、所有交換機傳送環路故障探測報文和鏈路探測報文的起始時刻相對於測試周期的偏移量。
確定軟體組態之後,按照所述軟體組態的指示,先後對系統進行環路檢測和協定機測試。
在進行環路檢測的時候,具體過程如下:
步驟S201:進行時鐘同步。
步驟S202:定時傳送環路故障探測報文,並接收其他交換機傳送的環路故障探測報文。
步驟S203:判斷是否在報文傳遞周期內接收對端傳送的環路故障探測報文,若是,進入步驟S205;否則,進入步驟S206。
環路報文傳遞周期即為報文在系統環路中傳遞一周所需要的時間。
步驟S204:判斷是否在報文傳遞周期內兩次接收到其他交換機傳送的同一環路故障探測報文,若是,進入步驟S205;否則,進入步驟S206。
步驟S205:確定環路正常。
步驟S206:判斷連線該交換機的鏈路是否出現故障或處於未連線狀態,若是,進入步驟S207;否則,進入步驟S208。
步驟S207:將與該鏈路連線的環連線埠設定為“擁塞”狀態,並記錄故障信息。
步驟S208:在一個系統環路檢測周期結束時,如果其他交換機的環連線埠狀態均為“轉發”,進入步驟S209;否則,進入步驟S210。
所述系統環路檢測周期T=Switch_Number*Maxhandltime;其中,Switch_Number為系統中交換機的數量,Maxhandltime為環路報文傳遞周期。
步驟S209:設定該交換機的兩個環連線埠的一個的協定狀態為“轉發”,另一個為“擁塞”。
步驟S210:設定該交換機的兩個環連線埠的協定狀態為“轉發”。
上述故障屬於該系統中的“鏈路故障”,所述“鏈路故障”是指連線兩個工業乙太網交換機之間的通信鏈路出現故障,當出現這種故障的時候,傳送環路故障探測報文的交換機在一個報文傳遞周期內沒有接收到從兩個環連線埠傳送出去的環路故障探測報文,或者,只有一個環連線埠接收到對連線埠傳送的報文。而系統中的其他交換機均只能從一個環連線埠接收到環路故障探測報文,另一個環路探測報文由於鏈路故障丟失。
該系統中的故障還包括其他另一種故障,即“協定機故障”。
所述“協定機故障”是指:交換機中的協定機出現故障,無法處理和傳送各種探測報文和鏈路報警故障報文。雖然該故障不影響普通數據處理,但是,出現該故障的交換機的協定機將無法工作,所以這時,有可能會出現整個系統環路中所有環連線埠中沒有一個環連線埠的狀態為“擁塞”狀態,也就是說,有可能會出現網路迴環的情況。
上述環路檢測過程雖然可以根據環路故障探測報文確定系統環網是否出現“鏈路故障”,但是無法確定是否出現“協定機故障”以及出現該故障的交換機。為了確定系統環網是否發生“協定機故障”以及發生該故障的交換機,需要進行協定機檢測。具體過程如下:
步驟S301:傳送鏈路故障探測報文,並接收其他交換機傳送的鏈路故障探測報文。
系統中所有交換機同時傳送鏈路故障探測報文至相鄰交換機,並接收其他交換機傳送的鏈路故障探測報文。
所述鏈路故障探測報文包括:該交換機的MAC(Media Access Control,介質訪問控制)地址、相鄰交換機的MAC地址、環連線埠協定狀態。
步驟S302:在協定機檢測周期結束時是否接收來自相鄰交換機的鏈路故障探測報文,若是,進入步驟S303;否則,進入步驟S304。
步驟S303:確定相鄰交換機工作正常。
步驟S304:如果連線該交換機的鏈路正常,確定相鄰交換機出現協定機故障,進入步驟S305。
步驟S305:將與所述相鄰交換機相連的環連線埠的協定狀態設為“擁塞”。
步驟S306:傳送報警報文。
該報警報文包括指示故障類型(鏈路故障或協定機故障)以及故障發生的位置的信息。
當發生協定機故障的交換機從故障中恢復後,傳送環路故障探測報文,其他交換機接收到環路故障探測報文之後,將環連線埠的狀態均設定為“轉發”狀態,在一個系統環路檢測周期結束時,所述從故障中恢復的交換機如果獲知其他交換機的環連線埠狀態都是“轉發”時,將自身的一個環連線埠的協定狀態設定為“轉發”,另一個設定為“擁塞”,如果獲知其他交換機的環連線埠中有一個的狀態為“擁塞”時,將自身兩個環連線埠的協定狀態設定為“轉發”,避免出現網路迴環。
需要說明的是,在步驟S201之前,交換機的環連線埠的協定狀態為“初始化”,在完成步驟S201後,交換機的環連線埠的協定狀態被設定為“擁塞”,接收其他交換機傳送過來的環路探測報文或者鏈路探測報文後,將該交換機的環連線埠的協定狀態設定為“轉發”。

榮譽表彰

2010年11月15日,《分散式乙太網系統及基於該系統的故障檢測方法》獲得第十二屆中國專利獎優秀獎。

相關詞條

熱門詞條

聯絡我們