用于高效的网络地址转换和应用层网关处理的装置和方法制造方法及图纸

技术编号:10345899 阅读:178 留言:0更新日期:2014-08-22 11:04
公开了用于高效的NAT和ALG处理的装置和方法。示例性的方法包括下面的操作:对通过连接所接收的分组进行深度扫描,以确定要对该分组执行的应用层网关(ALG)处理;将该连接与ALG处理进行关联;以及基于所述关联,对通过该连接所接收的额外分组进行转发以接收ALG处理,使得绕过对这些额外的分组的深度扫描。示例性的装置包括:处理器,其用于对通过连接所接收的分组进行深度扫描,以确定要对该分组执行的ALG处理;数据库,其用于将该连接与ALG处理进行关联;以及分组发射机,其用于基于所述关联,对通过该连接所接收的其它分组进行转发以接收ALG处理,使得绕过对这些额外的分组的深度扫描。

【技术实现步骤摘要】
【国外来华专利技术】
概括地说,本申请涉及无线通信系统的操作,具体地说,本申请涉及实现高效的分组路由。
技术介绍
网络地址转换(NAT)用于扩展网络的可使用地址空间。在一种实现中,NAT模块只转换数据分组的IP/传输报头信息。这影响在数据分组有效载荷中向它们的对等体传输网络IP/端口信息的应用,这是由于NAT模块不对该信息进行转换。由于NAT模块可能拒绝这些IP/端口上的输入分组连接,因此这导致丢弃的分组。应用层网关(ALG)通过将应用有效载荷中嵌入的IP/端口信息转换成NAT外部的IP/端口,来实现特定于应用的NAT穿越(traversal)。ALG可以与NAT模块交互以允许输入的数据连接,或者在NAT模块与外部领域中的对等体通信的后台,执行实现应用所需要的其它操作。不幸地,在传统系统中,ALG是特定于应用的,并且由于它们对应用有效载荷进行解析来搜索嵌入的IP/端口信息,因此引入了显著的处理延迟。如果在NAT处理路径中直接引入这些延迟,则这些延迟可能影响所有分组流,从而导致往返时间(RTT)的不适当的增加,并且因此还使整个吞吐量下降。另外,无线嵌入设备(或者移动路由器)在CPU带宽方面受到限制,这意味着NAT处理的增加将影响通用系统性能。此外,由于ALG增加而导致的增加的NAT处理还将使移动路由器消耗更多的功率,这导致电池的更快速消耗和频繁的充电。因此,期望具有一种提供高效的NAT和ALG处理以克服如上所述的与传统系统相关联的问题的系统。
技术实现思路
在一个或多个示例性实施例中,提供了一种用于提高路由器(例如,移动路由器)中的NAT-ALG处理的效率的包括装置和方法的系统。在一个示例性实施例中,维持用于将特定连接的分组与选择的ALG处理相关联的数据库。当接收到额外的分组时,可以根据该数据库容易地且快速地确定针对每一个分组所需要的ALG处理,从而避免需要对每一个分组进行深度扫描并且查找ALG规则来确定其ALG处理需求。每一个ALG处理还包括其自己的输入/输出队列,因此进一步增加了 NAT处理效率。在一个方面,提供了一种用于进行分组路由的方法,该方法包括:对通过选择的连接接收的分组进行深度扫描,以确定要对所述分组执行的选择的应用层网关(ALG)处理;将所选择的连接与所选择的ALG处理进行关联;以及基于所述关联,对通过所选择的连接接收的额外分组进行转发以接收所选择的ALG处理,使得绕过对所述额外分组的深度扫描。在一个方面,提供了一种用于进行分组路由的装置,该装置包括:处理器,其被配置为对通过选择的连接接收的分组进行深度扫描,以确定要对所述分组执行的选择的应用层网关(ALG)处理;数据库,其被配置为将所选择的连接与所选择的ALG处理进行关联;以及分组发射机,其被配置为基于所述关联,对通过所选择的连接接收的额外分组进行转发以接收所选择的ALG处理,使得绕过对所述额外分组的深度扫描。在一个方面,提供了 一种用于进行分组路由的装置,该装置包括:用于对通过选择的连接接收的分组进行深度扫描,以确定要对所述分组执行的选择的应用层网关(ALG)处理的单元;用于将所选择的连接与所选择的ALG处理进行关联的单元;以及用于基于所述关联,对通过所选择的连接接收的额外分组进行转发以接收所选择的ALG处理,使得绕过对所述额外分组的深度扫描的单元。在一个方面,提供了一种用于进行分组路由的计算机程序产品。所述计算机程序产品包括非临时性计算机可读介质,非临时性计算机可读介质体现可由处理器执行以进行以下操作的指令:对通过选择的连接接收的分组进行深度扫描,以确定要对所述分组执行的选择的应用层网关(ALG)处理;将所选择的连接与所选择的ALG处理进行关联;以及基于所述关联,对通过所选择的连接接收的额外分组进行转发以接收所选择的ALG处理,使得绕过对所述额外分组的深度扫描。在阅读下文阐述的对附图、【具体实施方式】和权利要求书的简短描述以后,其它方面将变得显而易见。【附图说明】参照下面结合附图给出的详细描述,本文描述的上述方面将变得更加显而易见,其中:图1示出了用于在路由器使用的传统NAT配置;图2示出了用于高效的NAT和ALG处理的装置的示例性实施例;图3示出了示例性NAT查找模块;图4示出了示例性分类模块;图5示出了示例性规则数据库;图6示出了示例性连接数据库;图7描绘了用于执行NAT处理的示例性方法,其中该方法减少分组扫描需求和对ALG规则的表格查找,从而提供增加的效率;图8示出了用于分组分类和传输的示例性方法;[0021 ]图9示出了示例性NAT查找装置;图10示出了示例性分组分类装置;图11描绘了用于执行减少分组扫描需求的NAT处理的示例性方法;以及图12示出了用于分组分类和传输的示例性方法。【具体实施方式】下面的说明描述了用于提高路由器(例如,移动路由器)中的NAT-ALG处理的效率的包括装置和方法的系统。该系统特别适合于结合移动设备来使用,但也可以结合作为路由器进行操作的任何类型的设备来使用。图1示出了用于在路由器使用的传统NAT配置100。配置100包括NAT装置102,NAT装置102通过局域网(LAN)连接104来接收和发送分组。NAT装置102包括NAT查找模块106、一个或多个ALG引擎108和NAT处理模块110。在操作期间,从LAN接收的分组流到NAT查找模块106,其中在NAT查找模块106处,对这些分组进行扫描以确定要执行哪一种ALG处理(如果有的话)。例如,ALG处理操作以根据这些分组的有效载荷来确定任何应用规范信息,其中该信息将在对这些分组进行路由时使用。在扫描之后,将这些分组传送给适当的ALG引擎108。在ALG引擎108进行的处理之后,这些分组流到NAT处理模块110,其中在NAT处理模块110处,确定用于这些分组的目的地路由地址。随后,在广域网(WAN)连接112上将这些分组发送给目的地地址。对于在相反的方向上行进的分组,该处理是相反的。NAT配置100描绘了用于执行ALG处理的次最佳配置,这是由于直接在NAT数据路径中处理这些分组。由ALG引擎处理的分组可以造成当处理在输入队列中等待的其它分组时发生延迟,这导致建立输入队列,从而增加所有分组流的RTT。如果ALG处理任务不够快,则队列可能被快速地建立,从而导致分组丢失。对于TCP连接,这转换成可能的超时和回退,并最终造成较低的吞吐量。维持的同步处理还造成CPU的不高效使用,从而减少了系统的空闲时间并且增加了电池消耗。图2示出了用于高效的NAT和ALG处理的系统200的示例性实施例。在各种实现中,针对LAN和WffAN处理或者为了处理与任何类型的连接相关联的分组,可以对称/非对称地布置ALG处理。系统200使ALG处理是异步的,并且执行至少下面四个主要功能。1、分组查找2、分类和异步分组操纵3、有效载荷转换4、分组路由系统200包括NAT查找模块202、分类和异步分组操纵器206 (其还称为“分组操纵器”)和NAT处理模块212。系统200还包括一个或多个ALG引擎208,并且每一个ALG引擎包括相关联的输入/输出队列210。使用关于如何对与特定的应用相关联的分组进行处理的规则,来对NAT查找模块202进行初始化。例如,每一个ALG引擎208向NAT查找本文档来自技高网...

【技术保护点】
一种用于进行分组路由的方法,包括:对通过选择的连接接收的分组进行深度扫描,以确定要对所述分组执行的选择的应用层网关(ALG)处理;将所述选择的连接与所述选择的ALG处理进行关联;以及基于所述关联,对通过所述选择的连接接收的额外分组进行转发以接收所述选择的ALG处理,并且其中对所述额外分组的深度扫描被绕过。

【技术特征摘要】
【国外来华专利技术】2011.12.19 US 13/330,5291.一种用于进行分组路由的方法,包括: 对通过选择的连接接收的分组进行深度扫描,以确定要对所述分组执行的选择的应用层网关(ALG)处理; 将所述选择的连接与所述选择的ALG处理进行关联;以及 基于所述关联,对通过所述选择的连接接收的额外分组进行转发以接收所述选择的ALG处理,并且其中对所述额外分组的深度扫描被绕过。2.根据权利要求1所述的方法,还包括: 维持对与一个或多个ALG处理相关联的一个或多个规则分别进行标识的规则数据库;以及 确定所述分组满足 所述一个或多个规则中的哪一些,以确定所述选择的ALG处理。3.根据权利要求1所述的方法,所述关联包括:维持将所述选择的连接与所述选择的ALG处理进行关联的连接数据库。4.根据权利要求1所述的方法,所述深度扫描包括:对分组报头和分组有效载荷中的至少一个进行扫描,以确定要对所述分组执行的所述选择的应用层网关(ALG)处理。5.根据权利要求1所述的方法,所述转发包括:使用ALG处理信息标记所述分组和所述额外分组以形成标记的分组,并且其中所述ALG处理信息包括标识要执行的所述选择的ALG处理的信息。6.根据权利要求5所述的方法,还包括: 接收所述标记的分组; 基于与每一个标记的分组相关联的所述ALG处理信息,确定针对每一个标记的分组是否需要任何ALG处理; 如果确定针对选择的标记分组需要ALG处理,则将所述选择的标记分组分别传送给选择的ALG引擎,以接收ALG处理;以及 如果确定针对其它标记分组不需要ALG处理,则向网络地址转换(NAT)处理模块发送所述其它标记分组。7.根据权利要求6所述的方法,所述传送包括:将所述选择的标记分组分别输入到与所述选择的ALG引擎相关联的选择的输入队列。8.根据权利要求6所述的方法,还包括: 从所述选择的ALG引擎接收经处理的分组;以及 将所述经处理的分组转发给所述NAT处理模块。9.根据权利要求8所述的方法,所述接收包括:分别从与所述选择的ALG引擎相关联的选择的输出队列接收所述经处理的分组。10.一种用于进行分组路由的装置,包括: 处理器,其被配置为对通过选择的连接接收的分组进行深度扫描,以确定要对所述分组执行的选择的应用层网关(ALG)处理; 数据库,其被配置为将所述选择的连接与所述选择的ALG处理进行关联;以及分组发射机,其被配置为基于所述关联,对通过所述选择的连接接收的额外分组进行转发以接收所述选择的ALG处理,并且其中对所述额外分组的深度扫描被绕过。11.根据权利要求10所述的装置,所述处理器被配置为:维持对与一个或多个ALG处理相关联的一个或多个规则分别进行标识的规则数据库;以及 确定所述分组满足所述一个或多个规则中的哪一些,以确定所述选择的ALG处理。12.根据权利要求10所述的装置,所述数据库被配置为:维持连接和ALG处理之间的关联。13.根据权利要求10所述的装置,所述处理器被配置为:对分组报头和分组有效载荷中的至少一个进行深度扫描,以确定要对所述分组执行的所述选择的应用层网关(ALG)处理。14.根据权利要求10所述的装置,所述处理器被配置为:使用ALG处理信息标记所述分组和所述额外分组以形成标记的分组,并且其中所述ALG处理信息包括标识要执行的所述选择的ALG处理的信息。15.根据权利要求10所述的装置,还包括: 第一接口,其被配置为接收所述标记的分组; 第二处理器,其被配置为基于与每一个标记的分组相关联的所述ALG处理信息,确定针对每一个标记的分组是否需要ALG处理; 第二分组发射机,其被配置为如果确定针对选择的标记分组需要ALG处理,则将所述选择的标记分组分别传送给选择的ALG引擎,以接收ALG处理;以及 第二接口,其被配置为如果确定针对其它标记分组不需要ALG处理,则向网络地址转换(NAT)处理模块发送所述其它标记分组。16.根据权利要求15所述的装置,所述第二分组发射机被配置为将所述选择的标记分组分别传送到与所述选择的ALG引擎相关联的选择的输入队列。17.根据权利要求15所述的装置,还包括: 分组接收机,其被配置为从所述选择的ALG引擎接收经处理的分组;以及 所述第二接口,其被配置为向所述NAT处理模块发送所述经处理的分组。18.根据权利要求17所述的装置,所述分组接收机被配置为分别从与所述选择的ALG引擎相关联的选择的输出队列接收所述经处理的分组。19.一种用于进行分组路由的装置,包括: 用于对通过选择的连接接收的分组进行深度扫描,以确定要对所述分组执行的选择的应用层网关(ALG)处理的单元; 用于将所述选择的连接与所述选择的ALG处理进行关联的单元;以及用于基于所述关联,对通过所述选择的连接接收的额外分组进行转发以接收所述选择的ALG处理的单元,并且其中对所述额外分组的深度扫描被绕过。20.根据权利要求19所述的装置,还包括: 用于维持对与一个或多个ALG处理相关联的一个或多个规则分别进行标识的规则数据库的单元;以及 用于确定所述分组满足所述一个或多个规则中的哪一些,以确定所述选择的ALG处理的单元。21.根据权利要求19所述的装置,所述用于关联的单元包括:用于维持将所述选择的连接与所述选择的ALG处理进行关联的连接数据库的单元。22.根据权利要求19所述的装置,所述用于深度扫描的单元包括:用于对分组报头和分组有效载荷中的至少一个进行深度扫描,以确定要对所述分组执行的所述选择的应用层网关(ALG)处理的单元。23.根据权利要求19所述的装置,所述用于转发的单元包括:用于使用A...

【专利技术属性】
技术研发人员:V·S·K·万格拉A·米特拉R·特里帕蒂
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1