以太网交换机基础知识
• • • • • • • •
交换机帧处理流程
• MMU负责对帧进行缓存排队(buffering)处理和调度处理(scheduling), 它从Ingress逻辑中接收帧,并调度、暂存这些帧,随后传送到Egress逻辑。 所有的帧存储和对帧缓存的维护管理都是通过MMU完成的,MMU表现为调 度的核心所在。
交换机帧处理流程
• 由于数据帧在芯片内部的流程很复杂并且不同的厂家处理方式不尽相同,这 边只对BCM各模块的基本功能概括如下,有兴趣的请详细参考芯片厂商的PG 文档。 Ingress包含下面一些主要处理功能: 1、数据包检查、拆分; 2、VLAN处理; 3、地址学习; 4、L2交换; 5、L3路由交换; 6、快速过滤处理(FFP); 7、其他附加功能,如CPU包处理、Mirror、Trunk功能等;
•
SMI-串行管理接口
802.3定义的SMI寄存器集
SMI-串行管理接口
一些寄存器举例
SMI-串行管理接口
一些寄存器举例
SMI-串行管理接口
一些寄存器举例
• 五、衡量交换性能的指标
衡量交换性能的指标
• • • • • • • • • • Throughput Latency Back to back Head of line Address handling Many to one (One to many) X-stream Filter illegal frames Forward pressure Broardcast proportion
衡量交换性能的指标
• Throughput
• Throughput是指被测设备在所提供的帧不丢失情况下的最大速率 (RFC1242),该项测试 用来确定设备在不出错的情况下转发帧所能达到的最大速率。
对于 store and forward 设备 : 从输入帧的最后一位 (bit) 到达输入端口开始到输出帧 的第一位出现在输出端口为止的时间间隔; Back-to-back 用于测试被测设备处理 back-to-back 帧 ( 指以最小帧间距存在的固定长度的 一连串的帧)的能力,可用来衡量被测设备的缓冲能力。
• • •
•
交换机帧处理流程
• 大部分BCM交换芯片采取下面这种结构方式来做,并且提供了更多的灵活性: • 下图示意性的表示了以太网帧在进入交换芯片以后,一个基本的物理处理流 程是从“Ingress”单元到“MMU”单元再到“Egress”单元,该过程描述了以太 网交换芯片对帧从进入到送出的处理流程。
• Latency
•
• Back-to-back
•
衡量交换性能的指标
• Head of line
• Head-of-line Blocking是指一个输入接口同时向一个拥塞端口和一个非拥塞端 口转发帧时,在非拥塞端口的帧丢失或延迟的增加 (RFC2285),用来决定被测设 备怎么处理拥塞(设备是否执行拥塞控制,在一个端口的拥塞是否影响非拥塞 端口)。 该项测试的模型(10M)为:
• 三、交换机帧处理流程
交换机帧处理流程
• • BCM数据帧流程的大致介绍 1、交换机从某个端口收到一个数据包,它先读取包头中的源 MAC地址,这 样它就知道具有该源MAC地址的机器是连接在哪个端口上的,这样一组对应 信息将被存放在地址表(L2 Table)中; 2、随后将读取包头中的目的 MAC地址,并在地址表中查找与该 MAC地址对 应的端口; 3、如果在地址表中查到有与这个目的 MAC 地址对应的端口号,则将数据包 直接复制到这个端口上; 4、如果在地址表中找不到相应的 MAC地址以及对应的端口号,则将数据包 广播到所有端口上;当目的机器收到这个数据包以后,如果对源主机进行回 应时,交换机又可以按照 1中所描述的方式,又学习到这个 MAC地址与端口 的对应关系,在下次传送数据时就不再需要对所有端口进行广播了。 5、依此类推,对于与该交换机有直接或间接联系的所有MAC地址信息都可 以实时的学习到,二层交换机就是这样建立和维护它自己的地址表的。
•
AST所进行的测试操作是:Port1向Port2发以Port2为目的地址带若干个不同源 地址的学习帧,Port2收到后发出相应的控制帧(以Port2为源地址,学习到的源 地址为目的地址),而Port3作为监控端口用来侦听溢出的帧(若有则表示地址 表已满)
衡量交换性能的指标
•
•
其他的一些指标还有:
该项测试决定被测设备在错误帧和异常帧情况下的行为 (RFC2285),其结果表示设备在 此情况下是过滤错误,还是简单地按照目的地址传送帧. 使用专业的设备进行交换性能的测试(SMB6000)
• Filter Illegal Frames
•
•
• 六、一些技术点 (自协商、流控、VLAN)
一些技术点-自协商
以太网交换机基础知识
——基本架构和原理
大纲
• • • • • • • 一、以太网交换机硬件架构(P3) 二、802.3分层结构(P10) 三、交换机帧处理流程(P16) 四、SMI串行管理接口(P22) 五、衡量交换性能的指标(P28) 六、一些技术点(自协商、流控、VLAN)(P34) 七、产品开发借鉴(P54)
一、以太网交换机硬件架构
以太网交换机硬件架构
基本网络拓扑
以太网交换机硬件架构
接入层交换机
以太网交换机硬件架构
汇聚层交换机
以太网交换机硬件架构
核心层交换机
以太网交换机硬件架构
产品内部架构-单机产品
以太网交换机硬件架构
产品内部架构-机架式产品
业务卡 百兆管理 管理板1 百兆管理 管理板2 黄色的代表低速接插件,其上所走信号速率最高位SGMII,1.25G。包含其 它信号,百兆管理(100M),控制信号(主要是状态采集/输出),还有 I2C/MIIM信号等。绿色的代表高速接插件,其上目前所走的信号最高速率 为3.75G(Higi),4对信号线合成12G数据流量。从图上可知,S76的架构 为双星形拓扑,即所有的业务卡的通路均在管理板处聚合。管理板之间没 有数据通路。 控制 控制 SGMII Higi/Xaui
• •
•
•
•
802.3分层结构
• PMD • PMD子层的功能是支持在PMA子层和介质之间交换串行化的符号代 码位。PMD子层将这些电信号转换成适合在某种特定介质上传输的形 式。 • 比如10BASE-T的曼彻斯特编码,100BASE-TX的MLT-3和 1000BASE-X上的1.2G SERDES信号。
802.3分层结构
以太网接口分层
802.3分层结构
各子层功能介绍-以100BASE为例
• • • • • • PCS The 100BASE-X PCS realizes all services required by the MII, including: a) Encoding (decoding) of MII data nibbles to (from) five-bit code-groups (4B/5B); b) Generating Carrier Sense and Collision Detect indications; c) Serialization (deserialization) of code-groups for transmission (reception) on the underlying serial PMA, and d) Mapping of Transmit, Receive, Carrier Sense and Collision Detection between the MII and the underlying PMA.
交换机帧处理流程
• • • • • • • • • • Egress执行如下步骤: 1、从MMU请求帧传送; 2、若帧输出不需要带Tag则它将VLAN Tag移除; 3、如果端口是uplink端口并且HTLS模式使能,则添加HTLS包头; 4、对L3 IPMC报文进行修正; 5、将IPMC报文复制到VLAN中每个正确的端口; 6、可能的话重新计算CRC(看Tag是否有变化); 7、Egress对包的老化做处理; 8、Egress速率控制; 9、将帧传送给发送MAC;若是往CPU方向传送的帧,则CMIC Egress将把帧 通过DMA通道直接传送给CPU。
背板示意图
二、802.3分层结构
802.3分层结构
• 802.3以太网标准位于ISO/OSI 7层参考模型的第1层(物理层) 和第2层(数据链路层),全称是“带冲突检测的载波侦听多重 访问机制CSMA/CD和物理层规范”。802.3标准仅仅是由IEEE 802标准制定的第1和第2层标准之一。其他标准还包括802.4 (令牌总线)、802.5(令牌环)、802.11(无线网)、802.12 (需求优先级)等。
802.3分层结构
• • PMA The PMA provides a medium-independent means for the PCS and other bitoriented clients (e.g., repeaters) to support the use of a range of physical media. The 100BASE-X PMA performs the following functions: a) Mapping of transmit and receive code-bits between the PMA’s client and the underlying PMD; b) Generating a control signal indicating the availability of the PMD to a PCS or other client, also synchronizing with Auto-Negotiation when implemented; c) Optionally, generating indications of activity (carrier) and carrier errors from the underlying PMD; d) Optionally, sensing receive channel failures and transmitting the Far-End Fault Indication; and detecting the Far-End Fault Indication; and e) Recovery of clock from the NRZI data supplied by the PMD.