CN101610296B - 一种网络地址转换出接口均衡方法和装置 - Google Patents
一种网络地址转换出接口均衡方法和装置 Download PDFInfo
- Publication number
- CN101610296B CN101610296B CN2009100897105A CN200910089710A CN101610296B CN 101610296 B CN101610296 B CN 101610296B CN 2009100897105 A CN2009100897105 A CN 2009100897105A CN 200910089710 A CN200910089710 A CN 200910089710A CN 101610296 B CN101610296 B CN 101610296B
- Authority
- CN
- China
- Prior art keywords
- nat
- outgoing interface
- interface
- address
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络地址转换NAT出接口均衡方法,包括:在NAT业务板中增加逻辑均衡接口类型,并且逻辑均衡接口按预设的均衡策略与实际的NAT出接口对应,将需要进行NAT出接口均衡的业务流报文的出接口配置为逻辑均衡接口,根据报文的逻辑均衡接口所对应的NAT出接口,对其进行NAT处理并转发。本发明还公开了一种NAT出接口均衡装置。本发明的技术方案能够提高均衡效果,且能够避免不必要的跨ISP的访问。
Description
技术领域
本发明涉及网络通信技术领域,尤指一种网络地址转换NAT出接口均衡方法和装置。
背景技术
网络地址转换(NAT,Network Address Translation)提供了一种解决私网本地地址访问互联网(Internet)的技术,目前被广泛应用于各种类型的Internet接入方式和各种类型的网络中。
借助于NAT技术,局域网通过路由器发送数据包时,局域网的私有地址被转换成合法的IP地址,也称为公网地址,因此一个局域网只需使用少量IP地址即可实现私有地址网络内所有计算机与Internet的通信需求。NAT技术要求同一个用户访问同一个网站时,其对应转换的公网IP地址不能改变,否则一些基于会话的WEB应用就无法正常使用,例如,网上银行、BBS、网上购物的购物车功能等等,这就要求出口链路的负载分担还必须要保持用户的粘性。
通常出于网络安全的考虑,一个局域网会通过多个互联网服务提供商(ISP,Internet Service Provider)的链路与Internet相连。ISP能提供拨号上网服务、网上浏览、下载文件、收发电子邮件等服务,是网络最终用户进入Internet的入口和桥梁。
图1是现有技术中的局域网支持多个ISP的组网示意图。如图1所示,一个局域网中的用户可以通过多个ISP的链路访问Internet,因此就存在多个IPS链路之间的负载均衡问题,即存在NAT转换设备上的与各ISP链路连接的NAT出接口之间负载均衡问题。
目前采用等价路由和策略路由等技术来实现多ISP链路之间的负载均衡。但是这两种方法各有缺点:
(1)按等价路由进行负载均衡,无法反映不同ISP链路带宽。例如,ISP1的链路带宽是100M,ISP2的链路带宽是1GE时,进行等价路由的负载均衡会导致100M带宽超载,而1GE带宽的负载不足。
(2)按策略路由进行负载均衡,需要人工静态配置,即哪个用户的报文通过哪个NAT出接口转发是固定的,因此无法保证实时的流量均衡。
此外,由于用户访问Internet时,跨ISP访问的性能很差,而上述按等价路由和策略路由进行的NAT出口均衡方案不能避免跨ISP的访问。
综上所述,现有的NAT出口均衡技术,均衡效果差且不能避免跨ISP的访问。
发明内容
本发明提供了一种NAT出接口均衡方法,该方法能够提高均衡效果,且能够避免不必要的跨ISP的访问。
本发明还提供了一种NAT出接口均衡装置,该装置能够提高均衡效果,且能够避免不必要的跨ISP的访问。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明公开了一种网络地址转换NAT出接口均衡方法,预先定义逻辑均衡接口,并将需要进行NAT出接口均衡的业务流报文的出接口配置为逻辑均衡接口,则该方法包括:
当所接收报文为业务流的首报文时,判断该报文的出接口是否为逻辑均衡接口;
如果是逻辑均衡接口,则根据该报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值;
根据所述哈希值查询NAT出接口分配表得到一个NAT出接口;其中,所述NAT出接口分配表中保存有根据预设均衡策略所得到的哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;
根据所得到的NAT出接口的NAT配置对所述报文进行NAT处理后,按所得到的NAT出接口的下一跳IP地址进行转发。
本发明还公开了一种网络地址转换NAT出接口均衡装置,该装置应用于预先定义了逻辑均衡接口,并且业务流报文的出接口配置为逻辑均衡接口的应用中,所述业务流报文是指需要进行NAT出接口均衡的业务流报文,则该装置包括:判断模块、哈希查询模块、存储模块、NAT处理模块,其中,
判断模块,用于在所接收报文为业务流的首报文时,判断该报文的出接口是否为逻辑均衡接口,是则将该报文发送给哈希查询模块;
存储模块,用于保存NAT出接口分配表,所述NAT出接口分配表中保存有根据预设均衡策略所得到的哈希值、NAT出接口和NAT出接口的下一跳IP地址;
哈希查询模块,用于根据所接收报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值,根据该哈希值查询NAT出接口分配表得到一个NAT出接口和对应的下一跳IP地址,并将所述报文以及所得到的NAT出接口和该NAT出接口的下一跳IP地址发送给NAT处理模块;
NAT处理模块,用于根据所得到的NAT出接口的NAT配置对所述报文进行NAT处理后,按所得到的NAT出接口的下一跳IP地址进行转发。
由上述技术方案可见,本发明这种预先定义逻辑均衡接口,并将需要进行NAT出接口均衡的业务流报文的出接口配置为逻辑均衡接口;当所接收报文为业务流的首报文时,判断该报文的出接口是否为逻辑均衡接口;如果是逻辑均衡接口,则根据该报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值,根据所述哈希值查询NAT出接口分配表得到一个NAT出接口;其中,所述NAT出接口分配表中保存有根据预设均衡策略所得到的哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;根据所得到的NAT出接口的NAT配置对所述报文进行NAT处理后,按所得到的NAT出接口的下一跳IP地址进行转发的技术方案,由于通过查询根据预设均衡策略配置的NAT出接口分配表获得报文的NAT出接口,因此可以提高均衡效果,并且只有对于出接口为逻辑均衡接口的报文依据NAT出接口分配表进行均衡处理,因此只要将访问与NAT转换接口直连的ISP网站的报文的出接口配置为非逻辑均衡接口,即可以避免不必要的跨ISP访问。
附图说明
图1是现有技术中的局域网支持多个ISP的组网示意图;
图2是本发明实施例一种NAT出接口均衡方法的流程图;
图3是本发明实施例中的完整的NAT处理流程图;
图4是本发明实施例一种NAT出接口均衡装置的组成结构框图。
具体实施方式
本发明的核心思想是:在NAT业务板中增加逻辑均衡接口类型,并且逻辑均衡接口按预设的均衡策略与实际的NAT出接口对应,将需要进行NAT出接口均衡的业务流报文的出接口配置为逻辑均衡接口,根据报文的逻辑均衡接口所对应的NAT出接口,对其进行NAT处理并转发。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图2是本发明实施例一种NAT出接口均衡方法的流程图。该方法应用于预先定义了逻辑均衡接口,并将需要进行NAT出接口均衡的业务流报文的出接口配置为逻辑均衡接口的NAT应用场景,如图2所示,该方法包括:
步骤201,当所接收报文为业务流的首报文时,判断该报文的出接口是否为逻辑均衡接口;
步骤202,如果是逻辑均衡接口,则根据该报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值;
步骤203,根据所述哈希值查询NAT出接口分配表得到一个NAT出接口;其中,所述NAT出接口分配表中保存有根据预设均衡策略所得到的哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;
步骤204,根据所得到的NAT出接口的NAT配置对所述报文进行NAT处理后,按所得到的NAT出接口的下一跳IP地址进行转发。
在图2所示的方案中,所述需要进行NAT出接口均衡的业务流不包括访问与NAT出接口直连的互联网服务提供商ISP网站的业务流;访问与NAT出接口直连的ISP网站的业务流报文的出接口被静态配置为与该ISP网站直连的NAT出接口。即配置与NAT出接口连接的ISP所属的IP地址网段对应的静态路由对应的下一跳出口为该ISP对应的出接口链路,而其余的则配置缺省路由的出口为逻辑均衡接口,从而保证访问ISP本身的网址的报文,从该ISP的链路上走,不属于该ISP的报文,则根据本发明所述的均衡方式转发,避免了不必要的跨ISP访问,提高了访问速度。
在图2所示的方案中,可以预先定义一个以上的逻辑均衡接口,并将其分成一个以上的均衡组,每个均衡组至少包括一个逻辑均衡接口。所述将需要进行NAT出接口均衡的业务流报文的出接口配置为逻辑均衡接口具体可以为:在NAT板上配置一个接口配置表,该接口配置表中对应保存出接口、逻辑均衡接口标志位以及出接口所属的均衡组序号;其中,需要进行NAT出接口均衡的业务流报文的出接口对应的逻辑均衡接口标志位是有效值;接口配置表的一个表现形式如表1所示:
接口ID | 逻辑均衡接口标志位 | 所属均衡组序号 |
接口1 | 1 | 1 |
接口2 | 1 | 2 |
接口3 | 0 | -- |
...... | ...... | ...... |
表1
如表1所示,接口1和接口2的逻辑均衡接口标志位为有效值1,因此接口1和接口2是逻辑均衡接口,且均属于均衡组1;而接口3的逻辑均衡接口标志位为无效值0,因此接口3不是逻辑均衡接口。在表1中,非逻辑均衡接口(逻辑均衡接口标志位为0)没有均衡组序号,但在本发明的其他实施例中,也可以将非逻辑均衡接口分为一个均衡组,并设置非逻辑均衡接口所属的均衡组序号为0。
则步骤201中所述判断报文的出接口是否为逻辑均衡接口为:根据报文出接口查询接口配置表,如果对应的逻辑均衡接口标志位为有效值,则该报文的出接口为逻辑均衡接口。
在图2所示的方案中,实际的均衡策略体现在步骤203中所提到的NAT出接口分配表上。基于表1所示的接口配置表,则在本发明实施例中,NAT出接口分配表中保存有均衡组序号、哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;其中,对应不同的均衡组,根据不同的预设均衡策略得到哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;NAT出接口分配表的一个表现形式如表2所示:
均衡组序号 | 哈希值 | NAT出接口 | 下一跳IP地址 |
1 | 0 | NAT出接口1 | IP1 |
1 | 1 | NAT出接口2 | IP2 |
1 | 2 | NAT出接口2 | IP2 |
1 | 3 | NAT出接口2 | IP2 |
1 | 4 | NAT出接口1 | IP1 |
1 | 5 | NAT出接口2 | IP2 |
1 | 6 | NAT出接口2 | IP2 |
1 | 7 | NAT出接口2 | IP2 |
2 | 8 | NAT出接口1 | IP1 |
2 | 9 | NAT出接口2 | IP2 |
2 | 10 | NAT出接口2 | IP2 |
2 | 11 | NAT出接口2 | IP2 |
2 | 12 | NAT出接口1 | IP1 |
2 | 13 | NAT出接口2 | IP2 |
2 | 14 | NAT出接口2 | IP2 |
2 | 15 | NAT出接口2 | IP2 |
表2
在表2中,假设NAT设备与两个ISP链路连接,其中NAT出接口1对应ISP1,对端的下一跳IP地址为IP1,链路带宽为100M,对应地址池中有2个公网地址;NAT出接口2对应ISP2,对应的下一跳IP地址为IP2,链路带宽为300M,对应地址池中有3个公网地址。则在本实施例中,根据链路带宽、地址池中的公网地址以及链路延时等性能参数为每个NAT出接口配置优先级权值,其中,性能参数高的NAT出接口的优先级权值高,本实施例中可以配置NAT出接口的优先级权值为1,接口2的优先级权值为3。再假设,哈希值的取值范围为0~15,则根据每个NAT出接口的优先级权值以及哈希值的取值范围,确定每个NAT出接口所对应的哈希值个数,其中,优先级权值高的NAT出接口所对应的哈希值个数多。则如表2所示,接口1和接口2的优先级权值比例为1∶3,则其对应的哈希值个数也为1∶3。
即在本发明实施例中,NAT出接口分配表中表项内容均按均衡组所包含的NAT出接口间的优先级权值的比例关系填充NAT出接口分配表,在哈希值的取值范围内每个NAT出接口在该均衡组对应的表项中出现的次数与NAT出接口之间的优先级权值比例关系一致,这样报文选中每个NAT出接口的概率与优先级权值大致一致。当然,当优先级权值的最小公倍数不是哈希桶的公约数时,会出现一些误差,但哈希值的取值范围越大(即哈希值的个数越多)误差越小。
这里需要说明的是,在表2中,均衡组1和均衡组2采用了相同的根据链路带宽优先级权值分配NAT出接口的方案。但是,在本发明的其他实施例中,对应不同的均衡组,可以根据不同的预设均衡策略分配哈希值和NAT出接口。即在NAT出接口分配表中,对应不同的均衡组,根据不同的预设均衡策略得到哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系。
在上述表1所示的接口配置表和表2所示的NAT出接口分配表的基础上,步骤201中根据报文出接口查询接口配置表时,如果对应的逻辑均衡接口标志位为有效值,则该报文的出接口为逻辑均衡接口,并得到该出接口所属的均衡组序号;然后,在步骤202中根据该报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值之后,在步骤203中根据均衡组序号和哈希值查询NAT出接口分配表得到一个NAT出接口。
为了保证同一条业务流的报文的NAT处理过程的一致性,在图2所示方案中,将所述进行NAT处理后的首报文的NAT处理前的业务流标识、进行NAT处理所采用的公网地址以及对应的下一跳IP地址对应保存到NAT会话表中;这样,对于所接收的业务流的除首报文以外的报文,则可以根据其业务流标识查询NAT会话表得到对应的公网地址,并根据该公网地址对该报文进行NAT处理后,按对应的下一跳IP地址进行转发。报文的NAT处理前的业务流标识一般为该报文NAT处理前的五元组信息;五元组信息包括:源IP、源端口、协议类型、目的IP和目的端口;则业务流标识可以是报文NAT处理前的五元组中的一项或多项的组合,例如,业务流标识可以是:源IP,或者源IP+源端口,或者源IP+源端口+协议类型,或者源IP+源端口+协议类型+目的IP+目的端口。NAT会话表的一个表现形式如表3所示:
NAT处理前的业务流标识 | 公网地址 | 下一跳IP地址 |
业务流1 | 公网地址1 | IP1 |
业务流2 | 公网地址2 | IP2 |
...... | ...... | ...... |
表3
在图2所示的步骤204中,根据所得到的NAT出接口的NAT配置对所述报文进行NAT处理是,根据所得到的NAT出接口上配置的NAT策略从公网地址池中选择一个公网地址,根据该选择的公网地址对报文进行NAT处理。每一个NAT出接口上都预先配置好了NAT配置,该NAT配置是关于进行NAT处理时的一些策略,例如如何选择公网地址等。当NAT出接口都有各自对应的地址池时,可以直接根据报文的源IP等信息进行哈希运算后,根据哈希值从所得到的NAT出接口所对应的地址池中选择一个公网地址。或者,也可以根据所得到的NAT出接口和报文的源IP地址来选择地址池,再从中选择一个公网地址等。或者,还可以根据报文本身的特征,如入接口、出接口、路由特征等,进行地址池的选择,这些与现有技术相同,这里不再详细介绍。
在图2所示的方案中,还可以启动一个定时器,定时检查NAT出接口和其下一跳是否故障,如果故障则在NAT出接口分配表中删除该故障的NAT出接口和其下一跳IP地址,并根据所述预设的均衡策略调整NAT出接口分配表中的对应关系,以保证上网链路不中断。同时,还要定时检查NAT出接口和其下一跳是否恢复,如果恢复则在NAT出接口分配表中添加该恢复的NAT出接口和其下一跳IP地址,并根据所述预设的均衡策略调整NAT出接口分配表中的对应关系。
在图2所示的方案中,建立逻辑均衡接口与NAT业务板之间的关联,使得出接口为逻辑均衡接口的报文被发送到NAT业务板处理。
图3是本发明实施例中的完整的NAT处理流程图。如图3所示,对于每个进入NAT业务板的报文,执行以下的处理步骤:
步骤301,根据所接收报文的业务流标识查询NAT会话表,如果NAT会话表中存在相应的业务流标识则执行步骤302,否则执行步骤303。
步骤302,从NAT会话表中获取与业务流标识对应的公网地址和下一跳IP地址,并根据所获取的公网地址对该报文进行NAT处理后,按所获取的下一跳IP地址进行转发。结束流程。
步骤303,根据报文的出接口查询接口配置表,得到逻辑均衡接口标志位和均衡组序号。
步骤304,逻辑均衡接口标志位是否为有效值,是则执行步骤306,否则执行步骤305。
步骤305,出接口为非逻辑均衡接口,则直接从该出接口所对应的公网地址池中选择一个公网地址进行NAT处理,并按照该出接口的下一跳IP地址进行转发。执行步骤309。
步骤306,根据报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值。
步骤307,根据均衡组序号和哈希值查询NAT出接口分配表,得到一个NAT出接口和相应的下一跳IP地址。
步骤308,从所得到的NAT出接口所对应的公网地址池中选择一个公网地址,并根据该选择的公网地址对所述报文进行NAT处理后,按所得到的NAT出接口的下一跳IP地址进行转发。
本步骤,同样可以通过哈希算法从NAT出接口所对应的公网地址池中选择一个公网地址,从而实现对地址池中的地址进行均衡选择。例如可以根据报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型进行哈希运算等。
步骤309,将进行NAT处理后的报文的业务流标识、进行NAT处理所采用的公网地址以及对应的下一跳IP地址对应保存到NAT会话表中。结束流程。
下面仍参照图1所示的组网,以一个私网用户访问国外网站和访问ISP1的网站为例,对本发明的技术方案进行说明。
本实施例中的配置一个逻辑均衡接口0,其均衡组序号为1,配置需要进行NAT出接口均衡的业务流(如访问国外网站的业务流)报文的出接口为逻辑均衡接口0,配置ISP1所属网址对应的静态路由出口为ISP1链路出口,配置ISP2所属网址对应的静态路由出口为ISP2链路出口,则用户访问国外网站和访问ISP1的网站的流程分别如下:
(1)当私网用户访问一个国外网站时,接口板上查询路由表命中缺省路由发现出接口是逻辑均衡接口0,由于该接口是用于做NAT的接口,因此报文被转发到NAT板。NAT板上查询NAT会话表,由于是首报文,没有命中,则查询接口配置表,得到均衡组1和逻辑均衡接口标志位1;计算哈希值,假设计算出的哈希值为3,则根据均衡组序号1和哈希值3查询表2所示的NAT出接口分配表得到NAT出接口2和下一跳的IP2,根据NAT出接口2的地址池完成NAT处理,并按下一跳IP2进行转发;在NAT会话表中创建相应的项目。
对于后续的报文,接口板上查询路由命中缺省路由发行出接口是逻辑均衡接口0,报文被转发到NAT板。NAT板上查询NAT会话表,命中,根据NAT会话表进行NAT处理并转发。
(2)当私网用户访问ISP1的网站时,接收板上查询到出口为ISP1接口的下一跳为IP1的静态路由,同样由于该接口与NAT关联,报文被转发到NAT板。但在NAT板上查询接口配置表是不会命中的,报文按现有的正常NAT流程处理,报文最终通过ISP1接口发出去,而不会被分担到其他链路上,从而保证报文不出现跨ISP访问。
通过上述实施例看出,本发明的技术方案能够解决跨ISP访问的问题,而且保持用户的粘性,又能有效地实现链路带宽和NAT地址池的均衡应用。此外,对于独立NAT业务板的情况,不用接口板做任何修改,而只修改NAT业务板即可,这样可以方便支持ASIC类的接口板。
图4是本发明实施例一种NAT出接口均衡装置的组成结构框图。该装置应用于预先定义了逻辑均衡接口,并且业务流报文的出接口配置为逻辑均衡接口的应用中,所述业务流报文是指需要进行NAT出接口均衡的业务流报文,则如图4所示,该装置包括:判断模块401、哈希查询模块402、存储模块403、NAT处理模块404。
在图4中,判断模块401,用于在所接收报文为业务流的首报文时,判断该报文的出接口是否为逻辑均衡接口,是则将该报文发送给哈希查询模块402;
存储模块403,用于保存NAT出接口分配表,所述NAT出接口分配表中保存有根据预设均衡策略所得到的哈希值、NAT出接口和NAT出接口的下一跳IP地址;
哈希查询模块402,用于根据所接收报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值,根据该哈希值查询NAT出接口分配表得到一个NAT出接口和对应的下一跳IP地址,并将所述报文以及所得到的NAT出接口和该NAT出接口的下一跳IP地址发送给NAT处理模块404;
NAT处理模块404,用于根据所得到的NAT出接口的NAT配置对所述报文进行NAT处理后,按所得到的NAT出接口的下一跳IP地址进行转发。
关于图4所示的装置,所述预先定义逻辑均衡接口包括:预先定义一个以上的逻辑均衡接口,并将其分成一个以上的均衡组,每个均衡组至少包括一个逻辑均衡接口;
所述存储模块403,还用于保存一个接口配置表,该接口配置表中对应保存出接口、逻辑均衡接口标志位以及出接口所属的均衡组序号;其中,需要进行NAT出接口均衡的业务流报文的出接口对应的逻辑均衡接口标志位是有效值;
所述判断模块401,用于根据报文出接口查询接口配置表,如果对应的逻辑均衡接口标志位为有效值,则确定该报文的出接口为逻辑均衡接口。
关于图4所示的装置,所述NAT出接口分配表中保存有均衡组序号、哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;其中,对于不同的均衡组,根据不同的预设均衡策略得到哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;
所述判断模块401,用于在根据报文出接口查询接口配置表时,如果对应的逻辑均衡接口标志位为有效值,则该报文的出接口为逻辑均衡接口,并得到该出接口所属的均衡组序号,将该出接口所属的均衡组序号和报文一起发送给哈希查询模块402;
所述哈希查询模块402,用于在根据该报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值之后,根据均衡组序号和哈希值查询NAT出接口分配表得到一个NAT出接口。
在图4中,所述NAT处理模块404,进一步用于将所述报文的NAT处理前的业务流标识、进行NAT处理所采用的公网地址以及对应的下一跳IP地址对应保存到NAT会话表中;
所述判断模块401,进一步用于将所接收的业务流的除首报文以外的报文直接发送给NAT处理模块404;
所述NAT处理模块404,进一步用于在接收到业务流的除首报文以外的报文时,根据其业务流标识查询NAT会话表得到对应的公网地址,并根据该公网地址对该报文进行NAT处理后,按对应的下一跳IP地址进行转发。
如图4所示,该装置还进一步包括:NAT出接口分配表维护模块405,用于定时检查NAT出接口和其下一跳是否故障/恢复,如果故障/恢复则在NAT出接口分配表中删除/添加该故障/恢复的NAT出接口和其下一跳IP地址,并根据所述预设的均衡策略调整NAT出接口分配表中的对应关系。
综上所述,本发明这种预先定义逻辑均衡接口,并将需要进行NAT出接口均衡的业务流报文的出接口配置为逻辑均衡接口;当所接收报文为业务流的首报文时,判断该报文的出接口是否为逻辑均衡接口;如果是逻辑均衡接口,则根据该报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值,根据所述哈希值查询NAT出接口分配表得到一个NAT出接口;其中,所述NAT出接口分配表中保存有根据预设均衡策略所得到的哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;根据所得到的NAT出接口的NAT配置对所述报文进行NAT处理后,按所得到的NAT出接口的下一跳IP地址进行转发的技术方案,由于通过查询根据预设均衡策略配置的NAT出接口分配表获得报文的NAT出接口,因此可以提高均衡效果,并且只有对于出接口为逻辑均衡接口的报文依据NAT出接口分配表进行均衡处理,因此只要将访问与NAT转换接口直连的ISP网站的报文的出接口配置为非逻辑均衡接口,即可以避免不必要的跨ISP访问。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种网络地址转换NAT出接口均衡方法,其特征在于,预先定义逻辑均衡接口,并将需要进行NAT出接口均衡的业务流报文的出接口配置为逻辑均衡接口,所述需要进行NAT出接口均衡的业务流不包括访问与NAT出接口直连的互联网服务提供商ISP网站的业务流;则该方法包括:
当所接收报文为业务流的首报文时,判断该报文的出接口是否为逻辑均衡接口;
如果是逻辑均衡接口,则根据该报文的源IP地址,或者根据该报文的源IP地址和目的IP地址,或者根据该报文的源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值;
根据所述哈希值查询NAT出接口分配表得到一个NAT出接口;其中,所述NAT出接口分配表中保存有根据预设均衡策略所得到的哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;
根据所得到的NAT出接口的NAT配置对所述报文进行NAT处理后,按所得到的NAT出接口的下一跳IP地址进行转发。
2.如权利要求1所述的方法,其特征在于,访问与NAT出接口直连的ISP网站的业务流报文的出接口被配置为与该ISP网站直连的NAT出接口。
3.如权利要求1所述的方法,其特征在于,
所述预先定义逻辑均衡接口包括:预先定义一个以上的逻辑均衡接口,并将其分成一个以上的均衡组,每个均衡组至少包括一个逻辑均衡接口;
所述将需要进行NAT出接口均衡的业务流报文的出接口配置为逻辑均衡接口包括:配置一个接口配置表,该接口配置表中对应保存出接口、逻辑均衡接口标志位以及出接口所属的均衡组序号;其中,需要进行NAT出接口均衡的业务流报文的出接口对应的逻辑均衡接口标志位是有效值;
所述判断报文的出接口是否为逻辑均衡接口包括:根据报文出接口查询接口配置表,如果对应的逻辑均衡接口标志位为有效值,则该报文的出接口为逻辑均衡接口。
4.如权利要求3所述的方法,其特征在于,
所述NAT出接口分配表中保存有均衡组序号、哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;其中,对于不同的均衡组,根据不同的预设均衡策略得到哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;
在根据报文出接口查询接口配置表时,如果对应的逻辑均衡接口标志位为有效值,则该报文的出接口为逻辑均衡接口,并得到该出接口所属的均衡组序号;
然后,再根据均衡组序号和所述哈希值查询NAT出接口分配表得到一个NAT出接口。
5.如权利要求1所述的方法,其特征在于,该方法进一步包括:
将所述报文的NAT处理前的业务流标识、进行NAT处理所采用的公网地址以及对应的下一跳IP地址对应保存到NAT会话表中;
对于所接收的业务流的除首报文以外的报文,根据其业务流标识查询NAT会话表得到对应的公网地址,并根据该公网地址对该报文进行NAT处理后,按对应的下一跳IP地址进行转发。
6.如权利要求1所述的方法,其特征在于,所述根据预设均衡策略所得到的哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系包括:
为每个NAT出接口配置优先级权值;
根据每个NAT出接口的优先级权值以及哈希值的取值范围,确定每个NAT出接口所对应的哈希值个数,其中,优先级权值高的NAT出接口所对应的哈希值个数多。
7.如权利要求6所述的方法,其特征在于,该方法进一步包括:
定时检查NAT出接口和其下一跳是否故障/恢复,如果故障/恢复则在NAT出接口分配表中删除/添加该故障/恢复的NAT出接口和其下一跳IP地址,并根据所述预设的均衡策略调整NAT出接口分配表中的对应关系。
8.一种网络地址转换NAT出接口均衡装置,其特征在于,该装置应用于预先定义了逻辑均衡接口,并且业务流报文的出接口配置为逻辑均衡接口的应用中,所述需要进行NAT出接口均衡的业务流不包括访问与NAT出接口直连的互联网服务提供商ISP网站的业务流,则该装置包括:判断模块、哈希查询模块、存储模块、NAT处理模块,其中,
判断模块,用于在所接收报文为业务流的首报文时,判断该报文的出接口是否为逻辑均衡接口,是则将该报文发送给哈希查询模块;
存储模块,用于保存NAT出接口分配表,所述NAT出接口分配表中保存有根据预设均衡策略所得到的哈希值、NAT出接口和NAT出接口的下一跳IP地址;
哈希查询模块,用于根据所接收报文的源IP地址,或者根据所接收报文的源IP地址和目的IP地址,或者根据所接收报文的源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值,根据该哈希值查询NAT出接口分配表得到一个NAT出接口和对应的下一跳IP地址,并将所述报文以及所得到的NAT出接口和该NAT出接口的下一跳IP地址发送给NAT处理模块;
NAT处理模块,用于根据所得到的NAT出接口的NAT配置对所述报文进行NAT处理后,按所得到的NAT出接口的下一跳IP地址进行转发。
9.如权利要求8所述的装置,其特征在于,
所述预先定义逻辑均衡接口包括:预先定义一个以上的逻辑均衡接口,并将其分成一个以上的均衡组,每个均衡组至少包括一个逻辑均衡接口;
所述存储模块,还用于保存一个接口配置表,该接口配置表中对应保存出接口、逻辑均衡接口标志位以及出接口所属的均衡组序号;其中,需要进行NAT出接口均衡的业务流报文的出接口对应的逻辑均衡接口标志位是有效值;
所述判断模块,用于根据报文出接口查询接口配置表,如果对应的逻辑均衡接口标志位为有效值,则确定该报文的出接口为逻辑均衡接口。
10.如权利要求9所述的装置,其特征在于,
所述NAT出接口分配表中保存有均衡组序号、哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;其中,对于不同的均衡组,根据不同的预设均衡策略得到哈希值、NAT出接口和NAT出接口的下一跳IP地址之间的对应关系;
所述判断模块,用于在根据报文出接口查询接口配置表时,如果对应的逻辑均衡接口标志位为有效值,则该报文的出接口为逻辑均衡接口,并得到该出接口所属的均衡组序号,将该出接口所属的均衡组序号和报文一起发送给哈希查询模块;
所述哈希查询模块,用于在根据该报文的源IP地址/源IP地址和目的IP地址/源IP地址和目的IP地址以及协议类型,进行哈希运算得到一个哈希值之后,根据均衡组序号和哈希值查询NAT出接口分配表得到一个NAT出接口。
11.如权利要求8所述的装置,其特征在于,
所述NAT处理模块,进一步用于将所述报文的NAT处理前的业务流标识、进行NAT处理所采用的公网地址以及对应的下一跳IP地址对应保存到NAT会话表中;
所述判断模块,进一步用于将所接收的业务流的除首报文以外的报文直接发送给NAT处理模块;
所述NAT处理模块,进一步用于在接收到业务流的除首报文以外的报文时,根据其业务流标识查询NAT会话表得到对应的公网地址,并根据该公网地址对该报文进行NAT处理后,按对应的下一跳IP地址进行转发。
12.如权利要求8所述的装置,其特征在于,其特征在于,该装置进一步包括:NAT出接口分配表维护模块,用于定时检查NAT出接口和其下一跳是否故障/恢复,如果故障/恢复则在NAT出接口分配表中删除/添加该故障/恢复的NAT出接口和其下一跳IP地址,并根据所述预设的均衡策略调整NAT出接口分配表中的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100897105A CN101610296B (zh) | 2009-07-21 | 2009-07-21 | 一种网络地址转换出接口均衡方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100897105A CN101610296B (zh) | 2009-07-21 | 2009-07-21 | 一种网络地址转换出接口均衡方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101610296A CN101610296A (zh) | 2009-12-23 |
CN101610296B true CN101610296B (zh) | 2011-12-28 |
Family
ID=41483874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100897105A Expired - Fee Related CN101610296B (zh) | 2009-07-21 | 2009-07-21 | 一种网络地址转换出接口均衡方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101610296B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102131239B (zh) * | 2010-10-27 | 2013-10-02 | 华为技术有限公司 | 业务处理单元和方法以及业务控制网关和负载均衡方法 |
CN102170394B (zh) * | 2011-04-19 | 2014-02-12 | 杭州华三通信技术有限公司 | 一种报文转发方法及其装置 |
CN102333039B (zh) * | 2011-10-25 | 2014-09-17 | 华为技术有限公司 | 一种转发报文的方法、生成表项的方法及装置 |
CN102612205B (zh) | 2011-12-31 | 2014-12-31 | 华为技术有限公司 | 一种控制可视光源的方法、终端及视频会议系统 |
CN103595649A (zh) * | 2013-11-21 | 2014-02-19 | 迈普通信技术股份有限公司 | 实现负载均衡的方法和系统 |
CN104660729A (zh) * | 2015-02-13 | 2015-05-27 | 广东睿江科技有限公司 | 自动切换网络地址转换设备出口方法及网络地址转换设备 |
CN104994178B (zh) * | 2015-05-12 | 2019-05-03 | 广东睿江云计算股份有限公司 | 一种网络地址转换方法及装置 |
CN105100300B (zh) * | 2015-08-26 | 2020-07-28 | 北京星网锐捷网络技术有限公司 | 网络地址转换nat的方法及装置 |
CN107370672A (zh) * | 2016-05-11 | 2017-11-21 | 华为技术有限公司 | 路径选择的方法及装置 |
CN106254447B (zh) * | 2016-07-29 | 2019-10-18 | 北京华为数字技术有限公司 | 负载均衡方法、bras设备和sdn控制器 |
CN108011991B (zh) * | 2017-11-30 | 2021-12-07 | 新华三技术有限公司 | 数据流转发方法、主控板、接口板、引擎板及分布式防火墙 |
CN110855810B (zh) * | 2019-11-07 | 2022-07-12 | 北京天融信网络安全技术有限公司 | 一种nat转换方法、装置、网络安全设备及存储介质 |
CN116938805A (zh) * | 2022-03-31 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 数据包传输方法、装置、设备、存储介质及程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567907A (zh) * | 2003-06-14 | 2005-01-19 | 华为技术有限公司 | 一种网络地址资源的利用方法 |
CN101132424A (zh) * | 2007-09-29 | 2008-02-27 | 杭州华三通信技术有限公司 | 网络地址转换的方法及装置 |
-
2009
- 2009-07-21 CN CN2009100897105A patent/CN101610296B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567907A (zh) * | 2003-06-14 | 2005-01-19 | 华为技术有限公司 | 一种网络地址资源的利用方法 |
CN101132424A (zh) * | 2007-09-29 | 2008-02-27 | 杭州华三通信技术有限公司 | 网络地址转换的方法及装置 |
Non-Patent Citations (1)
Title |
---|
JP特開2005-341127A 2005.12.08 |
Also Published As
Publication number | Publication date |
---|---|
CN101610296A (zh) | 2009-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101610296B (zh) | 一种网络地址转换出接口均衡方法和装置 | |
CN104247371B (zh) | 以信息为中心的网络中的基于名称的邻居发现和多跳服务发现 | |
US9722928B2 (en) | Link policy routing based on link utilization | |
US8824286B2 (en) | Network aware global load balancing system and method | |
CN103650436B (zh) | 业务路径分配方法、路由器和业务执行实体 | |
US9754297B1 (en) | Network routing metering | |
US20100046537A1 (en) | Methods for intelligent nic bonding and load-balancing | |
CN112448900A (zh) | 一种数据传输方法及装置 | |
US10291584B2 (en) | Dynamic prioritization of network traffic based on reputation | |
Xie et al. | Supporting seamless virtual machine migration via named data networking in cloud data center | |
US11784912B2 (en) | Intelligently routing internet traffic | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
Li et al. | A new method for providing network services: Service function chain | |
CN102904825A (zh) | 一种基于Hash的报文传输方法和设备 | |
KR101841026B1 (ko) | 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템 | |
CN101610215B (zh) | 一种路由转发方法和一种网关设备 | |
US7764611B2 (en) | Sharing of network security and services processing resources | |
CN107948104A (zh) | 一种网络地址转换环境中报文转发的方法及交换设备 | |
Paszkiewicz et al. | Network load balancing for edge-cloud continuum ecosystems | |
Wang et al. | Low-latency service chaining with predefined NSH-based multipath across multiple datacenters | |
CN110300073A (zh) | 级联端口的目标选择方法、聚合装置及存储介质 | |
WO2015039616A1 (zh) | 一种报文处理方法及设备 | |
Yue et al. | Rule placement and switch migration-based scheme for controller load balancing in SDN | |
Urayama et al. | Virtual network construction with K‐shortest path algorithm and optimization problems for robust physical networks | |
Lin et al. | Proactive multipath routing with a predictive mechanism in software‐defined networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111228 Termination date: 20200721 |