以太网交换芯片培训
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2.3 L2地址表
图6 L2地址表 56504的L2地址表大小为16K,5630X的L2地址表大小为8K,地址表使用MAC+VID的hash 值作为索引查表。实际上56504的L2地址表hash值为4K,每个hash值对应4条地址,这样最多 可以保存4条hash冲突的地址。地址表中每个表项都保存了MAC_ADDR和VLAN_ID。MAC学习 的时候使用原MAC+VID的hash查表,把表中的MAC+VID与包中的MAC+VID进行比较,如果 完全相等,表示找到了。然后看端口(TGID_PORT)是否相等,如果不相等表示地址发生了迁移, 对于动态学习的地址需要更新port;如果相等表示命中,更新hit标志。其他几个重要的功能介绍如 下: 1) 设置静态地址:STATIC_BIT=1 2) 设置L3转发标志:L3=1 3) 设置本地址的包都转发到CPU去:CPU=1 4) 设置本地址匹配的包丢弃:SRC_DISCARD=1、DST_DISCARD=1 5) 设置本地址匹配的包对某些端口阻塞:MAC_BLOCK_INDEX 6) 设置本地址匹配的包镜像:MIRROR=1 7) 设置组播索引:L2MC_PTR 8) 地址有效标志:VALID=1 2.2.3 VLAN表 Vlan表分为ingress和egress两个部分,分别对应入口控制和出口控制。
3、 L3转发流 程................................................................................................................................10 4、 L2组播转发流 程.........................................................................................................................12 5、 L3组播转发流 程.........................................................................................................................13 6、 流分类处理流 程...........................................................................................................................15 7、 上研各项目交换芯片使用情况...................................................................................................21
图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转发、广播与洪泛、生成树控制等基本功能。
好友
相册
留言
以太网交换芯片培训 收藏 以太网交换芯片培训 焦赵云
博客首页
全站
搜索 6
目录
1、 交换芯片架 构....................................................................................................................................3 2、 L2转发流 程......................................................................................................................................4 2.1 L2转发原 理.................................................................................................................................4 2.2 L2转发相关的表 项......................................................................................................................6 2.2.1 port 表.................................................................................................................................6 2.2.2 egress port 表.......................................................................................................................7 2.2.3 L2地址表...........................................................................................................................8 2.2.3 VLAN表..............................................................................................................................9
图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, 命令行可以对这个寄存器进行设置,每次查找L2 TABLE时(包括原地址查找和目的地址查找,可 以配置),如果命中,就会设置hit标志。当老化时间到后,ASIC把hit标志清除,当下一个老化时
efan_linux
空间
博客
用户操作
[留言] [发消息] [加为 好友]
订阅我的博客
efan_linux的公告
文章分类
C编程相关 LINUX TCP/IP LINUX 内核 笔记整理 链接 网络技术 资源链接
存档
2010年02月(1) 2009年11月(2) 2009年10月(8) 2009年09月(84)
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字段的配置来进行。
以太网交换芯片培训
本文以broadcom56504/56300交换芯片为重点,介绍一下交换芯片的工作原理。
1、 交换芯片架构 交换芯片由GE/XE接口(MAC/PHY)模块、CPU接口模块、输入输出匹配/修改模块、MMU 模块、L2转发模块、L3转发模块、安全模块、流分类模块等模块组成,其结构如图1所示:
间到后,ASIC把hit为0的地址设置为无效,这就是为什么实际地址老化的时间为1~2倍agingTime 的原因。
2.2 L2转发相关的表项 2.2.1 port表
图4 port表 Port表是一个非常重要的表,有很多与端口相关的控制都在这里设置。每个端口对应一个表项, 按端口号进行索引。下面介绍一下重要的设置: 1) PVID:设置PORT_VID 2) 缺省优先级:设置PORT_PRI 3) 流分类使能:设置FILTER_ENABLE 4) VLAN转换使能:设置VT_ENABLE和VT_MISS_DROP 5) Ingress过滤使能:设置EN_IFILTER 6) 信任COS还是信任DSCP:对于IPV4:TRUST_DSCP_V4=0:信任COS; TRUST_DSCP_V4=1:信任DSCP,ห้องสมุดไป่ตู้于IPV6:同样设置TRUST_DSCP_V6。 7) Ingress方向mirror使能:设置MIRROR 8) MAC地址学习方式:设置CML 9) IP组播是否使用VLAN信息:设置IPMC_DO_VLAN 10) L3转发使能:设置V4L3_ENABLE和V6L3_ENABLE 11) 是否丢弃BPDU:设置DROP_BPDU 12) 控制是否转发带tag和不带tag的包:设置PORT_DIS_TAG和PORT_DIS_UNTAG 13) Pause帧控制:设置PASS_CONTROL_FRAMES 14) 基于子网的VLAN使能:设置SUBNET_BASED_VID_ENABLE 15) 基于MAC的VLAN使能:设置MAC_BASED_VID_ENABLE 16) 设置堆叠口:HIGIG_PACKET 17) 设置NNI口:NNI_PORT 18) 修改优先级使能:MAP_TAG_PACKET_PRIORITY 19) 堆叠口modid设置:MY_MODID 20) Out tpid设置:OUTER_TPID 21) 基于MAC和基于子网的VLAN优先级设置:VLAN_PRECEDENCE 22) 是否允许单臂桥功能:PORT_BRIDGE 23) IP组播位图设置:IGNORE_IPMC_L2_BITMAP和IGNORE_IPMC_L3_BITMAP
2.2.2 egress port表
图5 egress port表 EGR_PORT是一组寄存器,每个端口一个,用于EGRESS方向的控制,有几个重要设置介绍 如下:
1) 设置egress端口类型:PORT_TYPE=0,UNI端口;PORT_TYPE=1,NNI端口 2) 设置egress过滤:EN_EFILTER=1
图6 L2地址表 56504的L2地址表大小为16K,5630X的L2地址表大小为8K,地址表使用MAC+VID的hash 值作为索引查表。实际上56504的L2地址表hash值为4K,每个hash值对应4条地址,这样最多 可以保存4条hash冲突的地址。地址表中每个表项都保存了MAC_ADDR和VLAN_ID。MAC学习 的时候使用原MAC+VID的hash查表,把表中的MAC+VID与包中的MAC+VID进行比较,如果 完全相等,表示找到了。然后看端口(TGID_PORT)是否相等,如果不相等表示地址发生了迁移, 对于动态学习的地址需要更新port;如果相等表示命中,更新hit标志。其他几个重要的功能介绍如 下: 1) 设置静态地址:STATIC_BIT=1 2) 设置L3转发标志:L3=1 3) 设置本地址的包都转发到CPU去:CPU=1 4) 设置本地址匹配的包丢弃:SRC_DISCARD=1、DST_DISCARD=1 5) 设置本地址匹配的包对某些端口阻塞:MAC_BLOCK_INDEX 6) 设置本地址匹配的包镜像:MIRROR=1 7) 设置组播索引:L2MC_PTR 8) 地址有效标志:VALID=1 2.2.3 VLAN表 Vlan表分为ingress和egress两个部分,分别对应入口控制和出口控制。
3、 L3转发流 程................................................................................................................................10 4、 L2组播转发流 程.........................................................................................................................12 5、 L3组播转发流 程.........................................................................................................................13 6、 流分类处理流 程...........................................................................................................................15 7、 上研各项目交换芯片使用情况...................................................................................................21
图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转发、广播与洪泛、生成树控制等基本功能。
好友
相册
留言
以太网交换芯片培训 收藏 以太网交换芯片培训 焦赵云
博客首页
全站
搜索 6
目录
1、 交换芯片架 构....................................................................................................................................3 2、 L2转发流 程......................................................................................................................................4 2.1 L2转发原 理.................................................................................................................................4 2.2 L2转发相关的表 项......................................................................................................................6 2.2.1 port 表.................................................................................................................................6 2.2.2 egress port 表.......................................................................................................................7 2.2.3 L2地址表...........................................................................................................................8 2.2.3 VLAN表..............................................................................................................................9
图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, 命令行可以对这个寄存器进行设置,每次查找L2 TABLE时(包括原地址查找和目的地址查找,可 以配置),如果命中,就会设置hit标志。当老化时间到后,ASIC把hit标志清除,当下一个老化时
efan_linux
空间
博客
用户操作
[留言] [发消息] [加为 好友]
订阅我的博客
efan_linux的公告
文章分类
C编程相关 LINUX TCP/IP LINUX 内核 笔记整理 链接 网络技术 资源链接
存档
2010年02月(1) 2009年11月(2) 2009年10月(8) 2009年09月(84)
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字段的配置来进行。
以太网交换芯片培训
本文以broadcom56504/56300交换芯片为重点,介绍一下交换芯片的工作原理。
1、 交换芯片架构 交换芯片由GE/XE接口(MAC/PHY)模块、CPU接口模块、输入输出匹配/修改模块、MMU 模块、L2转发模块、L3转发模块、安全模块、流分类模块等模块组成,其结构如图1所示:
间到后,ASIC把hit为0的地址设置为无效,这就是为什么实际地址老化的时间为1~2倍agingTime 的原因。
2.2 L2转发相关的表项 2.2.1 port表
图4 port表 Port表是一个非常重要的表,有很多与端口相关的控制都在这里设置。每个端口对应一个表项, 按端口号进行索引。下面介绍一下重要的设置: 1) PVID:设置PORT_VID 2) 缺省优先级:设置PORT_PRI 3) 流分类使能:设置FILTER_ENABLE 4) VLAN转换使能:设置VT_ENABLE和VT_MISS_DROP 5) Ingress过滤使能:设置EN_IFILTER 6) 信任COS还是信任DSCP:对于IPV4:TRUST_DSCP_V4=0:信任COS; TRUST_DSCP_V4=1:信任DSCP,ห้องสมุดไป่ตู้于IPV6:同样设置TRUST_DSCP_V6。 7) Ingress方向mirror使能:设置MIRROR 8) MAC地址学习方式:设置CML 9) IP组播是否使用VLAN信息:设置IPMC_DO_VLAN 10) L3转发使能:设置V4L3_ENABLE和V6L3_ENABLE 11) 是否丢弃BPDU:设置DROP_BPDU 12) 控制是否转发带tag和不带tag的包:设置PORT_DIS_TAG和PORT_DIS_UNTAG 13) Pause帧控制:设置PASS_CONTROL_FRAMES 14) 基于子网的VLAN使能:设置SUBNET_BASED_VID_ENABLE 15) 基于MAC的VLAN使能:设置MAC_BASED_VID_ENABLE 16) 设置堆叠口:HIGIG_PACKET 17) 设置NNI口:NNI_PORT 18) 修改优先级使能:MAP_TAG_PACKET_PRIORITY 19) 堆叠口modid设置:MY_MODID 20) Out tpid设置:OUTER_TPID 21) 基于MAC和基于子网的VLAN优先级设置:VLAN_PRECEDENCE 22) 是否允许单臂桥功能:PORT_BRIDGE 23) IP组播位图设置:IGNORE_IPMC_L2_BITMAP和IGNORE_IPMC_L3_BITMAP
2.2.2 egress port表
图5 egress port表 EGR_PORT是一组寄存器,每个端口一个,用于EGRESS方向的控制,有几个重要设置介绍 如下:
1) 设置egress端口类型:PORT_TYPE=0,UNI端口;PORT_TYPE=1,NNI端口 2) 设置egress过滤:EN_EFILTER=1