為什么要配置環路檢測?
網絡連接錯誤或配置錯誤都容易導致二層網絡中出現轉發環路,使網絡設備對廣播、組播報文進行重復發送,這樣就會造成網絡資源和設備硬件資源的嚴重浪費,將會造成設備卡頓運維緩慢甚至導致網絡癱瘓。
為了能夠及時發現二層網絡中的環路,避免對整個網絡造成嚴重影響,需要提供一種檢測機制,使網絡中出現環路時能及時通知用戶檢查網絡連接和配置情況,這種機制就是環路檢測機制。
當網絡中出現環路時,環路檢測機制通過生成日志信息來通知用戶,并可根據用戶事先的配置來選擇是否關閉出現環路的端口。
設備通過發送環路檢測報文并檢測其是否返回本設備以確認是否存在環路,若某端口收到了本設備發出的環路檢測報文,就認定該端口所在鏈路存在環路。
注:不要求收端口和發端口為同一端口
設備多久發一次環路檢測報文?
因為網絡時刻都在變化中的,所以環路檢測是一個持續的 一直進行的過程,它以一定的時間間隔發送環路檢測報文來確定各端口是否有環路以及存在環路的端口上是否已消除環路等,這個時間間隔就稱為環路檢測的時間間隔。
當網絡設備檢測到有環路
怎么處理?
當系統檢測到端口出現環路時的處理方式,有以下幾種方式:
1、Block模式:
當系統檢測到端口出現環路時,不僅會生成日志信息,還會禁止端口學習mac地址并將端口阻塞掉(我們知道端口不能學習MAC地址也就是這個端口無法使用了)
2、No-learning模式:
當系統檢測到端口出現環路時,不僅會生成日志信息,還會禁止端口學習MAC地址
3、Shutdown模式:
當系統檢測到端口出現環路時,不僅會生成日志信息外,還會自動關閉該端口,使其不能收發任何報文
被關閉的端口將在shutdown-interval命令所配置的時間之后自動恢復。
默認情況下系統不采用上述任何一種模式(需要配置),當系統檢測到端口出現環路時,只生成日志信息,不對該端口進行任何處理
注意:
· 在Block模式和No-learning模式下,當設備檢測到某端口出現環路后,若在三倍的環路檢測時間間隔內沒有再收到環路檢測報文,就會認為這個端口上的環路已經消除了,會自動將該端口恢復為正常狀態,并通知給用戶。
· 在Shutdown模式下,出現環路的端口直接被系統關閉,然后在shutdown-interval命令所配置的時間之后自動恢復正常。如果此時環路尚未消除,還是能接收到環路檢測報文,這個端口將再次關閉,然后恢復……如此往復直至環路消除
環路檢測功能開啟及配置
system-view
[H3C]loopback-detection enable
注:全局開啟環路檢測功能(默認是關閉的)
system-view
[H3C]interface GigabitEthernet 1/0/1 #進入需要開啟環路檢測的端口
[H3C-GigabitEthernet1/0/1]loopback-detection enable #開啟端口環路檢測功能
system-view
[H3C]loopback-detection interval-time 60 #配置環路檢測報文的發送間隔(5-300秒)
注:間隔時間越長消耗的系統性能越就越少,間隔時間越短環路檢測的靈敏度越高,是系統資源消耗也高,所以一般都不更改(默認30秒)
system-view
[H3C]interface GigabitEthernet 1/0/1 #進入需要開啟環路檢測的端口
[H3C-GigabitEthernet1/0/1]loopback-detection action ? #
no-learning No-learning mode
semi-block Semi-block mode
shutdown Shutdown mode
[H3C-GigabitEthernet1/0/1]
注:在端口上配置端口環路處理模式(根據設備類型不同有稍微差別)
配置完環路檢測的配置后,我們可以使用以下命令查看設備是否存在環路
display loopback-detection
總結
以上就是環路檢測的內容及配置(有部分配置沒說明,因為我們基本用不到),原理比較簡單,配置更簡單,就幾條命令。
環路在網絡實際環境中,尤其是規模比較大、比較復雜的網絡中是很容易出現的,所以環路檢測最好是配置上,一般都會直接配置發現環路直接shutdown端口。
當我們發現同一個lan中的多用戶網絡很卡,甚至是時斷時續,我們就要注意了,很可能是有端口環路產生,當你遠程設備遠程不上,但是設備在線時,或者通過console口登錄設備,發現設備很卡,那么我們也要注意了,是不是有端口環路。