三层交换机之丢包问题分析(进阶)
首先说明一点,正常情况下,博通交换芯片的丢包均会体现在端口包统计中,即BCM下show counter命令。
丢包原因汇总
博通交换芯片转发流程,从入端口到出端口丢包可能性分析:
1)端口STP状态不是Forwarding状态,比如Link Down或者Block或者链路有硬件故障;
-------这种情况下,所有数据报文均丢弃
2)链路接触不良;
-------这种情况下,入端口有RFCS包统计,表示CRC错误帧;(碰到过show counter不显示RFCS项的情况,此时可以通过直接读取寄存器分析)
3)入端口Packet Parse阶段,检查到入端口报文VLAN所在的VLAN转发域不包含当前端口;
-------这种情况下,所有该VLAN内的数据报文均丢弃;BCM下vlan show <vlanid>查看端口是否在VLAN转发域;
4)未知组播丢弃;
-------组播未成组,配置了VLAN内未知组播丢弃;
5)端口包抑制丢弃;
-------比如广播包、未知组播包、未知单播包抑制;
6)端口限速,或者流量超过最大带宽;
-------端口限速丢弃;端口限速是一种流量整形的手段,此时,会优先使用MMU缓存报文,如果超过水线,则丢弃报文;如果此时开启了反压功能(back pressure),则反压到入端口;
7)超长帧丢弃;
------帧长超过端口MTU大小,导致丢弃;
8)IFP规则限速或者丢弃动作;
-------这种情况下,匹配规则的红黄包丢弃,或者匹配规则的所有报文丢弃,端口包统计RDBGC可以定位;
需要说明的是,端口镜像在IFP之前,因此,可以镜像到所有报文;
9)Ingress阶段检查MMU资源,发现资源不够,丢弃报文;
------这种情况下,一般是入端口报文存在突发的场景,此时,可以通过MMU相关寄存器定位,一般可以通过调整MMU参数或者开启入端口流控(PAUSE帧)解决;
10)Egress阶段HOL拥塞丢包;
------HOL拥塞是指多个队列的报文,涌向某一个队列,在出口发生拥塞;这种情况下,需要调整端口队列深度、端口速率或者端口流控解决;
业务流不通排查思路