Broadcom以太网交换芯片转发流程
交换机基本原理和转发过程

交换机基本原理和转发过程(李建昂 0023000149 专用设备/驱动科室)本文主要介绍了一下交换机的工作原理,通过本文能够熟悉交换机的原理并对二层交换的一些概念有较深的理解。
首先介绍一下几个设备。
我们经常会看到一些设备的名字,比如HUB、交换机等。
这些设备之间到底有什么区别和联系,下面就简单说一下。
1、Ethernet HUBEthernet HUB的中文名称叫做以太网集线器,其基本工作原理是广播技术(broadcast),也就是HUB从任何一个端口收到一个以太网数据帧后,它都将此以太网数据帧广播到其它所有端口,HUB不存储哪一个MAC地址对应于哪一个端口。
以太网数据帧中含有源MAC地址和目的MAC地址,对于与数据帧中目的MAC地址相同的计算机执行该报文中所要求的动作;对于目的MAC地址不存在或没有响应等情况,HUB既不知道也不处理,只负责转发。
HUB工作原理:(1) HUB从某一端口A收到的报文将发送到所有端口;(2) 报文为非广播报文时,仅与报文的目的MAC地址相同的端口响应用户A;(3) 报文为广播报文时,所有用户都响应用户A。
随着网络应用不断丰富,网络结构日渐复杂,导致传统的以太网连接设备HUB已经越来越不能满足网络规划和系统集成的需要,它的缺陷主要表现在以下两个方面:(1) 冲突严重——HUB对所连接的局域网只作信号的中继,所有物理设备构成了一个冲突域;(2) 广播泛滥2、二层交换技术二层交换机的出现能够在一定程度上解决HUB存在的缺陷——主要是冲突严重的问题,其与HUB的区别从大的方面来看可以分为以下三点:(1)从OSI体系结构来看,HUB属于OSI模型的第一层物理层设备,而交换机属于OSI的第二层数据链路层设备。
也就意味着HUB只是对数据的传输起到同步、放大和整形的作用,对数据传输中的短帧、碎片等无法进行有效的处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过滤短帧、碎片等。
三层以太网交换机基本原理及转发流程

三层以太网交换机基本原理及转发流程一、物理层物理层是三层以太网交换机的最底层,负责将数字信号转换为电信号,并通过物理介质进行传输。
物理层的主要功能有:数据的接收和发送、数据的编码和解码、时钟的同步以及物理介质的传输。
二、数据链路层数据链路层是三层以太网交换机的中间层,负责将数据报文分成数据帧,并添加帧头和帧尾,以便数据的传输和识别。
数据链路层的主要功能有:帧的划分、帧的识别、帧的发送和接收以及帧的差错检测。
三、网络层网络层是三层以太网交换机的最高层,负责对数据进行路由选择和转发。
网络层的主要功能有:数据的分组、数据的寻址、数据的路由选择、数据的转发和数据的拥塞控制。
1.数据帧的接收当三层以太网交换机接收到一个数据帧时,首先会对帧的目的MAC地址进行解析。
如果目的MAC地址是广播地址(全1地址),则交换机会将该帧发送给所有的端口;如果目的MAC地址是单播地址(唯一的MAC地址),则交换机会通过学习过程,确定发送该帧的端口,并将该帧发送给目的端口。
2.MAC地址表的维护交换机中有一个MAC地址表,用于记录每个端口对应的MAC地址。
当交换机接收到一个数据帧时,会将源MAC地址与该帧进入的端口绑定,并将该绑定记录在MAC地址表中。
如果MAC地址表中已存在该地址的绑定,则会更新对应的端口值。
3.数据帧的转发当交换机接收到一个数据帧时,会先检查源MAC地址是否在MAC地址表中。
如果不在,则将该地址与对应端口的绑定添加到MAC地址表中。
然后,交换机会对目的MAC地址进行查询,查找对应的端口。
如果目的MAC地址在MAC地址表中,则交换机会将该帧直接发送给目的端口。
如果目的MAC地址不在MAC地址表中,则交换机会广播该帧到所有的端口(除了源端口),以寻找目的MAC地址。
4.网络层路由选择和转发当交换机接收到一个数据帧后,会将其解封装,获取到网络层的数据包。
交换机会查找路由表,根据目的IP地址确定数据包的下一跳节点。
网络设备的转发流程

网络设备的转发流程
英文回答:
1. Receive a packet: The network device receives a packet on one of its ports.
2. Lookup the destination address in the forwarding table: The network device looks up the destination address of the packet in its forwarding table. The forwarding table is a table that maps destination addresses to the outgoing ports that lead to those destinations.
3. Forward the packet: The network device forwards the packet to the outgoing port that leads to the destination address.
中文回答:
网络设备的数据转发流程:
1. 接收数据包,网卡在其端口之一上接收一个数据包。
2. 查询路由表中的目的地址,网卡在其路由表中查找数据包的目的地址。
路由表是将目的地址映射到通向那些目的地的出端口的表。
3. 转发数据包,网卡将数据包转发到通向目的地址的出端口。
以太网交换芯片

以太网交换芯片以太网交换芯片是一种用于构建局域网(LAN)的关键设备,其用于在网络中传输数据,并实现网络中各个节点之间的通信。
以下是关于以太网交换芯片的一些基本知识。
一、以太网交换芯片的定义和作用以太网交换芯片是一种基于以太网标准的网络交换设备,用于处理和分配网络数据,将数据从一个端口转发到另一个端口,实现节点之间的直接通信。
其作用是在局域网中提供高速、可靠和非阻塞的网络连接。
二、以太网交换芯片的工作原理1. 网络数据的转发以太网交换芯片通过学习每个连接的设备的MAC地址,将数据发送到目标设备,而不是发送到整个网络中的所有设备。
因此,数据转发是根据目标设备的地址进行选择性转发的。
2. 非阻塞转发以太网交换芯片具备高速转发能力,可以同时处理多个数据包,即不会因为网络中的传输量增加而产生阻塞。
这使得它能够提供更可靠和高效的网络连接。
3. VLAN支持以太网交换芯片还可以支持虚拟局域网(VLAN)的实现。
VLAN可以将网络划分为多个逻辑子网,提供更好的网络管理和资源分配。
三、以太网交换芯片的特点1. 高性能以太网交换芯片能够提供高速的数据传输和转发能力,支持大容量的网络流量和多任务处理。
2. 可扩展性以太网交换芯片具备可扩展性,可以与其他网络设备进行连接,构建更大规模的网络。
3. 灵活性以太网交换芯片可以根据网络需求进行配置和管理,提供具有灵活性的网络设计和部署。
4. 低成本以太网交换芯片相对于其他网络设备和技术来说,其成本较低。
这使得以太网交换芯片成为广泛使用的网络设备。
四、以太网交换芯片的应用领域以太网交换芯片主要应用于局域网中,例如企业内部网络、学校网络、医院网络等。
其在这些环境中能够提供高速、可靠和安全的网络连接,并支持各种网络应用和服务。
此外,以太网交换芯片也被广泛应用于数据中心网络和云计算中心网络,用于构建高性能和可扩展的网络基础设施。
五、未来趋势随着物联网的发展和云计算的普及,对于大规模、高速和可靠的网络连接的需求将进一步增加。
基于BroadCom芯片的千兆以太网交换机设计与实现

基于BroadCom芯片的千兆以太网交换机设计与实现封安,窦爱萍,原晨,隽鹏辉(中国航空工业集团公司西安航空计算技术研究所,陕西西安710068)摘要:为了满足一种无人机通信导航识别系统中各个单元之间的低成本通信,以及调试与升级,设计了基于BroadCom 芯片的千兆以太网交换机,重点阐述了交换机的硬件电路设计、布局布线设计以及软件开发流程。
通过测试和系统联试验证,交换机运行稳定可靠,该设计方案可满足系统需求。
关键词:BroadCom;SPI;千兆以太网;SGMII中图分类号:TP393.11文献标识码:A文章编号:1673-1131(2019)01-0122-020引言一种无人机通信导航识别系统由多个硬件单元组成,为了便于对各个硬件单元之间的低成本通信、以及各个单元的调试与升级,通信导航识别系统设计了一个千兆以太网交换与处理模块,以便完成各个单元间的数据交换、处理功能。
并对外提供两路千兆以太网接口,用来系统内模块的调试以及软件与FPGA逻辑的在线升级。
设计了以太网交换机与处理模块,以PowerPC处理器为核心处理器,使用博通公司的BroadCom芯片为千兆以太网交换机,通过SGMII接口连接千兆以太网PHY芯片,变压器使用PULSE公司的变压器实现。
1千兆以太网交换机的设计背景随着以太网技术的不断发展,传统标准的以太网技术已经难满足日益增长的网络数据流量需求,千兆以太网作为传统标准以太网的发展,在低成本、高带宽的应用中得到了广泛的使用。
千兆以太网是对快速以太网(100Mb/s)标准的一个扩展,可以提供1000Mb/s的原始数据带宽,同时和快速以太网保持完全兼容,这为千兆以太网在技术还是实际应用中都提供了广泛的发展前景[1]。
一种无人机通信导航识别系统内部需要完成各个硬件单元之间的低成本通信、以及各个单元的调试与升级,需要设计一个以太网交换模块来完成上述任务。
2系统总体方案及原理基于BroadCom芯片的千兆以太网交换机原理框图如图1所示。
交换机基本原理及转发流程

交换机基本原理及转发流程交换机是网络通讯设备中的一种,用于在局域网中进行数据包的转发和交换。
它的基本原理是根据设定的规则和算法,将输入端口接收到的数据包转发到对应的输出端口,从而实现不同设备之间的通信。
交换机的转发流程主要包括以下几个步骤:第一步:帧解封当一个数据包到达交换机的输入端口时,首先需要对数据包进行帧解封。
帧解封是将数据包从封装的物理层帧中提取出来,提取出的内容包括源MAC地址和目标MAC地址。
第二步:查找转发表交换机内部有一个转发表,用于存储端口和MAC地址的对应关系。
转发表中的每一项都包括一个MAC地址和一个对应的端口号。
当交换机收到数据包时,会查找转发表,以确定数据包应该转发到哪个端口。
如果转发表中有对应的条目,则将数据包发送到指定的端口;如果没有对应的条目,则进行第三步操作。
第三步:学习当交换机收到一个数据包,并且转发表中没有对应的条目时,交换机会将数据包的源MAC地址和接收到这个数据包的端口添加到转发表中。
这个过程被称为学习。
通过学习,交换机能够逐渐建立起端口和MAC地址的对应关系,从而提高转发的效率。
第四步:转发当交换机确定数据包应该转发到哪个端口时,它会将数据包转发到指定的端口。
这个过程被称为转发。
转发通常使用硬件实现,速度更快。
第五步:更新转发表当数据包被成功转发到目标端口后,交换机会更新转发表中的对应条目。
这样,下次有相同的包到达时,交换机就可以直接根据转发表进行转发,提高转发的效率。
交换机的基本原理主要有以下几点:1.学习和记忆:交换机会通过接收数据包来学习和记忆MAC地址和对应的端口号,以建立起转发表。
当交换机收到数据包时,它会查找转发表来确定数据包应该转发到哪个端口。
2.过滤和转发:交换机可以根据MAC地址来进行数据包的过滤和转发。
它只会将数据包转发到目标MAC地址对应的端口,而不会广播到所有的端口。
3.广播和多播:当交换机接收到一个广播或多播数据包时,它会将数据包转发到所有的端口,以确保所有的设备都能收到该数据包。
以太网交换机技术原理

以太网交换机技术原理以太网交换机的基本原理是通过多个以太网端口来接收和转发数据帧。
每个端口相当于一条通道,可以连接一个或多个计算机。
当一台计算机要发送数据时,它会将数据封装成数据帧,并将数据帧发送给交换机的一些端口。
交换机收到数据帧后,会读取其中的目标MAC地址,然后通过学习和转发的方式将数据帧发送给目标计算机。
交换机学习和转发数据帧的过程主要包括三个步骤:学习、过滤和转发。
学习:交换机收到数据帧后,会提取出数据帧中的源MAC地址,并将这个地址和收到这个数据帧的端口绑定在一起,形成一个表项。
这样,交换机就学会了源MAC地址所对应的端口。
如果收到的数据帧中的源MAC地址已经存在于之前的表项中,交换机会更新这个表项的时间戳。
学习的过程可以通过交换机的学习模块完成,该模块通常是一个CAM(Content-Addressable Memory)表。
过滤:交换机会检查数据帧的目标MAC地址,并与之前学习到的表项进行匹配。
如果目标MAC地址在表项中存在,则说明目标计算机直接连接在与该表项对应的端口上,交换机会直接转发数据帧到这个端口上。
如果目标MAC地址在表项中不存在,交换机会将数据帧广播到除了收到数据帧的端口之外的所有端口,这样可以确保数据帧能够传输到目标计算机。
转发:在进行广播之后,交换机会等待所有连接的计算机响应。
如果有计算机回应,交换机会将这个计算机的MAC地址和所在端口加入到学习表中,下一次发送该计算机的数据帧时可以直接转发到这个端口。
如果没有计算机回应,交换机会丢弃数据帧,避免网络拥堵。
除了学习和转发功能,以太网交换机还有一些其他的功能。
例如:虚拟局域网(VLAN)的实现,可以将交换机的端口划分为不同的虚拟局域网,实现隔离和安全性;链路聚合(Link Aggregation)的实现,可以将多个端口绑定在一起,提高带宽和冗余性;流控和管理功能,可以对流量进行限速和精细的管理等。
总结起来,以太网交换机的技术原理是通过学习和转发方式来实现计算机之间的数据交换,同时可以提供很多其他的功能来满足网络的需求。
交换机基本原理及转发流程

三层以太网交换机基本原理及转发流程本文简要介绍了三层以太网交换机的二三层转发机制,主要目的是帮助读者进一步了解交换机的基本原理及转发流程,以期有利于更好的从事设备维护工作和建立于进一步学习的索引。
三层以太网交换机的转发机制主要分为两个部分:二层转发和三层交换。
1.二层转发流程1.1.MAC地址介绍MAC地址是48 bit二进制的地址,如:00-e0-fc-00-00-06。
可以分为单播地址、多播地址和广播地址。
单播地址:第一字节最低位为0,如:00-e0-fc-00-00-06多播地址:第一字节最低位为1,如:01-e0-fc-00-00-06(问题1:以03开头的MAC地址是单播MAC地址还是多播MAC地址)广播地址:48位全1,如:ff-ff-ff-ff-ff-ff注意:1)普通设备网卡或者路由器设备路由接口的MAC地址一定是单播的MAC 地址才能保证其及其它设备的互通。
2)MAC地址是一个以太网络设备在网络上运行的基础,也是链路层功能实现的立足点。
1.2.二层转发介绍交换机二层的转发特性,符合802.1D网桥协议标准。
交换机的二层转发涉及到两个关键的线程:地址学习线程和报文转发线程。
学习线程如下:1)交换机接收网段上的所有数据帧,利用接收数据帧中的源MAC地址来建立MAC地址表;2)端口移动机制:交换机如果发现一个包文的入端口和报文中源MAC 地址的所在端口(在交换机的MAC地址表中对应的端口)不同,就产生端口移动,将MAC地址重新学习到新的端口;3)地址老化机制:如果交换机在很长一段时间之内没有收到某台主机发出的报文,在该主机对应的MAC地址就会被删除,等下次报文来的时候会重新学习。
注意:老化也是根据源MAC地址进行老化。
报文转发线程:1)交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到,就将该数据帧发送到相应的端口,如果找不到,就向所有的端口发送;2)如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;3)交换机向入端口以外的其它所有端口转发广播报文。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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中,这个过程称为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,命令行可以对这个寄存器进行设置,每次查找L2 TABLE时(包括原地址查找和目的地址查找,可以配置),如果命中,就会设置hit标志。
当老化时间到后,ASIC把hit标志清除,当下一个老化时间到后,ASIC把hit为0的地址设置为无效,这就是为什么实际地址老化的时间为1~2倍agingTime的原因。
2.2 L2转发相关的表项2.2.1 port表图4 port表Port表是一个非常重要的表,有很多与端口相关的控制都在这里设置。
每个端口对应一个表项,按端口号进行索引。
下面介绍一下重要的设置:1) PVID:设置PORT_VID2) 缺省优先级:设置PORT_PRI3) 流分类使能:设置FILTER_ENABLE4) VLAN转换使能:设置VT_ENABLE和VT_MISS_DROP5) Ingress过滤使能:设置EN_IFILTER6) 信任COS还是信任DSCP:对于IPV4:TRUST_DSCP_V4=0:信任COS;TRUST_DSCP_V4=1:信任DSCP,对于IPV6:同样设置TRUST_DSCP_V6。
7) Ingress方向mirror使能:设置MIRROR8) MAC地址学习方式:设置CML9) IP组播是否使用VLAN信息:设置IPMC_DO_VLAN10) L3转发使能:设置V4L3_ENABLE和V6L3_ENABLE11) 是否丢弃BPDU:设置DROP_BPDU12) 控制是否转发带tag和不带tag的包:设置PORT_DIS_TAG和PORT_DIS_UNTAG13) Pause帧控制:设置PASS_CONTROL_FRAMES14) 基于子网的VLAN使能:设置SUBNET_BASED_VID_ENABLE15) 基于MAC的VLAN使能:设置MAC_BASED_VID_ENABLE16) 设置堆叠口:HIGIG_PACKET17) 设置NNI口:NNI_PORT18) 修改优先级使能:MAP_TAG_PACKET_PRIORITY19) 堆叠口modid设置:MY_MODID20) Out tpid设置:OUTER_TPID21) 基于MAC和基于子网的VLAN优先级设置:VLAN_PRECEDENCE22) 是否允许单臂桥功能:PORT_BRIDGE23) 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=12.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=12) 设置L3转发标志:L3=13) 设置本地址的包都转发到CPU去:CPU=14) 设置本地址匹配的包丢弃:SRC_DISCARD=1、DST_DISCARD=15) 设置本地址匹配的包对某些端口阻塞:MAC_BLOCK_INDEX6) 设置本地址匹配的包镜像:MIRROR=17) 设置组播索引:L2MC_PTR8) 地址有效标志:VALID=12.2.3 VLAN表Vlan表分为ingress和egress两个部分,分别对应入口控制和出口控制。
图7 ingress vlan表Ingress Vlan表中主要包含了端口列表,用于ingress filter功能。
PFM是用于控制组播洪泛的开关。
PFM=0,组播在vlan内洪泛;PFM=1,注册的组播按组播表转发,未注册的组播在vlan内洪泛;PFM=2,注册的组播按组播表转发,未注册的组播丢弃。
STG用于标识本vlan所属的生成树组。
图8 egress vlan表Egress vlan表中除了PFM和STG外,还包含了出口方向的端口位图,以及哪些端口以untag的方式发送本vlan的包。
3、L3转发流程图9 L3转发流程如果查目的MAC地址表的时候发现L3bit置位了,就进入到L3转发流程。
与L2交L3交换可以实现跨VLAN转发,而且它的转发依据不是根据目的MAC地址,而是根据目的IP。
L3转发的流程是:首先对L3头部进行校验,校验和错的包直接丢弃;然后进行原IP地址查找,如果主机路由表中没有找到,会上报给CPU,CPU会进行相应的处理,并更新接口表;下一步进行目的IP地址查找,如果主机路由表中没有找到,就会在子网路由表中进行查找,在子网路由表中进行最长子网匹配的查找算法,如果在子网路由表中还没有找到,也送给CPU进行处理,如果在主机路由表或子网路由表中找到了,就会得到下一跳的指针。
如果ECMP使能的话,会得到ECMP的指针和ECMP的个数,从而根据hash算法得到一个下一跳指针。
下一条表项中包含了下一跳的MAC地址和接口表的索引。
在包转发出去的时候,用下一跳的MAC地址替换掉包的目的MAC地址。
用接口表中的MAC地址和VLAN替换掉包的原MAC地址和VLAN。
与L3有关的几个重要的表:图10 L3单播主机路由表图11 L3子网路由表图12 ECMP表图13 EGRESS 下一跳表图14 接口表图15 INGRESS 下一跳表4、 L2组播转发流程在L2转发流程中,查找目的MAC+VID的时候,如果表项的目的MAC是一个组播地址,该表项有一个组播指针指向组播表,组播表中有一个端口位图,表示哪些端口属于该组播组。
组播组中的端口位图与VLAN中的端口位图相与的结果是实际转发的端口位图。
静态配置的或协议动态添加的组播地址通过SSP写到MAC 地址表中,组播成员通过SSP写到组播表中。
L2组播表的结构如下:图16 L2组播表5、 L3组播转发流程L3组播支持有源树和共享树。
所谓有源树是指根据源IP地址和组地址来确定一个组播组,而共享树是指仅根据组地址来确定一个组播组。
芯片也支持反向路径检查(Reverse Path Forwarding check),所谓反向路径检查是指通过检查源IP地址确定源端口,从而不要向源端口转发的技术。
L3组播的转发流程是,先查L2表,对于组播地址而且是L3 bit 置位的,查L3表。
L3表给出IPMC_INDEX。
根据这个索引查L3_IPMC表,L3_IPMC 表给出L2_BITMAP和L3_BITMAP。