一種基于交換機的環路檢測方法及環路檢測裝置的制造方法
【專利摘要】本發明公開了一種基于交換機的環路檢測方法和環路檢測裝置,所述環路檢測方法通過第一交換機的第一端口發送檢測報文,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口ID信息、MAC地址信息以及發送檢測報文時的時刻信息;檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口ID信息及MAC地址信息相匹配;若匹配,則檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內;若是,則檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配;若匹配,則確認與第一交換機通過第一端口連通的相鄰交換機存在環路。
【專利說明】
一種基于交換機的環路檢測方法及環路檢測裝置
技術領域
[0001]本發明涉及通信技術領域,尤其涉及一種基于交換機的環路檢測方法及環路檢測
目.0
【背景技術】
[0002]交換機(Switch)意為“開關”是一種用于電(光)信號轉發的網絡設備。它可以為接入交換機的任意兩個網絡節點提供獨享的電信號通路。最常見的交換機是以太網交換機。其他常見的還有電話語音交換機、光纖交換機等。
[0003]在網絡環境中,由于交換機具有學習功能,網絡內的主機只要發送給廣播報,MAC地址都會被學習到存在網絡環路的端口中。錯誤的MAC地址表,會直接造成網絡中斷,網絡中發生過改動或變化的位置最容易發生故障現象,因為頻繁改動網絡時很容易引發網絡環路。環路不可避免的出現在網絡環境中,網絡環路分為第二層環路和第三層環路,所有環路的形成都是由于目的路徑不明確導致混亂而造成的,局域網環路故障原因分析主要是由于網絡中有環路存在,造成每一幀都在網絡中重復廣播,引起了廣播風暴。
[0004]當鄰居交換機存在環路時,交換機的端口會學習錯誤地址并產生廣播風暴。嚴重的情況下會導致交換機及整個網絡癱瘓。在這種情況下,交換機會認為鄰居交換機存在攻擊行為,那么交換機應該屏蔽該攻擊行為來保護自己,同時也不影響整個網絡結構。
[0005]現有技術中解決環路問題的辦法一般先觀察,出現此種故障的網絡基本屬于設備較多,網線較亂的現象,首先在核心交換機可以觀察端口,端口閃爍過于頻繁則為不正常,可以拔掉其網線,觀看電腦Ping測效果有無時延過大或丟包,從而判斷是否由其網線接入環路信息。但是,該辦法對于一些不明顯的環路,無法檢測到,從而不能夠準確地檢測到鄰居交換機是否存在環路。
【發明內容】
[0006]本發明所要解決的技術問題是提供一種能夠準確檢測到鄰居交換機是否存在環路的基于交換機的環路檢測方法及環路檢測裝置。
[0007]為了解決上述問題,本發明提供了一種基于交換機的環路檢測方法,包括以下步驟:
[0008]通過第一交換機的第一端口發送檢測報文,其中,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口 ID信息、MAC地址信息以及發送檢測報文時的時刻信息;
[0009]檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口 ID信息及MAC地址信息相匹配;
[0010]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的端口 ID信息及MAC地址信息相匹配,則檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內;
[0011]若第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,則檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配;
[0012]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,則確認與第一交換機通過第一端口連通的相鄰交換機存在環路。
[0013]可選的,所述檢測報文在預設的時間間隔通過第一交換機的第一端口發送。
[0014]可選的,在確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,關閉第一交換機的第一端口。
[0015]可選的,在確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,清空第一端口的動態MAC地址信息。
[0016]可選的,在第一端口關閉的預設的時間段恢復第一端口處于正常狀態。
[0017]本發明還提供了一種基于交換機的環路檢測裝置,所述環路檢測裝置包括:發送單元、第一檢測單元、第二檢測單元、第三檢測單元以及確認單元;
[0018]發送單元用于通過第一交換機的第一端口發送檢測報文,其中,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口 ID信息、MAC地址信息以及發送檢測報文時的時刻信息;
[0019]所述第一檢測單元用于檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口 ID信息及MAC地址信息相匹配;
[0020]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的端口 ID信息及MAC地址信息相匹配,所述第二檢測單元檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內;
[0021]若第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,所述第三檢測單元檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配;
[0022]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,所述確認單元確認與第一交換機通過第一端口連通的相鄰交換機存在環路。
[0023]可選的,所述發送單元將所述檢測報文在預設的時間間隔通過第一交換機的第一端口發送。
[0024]可選的,所述環路檢測裝置還包括處理單元,在所述確認單元確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,所述處理單元關閉第一交換機的第一端口。
[0025]可選的,所述環路檢測裝置還包括處理單元,在所述確認單元確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,所述處理單元清空第一端口的動態MAC地址
?目息O
[0026]可選的,所述環路檢測裝置還包括恢復單元,在所述處理單元關閉第一端口后,所述恢復單元在預設的時間段恢復第一端口處于正常狀態。
[0027]與現有技術相比,本發明的技術方案具有以下優點:
[0028]本發明的檢測報文包括的檢測信息有VLANID信息、端口ID信息、MAC地址信息以及發送檢測報文時的時刻信息。首先,本發明檢測第一交換機發送檢測報文的端口 ID信息及MAC地址信息是否與第一交換機的第一端口接收到的報文的信息相匹配,來識別接收到的報文是否由第一交換機發出的檢測報文,如果不是,那么就說明第一交換機的第一端口交互正常,如果是,那么就說明與第一交換機的第一端口交互的鄰居交換機存在環路的可能性,進而對接收到的報文進行進一步的檢測。其次,檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,若鄰居交換機存在環路,則檢測報文會快速的回到的第一交換機,設定預設的時間是為了屏蔽那些在網絡轉了很久的檢測報文,用以限定檢測報文的有效期。第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,則說明檢測報文在有效期的范圍內,是有效的。然后,就再進一步的檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,若相匹配,那么就說明鄰居交換機收到報文中攜帶的端口MAC地址、端口 ID、VLANID、發包時刻信息與收包第一端口相符,則確認鄰居交換機存在攻擊行為,進而確認鄰居交換機存在環路。本發明通過以上的檢測步驟,逐層一一檢測,檢測準確,而且,若有信息不匹配或不符合,那么就無需繼續以下的步驟,從而本發明對環路的檢測不僅準確,而且高效。本發明通過交換機發送的檢測報文,在有效的時間內收到相同的報文,則說明鄰居交換機存在環路具有攻擊行為,以便用戶采取措施,以防止鄰居交換機對第一交換機造成影響。
[0029]進一步,本發明在確認鄰居交換機存在環路時,及時關閉第一交換機的第一端口,以及及時清空第一端口的動態MAC地址信息,從而快速、有效的防止鄰居交換機對第一交換機造成影響。另外,本發明通過交換機定期發送檢測報文,在有效的時間內收到相同的報文,則說明鄰居交換機存在環路具有攻擊行為,然后關閉接收端口屏蔽攻擊行為。這樣檢測效果更佳。
【附圖說明】
[0030]圖1是本發明一個實施例基于交換機的環路檢測方法的流程示意圖;
[0031]圖2是本發明另一個實施例基于交換機的環路檢測方法的流程示意圖;
[0032]圖3是本發明一個實施例基于交換機的環路檢測裝置的結構示意圖;
[0033]圖4是本發明另一個實施例基于交換機的環境檢測裝置的結構示意圖;
[0034]圖5是本發明第一交換機與相鄰交換機交互的應用場景示意圖。
【具體實施方式】
[0035]在下面的描述中闡述了很多具體細節以便于充分理解本發明。但是本發明能夠以很多不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本發明內涵的情況下做類似推廣,因此本發明不受下面公開的具體實施的限制。
[0036]其次,本發明利用示意圖進行詳細描述,在詳述本發明實施例時,為便于說明,所述示意圖只是實例,其在此不應限制本發明保護的范圍。
[0037]交換機(Switch)意為“開關”是一種用于電(光)信號轉發的網絡設備。它可以為接入交換機的任意兩個網絡節點提供獨享的電信號通路。最常見的交換機是以太網交換機。其他常見的還有電話語音交換機、光纖交換機等。
[0038]在網絡環境中,由于交換機具有學習功能,網絡內的主機只要發送給廣播報,MAC地址都會被學習到存在網絡環路的端口中。錯誤的MAC地址表,會直接造成網絡中斷,網絡中發生過改動或變化的位置最容易發生故障現象,因為頻繁改動網絡時很容易引發網絡環路。環路不可避免的出現在網絡環境中,網絡環路分為第二層環路和第三層環路,所有環路的形成都是由于目的路徑不明確導致混亂而造成的,局域網環路故障原因分析主要是由于網絡中有環路存在,造成每一幀都在網絡中重復廣播,引起了廣播風暴。
[0039]當鄰居交換機存在環路時,交換機的端口會學習錯誤地址并產生廣播風暴。嚴重的情況下會導致交換機及整個網絡癱瘓。在這種情況下,交換機會認為鄰居交換機存在攻擊行為,那么交換機應該屏蔽該攻擊行為來保護自己,同時也不影響整個網絡結構。
[0040]現有技術中解決環路問題的辦法一般先觀察,出現此種故障的網絡基本屬于設備較多,網線較亂的現象,首先在核心交換機可以觀察端口,端口閃爍過于頻繁則為不正常,可以拔掉其網線,觀看電腦Ping測效果有無時延過大或丟包,從而判斷是否由其網線接入環路信息。但是,該辦法對于一些不明顯的環路,無法檢測到,從而不能夠準備的檢測到鄰居交換機是否存在環路。
[0041]為了解決【背景技術】中的技術問題,本發明提供了一種基于交換機的環路檢測方法及環路檢測裝置,其用于準確檢測鄰居交換機是否存在環路。其中,所述環路檢測方法包括以下步驟:通過第一交換機的第一端口發送檢測報文,其中,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口 ID信息、MAC地址信息以及發送檢測報文時的時刻信息;
[0042]檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口 ID信息及MAC地址信息相匹配;
[0043]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的端口 ID信息及MAC地址信息相匹配,則檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內;
[0044]若第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,則檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配;
[0045]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,則確認與第一交換機通過第一端口連通的相鄰交換機存在環路。
[0046]本發明通過以上的檢測步驟,逐層一一檢測,檢測準確,而且,若有信息不匹配或不符合,那么就無需繼續以下的步驟,從而本發明對環路的檢測不僅準確,而且高效。本發明通過交換機發送的檢測報文,在有效的時間內收到相同的報文,則說明鄰居交換機存在環路具有攻擊行為,以便用戶采取措施,以防止鄰居交換機對第一交換機造成影響。
[0047]下面結合附圖和具體實施例對本發明的技術方案做進一步說明。
[0048]圖1為本發明一個實施例基于交換機的環路檢測方法的流程示意圖。圖3為本發明一個實施例基于交換機的環路檢測裝置的結構示意圖。所述環路檢測方法包括由圖3中的環路檢測裝置執行的步驟S101、步驟S102、步驟S103、步驟S104和步驟S105。
[0049]本環路檢測方法包括以下步驟:
[0050]步驟SlOl:通過第一交換機的第一端口發送檢測報文,其中,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口 ID信息、MAC地址信息以及發送檢測報文時的時刻信息;
[0051]步驟S102:檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口 ID信息及MAC地址信息相匹配;
[0052]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的端口 ID信息及MAC地址信息相匹配,進入步驟S103。
[0053]步驟S103:檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內;
[0054]若第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,進入步驟S104。
[0055]步驟S104:檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配;
[0056]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,進入步驟S105。
[0057]步驟S105:確認與第一交換機通過第一端口連通的相鄰交換機存在環路。
[0058]在環路檢測方法過程中,首先,檢測第一交換機發送檢測報文的端口ID信息及MAC地址信息是否與第一交換機的第一端口接收到的報文的信息相匹配,來識別接收到的報文是否由第一交換機發出的檢測報文,如果不是,那么就說明第一交換機的第一端口交互正常,如果是,那么就說明與第一交換機的第一端口交互的鄰居交換機存在環路的可能性,進而對接收到的報文進行進一步的檢測。其次,檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,若鄰居交換機存在環路,則檢測報文會快速的回到的第一交換機,設定預設的時間是為了屏蔽那些在網絡轉了很久的檢測報文,用以限定檢測報文的有效期。第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,則說明檢測報文在有效期的范圍內,是有效的。然后,就再進一步的檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,若相匹配,那么就說明鄰居交換機收到報文中攜帶的端口MAC地址、端口 ID、VLANID、發包時刻信息與收包第一端口相符,則確認鄰居交換機存在攻擊行為,進而確認鄰居交換機存在環路。本發明通過以上的檢測步驟,逐層一一檢測,檢測準確,而且,若有信息不匹配或不符合,那么就無需繼續以下的步驟,從而本發明對環路的檢測不僅準確,而且高效。本發明通過交換機發送的檢測報文,在有效的時間內收到相同的報文,則說明鄰居交換機存在環路具有攻擊行為,以便用戶采取措施,以防止鄰居交換機對第一交換機造成影響。
[0059]本實施例檢測報文包括的檢測信息有VLANID信息、端口ID信息、MAC地址信息以及發送檢測報文時的時刻信息。對于本領域技術人員而言,其僅是本實施例檢測信息的一種具體包括的內容,檢測報文的檢測信息并不限于此。
[0060]其中,所述檢測報文的時刻信息可以為字段值。
[0061]其中,所述檢測報文在預設的時間間隔通過第一交換機的第一端口發送。本發明通過交換機定期發送檢測報文,進一步提高檢測效率。
[0062]圖2為本發明另一個實施例基于交換機的環路檢測方法的流程示意圖。圖4為本發明另一個實施例基于交換機的環路檢測裝置的結構示意圖,本實施例的環路檢測方法主要由圖4中的環路檢測裝置來實現,其中,參照圖1所示實施例中對推送裝置所做的任何說明,均以引用的方式包含于此。
[0063]根據本實施例的環路檢測方法包括步驟S201、步驟S202、步驟S203、步驟S204、步驟S205、步驟S206和步驟S207。
[0064]步驟S201:通過第一交換機的第一端口發送檢測報文,其中,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口 ID信息、MAC地址信息以及發送檢測報文時的時刻信息;
[0065]步驟S202:檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口 ID信息及MAC地址信息相匹配;
[0066]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的端口 ID信息及MAC地址信息相匹配,進入步驟S203。若不匹配則結束。
[0067]步驟S203:檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內;
[0068]若第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,進入步驟S204。若不在預設時間內,則結束。
[0069]步驟S204:檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配;
[0070]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,進入步驟S205。若不匹配,則結束。
[0071]步驟S205:確認與第一交換機通過第一端口連通的相鄰交換機存在環路。在確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,進入步驟S206。
[0072]步驟S206:關閉第一交換機的第一端口,以及清空第一端口的動態MAC地址信息。并在第一端口關閉的預設的時間段進入步驟S207。
[0073]步驟S207:在第一端口關閉的預設的時間段恢復第一端口處于正常狀態。
[0074]在本實施例的環路檢測方法過程中,首先,檢測第一交換機發送檢測報文的端口ID信息及MAC地址信息是否與第一交換機的第一端口接收到的報文的信息相匹配,來識別接收到的報文是否由第一交換機發出的檢測報文,如果不是,那么就說明第一交換機的第一端口交互正常,表明相鄰交換機不存在環路,無需再進行檢測或其他工作。如果是,那么就說明與第一交換機的第一端口交互的鄰居交換機存在環路的可能性,進而對接收到的報文進行進一步的檢測。其次,檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,若鄰居交換機存在環路,則檢測報文會快速的回到的第一交換機,設定預設的時間是為了屏蔽那些在網絡轉了很久的檢測報文,用以限定檢測報文的有效期。第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,則說明檢測報文在有效期的范圍內,是有效的。如果接受到的報文未在有效期的范圍內,也就是接受到的報文并不是通過第一端口外發的檢測報文,則表明相鄰的交換機不存在環路,無需再進行檢測或其他操作。如果是有效的,然后,就再進一步的檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,如果不匹配,則說明不存在環路,結束檢測及其他操作。若相匹配,那么就說明鄰居交換機收到報文中攜帶的端口 MAC地址、端口 ID、VLANID、發包時刻信息與收包第一端口相符,則確認鄰居交換機存在攻擊行為,進而確認鄰居交換機存在環路。那么就進一步的關閉第一交換機的第一端口,以及清空第一端口的動態MAC地址信息,防止相鄰交換機攻擊。本發明通過以上的檢測步驟,逐層一一檢測,檢測準確,而且,若有信息不匹配或不符合,那么就無需繼續以下的步驟,從而本發明對環路的檢測不僅準確,而且高效。本發明通過交換機發送的檢測報文,在有效的時間內收到相同的報文,則說明鄰居交換機存在環路具有攻擊行為,以便用戶采取措施,以防止鄰居交換機對第一交換機造成影響。
[0075]本實施例檢測報文包括的檢測信息有VLANID信息、端口ID信息、MAC地址信息以及發送檢測報文時的時刻信息。對于本領域技術人員而言,其僅是本實施例檢測信息的一種具體包括的內容,檢測報文的檢測信息并不限于此。
[0076]其中,所述檢測報文的時刻信息可以為字段值。
[0077]其中,所述檢測報文在預設的時間間隔通過第一交換機的第一端口發送。本發明通過交換機定期發送檢測報文,進一步提高檢測效率。
[0078]圖3為本發明一個實施例基于交換機的環路檢測裝置的結構示意圖。
[0079]所述環路檢測裝置包括:發送單元301、第一檢測單元302、第二檢測單元303、第三檢測單元304以及確認單元305 ;
[0080]發送單元用于通過第一交換機的第一端口發送檢測報文,其中,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口 ID信息、MAC地址信息以及發送檢測報文時的時刻信息;
[0081]所述第一檢測單元用于檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口 ID信息及MAC地址信息相匹配;
[0082]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的端口 ID信息及MAC地址信息相匹配,所述第二檢測單元檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內;
[0083]若第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,所述第三檢測單元檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配;
[0084]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,所述確認單元確認與第一交換機通過第一端口連通的相鄰交換機存在環路。
[0085]本發明發送裝置將檢測報文發送出去,第一檢測裝置檢測第一交換機發送檢測報文的端口 ID信息及MAC地址信息是否與第一交換機的第一端口接收到的報文的信息相匹配,來識別接收到的報文是否由第一交換機發出的檢測報文,如果不是,那么就說明第一交換機的第一端口交互正常,表明相鄰交換機不存在環路,無需再進行檢測或其他工作。如果是,那么就說明與第一交換機的第一端口交互的鄰居交換機存在環路的可能性,進而對接收到的報文進行進一步的檢測。第二檢測裝置檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,若鄰居交換機存在環路,則檢測報文會快速的回到的第一交換機,設定預設的時間是為了屏蔽那些在網絡轉了很久的檢測報文,用以限定檢測報文的有效期。第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,則說明檢測報文在有效期的范圍內,是有效的。如果接受到的報文未在有效期的范圍內,也就是接受到的報文并不是通過第一端口外發的檢測報文,則表明相鄰的交換機不存在環路,無需再進行檢測或其他操作。如果是有效的,第三檢測裝置檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,如果不匹配,則說明不存在環路,結束檢測及其他操作。若相匹配,那么就說明鄰居交換機收到報文中攜帶的端口MAC地址、端口 ID、VLANID、發包時刻信息與收包第一端口相符,則確認裝置確認鄰居交換機存在攻擊行為,進而確認鄰居交換機存在環路。以便用戶進行其他操作,防止相鄰交換機攻擊。本發明通過以上的檢測步驟,逐層一一檢測,檢測準確,而且,若有信息不匹配或不符合,那么就無需繼續以下的步驟,從而本發明對環路的檢測不僅準確,而且高效。本發明通過交換機發送的檢測報文,在有效的時間內收到相同的報文,則說明鄰居交換機存在環路具有攻擊行為,以便用戶采取措施,以防止鄰居交換機對第一交換機造成影響。
[0086]本實施例檢測報文包括的檢測信息有VLANID信息、端口ID信息、MAC地址信息以及發送檢測報文時的時刻信息。對于本領域技術人員而言,其僅是本實施例檢測信息的一種具體包括的內容,檢測報文的檢測信息并不限于此。
[0087]其中,所述檢測報文的時刻信息可以為字段值。
[0088]其中,所述發送裝置在預設的時間間隔通過第一交換機的第一端口發送檢測報文。本發明通過交換機定期發送檢測報文,進一步提高檢測效率。
[0089]圖4為本發明另一個實施例基于交換機的環路檢測裝置的結構示意圖。
[0090]所述環路檢測裝置包括:第二發送單元401、第四檢測單元402、第五檢測單元403、第六檢測單元404以、第二確認單元405、處理單元406及恢復單元407 ;
[0091 ]第二發送單元用于通過第一交換機的第一端口發送檢測報文,其中,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口 ID信息、MAC地址信息以及發送檢測報文時的時刻信息;
[0092]所述第四檢測單元用于檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口 ID信息及MAC地址信息相匹配;
[0093]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的端口 ID信息及MAC地址信息相匹配,所述第五檢測單元檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內;
[0094]若第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,所述第六檢測單元檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配;
[0095]若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,所述第二確認單元確認與第一交換機通過第一端口連通的相鄰交換機存在環路。
[0096]在所述第二確認單元確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,所述處理單元關閉第一交換機的第一端口,以及所述處理單元清空第一端口的動態MAC地址信息。
[0097]在所述處理單元關閉第一端口后,所述恢復單元在預設的時間段恢復第一端口處于正常狀態。
[0098]本發明第二發送裝置將檢測報文發送出去,第四檢測裝置檢測第一交換機發送檢測報文的端口 ID信息及MAC地址信息是否與第一交換機的第一端口接收到的報文的信息相匹配,來識別接收到的報文是否由第一交換機發出的檢測報文,如果不是,那么就說明第一交換機的第一端口交互正常,表明相鄰交換機不存在環路,無需再進行檢測或其他工作。如果是,那么就說明與第一交換機的第一端口交互的鄰居交換機存在環路的可能性,進而對接收到的報文進行進一步的檢測。第五檢測裝置檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,若鄰居交換機存在環路,則檢測報文會快速的回到的第一交換機,設定預設的時間是為了屏蔽那些在網絡轉了很久的檢測報文,用以限定檢測報文的有效期。第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,則說明檢測報文在有效期的范圍內,是有效的。如果接受到的報文未在有效期的范圍內,也就是接受到的報文并不是通過第一端口外發的檢測報文,則表明相鄰的交換機不存在環路,無需再進行檢測或其他操作。如果是有效的,第六檢測裝置檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,如果不匹配,則說明不存在環路,結束檢測及其他操作。若相匹配,那么就說明鄰居交換機收到報文中攜帶的端口MAC地址、端口 ID、VLANID、發包時刻信息與收包第一端口相符,則第二確認裝置確認鄰居交換機存在攻擊行為,進而確認鄰居交換機存在環路。從而處理單元就關閉第一交換機的第一端口,以及處理單元清空第一端口的動態MAC地址信息,防止相鄰交換機攻擊。本發明通過以上的檢測步驟,逐層一一檢測,檢測準確,而且,若有信息不匹配或不符合,那么就無需繼續以下的步驟,從而本發明對環路的檢測不僅準確,而且高效。本發明通過交換機發送的檢測報文,在有效的時間內收到相同的報文,則說明鄰居交換機存在環路具有攻擊行為,以便用戶采取措施,以防止鄰居交換機對第一交換機造成影響。另外,本發明還可以在所述處理單元關閉第一端口后,所述恢復單元在預設的時間段恢復第一端口處于正常狀態。
[0099]本實施例檢測報文包括的檢測信息有VLANID信息、端口ID信息、MAC地址信息以及發送檢測報文時的時刻信息。對于本領域技術人員而言,其僅是本實施例檢測信息的一種具體包括的內容,檢測報文的檢測信息并不限于此。
[0100]其中,所述檢測報文的時刻信息可以為字段值。
[0101]其中,所述第二發送裝置在預設的時間間隔通過第一交換機的第一端口發送檢測報文。本發明通過交換機定期發送檢測報文,進一步提高檢測效率。
[0102]在本發明中,圖5是本發明第一交換機A與相鄰交換機B交互的應用場景示意圖,第一交換機A通過其第一端口向相鄰交換機B發送檢測報文。其中,檢測報文及第一交換機A向相鄰交換機B發送檢測報文后的部分參見圖1至圖4。這里不再一一詳述。
[0103]需要說明的是,通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明的部分或全部可借助軟件并結合必需的通用硬件平臺來實現。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可包括其上存儲有機器可執行指令的一個或多個機器可讀介質,這些指令在由諸如計算機、計算機網絡或其他電子設備等一個或多個機器執行時可使得該一個或多個機器根據本發明的實施例來執行操作。機器可讀介質可包括,但不限于,軟盤、光盤、CD-ROM(緊致盤-只讀存儲器)、磁光盤、ROM(只讀存儲器)、RAM(隨機存取存儲器)、EPROM(可擦除可編程只讀存儲器)、EEPR0M(電可擦除可編程只讀存儲器)、磁卡或光卡、閃存、或適于存儲機器可執行指令的其他類型的介質/機器可讀介質。
[0104]本發明可用于眾多通用或專用的計算系統環境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統、基于微處理器的系統、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等。
[0105]本發明可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本發明,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。
[0106]需要說明的是,本領域技術人員可以理解,上述部分組件可以是可編程邏輯器件,包括:可編程陣列邏輯(ProgrammabIe Array Logic,PAL)、通用陣列邏輯(Generic ArrayLogic,GAL)、現場可編程門陣列(Field—Programmable Gate Array ,FPGA)、復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)中的一種或多種,本發明對此不做具體限制。
[0107]本發明雖然已以較佳實施例公開如上,但其并不是用來限定本發明,任何本領域技術人員在不脫離本發明的精神和范圍內,都可以利用上述揭示的方法和技術內容對本發明技術方案做出可能的變動和修改,因此,凡是未脫離本發明技術方案的內容,依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化及修飾,均屬于本發明技術方案的保護范圍。
【主權項】
1.一種基于交換機的環路檢測方法,其特征在于,包括以下步驟: 通過第一交換機的第一端口發送檢測報文,其中,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口 ID信息、MAC地址信息以及發送檢測報文時的時刻信息; 檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口 ID信息及MAC地址信息相匹配; 若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的端口 ID信息及MAC地址信息相匹配,則檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內; 若第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,則檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配; 若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,則確認與第一交換機通過第一端口連通的相鄰交換機存在環路。2.根據權利要求1所述的基于交換機的環路檢測方法,其特征在于,所述檢測報文在預設的時間間隔通過第一交換機的第一端口發送。3.根據權利要求1所述的基于交換機的環路檢測方法,其特征在于,在確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,關閉第一交換機的第一端口。4.根據權利要求1所述的基于交換機的環路檢測方法,其特征在于,在確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,清空第一端口的動態MAC地址信息。5.根據權利要求3所述的基于交換機的環路檢測方法,其特征在于,在第一端口關閉的預設的時間段恢復第一端口處于正常狀態。6.一種基于交換機的環路檢測裝置,其特征在于,所述環路檢測裝置包括:發送單元、第一檢測單元、第二檢測單元、第三檢測單元以及確認單元; 發送單元用于通過第一交換機的第一端口發送檢測報文,其中,所述檢測報文包括檢測信息,所述檢測信息包括VLANID信息、端口 ID信息、MAC地址信息以及發送檢測報文時的時刻信息; 所述第一檢測單元用于檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機發送檢測報文的端口 ID信息及MAC地址信息相匹配; 若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的端口 ID信息及MAC地址信息相匹配,所述第二檢測單元檢測第一交換機的第一端口接收的報文的信息是否與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內;若第一交換機的第一端口接收的報文的信息與第一交換機的第一端口發送檢測報文的時刻信息在預設的時間內,所述第三檢測單元檢測第一交換機的第一端口接收到的報文的信息是否與第一交換機的第一端口發送檢測報文的VLANID信息相匹配; 若第一交換機的第一端口接收到的報文的信息與第一交換機的第一端口發送檢測報文的VLANID信息相匹配,所述確認單元確認與第一交換機通過第一端口連通的相鄰交換機存在環路。7.根據權利要求6所述的基于交換機的環路檢測裝置,其特征在于,所述發送單元將所述檢測報文在預設的時間間隔通過第一交換機的第一端口發送。8.根據權利要求6所述的基于交換機的環路檢測裝置,其特征在于,所述環路檢測裝置還包括關閉單元,在所述確認單元確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,所述關閉單元關閉第一交換機的第一端口。9.根據權利要求6所述的基于交換機的環路檢測裝置,其特征在于,所述環路檢測裝置還包括清空單元,在所述確認單元確認與第一交換機通過第一端口連通的相鄰交換機存在環路后,所述清空單元清空第一端口的動態MAC地址信息。10.根據權利要求8所述的基于交換機的環路檢測裝置,其特征在于,所述環路檢測裝置還包括恢復單元,在所述關閉單元關閉第一端口后,所述恢復單元在預設的時間段恢復第一端口處于正常狀態。
【文檔編號】H04L29/06GK105933180SQ201610224218
【公開日】2016年9月7日
【申請日】2016年4月12日
【發明人】聶琴
【申請人】上海斐訊數據通信技術有限公司