数据报文处理方法以及网络设备的制造方法_2

文档序号:9767748阅读:来源:国知局
_E_CID_base 和 Ingress_E_CID_ext。Ingress E-CID 长度为20Bits,用于在下行流量中携带组播转发时的源接口信息,当报文是单播时,该字段 一般被置为0。
[0038] Priority Code Point (E-PCP)表示报文的转发优先级,和VLAN TAG中的优先级含 义相同。
[0039] Drop Eligible Indicator(E-DEI)用来标识报文是否可以丢弃。
[0040] 本申请面向的设计对象是网络设备而非802. lbr建议的物理主机,且目标主要是 降低端口密度较高的网络设备的实现成本,提升开发灵活性以及提高通用性等。请参考图 1A,在一个例子中,在网络设备10上电完成初始化之后,MB11作为整个设备的核心,其可以 收集到系统内有哪些EB12,各个EB12的各种基本信息,比如EB12有哪些接入端口,通过哪 个下行级联端口与自身相连等等。请参考表按照一个预设分配规则为每个EB12上 的接入端口分配源ECID以及目的ECID。
[0041] 在这个例子中,这个预设分配规则具体为:源ECID是奇数,而目的ECID是偶数,当 然其他分配规则同样可以使用,只要能区分出ECID是源ECID还是目的ECID即可,比如说 源ECID是3的整数倍数,而目的ECID不是3的整数倍。在一个例子中,MB为每个接入端 口分配的源ECID或目的ECID在网络设备的全局是唯一的。此时从对应关系上来看,一个 源ECID将唯一对应一个接入端口,一个目的ECID也将唯一对应一个接入端口。
[0042]
[0043] 表 1
[0044] 请参考表2的示例,在另一个例子中,MB11为EB12上的接入端口分配的源ECID以 及目的ECID在该EB上是唯一的,此时不同EB12上的两个接入端口可能使用相同的源ECID 或目的ECID。此时MB11将根据EB12标识与ECID的组合来区分端口(比如报文的入端口 或出端口等)。比如说,MB从Portl9收到一个第一报文,其携带的ECID为1 ;此时MB可以 确定该报文的入端口是P〇rt3 ;若MB从Portl8收到一个第二报文,其携带的ECID也为1 ; 此时MB可以确定该报文的入端口是Portl5。也就是说MB可以根据下行板间端口来做出准 确的区分。事实上下行板间端口对应着唯一的EB,可以理解为EB的标识。假设ECID采用 全局唯一的方式来分配的,也就是参考表1的分配方式。在ECID分配完成后。MB可以在下 发各种必要的控制规则来引导报文在内部的传递。
[0045]
[0046]
[0047] 表 2
[0048] 请同时参考图1A、图4A以及图4B,图4A给出了一个网络设备内部控制规则的一 个具体示例,这些控制规则可以采用访问控制列表ACL表项或其他类似的技术来实现,通 常设置在各个端口所属的以太网芯片上。以下描述一个单播数据报文从P〇rt3进入,最终 从Portl6离开的过程,而图4A中各个控制规则则是该例子中报文在网络设备10内部传递 的过程中被以太网芯片执行的控制规则。
[0049] 假设当前有一个来自主机的数据报文通过Port3进入。Port3分配到的源ECID是 1。根据图4A中Port3上的控制规则可以看出实际上MB针对EB1设置的控制规则内容可以 归纳为:对于接入端口进入的报文添加 ETAG,并将其中的ECID设置为端口对应的源ECID。 基于该控制规则,对于P〇rt3进入的数据报文,EB1的以太网芯片报文添加 ETAG并设置数值 为1的ECID。接下来,EB1将修改后的数据报文通过Port2与Portl9之间的级联链路发送 给MB。当然如果数据报文从Port4进来,EB1会做类似的处理,只不过ETAG中设置的ECID 数值会不同而已。
[0050] 修改后的报文会进入MB的Portl9。Portl9是MB的下行板间端口,MB针对下行 板间端口同样进行控制规则的配置。根据图4A,面向下行板间端口的控制规则的内容可以 概括为:针对进入下行板间端口的上行数据报文,将该报文携带的ECID所对应的接入端口 作为该报文的入端口。根据这个控制规则,在步骤203,MB在报文进入Portl9时,可以根据 报文中携带的数值为1的ECID确定报文的入端口为Port3,移除ETAG后将报文还原并上送 转发平面进行常规的转发处理。
[0051] 在步骤204, MB的转发平面将获得还原后的数据报文,这样的处理可以允许转发 平面的处理机制不发生改变,也就是说前续各个步骤的处理对于步骤204中进行的转发处 理而言是透明的。MB的转发平面按照预定的转发逻辑对报文进行转发处理,比如根据入端 口进行MAC地址学习,查找目的地址确定出端口等等。一般来说,转发处理可能在芯片内部 通过硬件来实现或者在CPU上通过软件来实现。在转发处理完成时,MB的转发平面会确定 出转发结果。一般来说,转发结果包括了报文的出端口。假设该报文的出端口是P〇rtl6,由 于Portl6在EB2上,因此报文需要通过Portl8与Portl7之间的板间链路送往EB2。
[0052] 在步骤201中,MB面向下行板间端口设置的控制规则还包括面向下行数据报文的 控制规则。根据图4A,针对单播数据报文来说,这个控制规则的内容可概括为:针对需要通 过下行板间端口发送的下行单播数据报文,为该报文添加 ETAG,并将ETAG中的ECID设置为 出端口对应的目的ECID。在这个例子中,假设当前处理的数据报文是单播数据报文,由于该 数据报文此时的出端口是P〇rtl6,此时MB在步骤204为该报文添加新的ETAG,该ETAG中 的ECID将置为10,也就是说Port 16对应的目的ECID,用来向EB2表明报文的出端口是EB2 上的Portl6。此时该单播数据报文再次被修改后发送给EB2。
[0053] 接下来报文将进入Port 17, Port 17是一个上行板间端口,MB针对上行板间端口设 置的控制规则可以概括为:针对进入上行板间端口的下行单播数据报文,根据其ETAG中携 带的ECID确定对应的出端口,并将ETAG移除后从该出端口发送出去。在这个例子中,报文 携带有ECID,且其数值为10,因此EB2可以应用控制规则确定其对应的出端口为Portl6,修 改报文之后即可将报文从P〇rtl6发送出去。
[0054] 以上描述的是单播数据报文从Port3进入网络设备10之后任何顺利地从对应的 出端口 Portl6发送出去的过程。当然对于从Portl6进入的反方向的报文而言,其处理过程 是类似的,不再一一详述。在上述处理过程中,对ECID的添加和移除操作使得整个过程对 于转发平面而言是透明的,而ECID的作用则可以允许报文在跨越不同EB转发过程实现上 不再过分依赖于芯片厂商提供的级联头部。因此即便EB1以及EB2上所使用的以太网芯片 来自不同的芯片厂商,依然可以实现跨板转发,这显然提高了整个网络设备开发的灵活性。 由于减少了对于级联头部的依赖,在某些例子中,可以减少级联头部的长度,因此又可以降 低板间通信的开销,提升带宽利用效率。
[0055] 从网络设备10的架构来看,其是一个分布式设计与集中式设计的混合体。首先, 转发平面的转发处理集中在MB上进行,这是集中式架构的特点,但绝大部分接入端口则分 布在各个EB上,这又是分布式架构的特点。基于这样的混合架构,MB可以配置转发能力比 较强的以太网芯片或处理器,而由于EB不需要强制支持转发功能,因此只需要使用很低成 本的以太网芯片即可实现。此时EB主要完成大量主机的接入工作,比如一个EB支持48个 端口,那网络设备10可以轻松地容纳数十个EB,对外提供出几百个接入端口,非常适用于 大中型单位中众多用户主机的接入。
[0056] 其次,由于MB和EB均位于一个机框内部,因此相对于可以提供更多接入端口的 CB-PE纵向堆叠架构而言,成本可以极大幅度降低。在CB-PE架构中,每个PE都需要有独立 的机框和电源设计,机框和电源的成本占比非常高,甚至比以太网芯片的成本高很多。当网 络设备10中插入的EB足够多时,这种成本上的优势将非常显著。
[0057] 在一些应用场景中,网络设备10可能需要进一步支持组播功能。请参考图5,对于 组播功能的实现,与之前例子中的描述类似,包括如下处理步骤:
[0058] 在步骤501,MB针对自身维护的组播组分配对应的ECID,并根据组播组与ECID的 对应关系在网络设备内部的报文传递路径上进行报文控制规则的配置;
[0059] 在步骤502,源EB通过接入端口收到来自外部的数据报文时,为该数据报文添加 ETAG,并将ETAG中的ECID置为该接入端口对应的源ECID ;将修改后的报文通过上行板间 端口发送给MB ;
[0060] 在步骤503,MB收到源EB发送的数据报文后,根据其中携带的源ECID确定该数据 报文的入端口为源ECID对应的接入端口,
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1