Nat下快道转发系统的实现方法

文档序号:7891386阅读:231来源:国知局
专利名称:Nat下快道转发系统的实现方法
技术领域
本发明涉及一种NAT下的快道转发系统的实现方法,属于网络转发优化技术领域。
背景技术
互联网的日益盛行,IPv4地址日益匮乏,导致绝大部分的互联网用户无法直接使用公网IPv4地址访问互联网,只能以NAT地址转换共享公网IPv4方式访问互联网。网络设备的NAT地址转换性能,直接影响网络设备的转发效率。互联网应用缤纷多彩,娱乐、商务、语音、视频、信息安全服务等各种各样应用逐渐渗入人们的基本生活,对网络的带宽/转发效率也越来越高。现在网络设备己不仅是扮演网络报文转发者的角色,更多的会承载诸多的互联网应用如防火墙、关键字过滤、网络行为监控、用户认证、NAT地址转换等。随着网络设备承担互联网应用的增多,网络设备的转发性能逐渐成为系统瓶颈,极大的影响用户的网络应用体验。由于IPv4地址的缺乏,绝大多数的互联网用户均在NAT地址转换形式下访问互联网。随着互联网用户、网络设备承载互联网应用的增多,网络设备在网络中的转发性能势必受到极大的影响。用户访问互联网应用所产生的网络报文,除每一个网络报文需要进行NAT转换的同时,若每一个网络报文均受网络设备承载的应用分析如防火墙、关键字过滤、网络行为监控、用户认证等处理的话,势必导致处理单个网络报文所消耗的CPU时周期变长,直接影响CPU在单位时间内的网络报文转发性能。目前也存在采用专门的硬件模块来进行NAT转换与转发处理,以提高网络设备转发性能的解决方案。但在更新企业网络设备硬件的同时,也存在着昂贵的资金成本投入,废弃下来的网络设备在一定程度也是企业的资源浪费。实际上对于每个应用的每一条数据流相关的每一个网络报文,在流经网络设备确认允许转发后,该数据流后续相关的网络报文无需再移交给相关的互联网应用模块处理如防火墙、关键字过滤、网络行为监控、用户认证等,可直接采用网络报文所属流中的NAT信息/路由信息可移交由NAT下的快道转发系统进行转发处理,极大的缩短了单个网络报文所消耗的CPU时周期,CPU单位时间内的网络报文转发性能将成倍提升。

发明内容
本发明针对网络设备承载互联网应用增多、NAT地址转换转发效率低的不足,提供一种linux NAT下的快道转发系统的实现方法,以改善网络设备的转发性能。本发明的目的通过以下技术方案来实现
NAT下快道转发系统的实现方法,特点是在流的定义中增加一个属性快道,表示流是否移交由快道转发处理或是移交由网络层按默认的网络转发处理流程处理;在流的定义中增加一个属性路由,表示流相关网络报文关联的路由信息,在快道转发流相关网络报文时使用,避免二次路由查询,提高网络报文处理效率;在流定义中增加一属性流标记位,表示向关注流的模块提供快道转发流关注标记位,若模块流关注流标记置位,则模块允许流相关网络报文移交由快道转发,否则流相关网络报文需继续移交由模块处理,当流所有关注模块将关注流标记置位后,流后续相关网络报文将移交快道转发。进一步地,上述的NAT下快道转发系统的实现方法,输入为需要转发的网络报文,首先获取网络报文对应的流,如果获取不到则网络报文移交网络层按默认的网络转发处理流程转发,由Linux conntrack模块建立网络报文所属的流,否则检查网络报文所属流的快道属性,若网络报文所属流的快道属性置位则移交由快道转发系统处理转发网络报文,否则网络报文移交网络层按默认的网络转发处理流程转发;
当网络报文移交网络层按默认的网络转发处理流程转发时,建立网络报文所属的流,同时移交关注流的互联网应用模块分析处理网络报文,以便对网络报文所属流的流标记位属性进行置位,最终决定网络报文所属流对关注流的互联网应用模块是否允许快道转发并对网络报文所属流的快道属性置位,同时在经由网络层路由查询后,将网络报文查询到的路由信息与网络报文所属流的路由属性进行流路由信息关联; 当网络报文移交由快道转发系统处理转发网络报文时,首先对网络报文进行NAT转换,再根据网络报文所属流的路由属性获取网络报文路由信息转发网络报文。本发明技术方案突出的实质性特点和显著的进步主要体现在
本发明提出NAT快道转发的方法,极大的提高了网络设备NAT转发性能;提出流绑定路由信息,缩短己建立流的网络报文路由查询时间;提出流标记位,允许互联网应用关注该流而不仅是该流的网络报文,当所有互联网应用不再关注该流时,该流后续相关网络报文直接进行NAT快道转发,不再移交互联网应用处理,大大减少CPU资源消耗。


下面结合附图对本发明技术方案作进一步说明
图I :NAT快道转发快道流处理流程示意 图2 =NAT快道转发非快道流处理流程示意 图3 =NAT快道转发事件处理流程示意图。
具体实施例方式利用Linux现有的流结构、NAT信息、路由信息,提出了 NAT下的快道转发思想,将NAT下的网络转发改进为NAT下的快道转发,极大的提高了系统的转发性能。通过在流定义中增加“快道”、“路由”、“流标记位”,实现NAT下的快道转发系统,以达到在NAT下快速转发网络报文提高网络设备转发性能的目的。以下将阐述具体实现办法。在网络中一条IP或TCP或UDP或其它协议的连接,最终均可归结为网络设备中的一条流,流中最基本的信息可包含如下属性源地址、源端口、目的地址、目的端口、网络协议、NAT等,在实际应用中可根据需要进行扩展。在NAT下的快道转发系统的设计中,在流定义中增加属性“快道”,表示该流是否移交由快道转发处理或是移交由网络层按默认的网络转发处理流程处理;在流的定义中增加属性“路由”,表示该流相关网络报文关联的路由信息,在快道转发流相关网络报文时使用,避免二次路由查询,提高网络报文处理效率;在流定义中增加属性“流标记位”,表示向关注该流的互联网应用模块提供快道转发流关注标记位,若互联网应用模块流关注流标记置位,则该互联网应用模块允许该流相关网络报文移交由快道转发,否则该流相关网络报文需继续移交由该互联网应用模块处理,该“流标记位”属性的设计,既能支持快道转发系统的快道转发决策,又能支持互联网应用对特定流相关的网络报文进行处理。下面将以HTTP下载为例,简要说明NAT下快道转发系统的设计方法
I)内网客户端通过TCP协议发起连接,经由网络设备转发至公网服务器HTTP连接。2) TCP连接发起并经由设备转发时,网络设备根据网络报文内的源地址、源端口、目的地址、目的端口、网络协议与NAT信息建立针对该连接的流。快道转发系统根据源/目地地址等相关信息查询路由并绑定至流定义中的“路由”属性。3)互联网应用模块如防火墙、关键字过滤、网络行为监控、用户认证等在加载时向快道转发系统申请在流的“流标记位”属性 。互联网应用模块,在经过一系列的网络报文处理后,确认不关注该流后续相关网络报文,则可将互联网应用模块流关注的“流标记位”置位,表示该互联网应用模块允许快道转发该流后续相关的网络报文,该流后续相关的网络报文不再移交该互联网应用模块处理。4)当关注该流的所有互联网应用模块,将流关注的“流标记位”置位后,快道转发系统综合决策认为该流可进行快道转发,则将流的“快道”属性进行置位,表示该流后续相关网络报文将由快道转发系统处理。5)该流的所有HTTP下载相关的网络报文至达设备后,首先检查流的“快道”属性是否置位,若置位则直接移交快道转发系统根据流中的“NAT”、“路由”属性处理转发网络报文,极大的缩短了处理转发网络报文占用的CPU时时钟周期,网络设备单位时间内处理网络报文的效率将成倍提升,内网客户端与公网服务器间的HTTP下载速率将明显上升。NAT下的快道转发系统具体流程为①输入为需要转发的网络报文,首先获取网络报文对应的流,如果获取不到则网络报文移交网络层按默认的网络转发处理流程转发,以便由Linux conntrack模块根据网络报文信息、NAT地址转换信息建立所属的流。否则检查网络报文所属流的“快道”属性,若网络报文所属流的“快道”属性置位则移交由快道转发系统处理转发网络报文,否则网络报文移交网络层按默认的网络转发处理流程转发。②当网络报文移交网络层按默认的网络转发处理流程转发时,若该网络报文所属流未建立,则先由Linux conntrack模块根据网络报文信息、NAT地址转换信息建立所属的流。同时移交关注该流的互联网应用模块[如防火墙、关键字过滤等]分析处理网络报文,以便对网络报文所属流的“流标记位”属性进行置位,最终决定网络报文所属流对关注该流的互联网应用模块是否允许快道转发并对网络报文所属流的“快道”属性置位。同时在经由网络层路由查询后,将网络报文查询到的路由信息与网络报文所属流的“路由”属性进行流路由信息关联,避免在快道转发系统转发处理网络报文时进行二次路由查询。③当网络报文移交由快道转发系统处理转发网络报文时,由快道转发系统对网络报文进行NAT转换,根据网络报文所属流的“路由”属性获取网络报文路由信息转发网络报文。NAT下的快道转发系统的设计方法的提出,是对网络设备传统网络层转发处理网络报文的路径的优化精简,极大的缩短了处理转发网络报文占用的CPU时时钟周期,网络设备CPU单位时间内处理网络报文的效率将成倍提升。NAT下的快道转发系统相关处理流程如下图I所示NAT快道转发处理流程,输入为网络设备转发网络报文。首先获取网络报文所属的流,获取不到或流“快道”属性未置位网络报文则移交由NAT快道非快道流处理流程即按默认的网络转发处理流程转发(如图2)。若网络报文所属的流“快道”属性置位,则移交NAT快道转发系统转发,相关步骤说明如下1)NAT地址转换,其中包含SNAT源地址转换或DNAT目的地址转换;2)获取流“路由”属性,根据路由信息转发网络报文;若流“路由”属性未与路由信息关联,则对网络报文进行路由查询;查询成功则将路由信息与流“路由”属性关联,避免后续转发该流相关网络报文时进行二次路由查询,以提高路由转发效率;若路由查询失败,则直接丢弃网络报文并返回。图2所示NAT快道转发非快道流处理流程,输入为网络设备转发网络报文。当网络报文获取不到或流“快道”属性未置位网络报文则移交由NAT快道非快道流处理流程即按默认的网络转发处理流程转发,相关步骤说明如下1)若网络报文在网络设备中未建立流,则根据网络报文内的源地址、源端口、目的地址、目的端口、网络协议建立流结构;2)检查网络报文是否需进行NAT转换若需要,则在流设置流的“NAT”属性,并对网络报文进行NAT转换;3)获取流“路由”属性,根据路由信息转发网络报文;若流“路由”属性未与路由信息关联,则对网络报文进行路由查询。查询成功则将路由信息与流“路由”属性关联,避免后续转发该流相关网络报文时进行二次路由查询。路由查询失败则直接丢弃网络报文并返回;网络报文按默认网络转发处理流程移交至互联网应用模块,进行分析处理。若互联网应用模块不再关注该流后续网络报文,则将互联网应用模块流标记位”属性进行置位,表示该流后续相关网络报文无需再移交该互联网应用模块处理,否则将该流后续相关网络报文将继续移交该互联网应用模块处理;4)检查流中所有互联网应用模块流标记位属性是否全部置位,若是表明所有互联网应用模块不在关注该流后续相关网络报文,则将流“快道”属性置位,该流后续相关网络报文将由NAT快道转发系统进行快道转发(如图1),无需再移交由默认的且处理效率低下的网络转发流程处理。如图3 NAT快道转发事件响应处理流程,输入NAT快道转发系统外部事件,相关步骤说明如下1)互联网应用模块注册申请流“流标记位”属性事件,NAT下的快道转发系统为互联网应用模块提供关注流的“流标记位”属性,互联网应用模块通过对流的“流标记位”属性的置位来表明是否继续关注该流后续相关网络报文。流的“流标记位”属性可在互联网应用模块在初始化时向NAT下的快道转发系统注册申请;2)流销亡事件,在网络中一条IP或TCP或UDP或其它协议的连接,在完成数据传输或异常情况会将连接关闭,网络设备内部与该连接对应的流也会随之销亡。若该流己在快道转发系统中存在记录,则将该流从快道转发系统中删除;3)网络设备路由变更事件。快道转发系统内快道转发的流通过流“路由”属性与路由信息关联,避免后续转发该流相关网络报文时进行二次路由查询,以提高路由转发效率。因此当网络设备路由变更时,快道转发系统需对快道转发的流的“路由”属性进行刷新,确保该流后续相关网络报文按正确的路由信息进行转发。 虽然NAT下的快道转发系统的设计极大的提升了网络设备转发性能,但在某些应用场景下的某种连接无法通过快道转发系统进行转发。譬如内网搭建FTP服务器,用户采用端口映射技术访问网络设备公网IPv4地址进而访问内网的搭建FTP服务器下载数据时,FTP数据连接可通过NAT下的快道转发系统转发,FTP控制连接必须移交由ALG应用层网关模块处理修改网络报文应用层相关字段而无法移交由NAT下的快道转发系统转发。对于类似应用场景,NAT下的快道转发系统需正确识别控制流与数据流,不同类型的连接采用相应的转发方式,以达到优化转发路径,改善网络设备转发性能的目的。同时可考虑将ALG应用层网关模块整合至NAT下的快道转发系统内部,但随着NAT下的快道转发系统内部整合ALG应用层网关模块逐渐增多,将极大影响NAT下的快道转发系统网络报文转发效率。因此对一些特殊的应用场景,NAT下的快道转发系统应区分对待,以达到高效、快速转发网络报文的目的。综上所述,本发明提出了一种新型的转发模型,在网络设备原有转发系统的的基础上新增快道转发系统。在流定义中增加“快道”属性,标识快道转发流。在流定义中增加“路由”属性,关联流路由信息发时使用,避免在转发过程中二次查询路由。在流定义中增加“流标记位”属性,兼顾互联网应用模块关注流相关网络报文的处理。对传统网络设备转发处理网络报文的路径的优化精简,极大的缩短了处理转发网络报文占用的CPU时时钟周期,网络设备CPU单位时间内处理网络报文的效率将成倍提升。 需要理解到的是以上所述仅是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.NAT下快道转发系统的实现方法,其特征在于在流的定义中增加一个属性快道,表示流是否移交由快道转发处理或是移交由网络层按默认的网络转发处理流程处理;在流的定义中增加一个属性路由,表示流相关网络报文关联的路由信息,在快道转发流相关网络报文时使用,避免二次路由查询,提高网络报文处理效率;在流定义中增加一属性流标记位,表示向关注流的模块提供快道转发流关注标记位,若模块流关注流标记置位,则模块允许流相关网络报文移交由快道转发,否则流相关网络报文需继续移交由模块处理,当流所有关注模块将关注流标记置位后,流后续相关网络报文将移交快道转发。
2.根据权利要求I所述的NAT下快道转发系统的实现方法,其特征在于输入为需要转发的网络报文,首先获取网络报文对应的流,如果获取不到则网络报文移交网络层按默认的网络转发处理流程转发,由Linux conntrack模块建立网络报文所属的流,否则检查网络报文所属流的快道属性,若网络报文所属流的快道属性置位则移交由快道转发系统处理转发网络报文,否则网络报文移交网络层按默认的网络转发处理流程转发; 当网络报文移交网络层按默认的网络转发处理流程转发时,建立网络报文所属的流,同时移交关注流的互联网应用模块分析处理网络报文,以便对网络报文所属流的流标记位属性进行置位,最终决定网络报文所属流对关注流的互联网应用模块是否允许快道转发并对网络报文所属流的快道属性置位,同时在经由网络层路由查询后,将网络报文查询到的路由信息与网络报文所属流的路由属性进行流路由信息关联; 当网络报文移交由快道转发系统处理转发网络报文时,首先对网络报文进行NAT转换,再根据网络报文所属流的路由属性获取网络报文路由信息转发网络报文。
全文摘要
本发明涉及NAT下快道转发系统的实现方法,在流的定义中增加一个属性快道,表示流是否移交由快道转发处理或是移交由网络层按默认的网络转发处理流程处理;在流的定义中增加一个属性路由,表示流相关网络报文关联的路由信息,在快道转发流相关网络报文时使用,避免二次路由查询,提高网络报文处理效率;在流定义中增加一属性流标记位,表示向关注流的模块提供快道转发流关注标记位,若模块流关注流标记置位,则模块允许流相关网络报文移交由快道转发,否则流相关网络报文需继续移交由模块处理,当流所有关注模块将关注流标记置位后,流后续相关网络报文将移交快道转发。提出NAT快道转发的方法,极大的提高了网络设备NAT转发性能。
文档编号H04L29/12GK102624624SQ201210064588
公开日2012年8月1日 申请日期2012年3月13日 优先权日2012年3月13日
发明者刘继明, 曾宏宽, 林恩峰, 王东泉, 谢炜 申请人:网经科技(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1