Broadcom以太网交换芯片培训(broadcom56504/56300) 1、 交换芯片架构 交换芯片由 GE/XE 接口(MAC/PHY)模块、CPU 接口模块、输入输出匹配/修改模块、MMU 模块、L2 转发模块、L3 转发模块、安全模块、流分类模块等模块组成,其结构如图 1 所示: 图 1 交换芯片的组成 56504 包含 24 个 GE 端口,4 个 10G 端口,10G 端口既可以用于堆叠,也可以用于上联/级联。56504 交换芯片与 CPU 的接口称为 CMIC 接口。交换芯片与 CPU 通过 PCI 总线连接。其他类型交换芯片与 CPU 的接口可以是:SPI+MII、I2C+MII、系统总线+MII、SMI+MII 等。交换芯片的包处理流程如图 2 所示: 图2 交换芯片的包处理流程简图 包由端口进入交换芯片之后,首先进行包头字段匹配,为流分类做准备;然后经过一个安全引擎进行包过滤;符合安全的包进行L2 交换或者L3 路由,并经过流分类处理器对匹配的包做相关动作(比如丢弃、限速、修改 VLAN 等);对于可以转发的包根据 802.1P 或DSCP 放到不同队列的buffer 中,调度器根据优先级或者WRR 等算法进行队列调度,在端口发出该包之前执行流分类修改动作,最终从相应端口发送出去。 2、 L2 转发流程 2.1 L2 转发原理 对于交换芯片来说,L2 转发是一个最基本的功能。L2 功能主要包括 ingress过滤、MAC 学习和老化、根据 MAC+VLAN 转发、广播与洪泛、生成树控制等基本功能。 L2 转发的具体流程如图3 所示: 从端口进入交换芯片的包首先检查 TAG,对于 tagged 包,判断是否是 802.1p的包,(802.1p 的包vid 为0),对于 untagged 的包和 802.1p 的包,根据系统配置加上 tag(这些配置包括:基于 MAC 的vlan、基于子网的vlan、基于协议的vlan 和基于端口的vlan)。经过这一步以后,到交换芯片内部的包都变成802.1Q 的tagged 包了(vid 为1-4094,4095 保留),如果设置了 ingress 过滤,就会检查本端口是否在该vid 对应的VLAN 中,对于本端口不在该vid 对应的VLAN 中的包就丢弃。对于 没有设置 ingress 过滤,或者设置 ingress 过滤但本端口在该vid 对应的VLAN中的包进行 STP 端口状态检查,对于BPDU 以外的包,只有端口处于forwarding状态,才允许包进入。然后进行原 MAC 地址检查,以原 MAC+VID 的哈希为索引查找 L2 TABLE,如果没有找到,就把这个表项(原 MAC+VID)以及对应的端口写到 L2 TABLE 中,这个过程称为...