BCM帧流程精要.docVIP

  • 76
  • 0
  • 约1.22万字
  • 约 22页
  • 2016-09-10 发布于天津
  • 举报
BCM帧流程精要.doc

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、帧流程概述 二层以太网交换(L2 Switch)的基本实现原理是基于MAC地址的交换,基于MAC地址的交换实现步骤简述如下: 1、交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道具有该源MAC地址的机器是连接在哪个端口上的,这样一组对应信息将被存放在地址表(L2 Table)中; 2、随后将读取包头中的目的MAC地址,并在地址表中查找与该MAC地址对应的端口; 3、如果在地址表中查到有与这个目的MAC地址对应的端口号,则将数据包直接复制到这个端口上; 4、如果在地址表中找不到相应的MAC地址以及对应的端口号,则将数据包广播到所有端口上;当目的机器收到这个数据包以后,如果对源主机进行回应时,交换机又可以按照1中所描述的方式,又学习到这个MAC地址与端口的对应关系,在下次传送数据时就不再需要对所有端口进行广播了。 5、依此类推,对于与该交换机有直接或间接联系的所有MAC地址信息都可以实时的学习到,二层交换机就是这样建立和维护它自己的地址表的。 上面的这个过程是最简单清晰的理论型理想化诠释,为了实现这个过程,大部分的交换芯片采取下面这种结构方式来做,并且提供了更多的灵活性: 图4 Ingress+MMU+Egress Switch Model 上图示意性的表示了以太网帧在进入交换芯片以后,一个基本的物理处理流程是从“Ingress”单元到“MMU”单元再到“Egress”单元,该过程描述了以太网交换芯片对帧从进入到送出的处理流程。 下文将从“Ingress”、“MMU”、“Egress”3个阶段对帧的详细处理流程做说明。 2、Ingress处理模块 2.1 Ingress处理模块的功能 交换芯片的每个端口都有一个Ingress逻辑,它负责将端口接收的帧做如何交换或转发处理决策,并将经过其处理的已经包含有转发信息的帧送到MMU做缓存排队和调度安排。Ingress逻辑能够线速处理帧转发,它是帧流程中的核心处理模块。 图5 Ingress处理环节框图 抽象一些来讲,图5就是Ingress的处理过程了;细节一些来看,图6可以更清晰的表现这个流程: 图6 Ingress的处理流程示意图 概括起来,Ingress包含下面一些主要处理功能: 1、数据包检查、拆分; 2、VLAN处理; 3、地址学习; 4、L2交换; 5、L3路由交换; 6、快速过滤处理(FFP); 7、其他附加功能,如CPU包处理、Mirror、Trunk功能等; 下面的描述针对图6的执行流程展开。 2.2数据包检查、拆分(Parse)

文档评论(0)

1亿VIP精品文档

相关文档