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只是对数据的传输起到同步、放大和整形的作用,对数据传输中的短帧、碎片等无法进行有效的处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过滤短帧、碎片等。

网络设备的转发流程

网络设备的转发流程

网络设备的转发流程英文回答:The process of forwarding packets in a network device involves several steps. Let me explain it in detail.1. Receiving the packet: The network device, such as a router or switch, first receives the packet from the source device. This can be a computer, server, or another network device.2. Examining the destination IP address: The network device then examines the destination IP address in the packet header. This IP address helps the device determine where the packet needs to be forwarded.3. Checking the routing table: The network device consults its routing table, which contains information about the network topology and the available paths to different destinations. It uses this table to determine thenext hop for the packet.4. Forwarding the packet: Once the next hop is determined, the network device forwards the packet to the appropriate interface. This interface is connected to the next device or network segment in the path towards the destination.5. Updating the MAC address: Before forwarding the packet, the network device updates the MAC address in the Ethernet header. This ensures that the packet is sent to the correct device on the network segment.6. Transmitting the packet: Finally, the network device transmits the packet to the next hop. This process continues until the packet reaches its final destination.For example, let's say I have a home network with multiple devices connected to a router. When I send a request to a website, my computer sends the packet to the router. The router examines the destination IP address and checks its routing table to determine the next hop. It thenupdates the MAC address and forwards the packet to the modem. The modem transmits the packet to the internet service provider, which further forwards it to the appropriate servers. This process continues until the packet reaches the web server hosting the website I requested.中文回答:网络设备的转发流程包括以下几个步骤。

三层以太网交换机基本原理及转发流程

三层以太网交换机基本原理及转发流程

三层以太网交换机基本原理及转发流程一、物理层物理层是三层以太网交换机的最底层,负责将数字信号转换为电信号,并通过物理介质进行传输。

物理层的主要功能有:数据的接收和发送、数据的编码和解码、时钟的同步以及物理介质的传输。

二、数据链路层数据链路层是三层以太网交换机的中间层,负责将数据报文分成数据帧,并添加帧头和帧尾,以便数据的传输和识别。

数据链路层的主要功能有:帧的划分、帧的识别、帧的发送和接收以及帧的差错检测。

三、网络层网络层是三层以太网交换机的最高层,负责对数据进行路由选择和转发。

网络层的主要功能有:数据的分组、数据的寻址、数据的路由选择、数据的转发和数据的拥塞控制。

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地址确定数据包的下一跳节点。

BCM5690交换芯片工作原理

BCM5690交换芯片工作原理
程,同时给出了用BCM5690设计交换整机的硬件结构和软件实现方法。
关键词:千兆以太网;BCM5690;堆叠;数据流程
目前,万兆芯片技术不断取得新的发展,尤其在“真”万兆的问题上,只有拥有更先进的芯片,设备厂商才能够在芯片功能和特性的基础上研发自身的交换机体系架构。虽然Broadcom、Intel、Marvell、美国国家半导体(NS)、英飞凌(Infineon)和意法半导体(STMicro electronics)都推出了最新的千兆以太网芯片产品。但万兆芯片的发展无疑会从硬件和架构层面来加快万兆产品的发展速度。
(4) 地址解析逻辑ARL:该逻辑功能模块可在数据包的基础上确定该数据包的转发策略
(2)内联端口(HiGig)控制器IPIC:主要提供HiGig口和内部交换逻辑之间的接口,有时也被用于多片BCM5690之间的堆叠操作。
(3) CPU管理接口CMIC:主要提供CPU和BCM5690设备不同功能块之间的接口,同时也用于诸如MIIM、I2C和灯的处理等功能。该模块通过PCI接口和CPU相联,可使CPU访问和控制BCM5690,而DMA引擎则支持数据从CPU传向BCM5690或从BCM5690传向CPU。
BCM5690是芯片提供有12个GE接口(千兆端口)和1个HiGig接口(内联端口),并具有堆叠功能。器件的端口采用PCI接口进行管理。其结构框图如图1所示。

由图1能看出:BCM5690芯片由以下一些主要功能模块组成:
(1)GIGA接口控制器GPIC:用于提供GE口和交换逻辑之间的接口。
为此, BroadCOM公司研发了BCM5690(12+1)单芯片交换方案。该集成电路芯片集成12个千兆端口和1个万兆端口,是一款功能比较强大和全方面的三层千兆以太网交换芯片。文中将周详介绍BCM5690芯片的功能特性及基于该芯片的交换机实现方法。

波仕卡 以太网 串口转换器通信 说明书

波仕卡 以太网 串口转换器通信 说明书

图解实战波士以太网/串口转换器通信以及用户常问的几个问题波仕电子版权所有2008在很多应用场合,如果想让设备连接到以太网中,就必须拥有一个以太网接口,普通的设备都含有RS-232(或RS-485/RS-422)串行接口,可以将串行接口连接到以太网中。

波仕以太网/串口转换器是实现通信主机的以太网与RS-232/RS-485/RS-422串口设备相互通讯的一种协议转换装置(TCP/IP协议-串行通信协议)。

波仕ETH232GL1提供一个光电隔离的RS232/RS485/RS422串口,一个10M以太网口等。

而ETH232L1是不带光电隔离的,使用完全一样。

以下仅以ETH232GL1为例来说明。

首先确信你的作为服务器的电脑的以太网口IP地址在192.168.0.1,只能够最后一位有不同,范围在0-256之间。

否则你就要么修改电脑的IP地址,要么修改所有波士以太网/串口转换器的IP地址。

图1硬件连接如图1,将ETH232GL1以太网/串口转换器接上电源(直流5V到36V均可,随产品配套有)。

电源插座旁边有一个小L E D(发光二极管),当ETH232GL1产品通电后LED会一直亮着。

将RJ-45座插入以太网交换机的RJ-45插头即可。

交叉线RJ-45电缆与直连线RJ-45电缆都可以,交换机都识别。

两个RS-232口之间是交叉线(2-3脚交叉)。

硬件连接就是这么简单。

由于波士以太网/串口转换器出厂时都将IP地址设置为192.168.0.7,所以先不能够直接将两个ETH232GL1同时接到HUB上。

先取下其中一个ETH232GL1以太网/串口转换器。

运行波士产品光盘上的CRConfigv30.exe。

按“搜寻”,出现了波士以太网/串口转换器,如图2。

修改“本地IP地址”,比如192.168.0.9,以免与另外一个波士以太网/串口转换器IP地址冲突。

(如图3)图2图3将2个波士以太网/串口转换器都插上,再运行CRConfig.exe。

交换机的数据转发基本过程

交换机的数据转发基本过程

交换机的数据转发基本过程二层交换机和网桥的基本功能冗余交换拓扑中的问题生成树协议交换机端口、冲突、交换方式虚拟局域网VLAN交换机的配置如何配置交换机基本命令课程内容以太网交换机交换机的三个功能学习:以太网交换机了解每一端口相连设备的MAC 地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC 地址表中。

转发/过滤:当一个数据帧的目的地址在MAC 地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)。

消除回路: (回路就是我们常说的环路)当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。

交换机如何学习主机的位置交换机如何学习主机的位置交换机如何学习主机的位置交换机如何过滤帧广播帧和多点传送帧冗余网络拓扑广播风暴广播风暴广播风暴重复帧重复帧MAC地址表不稳定MAC地址表不稳定冗余简单的冗余交换拓扑创建逻辑无环路拓扑1.冗余增加了可靠性,但是同时将物理环路带进网络。

2. 解决办法就是创建逻辑无环路拓扑,同时保留物理环存在3.无环路拓扑称为树,并且是可扩展的树4.创建无环路拓扑的算法称为生成树算法STP 术语( STP Terms )1. 桥ID (Bridge ID)2. 开消( Cost )3. 桥协议数据单元( BPDU )桥ID (Bridge ID)新IEEE 标准的COST 值最短路径是cost累加,而cost是基于链路的速率的。

桥协议数据单元( BPDU )1.交换机发送的创建逻辑无环路的数据包称为BPDUBridge Protocol Data Unit (BPDU).2.BPDU 在阻塞的接口上也可以接收,这确保如果链路或者设备浮现问题,新的生成树会被计算3.默认, BPDU 2 秒发送一次生成树协议生成树操作1.选举根桥, BID 最小即是2.计算自己到根桥距离3.选择根端口,距离根桥最近的接口4.选指定端口和非指定端口,非指定端口被阻塞。

以太网交换芯片

以太网交换芯片

以太网交换芯片以太网交换芯片是一种用于构建局域网(LAN)的关键设备,其用于在网络中传输数据,并实现网络中各个节点之间的通信。

以下是关于以太网交换芯片的一些基本知识。

一、以太网交换芯片的定义和作用以太网交换芯片是一种基于以太网标准的网络交换设备,用于处理和分配网络数据,将数据从一个端口转发到另一个端口,实现节点之间的直接通信。

其作用是在局域网中提供高速、可靠和非阻塞的网络连接。

二、以太网交换芯片的工作原理1. 网络数据的转发以太网交换芯片通过学习每个连接的设备的MAC地址,将数据发送到目标设备,而不是发送到整个网络中的所有设备。

因此,数据转发是根据目标设备的地址进行选择性转发的。

2. 非阻塞转发以太网交换芯片具备高速转发能力,可以同时处理多个数据包,即不会因为网络中的传输量增加而产生阻塞。

这使得它能够提供更可靠和高效的网络连接。

3. VLAN支持以太网交换芯片还可以支持虚拟局域网(VLAN)的实现。

VLAN可以将网络划分为多个逻辑子网,提供更好的网络管理和资源分配。

三、以太网交换芯片的特点1. 高性能以太网交换芯片能够提供高速的数据传输和转发能力,支持大容量的网络流量和多任务处理。

2. 可扩展性以太网交换芯片具备可扩展性,可以与其他网络设备进行连接,构建更大规模的网络。

3. 灵活性以太网交换芯片可以根据网络需求进行配置和管理,提供具有灵活性的网络设计和部署。

4. 低成本以太网交换芯片相对于其他网络设备和技术来说,其成本较低。

这使得以太网交换芯片成为广泛使用的网络设备。

四、以太网交换芯片的应用领域以太网交换芯片主要应用于局域网中,例如企业内部网络、学校网络、医院网络等。

其在这些环境中能够提供高速、可靠和安全的网络连接,并支持各种网络应用和服务。

此外,以太网交换芯片也被广泛应用于数据中心网络和云计算中心网络,用于构建高性能和可扩展的网络基础设施。

五、未来趋势随着物联网的发展和云计算的普及,对于大规模、高速和可靠的网络连接的需求将进一步增加。

BCM帧流程精要

BCM帧流程精要

BCM交换芯片帧流程精要前提 (2)1、帧流程概述 (2)2、Ingress处理模块 (3)2.1 Ingress处理模块的功能 (3)2.2数据包检查、拆分(Parse) (5)2.3 VLAN处理(VLAN Determination/Lookup) (5)2.3.1 单Tag模式处理(普通的LAN内部使用这种Tag) (5)2.3.2 HTLS和Double Tag处理(仅在特殊的端口如uplink时才使用到这种) (6)2.4 地址学习(Learning) (9)2.5 L2查表转发(Switching) (10)2.5.1 广播(Broadcast) (10)2.5.2 单播处理(Unicast) (11)2.5.3 L2多播(L2MC) (13)2.6 L3路由交换(Routing) (14)2.6.1 L3单播处理 (14)2.6.2 L3多播处理 (15)2.6.3 DEF_IP处理 (16)2.7 快速包过滤处理(FFP) (17)2.8 相关其他 (18)3、MMU处理模块 (18)3.1 MMU的调度机制 (18)3.1.1严格优先级方式(Strict Priority) (18)3.1.2轮询方式(Round-Robin) (19)3.1.3权重式轮询(Weighted Round-Robin) (19)3.1.4权重公平排队策略(Weighted Fair Queuing) (19)3.1.5联合排队策略(Combination Queuing) (20)3.2 影响MMU决策的几个关键设置 (20)4、Egress处理模块 (20)附录: (21)F1、基于IPV4的TCP/IP协议中的包封装 (21)前提要说明帧流程,首先要知道以太网的帧格式,现在流行的以太网帧属于Ethernet II帧,全文的说明将以这种帧结构为基础。

以太网帧的数据结构如下:图1 以太网帧图2 带有Qtag信息的帧图3 封装在以太网帧中的IP报文在最通用的基本帧讲述过程中将引用图1的帧结构,具有VLAN和COS功能的帧处理将引用图2的结构,具有进行三层(L3)处理功能的部分将引用图3的结构,它们可以根据IP首部进行转发。

二层交换机转发流程

二层交换机转发流程

二层以太网交换机基本原理及转发流程版本主要作者版本描述完成日期1.0 李小玮二层以太网交换机基本原理及转发流程2011-7-21目录1 MAC地址的简单介绍 .......................................................... 错误!未定义书签。

2 VLAN的简单介绍................................................................ 错误!未定义书签。

3 IP 过滤技术的简单介绍 (4)4 QOS的简单介绍 (4)5 实验 (5)6 小结 (17)MAC(Media Access Control,介质访问控制)地址是烧录在Network Interface Card (网卡)的EPROM里。

MAC地址是48 bit二进制的地址,如:00-e0-fc-00-00-06。

前24位叫做组织唯一标志符,后24位是由厂家自己分配。

MAC地址可以分为单播地址、多播地址和广播地址。

单播地址:第一字节最低位为0,如:00-e0-fc-00-00-06多播地址:第一字节最低位为1,如:01-e0-fc-00-00-06广播地址:48位全1,即:ff-ff-ff-ff-ff-ff2、VLAN的简单介绍VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。

VLAN是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。

VLAN网络可以是有混合的网络类型设备组成,比如:10M以太网、100M以太网、令牌网、FDDI、CDDI等等,可以是工作站、服务器、集线器、网络上行主干等等。

VLAN除了能将网络划分为多个广播域,从而有效地控制广播风暴的发生,以及使网络的拓扑结构变得非常灵活的优点外,还可以用于控制网络中不同部门、不同站点之间的互相访问。

基于BroadCom芯片的千兆以太网交换机设计与实现

基于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.广播和多播:当交换机接收到一个广播或多播数据包时,它会将数据包转发到所有的端口,以确保所有的设备都能收到该数据包。

交换机基本原理及转发流程

交换机基本原理及转发流程

三层以太网交换机基本原理及转发流程本文简要介绍了三层以太网交换机的二三层转发机制,主要目的是帮助读者进一步了解交换机的基本原理及转发流程,以期有利于更好的从事设备维护工作和建立于进一步学习的索引。

三层以太网交换机的转发机制主要分为两个部分:二层转发和三层交换。

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)交换机向入端口以外的其它所有端口转发广播报文。

三层交换机之报文转发流程

三层交换机之报文转发流程

三层交换机之报⽂转发流程本⽂以BCM56440交换芯⽚为例,介绍BCM StrataXGS系列芯⽚的报⽂转发流程,⼏乎所有交换芯⽚的报⽂转发流程都包括Ingress、MMU、Egress三个阶段。

BCM56440芯⽚的Ingress阶段流⽔线分为⼏个⼦阶段:1、Packet Parser⾸先检查数据帧的格式、长度(IEEE 802.3协议规定的64~1522字节报⽂,或者长达12KB的巨型帧)、字节对齐、CRC校验等,然后更新端⼝的包统计寄存器(show counters)、处理MAC Control控制帧等。

由此决定⼊端⼝报⽂是否需要继续处理。

如果需要继续处理,则解析报⽂的前128字节,获取报⽂特征——⽬的MAC、源MAC、长度/类型、VLAN TAG、IP地址、UDP端⼝号、TCP端⼝号等,主要是提取Ingress Logic和ContentAware Processor需要的信息,这些信息都是后续L2转发和L3转发的依据。

2、Dos Checker顾名思义,Dos Checker就是Dos攻击检查,该功能由Security Engine提供,主要是通过硬件机制检查DoS攻击。

3、Tunnel Termination(隧道终结)隧道技术的实质是⽤⼀种⽹络层的协议来传输另⼀种⽹络层协议,其基本功能是封装和加密,主要利⽤⽹络隧道来实现。

隧道的基本组成包括:隧道启动结点、隧道终结结点、IP⽹等路由的分组⽹络,隧道终结结点可以通过许多⽹络设备和软件实现,如企业⽹防⽕墙,VPN结点等。

4、VLAN处理在交换机内部,所有的报⽂都必须携带VLAN Tag,⼊端⼝的报⽂可能是untagged、single-tagged或者double-tagged。

VLAN信息主要来⾃以下表项:1) VLAN-based table (VCAP)2) VLAN translation table (VLAN_XLATE)3) Subnet-based table (VLAN_SUBNET)4) Protocol-based table (VLAN_PROTOCOL)5) Port-based table (default)如果⼊端⼝报⽂是tagged的,使⽤报⽂携带的VLAN TAG进⾏后续处理。

三层交换机转发流程

三层交换机转发流程

华为公司三层以太网交换机基本原理及转发流程本文简要介绍了华为公司三层以太网交换机的二三层转发机制,主要目的是帮助读者进一步了解华为交换机的基本原理及转发流程,以期有利于更好的从事设备维护工作和建立于进一步学习的索引。

三层以太网交换机的转发机制主要分为两个部分:二层转发和三层交换。

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广播地址:48位全1,如:ff-ff-ff-ff-ff-ff注意:1)普通设备网卡或者路由器设备路由接口的MAC地址一定是单播的MAC地址才能保证其与其它设备的互通。

2)MAC地址是一个以太网络设备在网络上运行的基础,也是链路层功能实现的立足点。

1.2.二层转发介绍交换机二层的转发特性,符合802.1D网桥协议标准。

交换机的二层转发涉及到两个关键的线程:地址学习线程和报文转发线程。

学习线程如下:1)交换机接收网段上的所有数据帧,利用接收数据帧中的源MAC地址来建立MAC地址表;2)端口移动机制:交换机如果发现一个包文的入端口和报文中源MAC 地址的所在端口不同,就产生端口移动,将MAC地址重新学习到新的端口;3)地址老化机制:如果交换机在很长一段时间之内没有收到某台主机发出的报文,在该主机对应的MAC地址就会被删除,等下次报文来的时候会重新学习。

注意:老化也是根据源MAC地址进行老化。

报文转发线程:1)交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到,就将该数据帧发送到相应的端口,如果找不到,就向所有的端口发送;2)如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;3)交换机向入端口以外的其它所有端口转发广播报文。

三层交换机转发流程

三层交换机转发流程

华为公司三层以太网交换机基本原理及转发流程本文简要介绍了华为公司三层以太网交换机的二三层转发机制,主要目的是帮助读者进一步了解华为交换机的基本原理及转发流程,以期有利于更好的从事设备维护工作和建立于进一步学习的索引。

三层以太网交换机的转发机制主要分为两个部分:二层转发和三层交换。

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广播地址:48位全1,如:ff-ff-ff-ff-ff-ff注意:1)普通设备网卡或者路由器设备路由接口的MAC地址一定是单播的MAC 地址才能保证其与其它设备的互通。

2) MAC地址是一个以太网络设备在网络上运行的基础,也是链路层功能实现的立足点。

1.2.二层转发介绍交换机二层的转发特性,符合802.1D网桥协议标准。

交换机的二层转发涉及到两个关键的线程:地址学习线程和报文转发线程。

学习线程如下:1)交换机接收网段上的所有数据帧,利用接收数据帧中的源MAC地址来建立MAC地址表;2)端口移动机制:交换机如果发现一个包文的入端口和报文中源MAC地址的所在端口不同,就产生端口移动,将MAC地址重新学习到新的端口;3)地址老化机制:如果交换机在很长一段时间之内没有收到某台主机发出的报文,在该主机对应的MAC地址就会被删除,等下次报文来的时候会重新学习。

注意:老化也是根据源MAC地址进行老化。

报文转发线程:1)交换机在MAC地址表中查找数据帧中的目的MAC地址,如果找到,就将该数据帧发送到相应的端口,如果找不到,就向所有的端口发送;2)如果交换机收到的报文中源MAC地址和目的MAC地址所在的端口相同,则丢弃该报文;3)交换机向入端口以外的其它所有端口转发广播报文。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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等);对于可以转发的包根据或DSCP放到不同队列的buffer中,调度器根据优先级或者WRR等算法进行队列调度,在端口发出该包之前执行流分类修改动作,最终从相应端口发送出去。

2、L2转发流程2.1 L2转发原理对于交换芯片来说,L2转发是一个最基本的功能。

L2功能主要包括ingress 过滤、MAC学习和老化、根据MAC+VLAN转发、广播与洪泛、生成树控制等基本功能。

L2转发的具体流程如图3所示:从端口进入交换芯片的包首先检查TAG,对于tagged包,判断是否是的包,(的包vid为0),对于untagged的包和的包,根据系统配置加上tag(这些配置包括:基于MAC的vlan、基于子网的vlan、基于协议的vlan和基于端口的vlan)。

经过这一步以后,到交换芯片内部的包都变成的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_BITMAP2.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。

对于L2_BITMAP,按照L2组播流程转发;对于L3_BITMAP,根据IPMC_INDEX和BITMAP得到IPMC_GROUP的VLAN_INDEX,最后根据VLAN_INDEX查找IPMC_VLAN表,IPMC_VLAN表包含了VLAN的位图,芯片在进行L3组播的时候,对VLAN的位图中的每个成员进行组播复制。

相关文档
最新文档