文/白海
在接入網絡中,終端用戶水平參差不齊,特別是在學生公寓中私接亂拉的情況比較普遍,很容易產生環路,造成局部網絡癱瘓。雖然通過生成樹協議能夠解決部分環路的問題,但是受設備功能等其他方面制約,依然存在一些弊端。RLDP協議(Rapid Link Detection Protocol)是銳捷網絡開發用于檢測以太網鏈路故障的鏈路協議,利用在鏈路兩端交換RLDP報文來實現檢測。通過探測報文(Probe)和探測響應報文(Echo)兩種協議報文,周期性地向linkup的端口發送本端口的Probe報文,并期待鄰居端口響應該探測報文,同時也期待鄰居端口也發送自己的Probe報文。如果一條鏈路在物理和邏輯上都是正確的,那么一個端口應該能收到鄰居端口的探測響應報文以及鄰居端口的探測報文,否則鏈路將被認定是異常的。所以快速檢測出以太網設備的鏈路故障,包括單向鏈路故障、雙向鏈路故障、環路鏈路故障。
校園網用戶通過設備Switch A、Switch B接入網絡,用戶pc分別和服務器分別接入Switch A、Switch B,其中Switch A與internet互聯,如圖1所示。由于鏈路中斷或者用戶人為造成網絡環路等因素造成網絡中斷,通過環路檢測以及單雙向鏈路檢測功能,能迅速定位并處理故障,從而及時恢復網絡,降低因網絡中斷帶來的負面影響。主要需求有:
1、檢測到環路故障或者單雙向鏈路故障,則根據故障處理方法進行故障處理;
2、shutdown-port模式下的端口出現故障,要求主動恢復其RLDP檢測,并使所有RLDP檢測失敗的端口重新開始檢測。
在交換機等網絡設備中,配置全局RLDP功能。然后分別對開啟端口的RLDP功能,同時配置診斷類型和故障處理方法。對環路檢測來說,直接連接用戶客戶端的交換機端口不能開啟RLDP;對單雙向鏈路檢測來說,設備對接端口都需開啟RLDP功能。若端口為路由口,則只能用warning、block 或shutdown-port故障處理方法,不支持shutdown-svi故障處理方法。在特權模式下,使用rldp reset命令使所有RLDP檢測失敗的端口重新開始檢測。
1.開啟RLDP功能。在Switch A和Switch B上開啟全局RLDP功能。
SwitchA(config)#rldp enable

圖1 網絡拓撲
2.配置診斷類型與故障處理方法。在Switch A上開啟端口RLDP,并在端口Gi0/1 上配置環路檢測及故障處理方法block,在端口Gi0/2上配置單向鏈路檢測及故障處理方法warning。RLDP是基于端口運行的,因此用戶需要顯式配置那些端口需要運行RLDP。另外在配置端口RLDP時,需要同時指定該端口的診斷類型以及故障處理方法。診斷類型包括:unidirection-detect(單向鏈路檢測)、bidirectiondetect (雙向鏈路檢測)、loop-detect(環路檢測)。故障處理方法包括:warning(警告)、block(關閉端口學習轉發)、shutdown-port (設置端口違例)、shutdown-svi(關閉端口所在的svi)。
在Switch A交換機G0/1號端口通過RLDP檢查到有環路,那么把G0/1號端口狀態更改為block模式。
SwitchA(config)#interface gigabitEthernet 0/1
SwitchA(config-if)#rldp port loop-detect block
在Switch A交換機G0/2號端口通過RLDP檢查到有環路,那么發出提示。如果RLDP 檢測出鏈路錯誤,則會發出警告信息。用戶可以通過配置log功能將這些警告信息發到log服務器,記錄log的級別至少要保證可以記錄3級日志。
SwitchA(config)#interface gigabitEthernet 0/2
SwitchA(config-if)#rldp port unidirection-detect warning
在Switch B 上開啟端口RLDP,并在端口Gi0/4 上配置環路檢測及故障處理方法block。
SwitchB(config)#interface gigabitEthernet 0/4 SwitchB(config-if)#rldp port loop-detect block
在Switch B端口Gi0/3 上配置雙向鏈路檢測及故障處理方法shutdown-port。
SwitchB(config)#interface gigabitEthernet 0/3
SwitchB(config-if)#rldp port bidirection-detect shutdown-port
3. 配置自動恢復間隔時間。當故障恢復后,要對被shutdown接口通過在全局配置模式下使用命令errdisable recovery來將接口從錯誤狀態中恢復正常。也可以在全局配置模式下使用 errdisable recover 命令來即時或定時重新啟動被rlp設置成違例的端口的RLDP檢測。
SwitchA(config)#errdisable recover interval 300
通過show rldp命令能夠查看設備所有端口的RLDP信息,包括rldp功能是否開啟和存活時間等。由于產品特性的不同,目前只針對銳捷系列交換機,某些產品對于block的端口仍然會將報文發送給cpu,這就導致在配置診斷類型為環路檢測、故障處理方法為block時,當設備檢測出環路并將端口block處理后,仍會有大量的報文發送cpu,未能達到環路檢測的效果,所以建議在指定環路檢測的診斷類型時選擇shutdown-port的故障處理方法。
RLDP故障處理方法中的block功能需要和STP互斥,如果用戶配置了端口的故障處理方法為block,則建議關閉STP,否則由于STP無法識別單向鏈路,可能會出現STP允許端口轉發,但RLDP卻設置端口block的情況。如果要和STP共用,建議將錯誤處理方法配置為“shutdown-port”。