两端设备配置的MSTP报文的协议格式不一致导致端口DOWN
现象描述
将Switch-1整机重启并重新上电后,S6500-1的GE0/0/4端口会自动shutdown,必须手动undo shutdown才能恢复。且设备上打印如下告警:
%Jul 5 08:13:33 2011 S6500-1 L2INF/5/PORT LINK STATUS CHANGE: GigabitEthernet0/0/4: is UP %Jul 5 08:13:42 2011 S6500-1 MSTP/3/BPDUFORMATERROR:Port GigabitEthernet0/0/4 received different format of MSTP BPDU packets continually! Shut down it in order to voiding broadcast %Jul 5 08:13:43 2011 S6500-1 L2INF/5/PORT LINK STATUS CHANGE: GigabitEthernet0/0/4: is DOWN
原因分析
Switch和S6500互连端口均没有配置MSTP报文的协议格式,使用默认值。但是默认值不一致,导致S6500接口被Shutdown。
Switch端口的MSTP报文的协议格式stp compliance默认为auto并发送dot1s格式报文,S6500默认发送legacy格式报文。S6500端口UP后连续发送3个legacy报文,Switch端口UP后发送1个dot1s报文,S6500回复1个dot1s报文,Switch回复S6500的legacy报文,后续两端交互dot1s报文。
S6500在进行报文格式检查时有特殊的处理机制:10秒内收到的legacy和dot1s报文都大于等于3个时,将端口Shutdown。
操作步骤
- 在Switch整机启动端口UP后,在S6500上执行命令display stp interface,查看直连UP端口的信息,发现MSTP BPDU format为legacy:
[S6500] display stp interface ...... ----[Port4(GigabitEthernet0/0/4)][FORWARDING]---- Port Protocol :enabled Port Role :CIST Designated Port Port Priority :128 Port Cost(Legacy) :Config=auto / Active=20 Desg. Bridge/Port :32768.000f-e2e0-5501 / 128.4 Port Edged :Config=disabled / Active=disabled Point-to-point :Config=auto / Active=true Transit Limit :3 packets/hello-time Protection Type :None Receive/Send MSTP BPDU format :legacy Port Config Digest Snooping :disabled Num of Vlans Mapped :0 PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 0 BPDU Sent :56143 TCN: 0, Config: 0, RST: 0, MST: 56143 BPDU Received :56734 TCN: 0, Config: 0, RST: 0, MST: 56734 ......
- 执行命令stp compliance legacy,将Switch连接S6500的端口强制配置为legacy模式。
建议与总结
在与其他厂商设备对接时,需要关注对端接口收发MSTP报文的协议格式是否默认为auto,是否有特殊的检查机制。
当Switch端口配置为非auto格式,端口收到的报文格式与配置不一致时,打印如下日志:
MSTP/3/PACKET_ERR_COMPLIAN:The port compliance protocol type of the packet received by MSTP from the port [port-name] is invalid.
出现该情况后,建议按照如下方法处理:
- 使用获取报文工具记录收到的错误报文。
- 记录查询对端的接口信息,如设备厂商、版本、配置。
如果是华为设备,使用命令display version,display interface或display current-configuration查询设备的版本、配置等。
如果是其他厂商设备,则根据该厂商的设备命令获取信息。
- 由于此时MSTP收到非法报文,计算出来的STP状态错误,有可能导致出现二层环路(使用display stp brief命令查看接口STP状态,可确认是否存在环路),建议先shutdown接口,防止形成广播风暴。确认不存在环路后,使用undo shutdown命令恢复接口。
阅读剩余
版权声明:
作者:SE_YT
链接:https://www.cnesa.cn/4367.html
文章版权归作者所有,未经允许请勿转载。
THE END