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

文档序号:9767748阅读:来源:国知局
根据这些信息来处理报文。比如根据优先级信息决定该报文进入哪个出口队列 等。但是这种处理方式受限于芯片厂商的私有级联头部的定义,不同芯片厂商私有级联头 部定义各不相同。假设虚拟化系统中两个成员设备采用不同芯片厂商的芯片,则无法协同 工作完成硬堆叠的技术实现,通用性较差,不同厂商之间生产的网络设备通常难以通过堆 叠技术实现堆叠系统。
[0080] 本申请基于前述例子中描述的网络设备10可以很好地实现低成本且通用性极好 的堆叠系统。请参考图7所示的堆叠系统70,其包括两个成员设备,分别是网络设备71以 及网络设备72。网络设备71以及网络设备72可以沿用前述网络设备10的基本设计。在 网络设备10的基础上只需要稍加改进即可实现成本低廉且通用性极好的堆叠系统。其中 网络设备71与网络设备72通过堆叠链路相连,两侧的堆叠端口分别为Port5以及Port6。 在实际实现的过程成中,考虑到网络设备71以及72之间的数据报文流量可能很大,堆叠端 口可以通过聚合多个普通端口来实现,以大幅度提高其带宽。
[0081] 在本申请的堆叠系统中,MB1和MB2之间可以进行选举确定出哪个网络设备是主 设备,比如MB1是主设备,则MB1负责整个堆叠系统的管理,为接入端口分配ECID,下发各种 控制规则;当然在这个管理过程中,MB2可以进行协助,通俗来说MB1指挥MB2在网络设备 72内完成分配和控制规则下发。当然在一些其他的架构中,MB1也可以不依赖于MB2的协 助。本领域普通技术人员可以根据需要参考已有技术来设计控制层面的管理机制。从转发 平面来看,针对单播数据报文的处理流程而而言,还包括以下:
[0082] 步骤207,当所述目标EB根据单播数据报文的ETAG中的ECID确定对应的出端口 不在本EB时,将携带ETAG的单播数据报文通过堆叠端口发送给堆叠系统内的其他网络设 备;
[0083] 步骤208,当所述MB从下行板间端口接收到携带ETAG的数据报文时,若ETAG中携 带的ECID为目的ECID,则通过下行板间端口将该报文发送给该目的ECID对应的接入端口 所属的EB。
[0084] 步骤209,当EB通过堆叠端口收到来自堆叠系统内部的携带ETAG的数据报文时, EB通过上行板间端口将该携带ETAG的数据报文发送给所述MB。
[0085] 从转发过程来说,以一个单播数据报文从Port3进入,并需要从Portl3离开为例 来说明网络设备参与堆叠系统时需要做的一些改进。请参考图7,报文从Port3进入一直 到报文进入EB1,上送MB1再回到EB1这一段流程并无变化。根据之前的描述可以看出,当 报文从MB1进入EB1时,报文ETAG中携带的ECID为Portl3对应的目的ECID,假设为88。 这个ECID显然不会对应到EB1上的接入端口,因为对应的端口 Portl3在EB4上。因此 MB(MB1或者MB2)下发控制规则时,可以针对EB1的上行板间端口 Port2下发特殊的控制规 贝1J,其内容可以概括为:针对板外接入端口的ECID,其对应的出端口为堆叠端口。此时针对 设置的P〇rt2的控制规则可以参考表4的示例。
[0086]
[0087] 表 7
[0088] 在表4中,对于序号为20以及21的表项,其表达的含义为:凡是目的ECID没有对 应到本EB上接入端口的,一律从堆叠端口 Port5发送出去。基于这样的控制规则,EB1的 芯片在收到报文后,会保持报文不变,从P〇rt5发送出去。从这里可以看出,EB1上配置的 控制规则允许EB1根据任意一个ECID确定出一个"出端口",这个"出端口"是EB1认为的 出端口,比如ECID为84或86时,"出端口"是Port5,但真正的出端口是Portl3。换一个 角度来说,在EB1上,Port5临时代表着这些位于其他EB上接入端口来与这些接入端口的 ECID进行对应。
[0089] 接下来报文将到达EB3的Port6,对Port6来说,无需下发特殊控制规则,因此 Port6会将报文(也就是内部收到的数据报文,无论是单播数据报文还是组播数据报文)通 过上行板间端口 P〇rt9发送出去即可。报文进入MB2的Port 10之后,在一个例子中,可以 继续按照前续步骤203 -直处理下去,报文显然可以顺利地从Portl3离开。但是这就需要 MB2再一次执行转发处理,显然前面MB1已经做过转发处理了,MB2的处理是多余的,影响到 整个堆叠系统的转发效率。因此在一个更为优选的例子中,MB可以针对下行板间端口进一 步配置控制规则,该控制规则可以概括为:当所述MB从下行板间端口接收到携带ETAG报文 时,通过下行板间端口将该报文发送给该ETAG中ECID对应的出端口所属的EB。此时的出 端口可能是真正的出端口 P〇rtl3,也可能是又一个代表着真正出端口的堆叠端口(假设堆 叠系统中还有更多网络设备)。
[0090] 请参考表5的示例,MB2的以太网芯片根据该控制将该报文从Portll发送出去, 从而避免了 MB2再次对报文进行转发处理。EB4收到该报文后按照前述处理方式进行处理, 即可将报文从P〇rtl3发送出去。
[0091]
[0092] 表 ^
[0093] 在堆叠系统中可能也需要支持组播功能。对于组播数据报文的处理,与前述实施 方式基本相同。首先与已有堆叠系统一样,堆叠端口通常是所有组播组的出端口。在本申 请中,基于以上的实现,同样需要做一些特别处理。此时上述方法还可以进一步包括:
[0094] 步骤507,当MB从上行板间端口接收到携带ETAG的组播数据报文时,根据报文 ETAG中的ECID确定对应的组播组,根据组播组索引确定出端口,若出端口为MB上的接入端 口,则移除ETAG后从该出端口发送出去,若出端口为下行板间端口,则将携带ETAG的报文 从下行板间端口发送出去;
[0095] 步骤508,当目标EB根据组播数据报文ETAG中的ECID确定对应组播组,根据组 播组确定对应的出端口后,若出端口为堆叠端口,则将携带ETAG报文通过堆叠端口发送出 去。
[0096] 从EB的角度来看,在前述单个设备的处理过程中,EB需要移除ETAG后从出端口 将组播报文发送出去的。但是当出端口是堆叠端口的时候,由于堆叠口是其他真正出端口 的代表,因此ETAG还不能移除。此时在各个EB的上行板间端口上设置特殊的控制规则来 控制下行组播数据报文的发送。该特殊控制规则的内容可以概括为:当组播组出端口为堆 叠端口时,将携带ETAG报文通过堆叠端口发送出去。
[0097] 对端堆叠端口(比如图7中的Port6)收到之后的处理与前述处理方式相同,堆叠 口进入的报文不会添加新的ETAG(因为报文肯定有ETAG),接下来可以通过EB3的上行板间 端口透传给MB2。而MB2的下行板间端口 Port 10上可以额外针对下行板间端口设置控制规 贝丨J :当MB从上行板间端口接收到携带ETAG的组播数据报文时,根据报文ETAG中的ECID确 定对应的组播组,根据组播组索引确定出端口,若出端口为MB上的接入端口,则移除ETAG 后从该出端口发送出去,若出端口为下行板间端口,则将携带ETAG的报文从下行板间端口 发送出去。这个控制规则的目标是避免组播数据报文再次上送到MB转发平面再处理。
[0098] MB2下行板间端口 PortlO所属以太网芯片上也会被MB下发组播表,这个机制与 MB下发组播端口列表给EB的形式一样,只不过组播组索引会有差异。
[0099] 值得注意的是,这时候下发的组播组出端口列表中通常MB自身的端口,并不一定 是全局意义的真正出端口。因此,若出端口为MB本地的接入端口(真正的出端口),则移除 ETAG后发送出去,若出端口为下行板间端口(代表着其他真正的出端口),则将携带ETAG 的报文通过该下行板间端口发送给对应的EB,而EB收到之后可以按照前述方式进行处理, 如此循环下去,直到组播数据报文从每个真正的出端口都发送一份出去。至此,组播数据报 文的处理就完成了。从以上描述可以看出,本申请的网络设备组成的堆叠系统,不仅仅可以 实现硬堆叠在处理效率的优势,而且其成本更低,并且通用性非常好,支持不同芯片厂商的 以太网芯片在一起工作,减少了对级联头部这种私有协议的依赖。以上所述仅为本申请的 较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、 等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种数据报文处理方法,应用于网络设备上,其中该网络设备包括主控板MB以及端 口扩展板EB,所述MB通过下行板间端口与EB的上行板间端口相连,其特征在于,该方法包 括: 针对EB上的接入端口,MB为该接入端口分配对应的源扩展通道标识ECID以及目的 ECID,根据接入端口与ECID的对应关系在网络设备内部的报文传递路径上进行报文控制 规则的配置; 当EB通过接入端口收到来在外部的数据报文时,为该数据报文添加扩展标签ET
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1