报文转发方法、装置、SDN系统、网络设备及存储介质与流程

文档序号:36390474发布日期:2023-12-15 08:26阅读:25来源:国知局
报文转发方法与流程

本技术属于网络通信,具体涉及一种报文转发方法、装置、sdn系统、网络设备及存储介质。


背景技术:

1、网络设备的sdn(software defined network,软件定义网络)应用支持标准报文字段的流表,通过匹配网络设备中报文的以太类型,源mac(media access control,媒体接入控制)地址、目的mac地址,源ip(internet protocol,互联网协议)地址、目的ip地址,源端口、目的端口等标准字段。对于匹配命中的报文进行流表中规定的转发或者丢弃等动作,从而实现对报文的转发控制策略。

2、在一些特定的网络应用中,网络传输的报文是用户定制的。这些报文的前部分是以太头部,报文的后部分是用户自定义的内容。这些自定义的数据报文不是标准的ipv4(internet protocol version 4,互联网通信协议第四版)或ipv6(internet protocolversion 6,互联网通信协议第六版)报文。而sdn的标准流表只能识别标准的以太首部和ip首部中的标准字段。但对于用户自定义的特定报文,sdn的标准流表不能有效的识别报文以及不能应用报文控制策略对其进行处理。


技术实现思路

1、鉴于此,本技术的目的在于提供一种报文转发方法、装置、sdn系统、网络设备及存储介质,以改善现有sdn的标准流表不能有效的识别用户自定义的特定报文以及不能应用报文控制策略对其进行处理的问题。

2、本技术的实施例是这样实现的:

3、第一方面,本技术实施例提供了一种报文转发方法,包括:获取待转发报文;根据预设的报文解析表项提取所述待转发报文中用户指定的报文字段,所述用户指定的报文字段为所述预设的报文解析表项中规定的字段;将提取出的报文字段与预设的定制流表进行匹配,所述预设的定制流表包括多个流表表项;在命中流表表项时,利用命中的流表表项对应的执行动作对所述待转发报文进行处理。本技术实施例中,通过事先对自定义报文的报文解析规则以及匹配规则进行定制,使得在接收到待处理报文时,可以对接收到的报文按照定制报文解析规则解析,且按照指定匹配规则匹配和动作,实现对用户自定义的特定报文进行识别以及应用报文控制策略对其进行处理的效果。

4、结合第一方面实施例的一种可能的实施方式,所述预设的定制流表中的流表表项包括自定义前缀、自定义掩码及对应的执行动作;将提取出的报文字段与预设的定制流表进行匹配,包括:将提取出的报文字段中的值与所述自定义掩码进行与运算,得到第一结果;将所述自定义前缀与所述自定义掩码进行与运算,得到第二结果;将所述第一结果与所述第二结果进行匹配;其中,若所述第一结果与所述第二结果匹配,则表征命中流表表项。本技术实施例中,通过将提取出的报文字段中的值与匹配规则中自定义掩码进行与运算,得到第一结果,以及将自定义前缀与自定义掩码进行与运算,得到第二结果,之后将第一结果与第二结果进行匹配,从而可以快速实现对指定报文字段特征的匹配。

5、结合第一方面实施例的一种可能的实施方式,所述用户指定的报文字段包括n段,n为大于等于1的整数,每段报文字段的长度不要求相同,所述预设的定制流表中的流表表项包括n个自定义前缀、n个自定义掩码及对应的执行动作;将提取出的报文字段与预设的定制流表进行匹配,包括:i依次取1至n,将提取出的第i个报文字段中的值与第i个自定义掩码进行与运算,得到第i个第一结果;将第i个自定义前缀与第i个自定义掩码进行与运算,得到第i个第二结果;将所述第i个第一结果与所述第i个第二结果进行匹配;其中,若所有的第一结果与第二结果均匹配时,表征命中流表表项。本技术实施例中,支持多前缀和掩码的方式对于提取同一个报文的多段报文字段并行匹配,更加灵活,且由于匹配时,是对应位置的匹配,匹配效率更高。

6、结合第一方面实施例的一种可能的实施方式,所述根据预设的报文解析表项提取所述待转发报文中用户指定的报文字段之前,所述方法还包括:获取sdn控制器下发的报文解析规则,所述报文解析规则包括:解析id、用户指定的报文字段在报文中的偏移位置和该报文字段对应的长度、该解析id的解析规则总数、本报文解析规则的序号;将属于同一个解析id的报文解析规则分为同一个报文解析规则组;当该解析id的报文解析规则组中的报文解析规则的序号与该解析id的解析规则总数一致时,基于该报文解析规则组生成所述报文解析表项。本技术实施例中,通过针对特定报文下发用户自定义的报文解析规则,从而支持对特定报文的解析,通过提取用户指定的报文字段的特征来进行后续匹配。

7、结合第一方面实施例的一种可能的实施方式,所述将提取出的报文字段与预设的定制流表进行匹配之前,所述方法还包括:获取sdn控制器下发的自定义匹配规则,所述自定义匹配规则包括:解析id、该解析id的匹配规则总数、本匹配规则的序号、自定义前缀、自定义掩码、执行动作;将属于同一个解析id的自定义匹配规则分为同一个匹配规则组;当该解析id的匹配规则组中的自定义匹配规则的序号与该解析id的匹配规则总数一致时,基于该匹配规则组生成所述定制流表。本技术实施例中,针对特定报文下发用户自定义的匹配规则,来实现对特定报文的控制策略的定制,从而能实现用户自定义的特定报文进行识别以及应用报文控制策略对其进行处理的效果。

8、第二方面,本技术实施例还提供了一种报文转发装置,包括:获取模块、解析模块、匹配模块、转发模块;获取模块,用于获取待转发报文;解析模块,用于根据预设的报文解析表项提取所述待转发报文中用户指定的报文字段,所述用户指定的报文字段为所述预设的报文解析表项中规定的字段;匹配模块,用于将提取出的报文字段与预设的定制流表进行匹配,所述预设的定制流表包括多个流表表项;转发模块,用于在命中流表表项时,利用命中的流表表项对应的执行动作对所述待转发报文进行处理。

9、第三方面,本技术实施例还提供了一种sdn系统,包括:网络设备,用于获取待转发报文,根据预设的报文解析表项提取所述待转发报文中用户指定的报文字段,所述用户指定的报文字段为所述预设的报文解析表项中规定的字段;将提取出的报文字段与预设的定制流表进行匹配,所述预设的定制流表包括多个流表表项;在命中流表表项时,利用命中的流表表项对应的执行动作对所述待转发报文进行处理。

10、结合第三方面实施例的一种可能的实施方式,还包括:sdn控制器,用于下发生成所述预设的报文解析表项所需的报文解析规则;所述网络设备还用于:获取sdn控制器下发的报文解析规则,所述报文解析规则包括:解析id、用户指定的报文字段在报文中的偏移位置和该报文字段对应的长度、该解析id的解析规则总数、本报文解析规则的序号;将属于同一个解析id的报文解析规则分为同一个报文解析规则组;当该解析id的报文解析规则组中的报文解析规则的序号与该解析id的解析规则总数一致时,基于该报文解析规则组生成所述报文解析表项。

11、第四方面,本技术实施例还提供了一种网络设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

12、第五方面,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

13、本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例而了解。本技术的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

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