分布式系统中多业务板分流时的nat处理方法及设备的制造方法

文档序号:8266069阅读:829来源:国知局
分布式系统中多业务板分流时的nat处理方法及设备的制造方法
【技术领域】
[0001]本发明涉及网络通信和网络安全领域,尤其涉及一种分布式系统中多业务板分流时的NAT处理方法及设备。
【背景技术】
[0002]参考图1所示,为分布式系统架构下的网络设备结构示意图,分布式系统架构的网络设备(例如:路由器、交换机和防火墙等)主要由设备机架和机架上的插板组成,插板类型主要包括:主控板、接口板和业务板,各板之间通过交换网络联通。主控板主要负责对机架上各类插板的管理和版本生产升级;接口板负责报文(比如IP报文)的接收、转发和发送;业务板实现对报文的各类业务处理,例如防火墙业务板可以实现各类安全业务处理和 NAT (Network Address Translat1n,网络地址转换)等功能。
[0003]一个机架可以插一块或者多块接口板和业务板,对于多业务板的情况,设备将接口板收到的报文要按照一定算法分流到每一块业务板上,从而实现多业务板之间的负载均担,这也正是分布式系统的优势所在。hash算法是业界常用的业务板分流算法,即根据报文的四元组(源IP、目的IP、源端口、目的端口)或者二元组(源IP、目的IP)计算出一个hash值,不同hash值的报文被分流到不同的业务板上。
[0004]报文被分到不同的业务板上之后,需要进行NAT处理,即按照策略描述对报文进行地址转换,同时进行源端口转换(包括转换前的IP地址和转换后的IP地址一一对应的一对一形式的NAT,以及多个不同的IP地址可以转换为同一 IP地址的多对一形式的NAT)。参考图2所示,为一种场景下的多对一的NAT处理过程,主机A (IP地址:192.168.1.20)和主机B (192.168.1.30)发给主机C (10.10.0.200)的报文在经过NAT设备时转换为同一源IP地址10.10.0.100。同时,报文经过NAT设备后,源端口号也发生了改变(分别从5000变为 10005 和 10006) ο

【发明内容】

[0005]发明人经过大量研宄发现,在现有的分布式系统中实现NAT功能存在如下问题:首先,对于同一主机来说,其发送的报文经过了 NAT处理,导致报文的四元组信息发生了变化,从而导致报文的转换前后计算得出的hsah值可能不同,正向报文在报文地址转换后可能和反向报文分流到不同的业务板,反向报文无法找到正向报文创建的NAT会话表项,导致反向报文无法成功的发送回原主机。其次,由于多块业务板独立实现NAT功能,当分别在不同业务板上进行NAT处理且具有不同四元组的IP报文,经过地址转换后具有相同的源IP地址、相同的目的IP地址和相同的目的端口号时,每块业务板进行源端口转换的过程中都不知道其他业务板是否用了和自己相同的源端口号,即多对一的NAT时无法保证“四元组不同的两个或多个报文经过地址转换后它们的四元组也不能相同”的约束条件,因此不同地址的报文在不同业务板进行NAT转换为同一地址的同时,可能也转换了相同的源端口号,导致NAT设备收到反向报文时无法区分转换前的正向报文的地址,导致有些主机的无法接收到反向报文。
[0006]为了解决上述问题,本发明实施例提供了一种分布式系统中多业务板分流时的NAT处理方法及设备,保证报文的成功传输。
[0007]有鉴于此,本发明第一方面提供一种分布式系统中多业务板分流时的NAT处理方法,可包括:
[0008]根据正向IP报文匹配的NAT策略对所述IP报文的IP地址进行地址转换;
[0009]业务板根据预设的hash约束条件对所述IP报文四元组中的源端口号进行转换,其中所述预设的hash约束条件包括:所述IP报文地址转换和端口转换后的报文四元组的hash值与所述IP报文地址转换和端口转换前的报文四元组的hash值相等;
[0010]根据所述IP报文的IP地址和源端口号的转换过程创建该IP报文的NAT会话表项并转发该报文。
[0011]在一些实施例中,所述方法还包括:所述方法还包括:当接收到所述正向IP报文对应的反向报文时,根据所述正向IP报文创建的NAT会话表项对反向报文进行NAT处理并转发。
[0012]在一些实施例中,所述方法还包括:当与所述IP报文匹配的NAT策略不存在时,则直接转发所述IP报文。
[0013]在一些实施例中,所述正向IP报文采用基于报文四元组的hash算法进行分流。
[0014]在一些实施例中,所述IP报文的四元组包括IP报文的源IP地址、源端口号、目的IP地址、目的端口号。
[0015]本发明第二方面提供一种NAT设备,可包括:
[0016]地址转换模块,用于根据正向IP报文匹配的NAT策略对所述报文的IP地址进行地址转换;
[0017]端口转换模块,用于根据预设的hash约束条件对所述IP报文四元组中的源端口号进行转换,其中所述预设的hash约束条件包括:所述IP报文地址转换和端口转换后的报文四元组的hash值与所述IP报文地址转换和端口转换前的报文四元组的hash值相等;
[0018]会话创建模块,用于根据所述IP报文的IP地址和源端口号的转换过程创建该IP报文的NAT会话表项;
[0019]发送模块,用于转发所述IP报文。
[0020]在一些实施例中,所述装置还包括:数据处理模块,用于接收到所述正向IP报文对应的反向报文时,根据所述正向IP报文创建的NAT会话表项对反向报文进行NAT处理;
[0021]触发模块,用于触发所述发送模块转发处理后的IP报文。
[0022]从以上技术方案可以看出,本发明实施例具有以下优点:
[0023]本发明实施例中,对IP报文的IP地址进行转换,之后对源端口号进行转换,转换时在IP报文的转换后的报文四元组的hash值与IP报文的转换前的报文四元组的hash值相等的条件下进行,这样可以保证同一主机的正向报文和反向报文被分配到同一业务板。保证反向报文能够查找到根据正向报文创建的会话表项。同时,当分别在不同业务板上进行NAT处理且具有不同四元组的IP报文,经过地址转换后具有相同的源IP地址、相同的目的IP地址和相同的目的端口号时,由于不同的业务板对应不同的hash值,使得不同业务板对应的转换后的源端口号是不同的,即四元组不同的两个或多个报文经过地址转换后它们的四元组也不同,从而保证多对一 NAT时,反向报文能够根据端口号正确的回到原主机。
【附图说明】
[0024]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为分布式系统架构下的网络设备结构示意图;
[0026]图2为一种场景下的多对一的NAT处理过程;
[0027]图3为NAT功能在网络设备中的实现的原理图;
[0028]图4为现有技术中NAT功能在网络设备中的实现时存在的一个问题原理图;
[0029]图5为现有技术中NAT功能在网络设备中的实现时存在的另一问题原理图;
[0030]图6为本发明提供的分布式系统中多业务板分流时的NAT处理方法实施例的流程图;
[0031]图7为本发明提供的一种NAT设备实施例的结构示意图。
【具体实施方式】
[0032]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0033]为了便于对本发明技术方案的理解,首先对本发明要解决的技术问题进行简单分析。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1