报文的处理方法、装置及计算机可读存储介质与流程

文档序号:16245943发布日期:2018-12-11 23:35阅读:155来源:国知局
报文的处理方法、装置及计算机可读存储介质与流程

本发明涉及网络通讯技术领域,尤其涉及报文的处理方法、装置及计算机可读存储介质。

背景技术

在报文的处理与转发中,传统交换机芯片主要由输入端口、流分类、查找模块、报文处理、输出端口等几大核心模块组成。查找模块为芯片最核心的部分,分为二层查找、三层查找、acl查找(访问控制列表查找)等常见类型查找。其中,acl查找采用tcam方案,可以实现任意bit位的匹配查找与openflow(开放流)协议中的查找功能极为相似。

因此,现有技术中各大传统交换机厂家都采用传统芯片推出了自己支持openflow的sdn交换机。其实现原理无一例外都采用了传统芯片的acl查找来代替openflow的流表要求。

由于acl查找采用的tcam结构复杂、价格高昂,所以acl查找中的表项数量较少,常见的只有2~8k,现有的传统芯片支持openflow之后,能够支持的openflow流表只有几千条。常规来说,一个用户随便访问一个网站,就需要十几条甚至数十条流,几千条流表只能支持数十个用户。因此,现有技术中采用传统芯片支持openflow的sdn交换机,提供的表项较少,对使用交换机的用户存在人数限制,无法用于人数较多的办公场所,适用范围比较小。



技术实现要素:

本发明的主要目的在于提供一种报文的处理方法、装置及计算机可读存储介质,旨在解决提供的表项较少,对使用交换机的用户存在人数限制,无法用于人数较多的办公场所,适用范围比较小的技术问题。

为实现上述目的,本发明提供一种报文的处理方法,所述报文的处理方法包括以下步骤:

控制器接收到交换机发送的报文时,解析所述报文的处理字段;

确定所述处理字段的字段类型;

将所述处理字段配置到所述交换机中所述字段类型对应的查找规则,其中,所述查找规则包括二层查找、三层查找和访问控制列表查找。

优选地,所述将所述处理字段配置到所述交换机中所述字段类型对应的查找规则的步骤包括:

当所述处理字段为多个时,获取各个所述处理字段对应的字段类型;

根据所述字段类型获取所述处理字段对应的查找规则;

将各个所述处理字段分别配置对应的查找规则;

将配置好所述查找规则的所述处理字段发送至所述交换机,以供所述交换机接收到所述处理字段后,按照所述查找规则的查找优先级依次查找所述处理字段,并根据查找结果处理所述报文。

优选地,所述将各个所述处理字段分别配置对应的查找规则的步骤之后,还包括:

分别获取所述处理字段配置的查找规则以及所述处理字段的特征值;

获取各个所述特征值在对应的所述查找规则中的处理操作;

根据所述查找规则的优先级,在所述处理操作中添加预处理操作,其中,所述预设处理操作包括添加环回标识和去除环回标识中的一个,所述交换机识别到具有所述环回标识的报文时,将所述报文发送至报文处理入口。

优选地,所述根据所述查找规则的优先级,在所述处理操作中添加预处理操作的步骤包括:

获取所述处理字段配置的查找规则的查找优先级;

当所述查找优先级为所述处理字段配置的查找规则中的最大优先级时,在所述处理操作中添加所述添加环回标识的处理操作;

当所述查找优先级为所述处理字段配置的查找规则中的最小优先级时,在所述处理操作中添加所述去除环回标识的处理操作。

优选地,所述查找优先级中所述二层查找、所述三层查找和所述访问控制列表查找的优先级依次降低。

优选地,所述报文由所述交换机转发至所述控制器。

此外,为实现上述目的,本发明还提供一种报文的处理装置,其特征在于,所述报文的处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的报文的处理程序,所述报文的处理程序被所述处理器执行时实现如上所述的报文的处理方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有报文的处理程序,所述报文的处理程序被处理器执行时实现如上所述的报文的处理方法的步骤。

本发明实施例提出的一种报文的处理方法、装置及计算机可读存储介质,在交换机连接的控制器接收到交换机发送的报文时,将报文进行解析,并将解析出的处理字段确定字段类型。根据字段类型将处理字段配置到交换机中字段类型对应的查找规则,不同字段类型对应不同的查找规则,从而使得传统交换机中的各个查找规则的查找模块均被利用起来。其中查找规则包括二层查找、三层查找和acl查找等。二层查找的表项有数百k,三层查找的表项有数十k,acl查找的表项有数k。因此,本发明中报文的处理方法可以将表项数量巨大的二层查找和三层查找利用起来,相对现有技术中满足openflow协议的传统交换机中,对接收到的报文不做分类,统统采用acl查找的报文处理方法,本发明中将交换机能够支持的流表数量扩展了数百倍,交换机适用的使用人数得到大量增加,使得采用传统芯片支持openflow的交换机的使用范围更加广泛。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明报文的处理方法第一实施例的流程示意图;

图3为本发明报文的处理方法第二实施例中将所述处理字段配置到所述交换机中所述字段类型对应的查找规则的步骤的细化流程示意图;

图4为本发明报文的处理方法第三实施例中将所述处理字段配置到所述交换机中所述字段类型对应的查找规则的步骤的另一细化流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:

控制器接收到交换机发送的报文时,解析所述报文的处理字段;

确定所述处理字段的字段类型;

将所述处理字段配置到所述交换机中所述字段类型对应的查找规则,其中,所述查找规则包括二层查找、三层查找和访问控制列表查找。

由于现有技术中采用传统芯片支持openflow的sdn交换机,提供的表项较少,对使用交换机的用户存在人数限制,无法用于人数较多的办公场所,适用范围比较小。

本发明提供一种解决方案,在交换机连接的控制器接收到交换机发送的报文时,将报文进行解析,并将解析出的处理字段确定字段类型。根据字段类型将处理字段配置到交换机中字段类型对应的查找规则,不同字段类型对应不同的查找规则,从而使得传统交换机中的各个查找规则的查找模块均被利用起来。其中查找规则包括二层查找、三层查找和acl查找等。二层查找的表项有数百k,三层查找的表项有数十k,acl查找的表项有数k。因此,本发明中报文的处理方法可以将表项数量巨大的二层查找和三层查找利用起来,相对现有技术中满足openflow协议的传统交换机中,对接收到的报文不做分类,统统采用acl查找的报文处理方法,本发明中将交换机能够支持的流表数量扩展了数百倍,交换机适用的使用人数得到大量增加,使得采用传统芯片支持openflow的交换机的使用范围更加广泛。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端可以是服务器,也可以是虚拟机等具有控制器作用的终端设备。

如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,存储器1003,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1003可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1003可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1003中可以包括操作系统、网络通信模块以及报文的处理程序。

在图1所示的终端中,网络接口1004主要用于连接交换机,与交换机间进行数据通信;而处理器1001可以用于调用存储器1003中存储的报文的处理程序,并执行以下操作:

控制器接收到交换机发送的报文时,解析所述报文的处理字段;

确定所述处理字段的字段类型;

将所述处理字段配置到所述交换机中所述字段类型对应的查找规则,其中,所述查找规则包括二层查找、三层查找和访问控制列表查找。

进一步地,处理器1001可以调用存储器1005中存储的报文的处理程序,还执行以下操作:

当所述处理字段为多个时,获取各个所述处理字段对应的字段类型;

根据所述字段类型获取所述处理字段对应的查找规则;

将各个所述处理字段分别配置对应的查找规则;

将配置好所述查找规则的所述处理字段发送至所述交换机,以供所述交换机接收到所述处理字段后,按照所述查找规则的查找优先级依次查找所述处理字段,并根据查找结果处理所述报文。

进一步地,处理器1001可以调用存储器1005中存储的报文的处理程序,还执行以下操作:

分别获取所述处理字段配置的查找规则以及所述处理字段的特征值;

获取各个所述特征值在对应的所述查找规则中的处理操作;

根据所述查找规则的优先级,在所述处理操作中添加预处理操作,其中,所述预设处理操作包括添加环回标识和去除环回标识中的一个,所述交换机识别到具有所述环回标识的报文时,将所述报文发送至报文处理入口。

进一步地,处理器1001可以调用存储器1005中存储的报文的处理程序,还执行以下操作:

获取所述处理字段配置的查找规则的查找优先级;

当所述查找优先级为所述处理字段配置的查找规则中的最大优先级时,在所述处理操作中添加所述添加环回标识的处理操作;

当所述查找优先级为所述处理字段配置的查找规则中的最小优先级时,在所述处理操作中添加所述去除环回标识的处理操作。

进一步地,处理器1001可以调用存储器1005中存储的报文的处理程序,还执行以下操作:

所述查找优先级中所述二层查找、所述三层查找和所述访问控制列表查找的优先级依次降低。

进一步地,处理器1001可以调用存储器1005中存储的报文的处理程序,还执行以下操作:

所述报文由所述交换机转发至所述控制器。

参照图2,本发明报文的处理方法第一实施例,所述报文的处理方法包括:

步骤s10,控制器接收到交换机发送的报文时,解析所述报文的处理字段。

步骤s20,确定所述处理字段的字段类型。

本发明提供的报文处理方法,应用于sdn(软件定义网络softwaredefinednetwork)领域,尤其是采用传统网络交换芯片应用于sdn的场景。在采用传统网络芯片的交换机为符合openflow(开放流)协议时,增加sdn控制器,控制器与交换机之间采用专用物理通道连接。其中,交换机可以是物理交换机或虚拟交换机,本发明中特指物理交换机。一个控制器可以连接多个交换机,多个交换机之间采用网线或光纤等物理通道连接。当交换机接收到计算机传输的报文(数据流)时,交换机根据报文信息中的目标地址将报文从特定端口发送出去。其中,目标地址为该交换机连接的其他计算机或者是与该交换机连接的其他交换机下的计算机设备。

当控制器接收到交换机发送的报文时,为获取该报文的处理方式以及发送的目的地,对接收到的报文进行处理与转发,进而解析报文,获取报文的处理字段,并确定处理字段的字段类型。常见的字段类型有目的mac地址、目的ip地址、源ip地址、源mac地址等。

此外,控制器接收到的报文为交换机转发至所述控制器,其中,控制器配置交换机的报文转发,在交换机的输入端口接收到报文时,自动将报文转发至控制器。

步骤s30,将所述处理字段配置到所述交换机中所述字段类型对应的查找规则,其中,所述查找规则包括二层查找、三层查找和访问控制列表查找。

根据上述处理字段的类型,获取所述报文的处理字段对应的查找规则,并将该处理字段配置到交换机中对应的查找规则中。传统交换机中的查找规则包括,二层查找、三层查找和访问控制列表查找(acl查找)等。交换机接收到配置好的报文,根据报文配置的查找规则,对报文进行处理与转发。例如,当报文解析出的处理字段为目的mac地址等于2,则该处理字段的字段类型为目的mac地址,目的mac地址对应的查找规则为二层查找,故,将报文配置至交换机中的二层查找中。在二层查找中查找mac地址等于2匹配的处理操作,采用该处理操作处理所述报文,从报文携带的端口信息中获取端口号,从该端口号的端口将处理后的报文发送出去。

应当指出,传统交换机中的查找规则并不仅限于二层查找、三层查找和acl查找,还可能具有其他查找规则,例如多协议标签交换(mpls)规则。本发明对处理字段的配置依据为实际情况下交换机中存在的所有查找规则,并局限于本实施例中指出的二层查找、三层查找和acl查找。换言之,当交换机中存在多种查找规则时,将报文分解出的处理字段配置至二层查找、三层查找和acl查找以外的其他查找规则也归于本发明的保护范围。

在数据的传输过程中,通常生成的报文中携带目的mac地址或目的ip地址来,解析报文中的mac地址或目的ip地址,将数据传输至所述mac地址或目的ip地址对应的终端。而查找mac地址以及目的ip地址采用交换机的二层查找和三层查找即可,无需使用功能强大的acl查找。

此外,二层查找的表项有数百k,三层查找的表项有数十k,acl查找的表项有数k。因此,本发明中报文的处理方法可以将表项数量巨大的二层查找和三层查找利用起来,相对现有技术中满足openflow协议的传统交换机中,对接收到的报文不做分类,统统采用acl查找的报文处理方法,本发明中将交换机能够支持的流表数量扩展了数百倍,交换机适用的使用人数得到大量增加,使得采用传统芯片支持openflow的交换机的使用范围更加广泛。

在本实施例中,在交换机连接的控制器接收到交换机发送的报文时,将报文进行解析,并将解析出的处理字段确定字段类型。根据字段类型将处理字段配置到交换机中字段类型对应的查找规则,不同字段类型对应不同的查找规则,从而使得传统交换机中的各个查找规则的查找模块均被利用起来。其中查找规则包括二层查找、三层查找和acl查找等。二层查找的表项有数百k,三层查找的表项有数十k,acl查找的表项有数k。因此,本发明中报文的处理方法可以将表项数量巨大的二层查找和三层查找利用起来,相对现有技术中满足openflow协议的传统交换机中,对接收到的报文不做分类,统统采用acl查找的报文处理方法,本发明中将交换机能够支持的流表数量扩展了数百倍,交换机适用的使用人数得到大量增加使得采用传统芯片支持openflow的交换机的使用范围更加广泛。

进一步的,参照图3,本发明报文的处理方法第二实施例,基于上述第一实施例,所述步骤s30包括:

步骤s31,当所述处理字段为多个时,获取各个所述处理字段对应的字段类型。

步骤s32,根据所述字段类型获取所述处理字段对应的查找规则。

步骤s33,将各个所述处理字段分别配置对应的查找规则。

在数据的传输中,会出现同时携带目的mac地址、目的ip地址等多个地址的报文,此时,数据传输的目标终端为同时满足这多个地址。此种情况下,报文的解析后,得到多种字段类型的处理字段。例如,数据报文中目的mac地址为2,目的ip地址为3,端口为6,则该数据报文与交换机中流表表项中目的mac地址为2匹配处理,同时与目的ip地址为3匹配处理后,从端口6发送出去。

在本实施例中,对于在携带多种地址的报文的处理为,在解析出多个处理字段时,识别每个处理字段的字段类型。根据字段类型确定处理字段对应的查找规则,再将处理字段配置对应的查找规则。例如,接收到的报文中含有处理字段1(目的mac地址为2,字段类型为目的mac地址,查找规则为二层查找)和处理字段2(目的ip地址为3,字段类型为目的ip地址,查找规则为三层查找),则将处理字段1配置二层查找规则,处理字段2配置三层查找规则。

步骤s34,将配置好所述查找规则的所述处理字段发送至所述交换机,以供所述交换机接收到所述处理字段后,按照所述查找规则的查找优先级依次查找所述处理字段,并根据查找结果处理所述报文。

控制器预先为交换机配置查找规则的查找优先级,当交换机接收到配置有查找规则的处理字段后,按照查找优先级对处理字段进行查找与报文处理。则,在依次将解析出的所有处理字段配置好对应的查找规则之后,将所有处理字段发送至交换机,以使得交换机接收到处理字段按照处理字段对应的查找规则依次查找处理字段,并且根据查找结果处理报文。

通过将处理字段分解为多种类型的处理字段,再分配至多种查找规则进行处理字段的查找和报文的处理,采用较为简单的查找规则组合实现较为复杂的处理字段的查找,减少对复杂查找规则的表项占用,对于简单查找规则组合也无法实现查找的那类报文的处理,再使用表项较少的复杂查找规则,合理配置查找规则,避免交换机的使用空间的浪费,提高交换机的服务质量。

其中,交换机根据配置的查找规则对处理字段进行查找时,获取处理字段的特征值,在查找规则中查找与该特征值匹配的查找地址,进而获取该查找地址对应的处理操作,按照该处理操作处理所述报文。此外,若在配置的查找规则下没有该特征值匹配的查找地址时,通常直接丢弃报文,不做进一步的处理。

此外,根据查找复杂程度递增以及表项数量递减的规则,将交换机中的查找优先级配置为二层查找、三层查找和访问控制列表查找的优先级依次降低。若报文中具有配置为二层查找的处理字段和三层查找的处理字段时,优先查找配置为二层查找的处理字段,匹配后对报文进行相应处理之后,再进行三层查找,匹配后对报文进行相应处理,最后,将处理完的报文由相应的输出端口发送出去。

在本实施例中,在解析出多个处理字段时,识别每个处理字段的字段类型。根据字段类型确定处理字段对应的查找规则,再将处理字段配置对应的查找规则。控制器预先为交换机配置查找规则的查找优先级,当交换机接收到配置有查找规则的处理字段后,按照查找优先级对处理字段进行查找与报文处理。则,在依次将解析出的所有处理字段配置好对应的查找规则之后,将所有处理字段发送至交换机,以使得交换机接收到处理字段按照处理字段对应的查找规则依次查找处理字段,并且根据查找结果处理报文。通过将处理字段分解为多种类型的处理字段,再分配至多种查找规则进行处理字段的查找和报文的处理,采用较为简单的查找规则组合实现较为复杂的处理字段的查找,减少对复杂查找规则的表项占用,合理配置查找规则,避免交换机的使用空间的浪费,提高交换机的服务质量。

进一步的,参照图4,本发明报文的处理方法第三实施例,基于上述第一或第二实施例,所述步骤s33之后,还包括:

步骤s35,分别获取所述处理字段配置的查找规则以及所述处理字段的特征值。

步骤s36,获取各个所述特征值在对应的所述查找规则中的处理操作。

步骤s37,根据所述查找规则的优先级,在所述处理操作中添加预处理操作,其中,所述预设处理操作包括添加环回标识和去除环回标识中的一个,所述交换机识别到具有所述环回标识的报文时,将所述报文发送至所述交换机的报文处理入口。

在本实施例中,控制器配置交换机的环回功能,当交换机配置有环回功能后,交换机的报文处理模块检测到环回标识的报文时,将所述报文返回至交换机的报文处理入口,再次将所述报文进行一下查找规则的匹配查找。为能够更好地实现对配置不同查找规则的处理字段依次进行查找与报文处理,根据上一个处理字段的查找结果处理报文时,在所述报文中添加回环标识,以使该报文返回至报文处理入口,进行下一个处理字段的查找。在最后一个处理字段查找之后将所述报文中的回环标识去除,结束报文的回环,使得报文从输出端口输出。

具体实现方式为,在将处理字段分别配置对应的查找规则之后,分别获取各处理字段的查找规则以及处理字段的特征值。在查找规则中找到该特征值对应的处理操作,按照该查找规则的优先级在处理操作中添加预设处理操作。预设处理操作包括添加回环标识和去除回环标识。其中,回环标识可以是在报文中添加回环比特等标识的添加方式添加,以及采用对应的去除方式去除。

例如,接收到的报文中含有处理字段1(目的mac地址为2,字段类型为目的mac地址,查找规则为二层查找)、处理字段2(目的ip地址为3,字段类型为目的ip地址,查找规则为三层查找)和处理字段3(源mac地址为4,字段类型为源mac地址,查找规则为acl查找),输出端口为6。则将二层查找中目的mac地址为2的处理操作中增加“添加回环标识”的处理操作,在匹配完二层查找的处理字段1之后,将报文添加回环标识,从而使得报文回环,进行三层查找。在目的ip地址为3的处理操作中增加“添加回环标识”的处理操作,使得报文在进行三层查找对应的操作处理后,环回,进行acl查找,最终完成acl查找后,将回环标识去除,结束报文的回环,并将报文从输出端口6输出。

其中,添加的预设处理操作为添加回环标识还是去除回环标识的判断方法为,根据所述查找规则的优先级,在所述处理操作中添加预处理操作时,获取所述处理字段配置的查找规则的查找优先级,当所述查找优先级为所述处理字段配置的查找规则中的最大优先级时,说明在此处理字段后还存在处理字段,则在所述该处理字段对应的处理操作中添加的预设处理操作为添加环回标识,以使得报文回环后进行下一个处理字段的查找;当所述查找优先级是所述处理字段配置的查找规则中的最小优先级时,说明此处理字段为最后一个需要查找的处理字段,则在该特征值的处理操作中添加去除环回标识的处理操作,结束报文的回环,从而将报文从输出端口输出。容易理解的是,对于查找优先级为中间的处理字段,在根据查找结果将报文处理时,无需对报文进行回环标识的添加即可实现报文的回环。

在本实施例中,在将处理字段分别配置对应的查找规则之后,分别获取各处理字段的查找规则以及处理字段的特征值。在查找规则中找到该特征值对应的处理操作,按照该查找规则的优先级在处理操作中添加预设处理操作。预设处理操作包括添加回环标识和去除回环标识。使得在根据处理字段的查找结果处理报文时,在所述报文中添加回环标识,以使该报文返回至报文处理入口,进行下一个处理字段的查找。在最后一个处理字段查找之后将所述报文中的回环标识去除,结束报文的回环,使得报文从输出端口输出。实现报文中处理字段的依次查找与报文的处理。

此外,本发明实施例还提出一种报文的处理装置,所述报文的处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的报文的处理程序,所述报文的处理程序被所述处理器执行时实现如上各个实施例所述的报文的处理方法的步骤。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有报文的处理程序,所述报文的处理程序被处理器执行时实现如上各个实施例所述的报文的处理方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1