资源描述
一、 UDLD增强特性设计
UDLD(UniDirectional Link Detection)工作原理介绍:
UDLD针对光纤链路故障,工作在物理层模式,如果监测到单向的光纤链路故障出,可
通过erro-disable状态强行将发生故障的端口关闭,避免单向链路故障引起生成树无法
正常运算从而引起通信问题。
设计范围与原则:
・所有交换机的光纤端口都启用UDLD特性。
・UDLD协商模式为主动方式(aggressive )。
・Access-SW的接入端口不做设定
测试配置udld网络是否瞬间中断,插拔单芯光纤观察端口状态
(一) UDLD介绍
UDLD (UniDirectional Link Detection 单向链路检测):是一个Cisco私有的二层协议,用于监听利用光纤或双绞线连接的以太链路的物理配置,当出现单向链路(只能向一个方向传输,比如我能把数据发给你,你也能收到,但是你发给我的数据我收不到)时,UDLD可以检测出这一状况,关闭相应接口并发送警告信息。单向链路可能引起很多问题,尤其是生成树,可能会造成回环。注意:UDLD需要链路两端设备都支持才能正常运行。
UDLD支持两种工作模式;普通(normal)模式(默认)和激进(aggressive)模式。
普通(normal)模式:这个模式下,UDLD可以检测单向链路,并标记端口为undetermined状态产生系统日志,但并不影响流量转发。
激进(aggressive)模式:这个模式下,UDLD可以检测到由单向链路。并且会尝试重建链路,连续发送8秒的UDLD message
8秒,应该可以避免闪断这种问题,监控报警时间是多少?
Cisco3750时间设置不是这样的,但是功能和作用应该一致。
,如果此间没有任何的UDLD echo应答,此端口会被放置于errdisable状态,并不允许任何流量通过。
工作原理维护邻居数据库
UDLD周期型的在每个活动接口上发送hello包(也叫通告advertisement或探针probe)。
当交换机收到hello包后,存储这一信息直到老化时间到期,当老化时间到期前再次收到hello时,则刷新老化时间。
检测和回报
交换机会向其邻居发送回复(echo),当邻居在一定时间内没有收到回复,则认为与邻居间的链路出现问题。如果是普通模式,链路有可能会被认为是不确定的状态而不会被关闭(强调一下,普通模式只能检测光纤误解,比如Tx、Rx插反了)。如果是激进模式,则链路会被认为是单向的而被关闭(接口置于err-disable状态)。
(二) Cisco下UDLD命令
Cisco全局配置模式下:
udld ?
aggressive Enable UDLD protocol in aggressive mode on fiber ports except where locally configured
enable Enable UDLD protocol on fiber ports except where locally configured
message Set UDLD message parameters
udld message ?
time Set UDLD message time period
udld message time ?
<1-90>
这个数值,认为很关键,取多少需要根据实际与经验来设置,一般用默认即可
由于接口配置模式下,没有time的参数,所以这里的参数,应该是对所有光口都起作用
Time in seconds between sending of messages in steady state
Cisco接口配置模式下:
udld ?
port Enable UDLD protocol on this interface despite global UDLD setting
udld port ?
aggressive Enable UDLD protocol in aggressive mode on this interface despite global UDLD setting
disable Disable UDLD protocol on this interface despite global UDLD setting
<cr>
关于errdisable恢复设置:
errdisable recovery cause udld
errdisable recovery interval ?
<30-86400> timer-interval(sec)
注意:
设备两端的光口,speed 需要设置成非自动协商,否则出现单向链路,端口就会立即物理down,这是光口的特性,所以,如果光端口之间的speed能自动协商,是不需要udld这个功能的。
(三) 使用单台Cisco3750进行环接测试
1. 端口初始配置
interface GigabitEthernet2/0/1
no switchport
no ip address
speed nonegotiate
!
interface GigabitEthernet2/0/2
speed nonegotiate
spanning-tree portfast
端口状态:
Interface IP-Address OK? Method Status Protocol
GigabitEthernet2/0/1 unassigned YES unset up up
GigabitEthernet2/0/2 unassigned YES unset up up
拔一芯,端口状态:
Interface IP-Address OK? Method Status Protocol
GigabitEthernet2/0/1 unassigned YES unset up up
GigabitEthernet2/0/2 unassigned YES unset down down
一端端口依然up,另一端端口down,满足实验前提。
2. 对端口设置udld,使用默认普通模式
端口配置:
interface GigabitEthernet2/0/1
no switchport
no ip address
speed nonegotiate
udld port
!
interface GigabitEthernet2/0/2
speed nonegotiate
udld port
spanning-tree portfast
show udld:
Interface Gi2/0/1
---
Port enable administrative configuration setting: Enabled
Port enable operational state: Enabled
Current bidirectional state: Bidirectional
Current operational state: Advertisement - Single neighbor detected
Message interval: 7
Time out interval: 5
Entry 1
---
Expiration time: 45
Device ID: 1
Current neighbor state: Bidirectional
Device name: FDO1515V0BS
Port ID: Gi2/0/2
Neighbor echo 1 device: FDO1515V0BS
Neighbor echo 1 port: Gi2/0/1
Message interval: 15
Time out interval: 5
CDP Device name: Switch
Interface Gi2/0/2
---
Port enable administrative configuration setting: Enabled
Port enable operational state: Enabled
Current bidirectional state: Bidirectional
Current operational state: Advertisement - Single neighbor detected
Message interval: 7
Time out interval: 5
Entry 1
---
Expiration time: 43
Device ID: 1
Current neighbor state: Bidirectional
Device name: FDO1515V0BS
Port ID: Gi2/0/1
Neighbor echo 1 device: FDO1515V0BS
Neighbor echo 1 port: Gi2/0/2
Message interval: 15
Time out interval: 5
CDP Device name: Switch
可见当期的邻居状态为Bidirectional,双向的。
拔一芯,当Expiration time为0时,show udld:
Interface Gi2/0/1
---
Port enable administrative configuration setting: Enabled
Port enable operational state: Enabled
Current bidirectional state: Unknown
Current operational state: Advertisement
Message interval: 7
Time out interval: 5
No neighbor cache information stored
说是有log,目前没有产生log,这个需要研究下
研究下,log是否需要特殊设置
端口状态:
GigabitEthernet2/0/1 unassigned YES unset up up
GigabitEthernet2/0/2 unassigned YES unset down down
3. 对端口设置udld,使用aggressive模式
端口配置:
interface GigabitEthernet2/0/1
no switchport
no ip address
speed nonegotiate
udld port aggressive
!
interface GigabitEthernet2/0/2
speed nonegotiate
udld port aggressive
spanning-tree portfast
show udld:
Interface Gi2/0/1
---
Port enable administrative configuration setting: Enabled / in aggressive mode
Port enable operational state: Enabled / in aggressive mode
Current bidirectional state: Bidirectional
Current operational state: Advertisement - Single neighbor detected
Message interval: 15
Time out interval: 5
Entry 1
---
Expiration time: 40
Device ID: 1
Current neighbor state: Bidirectional
Device name: FDO1515V0BS
Port ID: Gi2/0/2
Neighbor echo 1 device: FDO1515V0BS
Neighbor echo 1 port: Gi2/0/1
Message interval: 15
Time out interval: 5
CDP Device name: Switch
Interface Gi2/0/2
---
Port enable administrative configuration setting: Enabled / in aggressive mode
Port enable operational state: Enabled / in aggressive mode
Current bidirectional state: Bidirectional
Current operational state: Advertisement - Single neighbor detected
Message interval: 15
Time out interval: 5
Entry 1
---
Expiration time: 39
Device ID: 1
Current neighbor state: Bidirectional
Device name: FDO1515V0BS
Port ID: Gi2/0/1
Neighbor echo 1 device: FDO1515V0BS
Neighbor echo 1 port: Gi2/0/2
Message interval: 15
Time out interval: 5
CDP Device name: Switch
拔一芯:当Expiration time为0时,show udld
Interface Gi2/0/1
---
Port enable administrative configuration setting: Enabled / in aggressive mode
Port enable operational state: Enabled / in aggressive mode
Current bidirectional state: Unknown
Current operational state: Disabled port
Message interval: 7
Time out interval: 5
No neighbor cache information stored
有log输出:
*Mar 1 17:08:54.088: %UDLD-4-UDLD_PORT_DISABLED: UDLD disabled interface Gi2/0/1, aggressive mode failure detected
*Mar 1 17:08:54.088: %PM-4-ERR_DISABLE: udld error detected on Gi2/0/1, putting Gi2/0/1 in err-disable state
*Mar 1 17:08:54.138: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2/0/1, changed state to down
*Mar 1 17:08:56.093: %LINK-3-UPDOWN: Interface GigabitEthernet2/0/1, changed state to down
4. 一个端口设置udld aggressive,另一个端口不设置udld
端口配置:
interface GigabitEthernet2/0/1
no switchport
no ip address
speed nonegotiate
udld port aggressive
!
interface GigabitEthernet2/0/2
speed nonegotiate
spanning-tree portfast
show udld:
Interface Gi2/0/1
---
Port enable administrative configuration setting: Enabled / in aggressive mode
Port enable operational state: Enabled / in aggressive mode
Current bidirectional state: Unknown
Current operational state: Advertisement
Message interval: 7
Time out interval: 5
No neighbor cache information stored
Interface Gi2/0/2
---
Port enable administrative configuration setting: Follows device default
Port enable operational state: Disabled
Current bidirectional state: Unknown
可见,两个端口都没有学到邻居信息
拔一芯,查看控制台,无输出,可见,udld不起作用,因为学不到邻居信息
所以,一对端口,必须同时启用udld,udld功能才能正常起作用。
5. 一个端口udld设置默认模式,一个端口设置aggressive模式
结果与udld定义一致,拔一芯,如果亮的端口设置的是默认模式,则一直亮;如果亮的端口设置的是aggressive模式,Expiration time为0,端口则会err-disabled。
6. 关于errdisable recovery的测试
配置如下:
errdisable recovery cause udld
errdisable recovery interval 30
拔一芯,log输出如下:
*Mar 1 01:58:20.537: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2/0/2, changed state to down
*Mar 1 01:58:22.541: %LINK-3-UPDOWN: Interface GigabitEthernet2/0/2, changed state to down
*Mar 1 01:59:05.055: %UDLD-4-UDLD_PORT_DISABLED: UDLD disabled interface Gi2/0/1, aggressive mode failure detected
*Mar 1 01:59:05.055: %PM-4-ERR_DISABLE: udld error detected on Gi2/0/1, putting Gi2/0/1 in err-disable state
*Mar 1 01:59:05.105: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2/0/1, changed state to down
*Mar 1 01:59:07.060: %LINK-3-UPDOWN: Interface GigabitEthernet2/0/1, changed state to down
*Mar 1 01:59:35.094: %PM-4-ERR_RECOVER: Attempting to recover from udld err-disable state on Gi2/0/1
*Mar 1 01:59:37.166: %LINK-3-UPDOWN: Interface GigabitEthernet2/0/1, changed state to up
*Mar 1 01:59:37.175: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2/0/1, changed state to up
udld检测,发现端口出现单向链路,置端口err-disable状态,然后errdisable recovery起作用,端口状态被恢复成up,此时udld已经失效,因为依然是单向链路,学不到邻居信息。
(四) 使用Cisco3750与LP连接测试
与lp连接,3750g交换机端口speed不能设置nonegotiate,因为lp端口不亮,这样测试将无法进行。
(五) 使用Cisco3750与H3C7506连接测试
最后进行测试,需要16A插排,先往后进行。
(六) 总结
UDLD,UniDirectional Link Detection—单向链路检测,是Cisco私有的二层协议,也是Cisco特有的名词。
当光纤链路,出现单向链路时,互联端口有时会出现一端端口亮up,一端端口灭down的情况,这种情况,会产生譬如生成树无法正常运算,影响通信,或者监控无法正常报警等问题,这时,如果光纤链路两端互联的设备均为Cisco,就可以通过udld这个特性解决此类问题。
这时,依然up的端口,如果配置成udld aggressive,则此端口会置为err-disable。
但是,如果光纤链路两端的端口speed是自动协商的,出现单向链路时,两端端口会都灭,是不需要udld的,这是光端口的特性。
所以,当光纤链路两端端口的speed协商模式是nonegotiate时,建议使用udld这个特性。
配置示例:
Switch(config)#errdisable recovery cause udld
Switch(config)#errdisable recovery interval 3600
Switch(config)#int g2/0/1
Switch(config-if)#udld port aggressive
其中:
l errdisable recovery interval恢复时间为30到86400秒,默认为300秒,5分钟
l 当errdisable recovery后,如果依然是单向链路,则udld将失效,因为学不到对应的邻居信息,不能执行必要的hello检测,恢复的端口,会一直up下去。
注意:
l 光纤链路互联的两个端口,必须同时配置udld
l 如果光纤链路互联端口的speed可以自动协商,不需要使用udld,因为不会产生单向链路的问题,只要有一个链路有问题,互联两个端口都会down。
二、 广播及组播流量控制设计
Interface range fa0/1 -xxx
storm-control broadcast level 8.00 4.00
storm-control multicast level 8.00 4.00
storm-control action shutdown
设计要点:ES交换机接入端口上监视广播及组播流量,通过控制广播及组播的流量实现
对整体网络带宽的保护,在出现广播风暴时及时抑制。
设定范围:
・所有ES交换机接入端口。
・通过对端口带宽广播及组播流量的百分比进行阀值设定。
・LAN设定界限值(端口带宽百分比):当端口收到的广播或者组播流量达到端口带宽的8%时(8Mbps),
端口将通过Shutdown动作进行保护,流量下降到4%时端口将自动恢复原先状态。
测试广播包大时shutdown及恢复时间
(一) cisco下storm-control命令
接口配置模式下:
storm-control ?
action Action to take for storm-control
broadcast Broadcast address storm control
multicast Multicast address storm control
unicast Unicast address storm control
storm-control action ?
shutdown Shutdown this interface if a storm occurs
trap Send SNMP trap if a storm occurs
storm-control broadcast ?
level Set storm suppression level on this interface
storm-control broadcast level 0.8 ?
<0.00 - 100.00> Enter falling threshold
<cr>
(二) 模拟广播风暴产生环境
1、交换机初始配置
2、环接交换机两个端口
3、no spanning-tree vlan 1
4、用网线,把电脑与交换机任一端口进行连接
5、产生广播风暴,交换机CPU与端口流量均大幅提高
产生广播风暴时,log的输出示例:
*Mar 1 00:04:50.958: %SW_MATM-4-MACFLAP_NOTIF: Host d4be.d92d.1893 in vlan 1 is flapping between port Gi2/0/5 and port Gi2/0/2
*Mar 1 00:05:01.931: %SW_MATM-4-MACFLAP_NOTIF: Host d4be.d92d.1893 in vlan 1 is flapping between port Gi2/0/1 and port Gi2/0/2
*Mar 1 00:05:17.055: %SW_MATM-4-MACFLAP_NOTIF: Host d4be.d92d.1893 in vlan 1 is flapping between port Gi2/0/2 and port Gi2/0/1
*Mar 1 00:05:32.155: %SW_MATM-4-MACFLAP_NOTIF: Host d4be.d92d.1893 in vlan 1 is flapping between port Gi2/0/2 and port Gi2/0/1
......
端口流量:
sh int g2/0/1
GigabitEthernet2/0/1 is up, line protocol is up (connected)
Hardware is Gigabit Ethernet, address is 0036.ffaa.3781 (bia 0036.ffaa.3781)
MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
reliability 255/255, txload 32/255, rxload 32/255
Encapsulation ARPA, loopback not set
Keepalive not set
Full-duplex, 1000Mb/s, link type is auto, media type is 1000BaseSX SFP
input flow-control is off, output flow-control is unsupported
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:01, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 208
Queueing strategy: fifo
Output queue: 0/0 (size/max)
5 minute input rate 128709000 bits/sec, 182816 packets/sec
5 minute output rate 128898000 bits/sec, 182237 packets/sec
87752023 packets input, 7753956242 bytes, 0 no buffer
Received 87752023 broadcasts (32393650 multicasts)
......
88340976 packets output, 7848486122 bytes, 0 underruns
......
CPU使用率:
sh processes cpu
CPU utilization for five seconds: 43%/32%; one minute: 29%; five minutes: 13%
(三) 配置广播流量控制
配置如下:
interface GigabitEthernet2/0/1
storm-control broadcast level 8.00 4.00
!
interface GigabitEthernet2/0/2
storm-control broadcast level 8.00 4.00
!
interface GigabitEthernet2/0/5
storm-control broadcast level 8.00 4.00
产生广播风暴后,sh storm-control:
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Gi2/0/1 Forwarding 8.00% 4.00% 3.01%
Gi2/0/2 Forwarding 8.00% 4.00% 3.02%
Gi2/0/5 Forwarding 8.00% 4.00% 0.00%
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Gi2/0/1 Forwarding 8.00% 4.00% 7.52%
Gi2/0/2 Forwarding 8.00% 4.00% 7.54%
Gi2/0/5 Forwarding 8.00% 4.00% 0.00%
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Gi2/0/1 Blocking 8.00% 4.00% 9.69%
Gi2/0/2 Blocking 8.00% 4.00% 9.72%
Gi2/0/5 Forwarding 8.00% 4.00% 0.00%
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Gi2/0/1 Forwarding 8.00% 4.00% 0.01%
Gi2/0/2 Forwarding 8.00% 4.00% 0.00%
Gi2/0/5 Forwarding 8.00% 4.00% 0.00%
可见,当端口流量超过设置的百分比后,端口开始进行抑制。
log输入如下:
*Mar 1 01:00:57.600: %SW_MATM-4-MACFLAP_NOTIF: Host d4be.d92d.1893 in vlan 1 is flapping between port Gi2/0/2 and port Gi2/0/1
*Mar 1 01:00:58.422: %STORM_CONTROL-3-FILTERED: A Broadcast storm detected
展开阅读全文