协同NAT行为发现制造技术

技术编号:5404726 阅读:231 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种用于促进网络地址转换器(NAT)的穿透的方法和装置。例如,配置为通过网络与一个或多个其它节点相通信的节点可以通过以下手段促进NAT穿透:a)用该节点确定有关一个或多个NAT的行为的信息;并且以该信息可供一个或多个其它节点检索的方式存储该信息;或者b)检索有关一个或多个其它节点获得的一个或多个NAT的行为的信息,并且使用该信息穿透一个或多个NAT。

【技术实现步骤摘要】
【国外来华专利技术】协同NAT行为发现优先权声明本申请要求共同受让的2007年7月27日申请的美国专利申请11/829831的优先权的益处,该申请全文在本文中引入以作为参考。
本专利技术涉及计算机网络通信,更具体的是涉及在单一应用程序(application)中区分不同通信信道之间的网络业务优先级。
技术介绍
计算系统越来越多地通过网络环境互连。该网络环境可以是集中的或者分散的。分散的计算环境可以由多个互连以彼此通信的计算系统限定,其中每个计算系统既能执行客户端功能又能执行服务器功能。对等(P2P)网络表示了分散计算环境的实例,其中将P2P网络内的每个计算系统限定为该网络内每个其它计算系统的对等方。为了便于讨论,将P2P网络内的每个对等计算系统称作节点。此外,P2P网络内的每个节点可以配置成执行具有基本上等效功能的软件。因此,每个节点既可以充当P2P网络上数据和服务的供应者,又能充当使用者。对等网络是没有任何集中分级或者组织的分布式数据网络。对等数据网络提供了一种稳固并且灵活的在大量计算机或者其它信息设备(统称为节点)之间传送信息的手段。P2P网络主要依赖于网络中参与者的带宽以及计算能力,而不是将其集中在相对少量的服务器上。P2P网络通常用于主要经由adhoc连接来连接节点。这种网络用于许多用途。可以将P2P网络用于例如共享包含音频、视频、数据或者非常常见的数字格式的任何内容的内容文件,还可以利用P2P技术传送诸如电话业务的实时数据。P2P应用程序通常包括使用网络地址转换器(NAT)来促进对等方之间的直接通信。NAT通常允许用户使多个联网的计算机共用单个(全局的或者可路由的)IP地址来访问因特网。NAT介入直接通信,因此在许多情况中,P2P应用程序不得不处理由于NAT导致的连接性问题。用于克服连接性问题的技术通常称作“NAT穿透(NATtraversal)”。网络地址转换(NAT,也称作网络伪装、本地地址转换或者IP伪装)的过程通常包括在网际协议(IP)分组穿过路由器或者防火墙时改写该网际协议分组的源和/或目的地地址。利用NAT的大多数系统都这样做,以便能够使私有网络上的多个主机能够访问广域网,例如利用单一的公共IP地址的因特网。除了NAT方便和成本低之外,在某些情形下,缺乏完全双向连接性可以视为特征而非局限。在NAT依赖于本地网上的机器以启动到路由器另一侧上主机的任何连接的程度上,其防止了由外部主机启动的恶意活动到达这些本地的主机。这可以通过阻止病毒来增强本地系统的可靠性以及通过阻碍扫描来增强保密性。许多NAT使能的防火墙将此用作它们提供的保护的核心。许多网络管理员发现NAT是一种方便的技术并且广泛使用。但是,NAT会使主机之间的通信变复杂,并且可以对性能产生影响。在典型配置中,本地网可以使用指定的“私有”IP地址子网之一,并且该网络上的路由器具有在该地址空间中的私有地址。路由器可能利用因特网服务供应商(ISP)分配的单一“公共”地址(称作“超载”NAT)或者多个“公共”地址与因特网连接。随着业务从本地网传递到因特网,每个分组中的源地址动态地(onthefly)从私有地址转换成公共地址。路由器跟踪有关每个活动连接的基本数据(特别是目的地地址和端口)。有时将该内部“跟踪”数据称作“NAT绑定”。当应答返回到路由器时,其使用在外发(outbound)阶段期间存储的连接跟踪数据来确定在内部网络上的什么位置转发该应答;在分组返回时,在超载NAT的情况下TCP或者UDP客户端端口号用于多路分配(demultiplex)该分组,或者当多个公共地址可用时IP地址和端口号用于多路分配该分组(theTCPorUDPclientportnumbersareusedtodemultiplexthepacketsinthecaseofoverloadedNAT,orIPaddressandportnumberwhenmultiplepublicaddressesareavailable,onpacketreturn)。对于因特网上的系统而言,路由器本身好像是该业务的源/目的地。NAT使能的路由器之后的节点不具有真正的端到端连接性(即在不需要中间网络元件进一步解释分组的情况下,无法向该网络的所有其它节点发送该分组),并且不能参与某些网际协议。对于这些节点,需要启动从外部网络的TCP连接或者诸如利用UDP的那些协议的无状态协议的服务可能中断,除非NAT路由器进行了特定的努力以支持所述协议,因此输入的分组无法到达其目的地。某些协议能够适应参与主机之间的NAT的一个实例(例如“被动模式”FTP),有时是在应用层网关的辅助下,但是当这两个系统被NAT与因特网分开时会失效。如果NAT以妨碍对隧道协议的完整性检查的方式修改了报头中的值,则使用NAT还会使隧道协议(例如Ipsec)变复杂。任何希望与网络连接的IP使能的应用程序潜在地都会面对与NAT相关的问题。大多数运行专用网络应用软件的网络应用程序和设备,特别是对等类型应用程序可以配置为独立地确定它们所在的物理网络拓扑,以便最好地建立与其它应用程序的直接通信。这通常称作“NAT行为发现”或者“NAT行为确定”。虽然存在一些变化的方法,但这种操作是本领域公知的。现有方法通常可能花费大量时间来确定NAT行为。如果多个应用程序必须进行NAT发现,则现有NAT发现技术也会出现问题。鉴于此,提出了本专利技术的实施例。附图说明结合附图考虑以下的详细说明,可以容易地理解本专利技术的实施例,在附图中:图1是根据本专利技术实施例的配置为实现NAT行为发现的网络的框图。图2A是示出确定NAT行为的现有技术方法的流程图。图2B-2D是示出根据本专利技术实施例的确定NAT行为的方法的流程图。图3A是根据本专利技术可选实施例的配置为利用NAT代理实现NAT行为发现的网络的框图。图3B是示出根据本专利技术可选实施例的利用NAT代理进行NAT行为发现的方法的流程图。图4是示出包含多个NAT之后的节点的根据本专利技术实施例的NAT行为发现的框图。图5是示出包含无线节点的根据本专利技术实施例的NAT行为发现的框图。图6是根据本专利技术实施例的配置为实现NAT行为发现的节点的框图。具体实施方式尽管以下的详细说明为了说明的目的包含许多特定的细节,但是本领域普通技术人员可以理解,对于以下细节的许多变型和替换均在本专利技术的范围之内。因此,提出的下述本专利技术示例性实施例不失所要求保护的专利技术的一般性并且无意限制本专利技术。技术背景在涉及NAT的应用程序中,有时有益的是通过NAT所表现出的行为类型来表征NAT。STUN协议可以用于将网络地址转换表征为完全锥形NAT、受限锥形NAT、端口受限锥形NAT或者对称NAT。在完全锥形NAT的情况下,其也称作一对一NAT,将来自相同内部IP地址和端口的全部请求映射到相同的外部IP地址和端口。通过将分组发送到所映射的外部地址,外部主机能够将分组发送到内部主机。在受限锥形NAT的情况下,将来自相同内部IP地址和端口的全部请求映射到相同的外部IP地址和端口。与完全锥形NAT不同,只有内部主机已经预先将分组发送给外部主机的情况下,外部主机才能够将分组发送给内部主机。端口受限锥形NAT或者对称NAT与受限锥形NAT类似,但是限制包括端口号。具体而言,只有本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/200880108512.html" title="协同NAT行为发现原文来自X技术">协同NAT行为发现</a>

【技术保护点】
在配置为通过网络与一个或多个其它节点相通信的节点中,一种用于促进网络地址转换器(NAT)穿透的方法,所述方法包括:a)用该节点确定有关一个或多个NAT的行为的信息;并且以该信息可供一个或多个其它节点检索的方式存储该信息;或者b)检索有关一个或多个其它节点获得的一个或多个NAT的行为的信息,并且使用该信息穿透一个或多个NAT;或者c)a)和b)。

【技术特征摘要】
【国外来华专利技术】US 2007-7-27 11/8298311.在配置为通过网络与一个或多个其它节点相通信的节点中,一种用于促进网络地址转换器(NAT)穿透的方法,所述方法包括:a)通过向STUN服务器发送对于NAT信息的一个或多个请求用该节点确定有关一个或多个NAT的行为的信息;并且以该信息可供该节点检索并且可供位于相同NAT之后的一个或多个其它节点检索的方式存储该信息到该节点可访问并且该一个或多个其它节点可访问的公共位置。2.在配置为通过网络与一个或多个其它节点相通信的节点中,一种用于促进网络地址转换器(NAT)穿透的方法,所述方法包括:b)从该节点可访问并且位于相同NAT之后的一个或多个其它节点可访问的公共位置检索一个或多个其它节点获得的有关一个或多个NAT的行为的信息,并且使用该信息穿透一个或多个NAT,其中,所述一个或多个其它节点向STUN服务器发送对于NAT信息的一个或多个请求,以获得有关一个或多个NAT的行为的信息。3.在配置为通过网络与一个或多个其它节点相通信的节点中,一种用于促进网络地址转换器(NAT)穿透的方法,所述方法包括:a)通过向STUN服务器发送对于NAT信息的一个或多个请求用该节点确定有关一个或多个NAT的行为的信息;并且以该信息可供该节点检索并且可供位于相同NAT之后的一个或多个其它节点检索的方式存储该信息到该节点可访问并且该一个或多个其它节点可访问的公共位置;和b)从该节点可访问并且位于相同NAT之后的一个或多个其它节点可访问的公共位置检索一个或多个其它节点获得的有关一个或多个NAT的行为的信息,并且使用该信息穿透一个或多个NAT。4.根据权利要求1或3所述的方法,其中确定有关一个或多个NAT的行为的信息包括确定一个或多个NAT的介质访问控制(MAC)地址。5.根据权利要求1或3所述的方法,其中确定有关一个或多个NAT的行为的信息包括确定给定外部IP地址与其它节点之一之间存在多少个NAT。6.根据权利要求5所述的方法,其中确定给定外部IP地址与其它节点之一之间存在多少个NAT包括发送具有预定生存时间的数据报,并且如果响应于该数据报发回超时错误给节点,则重新发送具有递增的生存时间的数据报。7.根据权利要求1、2或3所述的方法,其中有关一个或多个NAT的行为的信息包括NAT类型。8.根据权利要求1、2或3所述的方法,其中有关一个或多个NAT的行为的信息包括涉及NAT的地理信息。9.根据权利要求1、2或3所述的方法,其中存储信息包括在对等网络上分布信息。10.根据权利要求1或3所述的方法,其中以该信息可供一个或多个其它节点检索的方式存储信息包括在可被该节点及其它节点访问的服务器上存储信息。11.根据权利要求10所述的方法,其中该服务器是公共数据库服务器。12.根据权利要求1或3所述的方法,其中a)还包括存储与一个或多个NAT相关的信息。13.根据权利要求1或2所述的方法,其中b)还包括检索与一个或多个NAT相关的信息。14.根据权利要求1或2所述的方法,其中b)包括从可供该节点和一个或多个其它节点访问的中央位置检索有关一个或多个NAT...

【专利技术属性】
技术研发人员:Y塔克达PR怀特JE马尔SC德特维勒
申请(专利权)人:索尼电脑娱乐公司
类型:发明
国别省市:JP[日本]

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

1