一种报文处理方法和装置与流程

文档序号:12278511阅读:501来源:国知局
一种报文处理方法和装置与流程
本申请涉及通信
技术领域
,特别是涉及一种基于报文处理方法和装置。
背景技术
:802.1BR是在数据中心接入层面的一种应用级协议。作为IEEE(电气和电子工程师协会,InstituteofElectricalandElectronicsEngineers)制定的标准,802.1BR定义了扩展桥的操作、交互协议、管理对象和算法,可以为服务器提供桥的多端口扩展能力、或是为虚拟机提供独立的桥接口实现逻辑连接。基于802.1BR的扩展网桥(ExtendedBridge)(由CB(控制桥,ControllingBridge)设备和PE(端口扩展,PortExtender)设备构成。图1所示为802.1br协议规定的ETAG的格式。PE设备通过级联端口发送的上行报文中,8个比特(bit)的ECID-BASE携带的ECID用于标识上行报文的源端口。CB通过级联端口发送的下行报文中,12个比特(bit)的ECID-BASE字段携带的ECID用于标识目的端口,2个bit的GPR字段用于标识下行报文是非单播报文,即组播报文或广播报文。然而,实际应用中,一些交换机的报文缓存芯片通过级联端口发送下行非单播报文,只能将图1中2个bit的GRP字段设置为1。目前,CB设备和PE设备之间可以通过单播、组播或者广播方式进行通信。其中,对于组播报文或者广播报文而言,其目标端口不是唯一的,而是一个二层端口组,这个二层端口组在PE设备上对应一个组播ECID,因此下行的组播报文或者广播报文就需要在报文的ETAG字段中携带对应的组播ECID。802.1BR协议规定,组播ECID总共有12K个。具体地,ETAG字段的GRP信息由两个Bit组成,GRP=0表示单播ECID,共有4K个;GRP=1,2或3表示组播ECID,共有12K个;这样,ECID的范围是[0,16K),其中前4K[0,4k)为单播ECID的范围;后12k[4k,16k)为组播ECID的范围。然而,在实际应用中,一些交换机的报文缓存芯片在支持组播ECID时却存在缺陷。其针对组播报文或广播报文都将GRP设置为1,也即其仅仅能够支持4K个的组播ECID,而该4K远远达不到802.1BR协议规定的12K,因此,现有的报文缓存芯片大大限制了网络系统的组网能力。技术实现要素:本申请实施例提供一种报文处理方法和装置,可以支持更多数量的识别点到多点E-CHANNEL的非单播报文的ECID,进而能够大大提升网络系统的组网能力。为了解决上述问题,本申请实施例公开了一种应用于扩展网桥系统的控制桥CB设备的报文处理方法和装置,其中,该方法包括:获取通过级联端口发送的下行非单播报文关联的组标识;当确定组标识对应于属于第一预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第一预设值;当确定组标识对应于属于第二预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第二预设值;当确定组标识对应于属于第三预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第三预设值;其中,第一预设范围、第二预设范围以及第三预设范围均包含212个ECID值。一种报文处理装置,应用于扩展网桥系统的控制桥CB设备,其特征在于,装置包括:获取单元,获取通过级联端口发送的下行非单播报文关联的组标识;设置单元,确定组标识对应于属于第一预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第一预设值;确定组标识对应于属于第二预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第二预设值;确定组标识对应于属于第三预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第三预设值;其中,第一预设范围、第二预设范围以及第三预设范围均包含212个ECID值。本申请实施例包括以下优点,能够将下行非单播报文中的2个比特GRP字段设置为三个非0的数值,即1、2、3;这样,相对于现有数据中心交换机的报文缓存芯片针对组播报文或广播报文都将GRP设置为1,扩展了可将用于标识点到多点E-CHANNEL的ECID,因此能够大大提升网络系统的组网能力。附图说明图1示出了一种802.1br协议规定的ETAG的格式示意;图2示出了本申请其中一个实施例的一种报文处理方法的步骤流程图;图3示出了本申请其中一个实施例的一种报文处理装置的结构框图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。参照图2,示出了本申请其中一个实施例的一种报文处理方法的步骤流程图,该方法可应用于扩展网桥系统的控制桥CB设备,具体可以包括如下步骤:步骤201、获取通过级联端口发送的下行非单播报文关联的组标识。步骤202、当确定组标识对应于属于第一预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第一预设值;当确定组标识对应于属于第二预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第二预设值;当确定组标识对应于属于第三预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第三预设值。第一预设范围、第二预设范围以及第三预设范围均可包含212个ECID值。在实际应用中,该CB设备具体可以包括:主控板和单板,其中,主控板可实现管理控制和主要的协议处理功能,该单板具体包括:接口板、业务板等,接口板可实现数据报文的转发功能。可选地,上述接口板的数目可以为多个,通过接口板的分布式处理,能够大大提升CB设备的处理能力和转发能力。可选地,主控板与接口板之间可以通过例如串口、网口的通信方式进行通信,各接口板之间直接通过交换网进行连接,从而实现端口间无阻塞的交换。在本申请的一种可选实施例中,在上述获取通过级联端口发送的下行非单播报文关联的组标识之前,所述方法还可以包括:为下行非单播报文分配组标识;为组标识分配对应的ECID;将分配所述组标识和所述ECID同步到其他控制桥。可选地,当按照组播协议在主控板设置组播组时,可以为下行非单播报文分配全局唯一的组标识McID,并为组播组对应每一个PE设备的出端口分配相应的ECID。本申请实施例在分配ECID的过程中,可以按照预置规则,根据组标识的不同,确定对应ECID的所属范围,以使广播报文和组播报文的组标识对应不同的ECID范围,和/或,以使具有不同为组播报文分配的组标识的最后一个比特(后1位)的组播报文的组标识对应不同的ECID范围。可以理解,本领域技术人员可以根据实际应用需求,采用所需的预置规则。可选地,ECID范围可以包括:第一预设范围、第二预设范围和第三预设范围。则在非单播报文为组播报文且为组播报文分配的组标识的最后一个比特为0时,从所述第一预设范围为所述组标识分配对应的ECID。或者,在所述非单播报文为组播报文且为所述组播报文分配的组标识的最后一个比特为1时,从所述第二预设范围为所述组标识分配对应的ECID。或者,在所述非单播报文为广播报文时,从所述第三预设范围为所述组标识分配对应的ECID。在本申请的一种应用示例中,假设组播组的组标识所属的数值范围在[0,12k)内,则上述广播报文的组标识范围可以为[0,4k),组播报文的组标识范围可以为[4K,12k)。其中,广播报文的组标识范围的长度为4k;可选地,若广播报文的组标识范围对应的第三预设范围为[12k,16k),由于该第三预设范围对应二进制位的前2位为11,故可以确定其对应的GRP为3。同理,组播报文的组标识范围的长度为8k,则为组播报文分配的组标识的最后一个比特(也即后1位)可以作为组播报文的组标识范围内组标识的区分依据,由此可以为不同的组标识确定不同的ECID范围:第一预设范围和第二预设范围。可选地,当为组播报文分配的组标识的最后一个比特为0时,若组播报文对应的第一预设范围为[4K,8k),由于该第一预设范围对应二进制位的前2位为01,故可以确定其对应的GRP为1。可选地,当为组播报文分配的组标识的最后一个比特为1时,若组播报文对应的第二预设范围为[8K,12k),由于该第二预设范围对应二进制位的前2位为10,故可以确定其对应的GRP为2。参照表1,示出了本申请的一种组标识与ECID范围之间的映射关系的示意,其中,可以依据为组播报文且为组播报文分配的组标识的最后一个比特,确定3种不同的ECID范围,这样,可以依据该3种ECID范围确定对应的GRP,例如,[4K,8k)、[8K,12k)、[12k,16k)对应的GRP分别为1、2、3等。表1上述将分配所述组标识和所述ECID同步到其他控制桥,能够保证使各控制桥得到一致的ECID。可选地,还可以将ECID在CB设备与PE设备之间同步,以保证网络系统中的设备得到一致的ECID,从而保证组播的正常处理。在本申请的一种可选实施例中,在CB设备中主控板建立组标识与ECID之间的映射关系后,可以向CB设备中不同于所述主控板的单板发送所述组标识与ECID之间的映射关系。可选地,可以将McID以及为PE出端口分配的ECID填写在DriverContext结构中,并将该DriverContext结构携带到各接口板一起下发,在下发时从该DriverContext结构中直接取主控板分配的McID和ECID即可,如此可以保障分配的McID和ECID的全局一致性。在本申请的另一种可选实施例中,可以向PE设备发送所述组标识对应的ECID的步骤,具体可以包括:通过PE-CSP协议,向PE设备发送所述组标识对应的ECID。主控板上分配的ECID可以通过PE-CSP协而且可以完成PE设备上的二层组播复制。在实际应用中,所分配的每个ECID对应一个组播组在一个PE设备上同Vlan的二层出端口,通过PE-CSP协议向PE设备发送这些ECID,PE设备就可以据此创建ECID并维护其对应的二层端口组。需要说明的是,在后续依据组播需求添加和删除PE设备的出端口时,也需要通过PE-CSP协议一些将ECID的变化通知到PE设备上,已完成对应二层端口的维护修改。本申请实施例的报文处理方法可以应用于数据中心交换机的报文缓存芯片。在实际应用中,可以对现有的报文缓存芯片的微码进行修改,以使修改后的微码按照本申请实施例的逻辑进行组播处理,进而提升现有的报文缓存芯片对于ECID的支持能力。或者,可以按照本申请实施例的逻辑编写新的报文缓存芯片的微码,以提升新的报文缓存芯片对于ECID的支持能力,可以理解,本申请实施例对于具体的应用场景不加以限制。在本申请的一种可选实施例中,可以通过在报文的入方向上,在组播报文或者广播报文的报文头中携带组标识也即McID,以获取通过级联端口发送的下行非单播报文关联的组标识。该McID可以与报文的目标端口(也即报文将要到达的二层端口)所属组播组相应,此处McID的携带可通过报文缓存芯片的微码实现。在报文头携带组标识的基础上,本申请实施例可以在CB设备与PE设备互连的级联端口出方向上,通过微码实现组播报文或者广播报文的ETAG字段中的GRP的正确设置。可选地,若应用于现有的报文缓存芯片,则需要对现有的报文缓存芯片的微码进行修改,例如,按照现有的报文缓存芯片的微码的处理逻辑,将所有组播报文或者广播报文的GRP都设置为1,而按照本申请实施例的处理逻辑,可以通过微码对组播报文或者广播报文的GRP进行修改,将其设置所确定的目标GRP。在本申请的一种可选实施例中,具体可以包括:首先确定组标识对应的目标ECID范围;然后依据所述目标ECID范围,确定报文的目标GRP。其中,可以通过查找得到的组标识与ECID范围之间的映射关系(例如表1所示的映射关系),得到目标ECID范围。进一步,在目标ECID范围的前2位分别为01、10或者11时,故可以确定其对应的GRP=1、2或者3。参照表2,分别示出了本申请的一种ECID范围与GRP之间的映射关系的示例。表2ECID范围GRP[4K,8k)ECID范围的前2位相应的第一预设值[8K,12k)ECID范围的前2位相应的第二预设值[12k,16k)ECID范围的前2位相应的第三预设值综上所述,本申请实施例的报文处理方法,能够将下行非单播报文中的2个比特GRP字段设置为三个非0的数值,即1、2、3;这样,相对于现有数据中心交换机的报文缓存芯片针对组播报文或广播报文都将GRP设置为1,扩展了可将用于标识点到多点E-CHANNEL的ECID,因此能够大大提升网络系统的组网能力。现有报文缓存芯片的缺陷在于,将所有组播报文或者广播报文的GRP都设置为1,而本申请实施例可以在CB设备与PE设备互连的级联端口出方向上使用微码对报文的ETAG字段的GRP进行修改,具体修改如下:在报文的入方向上,在组播报文或者广播报文的报文头中携带组标识McID,在报文的出方向上通过微码对McID进行判断:若McID<4k,则修改报文ETAG中的GRP=3;当McID>4k时,若McID的最后一个Bit=0,则修改报文ETAG中的GRP=1;当McID>4k时,若McID的最后一个Bit=1,则修改报文ETAG中的GRP=2;这样就可以规避现有芯片的缺陷,使ECID可以达到12K的规格,也即可以提高网络系统的组网能力。需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。参照图3,示出了本申请其中一个实施例的一种报文处理装置的结构框图,具体可以包括:获取单元301,获取通过级联端口发送的下行非单播报文关联的组标识;设置单元302,确定组标识对应于属于第一预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第一预设值;确定组标识对应于属于第二预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第二预设值;确定组标识对应于属于第三预设范围的ECID值,将下行非单播报文的扩展虚拟局域网标签ETAG中二个比特的GRP字段设置为非零的第三预设值;其中,第一预设范围、第二预设范围以及第三预设范围均包含212个ECID值。可选地,上述报文处理装置还可以包括:分配单元303,为下行非单播报文分配组标识;为组标识分配对应的ECID;同步单元304,将分配得到的组标识和ECID同步到其他控制桥。可选地,分配单元303,可以为是组播报文的非单播报文分配最后一个比特为0的组标识且从第一预设范围为组标识分配对应的ECID;或者,可以为是组播报文的非单播报文分配最后一个比特为1的组标识且从第二预设范围为组标识分配对应的ECID;或者,可以为是广播报文的非单播报文分配的组标识且从第三预设范围为组标识分配对应的ECID。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。以上对本申请所提供的一种报文处理方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1