----
1、 交换芯片架构
2.1 L2屋顶采光带转发原理
2.2 L2转发相关的表项
2.2.1 port表
2.2.2 egress port表
2.2.3 VLAN表
3、增感油墨 L3转发流程
4、 L2组播转发流程元数据管理平台
5、 L3组播转发流程
6、 流分类处理流程
本文以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中,这个过程称为MAC地址学习。当然地址学习的方法有
很多种,可以是硬件学习,也可以是软件学习,可以根据PORT表中的CMI字段的配置来进行。
图3 L2转发流程
下一步进行目的MAC地址检查:目的MAC地址为广播地址(0xffffffff)的包,在vlan内广
播出去;目的MAC地址为组播地址的包,进行组播流程的处理;对于单播包,查L2 TABLE,如
果没有到,就在vlan内进行洪泛;如果到,检查表项中的L3 bit是否设置,如果设置了L3 bit,
就进行L3流程的转发;否则就转发到L2 TABLE表项中的端口去,在egress方向,也有egress过滤
设置(默认是使能的),如果egress端口不在vlan中也是不能转发的。至此,L2转发流程完成了。
与地址学习相反的过程是地址老化。地址老化的机制是:ASIC内部有个定时器,称为age timer,