三层交换机之丢包问题分析(进阶)

首先说明一点,正常情况下,博通交换芯片的丢包均会体现在端口包统计中,即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拥塞是指多个队列的报文,涌向某一个队列,在出口发生拥塞;这种情况下,需要调整端口队列深度、端口速率或者端口流控解决;

原文地址:https://www.cnblogs.com/justin-y-lin/p/14783362.html