CN101228771B - 建立ip连接的系统、方法、设备及终结节点、起始节点 - Google Patents
建立ip连接的系统、方法、设备及终结节点、起始节点 Download PDFInfo
- Publication number
- CN101228771B CN101228771B CN200680027052.1A CN200680027052A CN101228771B CN 101228771 B CN101228771 B CN 101228771B CN 200680027052 A CN200680027052 A CN 200680027052A CN 101228771 B CN101228771 B CN 101228771B
- Authority
- CN
- China
- Prior art keywords
- node
- start node
- terminating node
- terminating
- socket
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Abstract
提供了一种系统、终结节点、方法和计算机程序产品,其支持公共网络中的起始节点通过从该起始节点向私有网络中的终结节点发送非基于IP的消息来与该终结节点进行通信,由此使该终结节点发起与该起始节点的基于IP的通信。由于私有网络中NAT和/或防火墙之后的客户端一般能够与公共网络中的服务器连接并建立TCP/IP会话,因此这改进了起始节点随时与终结节点进行通信的能力。只要基于IP的通信会话被建立,两个节点就可以双向地交换数据,直到它们之间的连接被任何一个节点关闭。这样,未经修改的客户端和服务器TCP/IP应用能够穿越NAT/防火墙,而无需对中间节点的配置。
Description
技术领域
本发明的实施方式一般地涉及用于根据因特网协议(IP)进行通信的系统和方法,并且更特别地涉及用于与终结网络节点建立IP连接的系统和方法。
背景技术
例如IPv4之类的因特网协议(IP)的各种版本的局限性之一是其有限的地址空间。因此,为了节约使用地址,企业和其它管理域已经采取了使用私有地址的方法。私有地址是IP地址落入10.0.0.0-10.255.255.255,172.16.0.0-172.31.255.255或者192.168.0.0-192.168.255.255范围之内的网络地址。由私有网络内的管理实体所分配的私有地址仅在各自的私有网络内具有相关性。相应地,这样的私有地址通常在私有网络外部是不可见的。然而,使用私有地址的优点是不同的私有网络可以为其各自私有网络内的主机分配相同的私有IP地址,而不必考虑任何冲突。另一方面,当私有网络内被分配有私有地址的主机想要向该发送主机所在的私有网络之外的主机发送IP数据报时,网络地址转换器(NAT)可被使用,NAT还可以起到网络地址端口转换器(NAPT)的作用。NAT在IP数据报被发送到与该NAT相关联的私有网络以外之前,将私有IP地址(并且还可能有数据报中的其它选定字段)转换为公共IP地址。利用NAPT的附加功能,NAT可以进一步将诸如传输控制协议(TCP)端口或者用户数据报协议(UDP)端口的端口从私有网络转换到公共网络。类似地,当IP数据报从处于NAT所关联的管理域之外的主机发送到具有私有地址的主机时,NAT将
公共IP地址转换为私有IP地址,并且利用NAPT的附加功能将公共网络中的端口转换为私有网络中的端口。
除了提供地址和端口转换之外,NAT还可以与作为相关联的私有网络的安全机制而进行操作的防火墙和/或网关进行通信。在这方面,防火墙/网关可以操作以提供安全性,这是因为在传入数据报经过NAT的转换过程之前和/或传出数据报经过NAT的转换过程之后,防火墙/网关能够使这些数据报合格。而且,通过将私有IP地址转换为公共IP地址,NAT能够为那些与私有IP地址相关联的主机提供保密措施。
私有网络中私有地址的使用以及私有网络边缘处NAT的使用在企业内部已经被广泛采用和部署。然而,也存在与NAT的使用相关联的缺点。在这方面,考虑包含移动网络或者是与移动网络连接或关联的私有网络,其中移动网络例如是通用分组无线服务(GPRS)网络。在这种情况下,穿过移动网络进行通信的终结节点,例如移动终端,一般而言可以穿过NAT发起与IP设备的分组交换(例如,IP)连接。然而,IP设备通常不能穿过NAT发起与终结节点的类似分组交换连接。而且,由于终结节点通常缺乏固定IP地址之类的静态和公共身份,IP设备经常无法向NAT标识出所期待的终结节点。
出于多种原因,移动网络通常被配置为阻止IP设备发起与各个终结节点的分组交换连接。首先,取决于移动网络拓扑,允许到移动网络内的终结节点的IP连接可能消耗所不期望的大量资源或降低移动网络的性能,即使在没有IP流量穿过移动网络时也是如此。第二,如在很多私有网络一样,在移动网络中的终结节点可能多于可用的IP地址。这样,移动网络可以包括NAT、动态分配的IP地址和/或私有IP地址。第三,很多移动网络的安全性需求和策略要求阻止多种IP流量传入移动网络。这样的情况也经常会导致NAT的使用,特别是在移动网络包括相关联的防火墙/网关时。
通常,使用TCP/IP协议族并位于私有网络中的客户端能够与使用TCP/IP协议族的位于公共网络中的服务器进行联系和连接。反向 的连接,也即公共网络中的客户端连接私有网络中的服务器,通常较为复杂并且经常是无法做到的,这是由以下两个原因造成的:(1)因为私有网络内的节点具有私有的、不可路由的IP地址,其对于私有网络之外的客户端来说没有意义,并且无法被该客户端所使用,以及(2)因为出于安全性的原因,防火墙经常被配置为阻塞所有这样的连接。
已经提出了若干方案来解决这个NAT/防火墙穿越的问题。在一种解决方案中,作为NAT/防火墙进行操作的节点公布与该节点自身的公共IP地址相关联的端口,并且到这个端口的传入连接被转换并作为传入连接被中继到预期的服务器。而且,很多系统提供的解决方案使用诸如智能体(agent),代理(proxy)、应用网关、虚拟专用网络(VPN)网关之类的中间节点。这些方案依赖于配置位于客户端和服务器之间的一个或多个中间节点(例如NAT、防火墙、VPN网关、应用网关等)以使其起到中介作用,以此使两个节点之间的连接成功。虽然这些解决方案支持NAT/防火墙穿越,但其缺点是需要中间节点来辅助客户端和服务器之间的连接。例如,这些中间节点一般是由操作员和/或管理员而不是用户来控制的,这使得由用户进行的控制很少或者没有。而且,当新的服务器添加到私有网络中时,为了支持通信,网络管理员或者用户将不得不经常重新配置NAT/防火墙。因此,期望拥有这样的系统和方法,其支持NAT/防火墙穿越而不需要对中间网络节点进行特殊配置,也不需要对最终节点中已存在的客户端和服务器TCP/IP应用进行任何修改。
发明内容
因此提供了这样的一种系统、终结节点、方法和计算机程序产品,其支持公共网络中的起始节点通过从该起始节点向私有网络中的终结节点发送非基于IP的消息来与该终结节点进行通信,由此使该终结节点发起与该起始节点的基于IP的通信。由于私有网络中NAT和/或防火墙之后的客户端一般能够与公共网络中的服务器连 接并建立TCP/IP会话,因此这提高了起始节点随时与终结节点进行通信的能力。只要基于IP的通信会话被建立,两个节点就可以双向地交换数据,直到它们之间的连接被任何一个节点关闭。
在这方面,用于与终结节点建立因特网协议(IP)连接的系统包括起始节点和终结节点。终结节点能够通过非基于IP的通信技术接收来自起始节点的通信请求,并且能够响应于该通信请求发起与该起始节点的基于IP的通信。起始节点所使用的非基于IP的通信技术可以选自口头通信、电话、文本消息、射频(RF)通信、短消息服务(SMS)通信、多媒体消息服务(MMS)通信以及即时消息。通信请求可以定义起始节点处套接字的互联网协议(IP)地址和端口号。终结节点还能够使用通信请求所定义的安全性信息来验证该通信请求的有效性。
在一种实施方式中,终结节点还包括应用层、中间件层和系统层,并且起始节点包括应用层、中间件层和系统层。终结节点还能够在终结节点的应用层和终结节点的中间件层之间创建虚拟服务器套接字。起始节点还能够在起始节点的应用层和起始节点的中间件层之间创建虚拟客户端套接字。起始节点还能够通过非基于IP的通信技术将通信请求从起始节点的中间件层发送到终结节点的中间件层。终结节点还能够在终结节点的中间件层和终结节点的系统层之间创建客户端套接字。起始节点还能够在起始节点的中间件层和起始节点的系统层之间创建服务器套接字。终结节点还能够在终结节点的中间件层处接收通信请求,该通信请求定义了起始节点处服务器套接字的互联网协议(IP)地址和端口号。
在一种实施方式中,终结节点还能够通过终结节点处的客户端套接字接收连接成功消息,通过终结节点处的中间件将连接成功消息转换为接受成功消息,并在终结节点的虚拟套接字处接收接受成功消息。起始节点还能够通过起始节点处的服务器套接字接收接受成功消息,通过起始节点处的中间件将接受成功消息转换为连接成功消息,并在起始节点的虚拟套接字处接收连接成功消息。
起始节点可位于公共网络中,并且终结节点可位于私有网络中。在一种实施方式中,私有网络具有防火墙和网络地址转换器中的至少一个。
除了上述用于建立IP连接的系统之外,本发明的其它方面涉及用于建立IP连接的相应终结节点、起始节点、方法以及计算机程序产品。
附图说明
在概括的描述了本发明之后,现在将参考附图,这些附图无需按照比例绘制,其中:
图1是从本发明的实施方式中受益的通信系统的示意性框图,该通信系统包括与起始节点、中间节点和终结节点直接或者间接双向耦合的至少一个移动网络和至少一个公共网络和/或私有网络;
图2是根据本发明的实施方式的能够作为网络节点进行操作的实体的示意性框图;
图3是根据本发明的实施方式的能够作为移动终端进行操作的移动台的示意性框图;
图4是根据本发明的一种示例性实施方式的与位于NAT和/或防火墙之后的服务器建立传输级连接的方法的流程图;以及
图5是根据本发明的一种示例性实施方式的与位于NAT和/或防火墙之后的服务器建立传输级连接的系统的功能性框图。
具体实施方式
此后将参考附图更为完整地描述本发明的示例性实施方式,附图中示出了本发明的优选实施方式。然而,本发明可以通过不同的形式得以具体化,在此描述的实施方式不应构成对本发明的限制;提供这些实施方式是使得公开内容充分且完全,并将本发明的范围完全传达给本领域技术人员。相似的标号始终表示相似的元件。尽管在促进使用TCP的通信方面主要描述了本发明的示例性实施方 式,本发明的实施方式还可被用以促进使用例如UDP的其它传输协议的通信。
参考图1,给出了将从本发明的实施方式中受益的一种类型的系统的说明。本发明的实施方式的系统和方法将主要结合移动通信应用进行描述。然而应当理解,本发明的实施方式的系统和方法可以与移动通信产业之内和移动通信产业之外的各种其它应用结合使用。
如图所示,系统10包括公共网络12,其例如是因特网之类的公共因特网协议(IP)网络。公共网络包括多个网络节点,每个节点通常包括例如服务器计算机、个人计算机、膝上型计算机之类的处理元件。更特别地,公共网络可以包括一个或多个包括固定终端14的网络节点,每个节点都能够在公共网络内或是穿过公共网络进行通信。公共网络12的网络节点还可以包括例如会话发起协议(SIP)代理的代理16。可以理解,SIP代理能够接收和转发SIP信令消息,例如发往和/或来自网络节点的SIP信令消息,其中网络节点包括作为SIP客户端进行操作的固定终端。
此外,公共网络12可以包括一个或多个域名系统(DNS)服务器18。在这方面,每个网络节点通常具有唯一的IP地址,通常为了便于记忆,该IP地址具有与之关联的主机DNS名称。DNS服务器能够将主机DNS名称转换为相关联的IP地址,使得网络流量可被路由到适当的网络节点。正如下文将更加详细描述的,包括任何一个或多个固定终端在内的任何一个或多个的网络节点可以作为起始节点20进行操作,以穿过公共网络与终结节点进行通信。并且为了有助于起始节点与终结节点进行通信,公共网络还可以包括一个或多个包含中间节点22的网络节点,这也将在下文进行更为详细的描述。
除了公共网络12之外,系统10还包括一个或多个例如局域网(LAN)的私有网络24。类似于公共网络,每个私有网络可以包括多个网络节点。而且,类似于公共网络12,每个私有网络的网络节 点可以包括一个或多个DNS服务器26。与前面类似,私有网络的DNS服务器能够将主机DNS名称转换为相关联的IP地址,使得网络流量可被路由到适合的公共或网络节点。私有网络还可以包括一个或多个包含移动终端32的网络节点,每个节点能够在私有网络内或是穿过私有网络进行通信。终端32例如可以包括移动电话、便携式数字助理(PDA)、寻呼机、膝上型计算机、智能卡以及其它类型的电子系统。除了移动终端之外,私有网络还可以包括例如个人计算机的固定终端。
为了便于终端32接入私有网络,私有网络24可以包括一个或多个无线接入点(AP)(未示出),每个AP可与一个或多个终端耦合。在这方面,AP可以包括被配置为例如根据以下技术与终端进行通信的接入点,这些技术例如为射频(RF)、蓝牙(BT)、红外(IrDA)或包括无线局域网(WLAN)在内的多种不同的无线联网技术中的任何技术,或包括有线技术在内的其它技术。而且,类似于公共网络,私有网络可以包括起始节点20和/或中间节点22,两者都将在下文中详细描述。如下文还将描述的,私有网络可以包括能够通过中间节点与起始节点通信的终结节点36。而且如下文还将描述的,私有网络的一个或多个终端能够作为起始节点或者中间节点进行操作。
为了便于公共网络12的网络节点和私有网络24的网络节点之间的通信,每个私有网络还可以包括网络地址转换器(NAT),它使公共网络和私有网络相互连接。正如在背景技术部分中所说明的,为了公共网络和相应私有网络之间的通信,每个NAT能够将来自公共网络的公共IP地址转换为相应私有网络的网络节点的私有IP地址,反之亦然。可以理解,NAT还可以包括应用级网关(ALG)(未示出),其能够转换例如嵌入在应用协议数据单元(PDU)中的IP地址。此外,NAT可以包括针对相应私有网络的防火墙和/或网关或是与相应私有网络的防火墙和/或网关相关联。如图所示,包括防火墙/网关或是与防火墙/网关相关联的NAT被示为NAT/FW 28。
系统10还可以包括一个或多个移动网络或蜂窝网络30。蜂窝网络可以包括多种不同移动网络中的一种或多种。在这方面,蜂窝网络可以包括多种第一代(1G)、第二代(2G)、2.5G和/或第三代(3G)蜂窝网络中的任意网络,以及/或者多种能够根据本发明的实施方式进行操作的其它蜂窝网络中的任意网络。例如,每个蜂窝网络可以包括GSM(全球移动通信系统)、IS-136(时分多址—TDMA)、IS-95(码分多址—CDMA)、CDMA200、或者EDGE(增强数据GSM环境)网络。可选地,一个或多个蜂窝网络可以包括GPRS(通用无线分组服务)或者基于GPRS(例如,通用移动电信系统—UMTS)的网络。
类似于公共网络12和私有网络24,蜂窝网络30也可以包括一个或多个网络节点。在这方面,每个蜂窝网络的网络节点可以包括一个或多个移动终端32,其能够在各自蜂窝网络内和/或是穿过各自的蜂窝网络进行通信。并且如下文所述,一个或多个移动终端能够作为起始节点20进行操作,其操作方式例如与公共网络和私有网络的起始节点相同。而且,如下所述,一个或多个移动终端能够作为终结节点36进行操作,如上文所指出和下文将描述的,终结节点36能够通过中间节点22与起始节点进行通信。尽管起始节点和终结节点在此被一般地描述为移动终端,但其它实施方式中的起始节点和终结节点可以是固定终端。
在蜂窝网络30中,网络节点还可以包括例如一个或多个SGSN(信令GPRS支持节点)38的一个或多个网络信令支持节点,以及例如一个或多个GGSN(网关GPRS支持节点)40的一个或多个网关支持节点。例如,网络节点可以包括第三代合作伙伴计划(3GPP)的多个规范中所描述的一个或多个SGSN以及一个或多个GGSN。本领域技术人员可以理解,SGSN能够路由发往和来自移动终端32的通信,并且当移动终端被包含在与其它网络节点的通信会话中时,SGSN还能够提供到该其它网络节点的连接。另一方面,GGSN能够使蜂窝网络和私有网络24相互连接。在这方面,GGSN能够执行公 知的传统网关操作。应当注意,尽管蜂窝网络可以包括SGSN和GGSN,但蜂窝网络还可以包含其它类似地进行操作的网络节点以用于其它类型的蜂窝网络。
现在参考图2,其说明了根据本发明一种实施方式的位于公共网络12、私有网络24或者蜂窝网络30中的能够作为网络节点(例如,起始节点20、中间节点22、NAT/FW 28、终结节点36、SGSN 38、GGSN 40等)进行操作的实体的框图。尽管被示为分离的实体,但在一些实施方式中,一个或多个实体可以支持一个或多个网络节点,这些网络节点在逻辑上是分离的,但是被共同置于一个或多个实体之中。例如,单一实体可以支持逻辑上分离但被共同放置的起始节点(例如,固定终端14、代理16、DNS 18、移动终端32等)和中间节点。同时,例如如上文指出的,单一实体可以支持逻辑上分离但是被共同放置的NAT和防火墙/网关。
能够作为网络节点进行操作的实体包括用于执行根据本发明的示例性实施方式的一个或多个功能的各种装置,包括那些在此特别示出和描述的装置。然而应当理解,在不背离本发明精神和范围的前提下,一个或多个实体可以包括用于执行一个或多个类似功能的可选装置。更特别地,例如如图2所示,实体可以一般地包括与存储器44连接的例如控制器42、处理器之类的装置,以用于控制实体的各种功能。控制器还可以与至少一个接口46或者其它用于发送和/或接收数据、内容等的装置相连接。存储器可以包括易失性和/或非易失性存储器,并且通常存储内容、数据等。例如,存储器通常存储软件应用、指令等,它们被控制器用来执行根据本发明实施方式的实体操作所关联的步骤。而且,存储器例如通常存储由网络节点发射或者接收的内容。
图3示出了根据本发明实施方式的能够作为移动终端32、起始节点20或者终结节点36进行操作的移动台的功能性框图。应当理解,所说明并在此后被描述的移动台仅仅是能够受益于本发明的一种说明性的移动终端类型,因此,其不应被用来限制本发明的范围。 尽管为了示例的目的说明并在此后描述了移动台的若干实施方式,但是其它类型的移动终端,例如便携式数字助理(PDA)、寻呼机、膝上型计算机或者其它类型的语音和文本通信系统,也能够容易地应用本发明的实施方式。此外,在其它实施方式中,例如个人计算机的固定终端也可以替代地用作起始节点和/或终结节点。
移动台包括用于执行根据本发明示例性实施方式的一个或更多功能的各种装置,其中包括那些在此特别示出和描述的装置。然而应当理解,在不背离本发明精神和范围的前提下,移动台可以包括用于执行一个和更多类似功能的可选装置。更特别地,例如如图3所示,移动台包括发射器48、接收器50以及分别向发射器提供信号和从接收器接收信号的装置,例如控制器52。这些信号包括根据可应用的蜂窝系统的空中接口标准的信令信息,以及用户语音和/或用户所产生的数据。在这方面,移动台可以能够根据一个或多个空中接口标准、通信协议、调制类型和接入类型进行操作。更特别地,移动台可以能够根据多种1G、2G、2.5G和/或3G之类的通信协议中的任何协议进行操作。例如,移动台可以根据2G无线通信协议IS-136(TDMA)、GSM以及IS-95(CDMA)进行操作。而且,移动台例如可以按照2.5G无线通信协议GPRS、增强数据GSM环境(EDGE)之类的协议进行操作。一些窄带AMPS(NAMPS)和TACS移动台也可得益于本发明的实施方式,正如双模式或更高模式的移动台(例如,数字/模拟或者TDMA/CDMA/模拟电话)应该从本发明的实施方式中所获益的那样。
可以理解,控制器52包括执行移动台的音频和逻辑功能所需的电路。例如,控制器可以包括数字信号处理器设备、微处理器设备、以及各种模数转换器、数模转换器和/或其它支持电路。根据这些设备各自的能力而在它们之间分配移动台的控制和信号处理功能。控制器因而还包括在调制和传输之前对消息和数据进行卷积编码和交织的功能。控制器还可以额外地包括内部语音编码器(VC)52A,并且可以包括内部数据调制解调器(DM)52B。此外,控制器还可 以包括操作一个或多个可以存储在存储器中的软件应用的功能。
移动台还可以包括用户接口,用户接口包括传统耳机或者扬声器54、振铃器56、麦克风60、显示器62以及用户输入接口,所有这些都与控制器52耦合。允许移动台接收数据的用户输入接口可以包括多种允许移动台接收数据的设备中的任意设备,例如小键盘64、触摸显示器(未示出)或者其它输入设备。在包含小键盘的实施方式中,小键盘包括传统数字键(0-9)和相关的键(#,*),以及其它用来操作移动台的键。
移动台还可以包括诸如用户标识模块(SIM)66、可移除用户标识模块(R-UIM)之类的存储器,其通常存储涉及移动用户的信息单元。除了SIM之外,移动台还可以包括其它存储器。在这方面,移动台可以包括易失性存储器68以及其他非易失性存储器70,它们可以是可嵌入的和/或可移除的。例如,其它非易失性存储器可以包括嵌入的或可移除的多媒体存储卡(MMC)、索尼公司制造的记忆棒、EEPROM、闪存、硬盘或者类似存储器。存储器可以存储被移动台用来实现该移动台的功能的多条信息和数据的任何信息和数据。例如,存储器可以存储例如国际移动设备标识(IMEI)码、国际移动用户标识(IMSI)码、移动台集成服务数字网络(MSISDN)码之类的标识符,其能够唯一地标识移动台。存储器还可以存储内容,例如将被传输到起始节点20的或者从起始节点20处接收的内容。
移动台还可以包括一个或多个用于根据多种不同的有线和/或无线技术中的任意技术来共享数据和/或从例如其它网络节点的电子设备获取数据的装置。例如,移动台可以包括射频(RF)收发器72和/或红外(IR)收发器74,使得移动台能够根据射频和/或红外技术共享和/或获取数据。而且,移动台例如可以包括蓝牙(BT)收发器76,使得移动台能够根据蓝牙传输技术来共享和/或获取数据。尽管未被示出,移动台还可以另外地或可选地能够根据包括局域网(LAN)和/或无线LAN(WLAN)和/或其它无线技术在内的多种不同的有线 和/或无线网络技术向电子设备传输数据和/或从电子设备接收数据。
如背景技术部分中所指出的,用于支持例如起始节点20的IP设备发起与例如移动终端的终结节点36的IP连接的传统技术忽略了类似于公共网络12(例如,因特网)的公共域的局限性,这使得NAT/FW 28被用以连接公共网络和相应的私有网络24。换言之,这些技术忽略了可用公共IP地址的局限性。因此,本发明的实施方式提供了用于与终结节点进行通信的改进的系统和方法,其中终结节点位于例如蜂窝或其他移动网络的私有网络中。更特别地,本发明的实施方式提供了一种系统、终结节点、方法和计算机程序产品,其支持公共网络中的起始节点通过从该起始节点向私有网络中的终结节点发送非基于IP的消息来与该终结节点进行通信,由此使该终结节点发起与该起始节点的基于IP的通信。在这方面,起始节点(也即,客户端)起到类似于服务器的作用,这是因为起始节点等待终结节点发起传输级连接。类似地,终结节点(也即,服务器)起到类似于客户端的作用,这是因为终结节点响应于非基于IP的消息而发起与起始节点的传输级连接。
已经提出了多种框架,这些框架通过透明地使用常规(例如,Berkley)套接字应用程序接口(API)或是使用虚拟套接字API来为TCP/IP客户端和服务器应用提供“虚拟套接字”接口。TCP/IP应用对这些虚拟套接字的使用类似于或者甚至等同于对常规套接字API的使用(也即,虚拟套接字对于TCP/IP应用来说可以是透明的)。然而,这些虚拟套接字除了提供用以使用TCP/IP协议栈来创建端到端连接的API之外,还提供了支持端到端TCP/IP会话的多个增强服务。例如,“端到端会话支持”(e2e-SS)服务提供了对端到端移动性的支持以及应对TCP套接字级别的连接断开的支持。这样的e2e-SS服务的示例包括MobileSocket(例如参见T.Okoshi,M.Mochizuki,Y.Tobe,和H.Tokuda,MobileSocket:Towards ContinuousOperation for Java Applications,IEEE Int′l Conf.on ComputerComm′ns and Networks(ICCCN),1999)、ROCKS/RACKS(例如参见 V.Zandy和B.Miller,Reliable Network Connections,ACM MOBICOM,2002年9月)、Mobile TCP Socket(例如参见X.Qu,J.Xu Yu,和R.Brent,A Mobile TCP Socket,Int′l Conf.on Software Engineering(SE),1997年11月)以及Migrate(例如参见A.Snoeren,ASession-Based Architecture for Internet Mobility,博士学位论文,MIT,2003年2月)。
这些框架可以被表征为通信中间件,因为它们提供支持的方式是通过将自身插入到最终(也即,起始和终端)节点的应用和本机系统网络支持之间来辅助不同最终节点的应用层之间的通信,这些框架或者完全由最终节点或是在最终节点处执行,或者也有可能由与最终节点一起进行操作的代理执行。这样的中间件通常能够使用常规套接字API根据需要而创建、修改和销毁实际网络套接字。这种创建、修改和销毁对于TCP/IP应用而言是透明的,TCP/IP应用只看到已经在应用和中间件之间被创建的虚拟套接字。这些框架的一个性质是这样的框架不需要来自基础设施或者任何中间节点的支持,而只需要两个最终节点进行协作。本发明的示例性实施方式利用这样的框架来使得客户端和服务器进行协作,借以解决NAT/防火墙穿越问题,这通常不需要对应用进行修改或是对任何中间节点进行特殊配置。
中间件可以为TCP/IP应用提供虚拟套接字接口,应用可以通过该接口进行通信。使用虚拟套接字允许销毁和替换实际网络套接字,这是可能发生的,这也有可能是例如为了应对IP地址改变、连接断开和TCP到期所必须的。虚拟套接字将TCP/IP应用同网络(也即,系统)层所发生的事件隔离开。因此,替代由应用打开实际的(真实的)网络套接字,应用打开到中间件的套接字,该套接字是应用和中间件层之间的虚拟网络套接字,并且中间件打开与网络(系统)层的实际网络套接字。由此,中间件可以创建和销毁实际网络连接而不对应用造成影响,由此将应用层和网络层隔离开。如上所述,虚拟套接字对于应用可以是透明的,使得对于TCP/IP应用来说,应 用就像是通过实际套接字而不是虚拟套接字进行通信一样。在一些方法中,应用可以感知虚拟套接字,并且中间件控制用于应用的通信。中间件允许最终节点针对连接断开和其它问题来监控和支持实际通信连接,并保护应用层的应用不受与通信连接有关的问题的影响,这些问题例如是与移动环境中的TCP连接有关的问题。中间件通常不需要任何来自基础设施或者中间节点的支持。相反地,中间件驻留在每个最终节点中,用以允许最终节点按照这样的方式进行协作:在该方式中中间件的作用将是支持用于应用的网络通信。基本上,用于支持通信的智能性从基础实施中被转移到了最终节点中。因此,中间件是用于包括ad hoc场景和没有基础设施支持的场景在内的传输级连接的适合的解决方案。
现在参考图4,其说明了根据本发明示例性实施方式的与位于NAT和/或防火墙之后的服务器建立传输级连接的方法的流程图。本发明的实施方式使用中间件从起始节点向终结节点发送非基于IP的消息,由此使终结节点发起与起始节点的基于IP的通信。位于私有网络中的服务器(也即,终结节点)可以创建服务器套接字(也被称为监听套接字),用以使服务器能够接收通信请求,并且作为响应,中间件通常向服务器返回虚拟服务器套接字。参见图4的方框150。当位于公共网络中的主机的客户端应用(“客户端末端”或起始节点)创建套接字(称为客户端套接字或连接套接字)以连接终结节点的服务器应用时,中间件向客户端应用返回虚拟客户端套接字。参见方框152。中间件还将使用常规套接字API在起始节点处创建实际的服务器套接字(或称监听套接字)。参见方框154。中间件接下来将使用非基于IP(也称为带外(out-of-band))通信机制(例如,口头通信、电话、文本消息、射频(RF)通信、短消息服务(SMS)通信、多媒体消息服务(MMS)通信、即时消息、ad-hoc网络链接、近距离通信(例如,射频识别)、或者红外链接)将消息发送至起始节点想要与之通信的节点(也即,位于私有网络中的终结节点)。参见方框156。该非基于IP的消息通知终结节点,起始节点想要建 立TCP/IP连接。该消息通常将包括标识起始节点处服务器套接字(也即,监听套接字)的信息,例如监听套接字的IP地址和端口号,还包含建立TCP/IP连接所需的任何其它参数,例如安全性信息(例如,密码或者公开密钥)。此外,该消息还可以被加密,借以进一步提高安全性。如果该消息被加密,则起始节点和终结节点通常将被预配置为共享密钥,以便支持对消息的加密/解密。为了支持起始节点将非基于IP的消息发送给终结节点,起始节点处的中间件通常将包含例如交叉参考表的信息,用以将客户端应用所使用的基于IP的标识符(例如,IP地址或者DNS名称)转换为非基于IP的标识符(例如,电话号码、电子邮件地址、IM屏幕名称),该非基于IP的标识符可被用以通过相应的非基于IP的通信方法将通信消息发送给终结节点。交叉参考表例如可以包含DNS名称(客户端应用可以使用它来请求与特定服务器的TCP/IP连接)和相应的移动电话号码(客户端的中间件可以使用它将SMS消息发送给特定服务器处的中间件)之间的交叉参考。该消息能够被位于终结节点中的中间件接收。参见方框158。当接收到该消息后,位于终结节点中的中间件通常将使用本机套接字API来创建客户端套接字,并且连接起始节点处的服务器套接字监听。参见方框160。由于TCP/IP连接是由私有网络中的节点(也即,终结节点)发起的,相对于TCP/IP连接由公共网络中的节点(也即,起始节点)发起的情况而言,该连接更有可能成功。起始节点处的中间件继而接受与服务器套接字的连接(通常这是在一些安全性握手之后)。参见方框162。起始节点处的服务器套接字通常将接收“接受成功”消息,该消息指明服务器套接字成功接受了来自客户端套接字的连接请求。参见方框164。由于客户端应用具有在应用层和中间件层之间打开的(虚拟)客户端套接字,因此客户端套接字期望接收“连接成功”消息。于是,中间件将把服务器套接字处所接收的接受成功消息转换为连接成功消息,该连接成功消息继而被虚拟客户端套接字接收。参见方框166。同时或接近同时,终结节点处的客户端套接字通常将接收“连接成功”消息, 该消息指明客户端套接字的与服务器套接字的连接请求是成功的。参见方框168。由于服务器应用具有在应用层和中间件层之间打开的(虚拟)服务器套接字,因此服务器套接字期望接收“接受成功”消息。于是,中间件通常将把客户端套接字处所接收的连接成功消息转换为接受成功消息,该接受成功消息继而被虚拟服务器套接字接收。参见方框170。一旦这个过程完成,就建立了基于IP的通信链路,并且TCP/IP数据可以在客户端应用和服务器应用之间进行传输。参见方框172。连接通常将保持为打开,直到它被各节点中的一个节点所终止。
现在参考图5,其说明了根据本发明示例性实施方式的能够根据图4中详细说明并在上文被讨论的方法与位于NAT和/或防火墙之后的服务器建立传输级连接的系统的功能性框图。图5的系统80包括公共网络86中的起始节点82以及私有网络中的终结节点84。终结节点84位于NAT/防火墙90之后。应当理解,NAT/防火墙90可以是NAT、防火墙或是两者。起始节点82和终结节点84都包括三个层:应用层92、中间件层94以及系统层96。在应用层92中,起始节点包含客户端应用98和中间件API 100。中间件API指引控制信号86通过起始节点中间件102来协调客户端应用的操作。类似地,在应用层92中,终结节点包含服务器应用114和中间件API 116。中间件API指引控制信号88通过终结节点中间件118来协调服务器应用的操作。
在起始节点和终结节点处,中间件102、118都可以包括顶层处理机(handler)104、120,其用以控制与应用层的虚拟套接字通信,并可以包括默认处理机108、124,其用以控制通过实际网络套接字的与网络层的通信。如上所述,在起始节点处,可以在客户端应用98和中间件102之间建立虚拟客户端套接字112,并由中间件102建立实际的服务器套接字132。而且,在终结节点处,可以在服务器应用114和中间件118之间建立虚拟服务器套接字126。中间件102通常包括NAT和/或防火墙穿越服务106。在虚拟客户端套接字112 创建之后,NAT和/或防火墙穿越服务可以指引非IP的通信设备110传输非基于IP的通信请求消息130。如上所述,非基于IP的通信请求消息和非IP的通信设备110可以使用任意数目的不同通信方法。非基于IP的通信消息130通常将在终结节点处被相应的非IP的通信设备128所接收。在接收到非基于IP的通信消息130之后,NAT和/或防火墙穿越服务122通常将创建实际的客户端套接字134。通常在一些握手之后,可以在客户端套接字134和服务器套接字132之间建立传输级通信连接136。
根据本发明的一个示例性方面,例如网络节点之类的系统的一个或多个实体所执行的功能可以由各种装置执行,例如包括上文所讨论的那些单独的和/或在计算机程序产品控制下的硬件和/或固件。用于执行本发明实施方式的方法的计算机程序产品包括例如非易失性存储介质的计算机可读存储介质,以及在该计算机可读存储介质中具体化的软件,该软件包括例如一系列计算机指令的计算机可读程序代码部分。
在这方面,图4是根据本发明的方法以及程序产品的流程图。可以理解,流程图的每个步骤以及流程图中步骤的组合可以由计算机程序指令实现。这些计算机程序指令可以被载入到计算机或者其它可编程装置上用以产生机器,使得在计算机或者其它可编程装置上执行的指令创建用于执行流程图步骤中所指定的功能的装置。这些计算机程序指令还可以存储在能够指引计算机或者其它可编程装置按照特定方式工作的计算机可读存储器中,使得存储在计算机可读存储器中的指令产生包括指令装置的制品,其中指令装置实现流程图步骤中所指定的功能。计算机程序指令还可以被载入到计算机或者其它可编程装置上,使得一系列操作步骤在计算机或者其它可编程装置上被执行,用以产生计算机可实现的过程,以便使计算机或者其它可编程装置上执行的指令提供用于实现流程图步骤中所指定的功能的步骤。
相应地,流程图的步骤支持用于执行特定功能的装置的组合, 用于执行特定功能的步骤的组合,以及用于执行特定功能的程序指令装置。还可以理解,流程图的每个步骤以及流程图中步骤的组合可以通过执行特定功能或者步骤的基于专用硬件的计算机系统实现,或者通过专用硬件和计算机指令的组合实现。
本领域技术人员将会想到很多本发明的修改和其它实施方式,本发明对于它们同样具有上文说明以及相关附图中所给出的教导的益处。因此,应当理解,本发明不局限于所公开的特定实施方式,修改和其它实施方式也意在被包括在所附权利要求书的范围之内。尽管在这里使用了特定的术语,但它们只在一般的和描述性的意义上被使用,而不是出于限制的目的。
Claims (33)
1.一种用于与终结节点建立因特网协议IP连接的系统,所述系统包括:
起始节点;以及
终结节点,其能够通过非基于IP的通信技术接收来自所述起始节点的通信请求,所述终结节点还能够响应于所述通信请求而发起与所述起始节点的基于IP的通信,
其中,所述起始节点位于公共网络中,并且所述终结节点位于私有网络中,
其中,所述终结节点还包括应用层、中间件层和系统层;其中所述起始节点包括应用层、中间件层和系统层;其中所述终结节点还能够在所述终结节点处的所述应用层和所述终结节点处的所述中间件层之间创建虚拟服务器套接字;
其中,所述起始节点还能够在所述起始节点处的所述应用层和所述起始节点处的所述中间件层之间创建虚拟客户端套接字;
其中,所述起始节点还能够通过所述非基于IP的通信技术将所述通信请求从所述起始节点处的所述中间件层发送到所述终结节点处的所述中间件层;
其中,所述终结节点还能够在所述终结节点的所述中间件层和所述终结节点的所述系统层之间创建客户端套接字;
其中,所述起始节点还能够在所述起始节点处的中间件层和所述起始节点处的系统层之间创建服务器套接字;
其中,所述终结节点还能够在所述终结节点的中间件层处接收所述通信请求,所述通信请求定义了所述起始节点处所述服务器套接字的因特网协议IP地址和端口号。
2.根据权利要求1中所述的系统,其中,所述起始节点从包括口头通信、文本消息、射频RF通信、短消息服务SMS通信、多媒体消息服务MMS通信以及即时消息的组中选择非基于IP的通信技术。
3.根据权利要求1中所述的系统,其中,所述通信请求定义所述起始节点处套接字的因特网协议IP地址和端口号。
4.根据权利要求1中所述的系统,其中,所述终结节点还能够使用所述通信请求所定义的安全性信息来验证所述通信请求的有效性。
5.根据权利要求1中所述的系统,其中,所述终结节点还能够通过所述终结节点处的所述客户端套接字接收连接成功消息,通过所述终结节点处的所述中间件层将所述连接成功消息转换为接受成功消息,并且在所述终结节点的所述虚拟服务器套接字处接收所述接受成功消息;并且
其中,所述起始节点还能够通过所述起始节点处的所述服务器套接字接收接受成功消息,通过所述起始节点处的所述中间件层将所述接受成功消息转换为连接成功消息,并且在所述起始节点的所述虚拟客户端套接字处接收所述连接成功消息。
6.根据权利要求1中所述的系统,其中,所述私有网络具有防火墙和网络地址转换器中的至少一个。
7.根据权利要求1中所述的系统,其中,所述起始节点还能够将所述终结节点的基于IP的标识符转换为所述终结节点的非基于IP的标识符;并且其中,所述起始节点还能够使用所述非基于IP的标识符通过所述非基于IP的通信技术将所述通信请求发送给所述终结节点。
8.一种用于通过因特网协议IP连接与起始节点进行通信的终结节点,所述终结节点包括:
能够通过非基于IP的通信技术接收来自所述起始节点的通信请求的处理器,所述处理器还能够响应于所述通信请求发起与所述起始节点的基于IP的通信,
其中,所述起始节点位于公共网络中,并且所述终结节点位于私有网络中,
其中所述终结节点还包括应用层、中间件层以及系统层;
其中,所述处理器还能够在所述应用层和所述中间件层之间创建虚拟服务器套接字;其中,所述处理器还能够在所述中间件层处接收所述通信请求,所述通信请求定义了所述起始节点处服务器套接字的因特网协议IP地址和端口号;并且其中,所述处理器还能够在所述中间件层和所述系统层之间创建客户端套接字。
9.根据权利要求8中所述的终结节点,其中,所述非基于IP的通信技术从包括口头通信、文本消息、射频RF通信、短消息服务SMS通信、多媒体消息服务MMS通信以及即时消息的组中进行选择。
10.根据权利要求8中所述的终结节点,其中,所述通信请求定义所述起始节点处套接字的因特网协议IP地址和端口号。
11.根据权利要求8中所述的终结节点,其中,所述处理器还能够使用所述通信请求所定义的安全性信息来验证所述通信请求的有效性。
12.根据权利要求8中所述的终结节点,其中,所述处理器还能够在所述客户端套接字处接收连接成功消息,通过所述中间件层将所述连接成功消息转换为接受成功消息,并在所述虚拟服务器套接字处接收所述接受成功消息。
13.根据权利要求8中所述的终结节点,其中,所述私有网络具有防火墙和网络地址转换器中的至少一个。
14.一种用于与终结节点建立因特网协议IP连接的起始节点,所述起始节点包括:
能够通过非基于IP的通信技术将通信请求发送给所述终结节点的处理器,使得所述终结节点能够响应于所述通信请求而发起与所述起始节点的基于IP的通信,
其中,所述起始节点位于公共网络中,并且所述终结节点位于私有网络中,
其中所述的起始节点还包括应用层、中间件层以及系统层;
其中,所述处理器还能够在所述应用层和所述中间件层之间创建虚拟客户端套接字;其中,所述处理器还能够通过所述非基于IP的通信技术从所述中间件层处发送所述通信请求;其中,所述处理器还能够在所述中间件层和所述系统层之间创建服务器套接字;并且其中,所述通信请求定义了所述服务器套接字的因特网协议IP地址和端口号。
15.根据权利要求14所述的起始节点,其中,所述处理器能够从包括口头通信、文本消息、射频RF通信、短消息服务SMS通信、多媒体消息服务MMS通信以及即时消息的组中选择所述非基于IP的通信技术。
16.根据权利要求14中所述的起始节点,其中,所述通信请求定义了所述起始节点处套接字的因特网协议IP地址和端口号。
17.根据权利要求14中所述的起始节点,其中,所述通信请求定义了安全性信息,使得所述终结节点能够使用所述安全性信息验证所述通信请求的有效性。
18.根据权利要求14中所述的起始节点,其中,所述处理器还能够通过所述服务器套接字接收接受成功消息,通过所述中间件层将所述接受成功消息转换为连接成功消息,并在所述虚拟客户端套接字处接收所述连接成功消息。
19.根据权利要求14中所述的起始节点,其中,所述私有网络具有防火墙和网络地址转换器中的至少一个。
20.根据权利要求14中所述的起始节点,其中,所述处理器还能够将所述终结节点的基于IP的标识符转换为所述终结节点的非基于IP的标识符;并且其中,所述处理器还能够使用所述非基于IP的标识符通过所述非基于IP的通信技术将所述通信请求发送给所述终结节点。
21.一种与终结节点建立因特网协议IP连接的方法,所述方法包括:
通过非基于IP的通信技术在所述终结节点处从起始节点接收通信请求;
响应于所述通信请求,由所述终结节点发起与所述起始节点的基于IP的通信,
其中,所述起始节点位于公共网络中,并且所述终结节点位于私有网络中,
其中所述方法还包括:
在所述终结节点处的应用层和所述终结节点处的中间件层之间创建虚拟服务器套接字;
在所述起始节点处的应用层和所述起始节点处的中间件层之间创建虚拟客户端套接字;
通过所述非基于IP的通信技术将所述通信请求从所述起始节点处的所述中间件层发送到所述终结节点处的所述中间件层;
在所述终结节点处的所述中间件层和所述终结节点处的系统层之间创建客户端套接字;以及
在所述起始节点处的所述中间件层和所述起始节点处的系统层之间创建服务器套接字;
其中,在所述终结节点处通过所述中间件层接收所述通信请求;其中,所述通信请求定义了所述起始节点处的所述服务器套接字的因特网协议IP地址和端口号;并且其中,在所述终结节点处通过所述中间件层发起所述基于IP的通信。
22.根据权利要求21中所述的方法,其中,所述非基于IP的通信技术从包括口头通信、文本消息、射频RF通信、短消息服务SMS通信、多媒体消息服务MMS通信以及即时消息的组中进行选择。
23.根据权利要求21中所述的方法,其中,所述通信请求定义了所述起始节点处套接字的因特网协议IP地址和端口号。
24.根据权利要求21中所述的方法,还包括:
在所述终结节点处使用所述通信请求所定义的安全性信息来验证所述通信请求的有效性。
25.根据权利要求21中所述的方法,还包括:
通过所述终结节点处的所述客户端套接字接收连接成功消息;
通过所述终结节点处的所述中间件层将所述连接成功消息转换为接受成功消息;
在所述终结节点处的所述虚拟服务器套接字处接收所述接受成功消息;
通过所述起始节点处的所述服务器套接字接收接受成功消息;
通过所述起始节点处的所述中间件层将所述接受成功消息转换为连接成功消息;以及
在所述起始节点处的所述虚拟客户端套接字处接收所述连接成功消息。
26.根据权利要求21中所述的方法,其中,所述私有网络具有防火墙和网络地址转换器中的至少一个。
27.根据权利要求21中所述的方法,还包括:
由所述起始节点将所述终结节点的基于IP的标识符转换为所述终结节点的非基于IP的标识符,其中所述非基于IP的标识符被用以通过所述非基于IP的通信技术将所述通信请求发送给所述终结节点。
28.一种用于与终结节点建立因特网协议IP连接的设备:
用于通过非基于IP的通信技术在所述终结节点处接收来自起始节点的通信请求的装置;以及
用于响应于所述通信请求而由所述终结节点发起与所述起始节点的基于IP的通信的装置,
其中,所述起始节点位于公共网络中,并且所述终结节点位于私有网络中,
所述设备还包括:
用于在所述终结节点处的应用层和所述终结节点处的中间件层之间创建虚拟服务器套接字的装置;
用于在所述起始节点处的应用层和所述起始节点处的中间件层之间创建虚拟客户端套接字的装置;
用于通过所述非基于IP的通信技术将所述通信请求从所述起始节点处的所述中间件层发送到所述终结节点的所述中间件层的装置;
用于在所述终结节点处的所述中间件层和所述终结节点处的系统层之间创建客户端套接字的装置;以及
用于在所述起始节点处的所述中间件层和所述起始节点处的系统层之间创建服务器套接字的装置;
其中,在所述终结节点通过所述中间件层接收处所述通信请求;其中,所述通信请求定义了所述起始节点处的所述服务器套接字的因特网协议IP地址和端口号;并且其中,所述基于IP的通信由所述终结节点处的所述中间件层发起。
29.根据权利要求28所述的设备,其中,所述非基于IP的通信技术从口头通信、文本消息、射频RF通信、短消息服务SMS通信、多媒体消息服务MMS通信以及即时消息的组中进行选择。
30.根据权利要求28中所述的设备,其中,所述通信请求定义了所述起始节点处套接字的因特网协议IP地址和端口号。
31.根据权利要求28中所述的设备,还包括:
用于使用所述通信请求所定义的安全性信息在所述终结节点处验证所述通信请求的有效性的装置。
32.根据权利要求28所述的设备,还包括:
用于通过所述终结节点处的所述客户端套接字接收连接成功消息的装置;
用于通过所述终结节点处的所述中间件层将所述连接成功消息转换为接受成功消息的装置;
用于在所述终结节点处的所述虚拟服务器套接字处接收所述接受成功消息的装置;
用于通过所述起始节点处的所述服务器套接字接收接受成功消息的装置;
用于通过所述起始节点处的所述中间件层将所述接受成功消息转换为连接成功消息的装置;以及
用于在所述起始节点处的所述虚拟客户端套接字处接收所述连接成功消息的装置。
33.根据权利要求28所述的设备,其中,所述私有网络具有防火墙和网络地址转换器中的至少一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/159,759 | 2005-06-23 | ||
US11/159,759 US8265069B2 (en) | 2005-06-23 | 2005-06-23 | System, terminal, method, and computer program product for establishing a transport-level connection with a server located behind a network address translator and/or firewall |
PCT/IB2006/001626 WO2006136908A2 (en) | 2005-06-23 | 2006-06-08 | System, terminal, method, and computer program product for establishing a transport- level connection with a server located behind a network address translator and/or firewall |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101228771A CN101228771A (zh) | 2008-07-23 |
CN101228771B true CN101228771B (zh) | 2015-03-04 |
Family
ID=37567279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680027052.1A Active CN101228771B (zh) | 2005-06-23 | 2006-06-08 | 建立ip连接的系统、方法、设备及终结节点、起始节点 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8265069B2 (zh) |
EP (1) | EP1894384A4 (zh) |
JP (1) | JP2008547299A (zh) |
KR (1) | KR20080026628A (zh) |
CN (1) | CN101228771B (zh) |
WO (1) | WO2006136908A2 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7406709B2 (en) * | 2002-09-09 | 2008-07-29 | Audiocodes, Inc. | Apparatus and method for allowing peer-to-peer network traffic across enterprise firewalls |
JP4091095B2 (ja) * | 2004-08-06 | 2008-05-28 | シャープ株式会社 | 送信機、受信機、通信システム、通信方法、通信プログラム |
US7787391B2 (en) * | 2005-01-28 | 2010-08-31 | Sharp Kabushiki Kaisha | Communication device, communication system, communication method, communication program, and communication circuit |
CN101964705B (zh) * | 2005-01-28 | 2012-08-08 | 夏普株式会社 | 通信设备、通信系统、通信方法、通信程序、通信电路 |
KR100902341B1 (ko) * | 2005-01-28 | 2009-06-12 | 샤프 가부시키가이샤 | 통신기기, 통신시스템, 통신방법, 통신 프로그램을 기록한 컴퓨터독취가능한 기록매체, 통신회로 |
US8051182B2 (en) * | 2005-01-28 | 2011-11-01 | Sharp Kabushiki Kaisha | Communication device, communication system, communication method, communication program, and communication circuit |
GB2430582B (en) * | 2005-09-26 | 2008-04-09 | Nec Technologies | Method of managing connectivity status for a mobile radio communications device, and such a device |
JP4786664B2 (ja) * | 2005-11-10 | 2011-10-05 | シャープ株式会社 | データ送信装置およびその制御方法、データ送信装置制御プログラム、ならびに該プログラムを記録した記録媒体 |
US9014731B2 (en) * | 2006-08-03 | 2015-04-21 | Narasimha Suresh | Method and system to enable communication through SMS communication channel |
US8649520B2 (en) * | 2006-09-06 | 2014-02-11 | R. Paul McGough | Method and system for establishing real-time trust in a public network |
JP4219950B2 (ja) * | 2006-10-16 | 2009-02-04 | シャープ株式会社 | 通信機器、通信方法、通信回路、携帯電話機、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体 |
EP2168353B1 (en) * | 2007-07-04 | 2010-11-24 | Telefonaktiebolaget LM Ericsson (publ) | Ip link establishment across a data network |
US8260934B2 (en) * | 2007-08-31 | 2012-09-04 | Red Hat, Inc. | Multiplex transport |
JP5301131B2 (ja) * | 2007-09-27 | 2013-09-25 | 京セラ株式会社 | 無線通信端末およびその制御方法 |
US20100257276A1 (en) * | 2007-11-22 | 2010-10-07 | Nokia Corporation | Virtual network interface for relayed nat traversal |
US7970913B2 (en) | 2008-12-31 | 2011-06-28 | International Business Machines Corporation | Virtualizing sockets to enable the migration of a system environment |
CN101557309B (zh) * | 2009-05-07 | 2012-10-03 | 成都市华为赛门铁克科技有限公司 | 网络配置方法、客户端、服务器及通信系统 |
CN101562639B (zh) | 2009-05-14 | 2012-08-08 | 华为终端有限公司 | 信息同步方法、装置和系统 |
DE102009044525A1 (de) * | 2009-11-13 | 2011-05-19 | Vodafone Holding Gmbh | Freigabe einer Verbindung durch eine Firewall eines Netzzugriffsgeräts |
CN101848235B (zh) * | 2010-04-16 | 2012-10-17 | 北京航空航天大学 | 一种支持nat穿越的实时多媒体数据p2p传输方案 |
JP6050259B2 (ja) * | 2011-02-19 | 2016-12-21 | サムスン エレクトロニクス カンパニー リミテッド | Nfcピアツーピア通信環境におけるインターネットプロトコル(ip)データ通信を提供する方法及びシステム |
US8886756B2 (en) * | 2011-05-13 | 2014-11-11 | Qualcomm Incorporated | Exchanging data between a user equipment and an application server |
US8955097B2 (en) | 2011-12-13 | 2015-02-10 | Mcafee, Inc. | Timing management in a large firewall cluster |
US9229750B1 (en) * | 2012-08-17 | 2016-01-05 | Google Inc. | Virtual machine networking |
US9467480B2 (en) * | 2013-09-16 | 2016-10-11 | Qualcomm Incorporated | Selectively multiplexing incoming WebRTC traffic and/or de-multiplexing outgoing WebRTC traffic by a client-based WebRTC proxy on behalf of a WebRTC multimedia client application |
CN104793506B (zh) * | 2015-04-13 | 2019-02-26 | 卢军 | 面向物联网智能家庭设备控制的可移植控制方法及系统 |
CN106455120B (zh) * | 2015-08-13 | 2020-05-12 | 中国移动通信集团公司 | 一种处理异系统间接口的方法、基站及无线设备 |
KR102610823B1 (ko) * | 2017-11-27 | 2023-12-07 | 삼성전자주식회사 | 네트워크 어드레스 변환을 위한 통신 시스템 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004023263A3 (en) * | 2002-09-09 | 2004-12-02 | Netrake Corp | System for allowing network traffic through firewalls |
CN1592257A (zh) * | 2004-04-23 | 2005-03-09 | 王晖 | 一种在网络可视电话之间建立呼叫连接的方法 |
US6907034B1 (en) * | 1999-04-08 | 2005-06-14 | Intel Corporation | Out-of-band signaling for network based computer session synchronization |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2150062A1 (en) | 1994-06-30 | 1995-12-31 | Richard James Garrick | Applications programming interface for distributed processing in networks |
JP3206460B2 (ja) | 1996-11-20 | 2001-09-10 | 日新電機株式会社 | ネットワーク通信システム |
JPH10210080A (ja) * | 1997-01-20 | 1998-08-07 | Nec Corp | インターネット通信システム |
JP3758808B2 (ja) * | 1997-05-15 | 2006-03-22 | ソニー株式会社 | 通信端末および通信方法 |
JPH1127422A (ja) * | 1997-07-04 | 1999-01-29 | Nakayo Telecommun Inc | ダイヤルアップ接続式ipルーティング網電話システムおよびダイヤルアップ接続式ターミナルアダプタ |
US7062465B1 (en) * | 1999-08-31 | 2006-06-13 | Verizon Services Corp. | Methods and apparatus for providing agent controlled synchronized browsing at a terminal |
JP2001119676A (ja) | 1999-10-19 | 2001-04-27 | Soichi Ueno | インターネットテレビ電話中継装置 |
US6961346B1 (en) * | 1999-11-24 | 2005-11-01 | Cisco Technology, Inc. | System and method for converting packet payload size |
JP3682049B2 (ja) * | 1999-11-30 | 2005-08-10 | 三菱電機株式会社 | 通話装置アダプタ及び中継サーバ及びインターネット電話ネットワークシステム |
JP2001177663A (ja) * | 1999-12-16 | 2001-06-29 | Matsushita Electric Ind Co Ltd | インターネット電話システム |
JP4212230B2 (ja) * | 2000-10-31 | 2009-01-21 | 富士通株式会社 | メディア通信システム及び該システムにおける端末装置 |
US20020083342A1 (en) * | 2000-12-21 | 2002-06-27 | Webb Brian T. | Systems, methods and computer program products for accessing devices on private networks via clients on a public network |
US6999431B2 (en) * | 2001-02-17 | 2006-02-14 | Inter-Tel, Inc. | Voice over internet protocol |
US6928082B2 (en) * | 2001-03-28 | 2005-08-09 | Innomedia Pte Ltd | System and method for determining a connectionless communication path for communicating audio data through an address and port translation device |
US7224774B1 (en) * | 2001-03-23 | 2007-05-29 | Aol Llc | Real-time call control system |
JP3737720B2 (ja) | 2001-07-23 | 2006-01-25 | ソフトバンクBb株式会社 | 通話システム、及び通話システム用プログラム |
US20030105763A1 (en) * | 2001-11-30 | 2003-06-05 | Gemini Networks, Inc. | System, method, and computer program product for providing a wholesale provisioning service |
JP2003234843A (ja) | 2002-02-07 | 2003-08-22 | Nippon Telegr & Teleph Corp <Ntt> | 情報収集または提供システムおよび方法、並びに、そのための呼出仲介サーバおよびターミナルアダプタ |
US7979528B2 (en) * | 2002-03-27 | 2011-07-12 | Radvision Ltd. | System and method for traversing firewalls, NATs, and proxies with rich media communications and other application protocols |
JP3871604B2 (ja) * | 2002-04-30 | 2007-01-24 | 富士通株式会社 | VoIPネットワークシステム |
US20030227939A1 (en) * | 2002-06-05 | 2003-12-11 | Satoru Yukie | Establishing a connection using a hybrid receiver |
GB2391436B (en) * | 2002-07-30 | 2005-12-21 | Livedevices Ltd | Server initiated internet communication |
WO2004012413A1 (en) * | 2002-07-30 | 2004-02-05 | Livedevices Limited | Served initiated authorised communication in the presence of network address translator (nat) or firewalls |
DE60204018T2 (de) * | 2002-09-16 | 2006-03-02 | Alcatel | SS7-Signalisierungsserver mit integrierten verbesserten Siganlisierungsdiensten |
US20040176128A1 (en) * | 2003-01-30 | 2004-09-09 | 3Com Corporation | System, mobile communications unit, and softswitch method and apparatus for establishing an Internet Protocol communication link |
-
2005
- 2005-06-23 US US11/159,759 patent/US8265069B2/en active Active
-
2006
- 2006-06-08 KR KR1020087001761A patent/KR20080026628A/ko active IP Right Grant
- 2006-06-08 CN CN200680027052.1A patent/CN101228771B/zh active Active
- 2006-06-08 JP JP2008517619A patent/JP2008547299A/ja active Pending
- 2006-06-08 EP EP06765540A patent/EP1894384A4/en not_active Ceased
- 2006-06-08 WO PCT/IB2006/001626 patent/WO2006136908A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6907034B1 (en) * | 1999-04-08 | 2005-06-14 | Intel Corporation | Out-of-band signaling for network based computer session synchronization |
WO2004023263A3 (en) * | 2002-09-09 | 2004-12-02 | Netrake Corp | System for allowing network traffic through firewalls |
CN1592257A (zh) * | 2004-04-23 | 2005-03-09 | 王晖 | 一种在网络可视电话之间建立呼叫连接的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2006136908A2 (en) | 2006-12-28 |
EP1894384A2 (en) | 2008-03-05 |
US8265069B2 (en) | 2012-09-11 |
US20060291502A1 (en) | 2006-12-28 |
KR20080026628A (ko) | 2008-03-25 |
EP1894384A4 (en) | 2012-10-10 |
WO2006136908A3 (en) | 2007-03-22 |
JP2008547299A (ja) | 2008-12-25 |
CN101228771A (zh) | 2008-07-23 |
WO2006136908A8 (en) | 2008-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101228771B (zh) | 建立ip连接的系统、方法、设备及终结节点、起始节点 | |
CN101385315B (zh) | 使用本地网络的私用ip地址的通信 | |
US8989737B2 (en) | System and method for establishing a session initiation protocol communication session with a mobile terminal | |
CN1938999B (zh) | 寻址方法及建立遗留与主机标识协议节点之间的主机标识协议连接的方法和设备 | |
KR100948654B1 (ko) | 네트워크-개시 데이터 서비스 기술을 이용하여 컨텐트를단말기로 푸쉬(push)하기 위한 시스템 및 방법 | |
US7599374B2 (en) | System and method for establishing an Internet Protocol connection with a terminating network node | |
US8090858B2 (en) | Systems and methods for encapsulation based session initiation protocol through network address translation | |
US20060034256A1 (en) | System and method for service discovery during connection setup in a wireless environment | |
CN103688516B (zh) | 提供公共可达性的方法和有关系统与装置 | |
JP2008543140A (ja) | ホストアイデンティティプトコルを使用する方法及び装置 | |
US7023847B2 (en) | Network address translation based mobility management | |
RU2351084C2 (ru) | Способ установления vpn-соединения | |
JP2019050628A5 (zh) | ||
CN117439815B (zh) | 一种基于反向透明桥接的内网穿透系统及方法 | |
JP7370066B2 (ja) | 通信方法 | |
Barsk | A seamless vertical handover system prototype | |
Nielsen | of Deliverable: Description of Basic Network Components | |
Yamada et al. | Proposal of mobile transparency protocol framework for smartphone | |
WO2008058906A2 (en) | Address translation |
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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160111 Address after: Espoo, Finland Patentee after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Patentee before: Nokia Oyj |