一种NAT规则匹配方法、装置、电子设备及存储介质制造方法及图纸

技术编号:26653438 阅读:18 留言:0更新日期:2020-12-09 00:57
本公开涉及一种NAT规则匹配方法方法,包括:将所有NAT规则转换成规则前缀表项,其中,每个规则前缀表项包括源地址公共前缀、目的地址公共前缀、源端口公共前缀、服务公共前缀和对应NAT规则;基于规则前缀表项构造NAT规则前缀树,其中,NAT规则前缀树包括源地址规则前缀树、目的地址规则前缀树、源端口公共前缀树和服务规则前缀树;通过负载均衡算法将每个规则前缀表项挂载在NAT规则前缀树中;基于接收到的报文的匹配参数,对挂载规则前缀表项后的NAT规则前缀树进行NAT规则匹配。本公开实施例通过负载均衡算法保证了规则前缀表项的均匀散列,提高了IPv6环境下的NAT规则匹配效率。

【技术实现步骤摘要】
一种NAT规则匹配方法、装置、电子设备及存储介质
本公开涉及计算机网络
,尤其涉及一种NAT规则匹配方法、装置、电子设备及存储介质。
技术介绍
随着互联网的迅速发展,IPv4有限地址空间逐渐告罄,因此越来越多的国家把IPv6作为了国家战略。随着以IPv6协议为核心的下一代互联网的逐步部署,普通的IPv4地址NAT(NetworkAddressTranslation,网络地址转换方法)已经无法满足当前的网络安全的需求,此时基于IPv6地址的NAT技术逐渐成熟。但在网络通信和安全网关上部署的NAT规则数量比较大时,随之而来的就是匹配效率问题。随着设备上NAT规则数量越来越多,这种问题越来越突出,而且难以解决。
技术实现思路
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种NAT规则匹配方法、装置、电子设备及存储介质。本公开提供了一种IPv6环境下的NAT规则匹配方法,包括:将所有NAT规则转换成规则前缀表项,其中,每个所述规则前缀表项包括源地址公共前缀、目的地址公共前缀、源端口公共前缀、服务公共前缀和对应NAT规则;基于所述规则前缀表项构造NAT规则前缀树,其中,所述NAT规则前缀树包括源地址规则前缀树、目的地址规则前缀树、源端口公共前缀树和服务规则前缀树;通过负载均衡算法将每个所述规则前缀表项挂载在所述NAT规则前缀树中;基于接收到的报文的匹配参数,对挂载所述规则前缀表项后的所述NAT规则前缀树进行NAT规则匹配。可选的,所述NAT规则前缀树的深度为64。可选的,基于所述规则前缀表项构造NAT规则前缀树,包括:以所述规则前缀表项中的前缀作为叶子节点,以二进制形式按照由高位到低位的顺序构造Patricia树,得到所述NAT规则前缀树,其中,所述前缀为IPv6地址除去掩码后的值。可选的,通过负载均衡算法将每个所述规则前缀表项挂载在所述NAT规则前缀树中,包括:计算各所述NAT规则前缀树对所述规则前缀表项的匹配度量值,其中,所述匹配度量值为所述规则前缀表项对应的叶子节点的深度与该叶子节点下已挂载的规则前缀表项的个数之和;比较各所述NAT规则前缀树对所述规则前缀表项的匹配度量值的大小;选取所述匹配度量值最小的NAT规则前缀树挂载所述规则前缀表项。可选的,选取所述匹配度量值最小的NAT规则前缀树挂载所述规则前缀表项,包括:确定所述匹配度量值最小的NAT规则前缀树中对应所述规则前缀表项的目标节点;当所述目标叶子节点已挂载前缀相同的其他规则前缀表项时,按照所述规则前缀表项和已挂载的其他规则前缀表项的优先级由高到低的顺序,将所述规则前缀表项加入到已挂载的其他规则前缀表项中。可选的,基于接收到的报文的匹配参数,对挂载所述规则前缀表项后的所述NAT规则前缀树进行NAT规则匹配,包括:基于接收到的报文的匹配参数,依次对所述源地址规则前缀树、所述目的地址规则前缀树、所述源端口公共前缀树和所述服务规则前缀树进行NAT规则匹配;基于接收到的报文的匹配参数,对各所述NAT规则前缀树进行NAT规则匹配,包括:基于接收到的报文的匹配参数,对所述NAT规则前缀树进行最长前缀匹配,确定匹配节点,其中,所述匹配节点为叶子节点;对所述匹配节点下的规则前缀表项进行匹配。本公开提供了一种IPv6环境下的NAT规则匹配装置,包括:表项转换模块,用于将所有NAT规则转换成规则前缀表项,其中,每个所述规则前缀表项包括源地址公共前缀、目的地址公共前缀、源端口公共前缀、服务公共前缀和对应NAT规则;前缀树构造模块,用于基于所述规则前缀表项构造NAT规则前缀树,其中,所述NAT规则前缀树包括源地址规则前缀树、目的地址规则前缀树、源端口公共前缀树和服务规则前缀树;表项挂载模块,用于通过负载均衡算法将每个所述规则前缀表项挂载在所述NAT规则前缀树中;规则匹配模块,用于基于接收到的报文的匹配参数,对挂载所述规则前缀表项后的所述NAT规则前缀树进行NAT规则匹配。可选的,所述表项挂载模块包括:度量值计算单元,用于计算各所述NAT规则前缀树对所述规则前缀表项的匹配度量值,其中,所述匹配度量值为所述规则前缀表项对应的叶子节点的深度与该叶子节点下已挂载的规则前缀表项的个数之和;度量值比较单元,用于比较各所述NAT规则前缀树对所述规则前缀表项的匹配度量值的大小;表项挂载单元,用于选取所述匹配度量值最小的NAT规则前缀树挂载所述规则前缀表项。本公开提供了一种电子设备,包括:存储器以及一个或多个处理器;其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行时,所述电子设备用于实现本公开提供的IPv6环境下的NAT规则匹配方法。本公开提供了一种计算机可读存储介质,其上存储有计算机可执行指令,当所述计算机可执行指令被计算装置执行时,可用来实现本公开提供的IPv6环境下的NAT规则匹配方法。本公开实施例提供的技术方案与现有技术相比具有如下优点:一、在IPv6环境下,通过构造源地址规则前缀树、目的地址规则前缀树、源端口公共前缀树和服务规则前缀树4棵NAT规则前缀树,解决了单棵NAT规则前缀树时相同前缀的规则过多的问题,可以在NAT规则前缀树的深度次数中完成规则匹配,提高了NAT规则匹配效率,有效解决了在通信设备和安全网关设备中配置大量NAT规则时的性能瓶颈问题。二、通过负载均衡算法将规则前缀表项挂载在4棵NAT规则前缀树中,保证了规则前缀表项的均匀散列,从而保证了NAT规则匹配效率。三、通过对NAT规则前缀树的深度进行优化,设置NAT规则前缀树的深度为64,实现了在IPv6环境下加速NAT规则匹配,进一步提高了NAT规则匹配效率。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本公开实施例提供的IPv6环境下的NAT规则匹配方法的流程示意图;图2为本公开实施例提供的IPv6环境下的NAT规则匹配装置的结构框图;图3为本公开实施例提供的电子设备的结构示意图。具体实施方式为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实本文档来自技高网...

【技术保护点】
1.一种IPv6环境下的NAT规则匹配方法,其特征在于,包括:/n将所有NAT规则转换成规则前缀表项,其中,每个所述规则前缀表项包括源地址公共前缀、目的地址公共前缀、源端口公共前缀、服务公共前缀和对应NAT规则;/n基于所述规则前缀表项构造NAT规则前缀树,其中,所述NAT规则前缀树包括源地址规则前缀树、目的地址规则前缀树、源端口公共前缀树和服务规则前缀树;/n通过负载均衡算法将每个所述规则前缀表项挂载在所述NAT规则前缀树中;/n基于接收到的报文的匹配参数,对挂载所述规则前缀表项后的所述NAT规则前缀树进行NAT规则匹配。/n

【技术特征摘要】
1.一种IPv6环境下的NAT规则匹配方法,其特征在于,包括:
将所有NAT规则转换成规则前缀表项,其中,每个所述规则前缀表项包括源地址公共前缀、目的地址公共前缀、源端口公共前缀、服务公共前缀和对应NAT规则;
基于所述规则前缀表项构造NAT规则前缀树,其中,所述NAT规则前缀树包括源地址规则前缀树、目的地址规则前缀树、源端口公共前缀树和服务规则前缀树;
通过负载均衡算法将每个所述规则前缀表项挂载在所述NAT规则前缀树中;
基于接收到的报文的匹配参数,对挂载所述规则前缀表项后的所述NAT规则前缀树进行NAT规则匹配。


2.根据权利要求1所述的IPv6环境下的NAT规则匹配方法,其特征在于,所述NAT规则前缀树的深度为64。


3.根据权利要求1所述的IPv6环境下的NAT规则匹配方法,其特征在于,基于所述规则前缀表项构造NAT规则前缀树,包括:
以所述规则前缀表项中的前缀作为叶子节点,以二进制形式按照由高位到低位的顺序构造Patricia树,得到所述NAT规则前缀树,其中,所述前缀为IPv6地址除去掩码后的值。


4.根据权利要求3所述的IPv6环境下的NAT规则匹配方法,其特征在于,通过负载均衡算法将每个所述规则前缀表项挂载在所述NAT规则前缀树中,包括:
计算各所述NAT规则前缀树对所述规则前缀表项的匹配度量值,其中,所述匹配度量值为所述规则前缀表项对应的叶子节点的深度与该叶子节点下已挂载的规则前缀表项的个数之和;
比较各所述NAT规则前缀树对所述规则前缀表项的匹配度量值的大小;
选取所述匹配度量值最小的NAT规则前缀树挂载所述规则前缀表项。


5.根据权利要求4所述的IPv6环境下的NAT规则匹配方法,其特征在于,选取所述匹配度量值最小的NAT规则前缀树挂载所述规则前缀表项,包括:
确定所述匹配度量值最小的NAT规则前缀树中对应所述规则前缀表项的目标节点;
当所述目标叶子节点已挂载前缀相同的其他规则前缀表项时,按照所述规则前缀表项和已挂载的其他规则前缀表项的优先级由高到低的顺序,将所述规则前缀表项加入到已挂载的其他规则前缀表项中。


6.根据权利要求1所述的IPv6环境下的NAT规则匹配方法,其特征在于,基于接收到的报文的匹配参数,对挂载所述规则前缀表项后的所述NAT规则前缀树进行NAT...

【专利技术属性】
技术研发人员:范鸿雷纪鹏飞
申请(专利权)人:北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1