CN1531801A - 便于对等应用通信的方法和装置 - Google Patents

便于对等应用通信的方法和装置 Download PDF

Info

Publication number
CN1531801A
CN1531801A CNA018175201A CN01817520A CN1531801A CN 1531801 A CN1531801 A CN 1531801A CN A018175201 A CNA018175201 A CN A018175201A CN 01817520 A CN01817520 A CN 01817520A CN 1531801 A CN1531801 A CN 1531801A
Authority
CN
China
Prior art keywords
address
application
network
area
valid
Prior art date
Application number
CNA018175201A
Other languages
English (en)
Other versions
CN100512165C (zh
Inventor
A・T・莫利特
A·T·莫利特
Original Assignee
阿尔开泰尔美国资源开发有限合伙公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
Priority to US09/661,070 priority Critical patent/US6661799B1/en
Priority to US09/661,070 priority
Application filed by 阿尔开泰尔美国资源开发有限合伙公司 filed Critical 阿尔开泰尔美国资源开发有限合伙公司
Publication of CN1531801A publication Critical patent/CN1531801A/zh
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24652085&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1531801(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application granted granted Critical
Publication of CN100512165C publication Critical patent/CN100512165C/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents
    • H04L29/12Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents characterised by the data terminal contains provisionally no documents
    • H04L29/12009Arrangements for addressing and naming in data networks
    • H04L29/1233Mapping of addresses of the same type; Address translation
    • H04L29/12339Internet Protocol [IP] address translation
    • H04L29/1249NAT-Traversal
    • H04L29/12509NAT-Traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents
    • H04L29/12Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents characterised by the data terminal contains provisionally no documents
    • H04L29/12009Arrangements for addressing and naming in data networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents
    • H04L29/12Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents characterised by the data terminal contains provisionally no documents
    • H04L29/12009Arrangements for addressing and naming in data networks
    • H04L29/1233Mapping of addresses of the same type; Address translation
    • H04L29/12339Internet Protocol [IP] address translation
    • H04L29/12481Translation policies and rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L29/00Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents
    • H04L29/12Arrangements, apparatus, circuits or systems, not covered by a single one of groups H04L1/00 - H04L27/00 contains provisionally no documents characterised by the data terminal contains provisionally no documents
    • H04L29/12009Arrangements for addressing and naming in data networks
    • H04L29/1233Mapping of addresses of the same type; Address translation
    • H04L29/12339Internet Protocol [IP] address translation
    • H04L29/1249NAT-Traversal
    • H04L29/12528NAT-Traversal using address mapping retrieval, e.g. Simple Traversal of UDP through NATs [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements or network protocols for addressing or naming
    • H04L61/25Network arrangements or network protocols for addressing or naming mapping of addresses of the same type; address translation
    • H04L61/2503Internet protocol [IP] address translation
    • H04L61/2557Translation policies and rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements or network protocols for addressing or naming
    • H04L61/25Network arrangements or network protocols for addressing or naming mapping of addresses of the same type; address translation
    • H04L61/2503Internet protocol [IP] address translation
    • H04L61/256Network address translation [NAT] traversal
    • H04L61/2567Network address translation [NAT] traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements or network protocols for addressing or naming
    • H04L61/25Network arrangements or network protocols for addressing or naming mapping of addresses of the same type; address translation
    • H04L61/2503Internet protocol [IP] address translation
    • H04L61/256Network address translation [NAT] traversal
    • H04L61/2575Network address translation [NAT] traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/104Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks

Abstract

一个用于完成网络地址转换(NAT)的系统,它使应用(121,122,321,322,421,521,522)能请求关于要完成的地址转换的信息,使得这些应用为了在特定的通信通道缺乏静态定义的规则的情况下允许应用通过NAT设备(320)通信的目标而向其它的应用发送有用的信息。

Description

便于对等应用通信的方法和装置

技术领域

本发明涉及用于处理在因特网上交换数据的应用之间通信的设备。更具体地,本发明涉及网络地址转换(NAT)设备和使用这种NAT设备以便于在因特网上对等数据通信的系统及方法。

背景技术

如图1所示,传统类型的网络地址转换(NAT)设备20通常放置在两个不同地址区域50和30之间的边界上的因特网协议(IP)网络中。一个区域50可以是专用组织的内部网10,而另一个区域30可以是公用的全球因特网。由这种传统设备寻址的问题在于一个组织可能需要较大的内部网络,该网络具有许多设备,每个设备需要唯一的IP地址。考虑到当前可用的唯一IP地址的可用地址空间(232个可用地址)和现在地址定位方式,该组织也许不能通过指定这种地址的管理机构分配足够数目正式的IP地址给它。因此,该组织被迫有效地对它自己的内部网络作出内部有效的地址。这能使其内部网络正确地运作;在这种情况不需要使用正式分配的IP地址。当在较大的内部网络中的设备或应用(在特定设备中运行的程序)需要与全球因特网(我们是指使用正式指定IP地址的任何公共或专用的IP网络)通信时,就会引起困难。因为由该组织内部指定的地址或者与属于某些其他组织的正式指定的地址重叠,或者不是正式指定的,全球的因特网不能使用这些地址将数据正确地发送到该组织的内部网络。为了发送数据到连网设备,例如,发送的应用必须具有目标应用的地址,而且接收数据的网络本身必须知道如何定位目标应用。仅当所有有关的应用在关于哪个IP地址属于哪个设备及应用方面达成一致,这些操作才能工作。

对该组织的一个解决办法是为它分配某组织正式的IP地址。这些是唯一的地址。在全球因特网上发送数据到这些地址的任何应用可以依赖于到达该组织的内部网络的入口的数据。即,全球的因特网底层结构正确地提交数据到该组织,而然后(用IP的这种正常情况)依赖该组织定位在组织中的正确的终点应用,作最终的数据提交。

该组织然后能在不定的时间周期指定分配给单独应用的每个正式IP地址,使得有幸的几个应用能作因特网访问。允许更广泛访问的更好的解决方法是使用一个设备,它实际上在任何给定时刻动态地将正式分配的IP地址指定给需要访问全球因特网的应用。不再使用地址的应用将地址返回,可用于再次分配。此共享系统工作得很好,并且确实是传统的网络地址转换器(NAT)通常使用的最简单的方式。(见RFC 2663“IP网络地址转换器(NAT)术语和考虑”,由因特网工程任务组(IETF)发表。这是描述围绕NAT设备的操作和问题的基本IETF文档)通常,给一个组织都分配很少量的正式IP地址。可能少到31或255个这样的地址给予一个组织。对于在其内部网络有数以千计的应用的组织,只能分配正式IP地址的初级NAT是不够的。比如说5000个应用(每个对应于单独的雇员)中若只有31个能同时使用全球因特网,就不能认为完全地解决问题。

为了有效地扩展正式分配的地址库的有效规模,该组织的NAT通常有能力对多个内部应用使用同一个正式的地址。到达特定正式IP地址,如X,的数据可以进一步通过属于若干数据流之一,如A,B和C,加以区分。NAT可指定地址X,数据流A给一个应用的特定数据流,而地址A,数据流B和C属于两个另外的其他应用。

数据流识别符称为端口号。在IP网络中的数据流由称为“5-元阻”识别,它由5个单独的数字量组成:1)源IP地址2)目标IP地址3)源端口号4)目标端口号5)传输协议IP网络中的每个数据项(包)中具有这5个数字识别符。这两个IP地址(上述项1或项2)或多或少地能识别源和目标应用。协议识别使用哪个机制保证可靠的数据传输。对现在的目标,协议被忽略,因为它与NAT没有太多关系。源和目标端口号(上述3和4项)分别是识别网络中哪个应用发送和接收此数据包。

如本文档所见,传统的网络地址转换器(如由Cisco System,Inc.of SanJose,CA制造的Private Internet Exchange(PIX))通过修改数据包中的这5个数字识别符工作。如上所见,NAT设备驻留在两个地址区域的边界。通常是在全球的因特网和一个组织的专用网之间,但不限于此,在那里两个网络具有不兼容的IP地址方案。NAT设备使用对经过它的每个包中的四个源/目标单元的智能重写,为两个网络的每一个网络提供一个虚假但兼容的对其它网络IP地址方案的查看。每个NAT必须具有一组确定内部地址-外部地址配对的规则,用于地址转换。有用的NAT必须建立这些配对,使内部应用能有效地使用可用的外部地址,若外部地址区域需要正式的IP地址,它将是很有限的。

与内部网络有关的传统的NAT设备主要地支持两个并行的操作模式。第一个允许从内部网络的应用向外到全球的因特网(例如,一个访问网页的协会用户)的数据处理,这是内部客户对外部服务器的访问。第二个允许在全球因特网的应用能访问在内部网络的特定设备上的特定服务(例如访问一个组织的网站的客户)。这是外部客户对内部服务器的访问。传统NAT设备建立允许第一和第二类型访问的地址配对的方法是略有不同的。

传统的NAT设备如下实现第一模式:当初始的数据包到达NAT设备的输出时,NAT设备检查源地址和端口(它识别发出该数据包的内部设备及应用)。然后,NAT从其有效的正式地址和端口库中选择外部有效的IP地址及端口以替代数据包中的内部有效的源地址和端口。从内部有效的源地址和端口到外部有效的源地址和端口的映射以某种方式保持在NAT之内,例如保持在定义对应规则的表中。最后,NAT修改在输出数据包中的内部有效源地址和端口字段并将其送出。当在NAT处发现从外面来的响应初始数据包的输入回答数据包时,在回答数据包中的目标地址和端口应匹配外部有效的源地址和端口(因为在回答中很自然地发送者的地址和接收者的地址改变了位置,就象邮政信件)。NAT使用此进入的外部有效的源地址和端口从初始的输出数据包定位内部可用的源地址及端口。然后,NAT使用此定位的内部有效的源地址和端口替代在此进入的回答数据包中的目标地址及端口。至此,进入的回答数据包具有正确的内部有效目标地址及端口用于提交数据包给发出初始输出数据包的设备及应用。

传统的NAT设备应用第二种模式,它使用由管理该NAT的人所定义的固定内部-外部地址对照配置信息。对此模式,初始数据包是进入的包,从外部到达NAT,并带有某些包含正式分配的IP地址的目标信息,因为这些外部有效的地址是唯一地址,全球因特网就能用来将数据包传送给具有NAT的目标组织。在目标组织中的NAT咨询其配置信息以确定它应使用哪个(固定的)内部有效的IP地址和端口来替代包含在进入的数据包中的外部有效的目标地址和端口。实际上,若一个应用(如网络服务器)出现在内部设备A(非正式的,但内部有效的IP地址)的目标组织处,期待在端口X上的数据包,则配置NAT来识别,编址为IP地址M(正式指定并外部有效),端口Y的包应重编址到内部有效地址,设备A/端口X。在目标组织处的另外应用应在另一内部设备上运行,该设备外部识别成端口Z处的设备B,而且NAT应再次按照某些固定的,预定的配置数据对具有同一内部地址A和某个其它端口的该应用使用内部-外部地址配对。

困难在于第一种模式只允许内部客户发送数据到外部服务器(并随后从其接收数据),而第二种模式只允许外部的客户发送数据到与内部服务有关的NAT中预定的固定的IP地址和端口的一小组内部服务器(并随后从其接收回答)。不支持外部客户连接到刚创建的端口号处刚建立的内部服务器的处理。

各种现有技术的参考资料都讨论NAT设备和在其基本地址转换功能的变化:题为“Method And System For Locating Network Services WithDistributed Network Address Translation”美国专利6055236包括了实际上是针对服务安全的方法。美国专利6055236没有提到对客户方信息提供地址的对称问题,而完全着重于对服务器外部有用的地址,而未能提及对由客户使用的有关外部地址。

题为:“Security System For Network Address Translation System”的美国专利5793763是有关某种类型的NAT设备,只是,它只转换IP地址,而且它涉及安全考虑。没有谈到使用端口号来扩展“逻辑”地址可用空间的话题。

SOCKS.SOCKS是因特网工程任务组(IETF)标准,它提供一个机制,借助此机制一个应用能询问一个应用防火墙关于能发布到远程的客户应用的外部有用的地址。Socks是该应用的代理,它提供类似于NAT的服务,但完全不同地运作。Socks(如任何应用的代理)不是在数据包流过设备时重写包的内容,而是端接两个通信通道,并在其本身的高层次上逻辑上将其互相连接。例如,在网络内部的服务器可以开始其服务,并随后在网络的边缘作出对Socks应用的请求。Socks应用在其网络边缘的主机上起动一个“瘦”服务器,并随后通知原始服务器可以找到该“瘦”服务器的地址和端口。原始服务器能将此信息通知连接到运行SOCKS的“瘦”的服务器的客户。然后SOCKS将作为客户连接到原始服务器,将从外部客户接收到的数据复制到原始服务器,并将从原始服务器接收到的数据复制回外部客户。尤其是,SOCKS不是NAT,并不是逐包地操作,具有某些性能和度量的含义。有关SOCKS的更多的信息见http://www.socks.nec.com。

可以期望有越来越多的IP网络使用需求增长以发送包括数字化的语音,音频或视频(“媒体”内容)。人们需要的是用于便于对等数据交换的网络地址转换的方法和装置,数据交换包括经过因特网和其它IP网络的媒体传输。

发明内容

本发明包括为便于在第一地址区域的第一应用及在不同的地址区域的第二应用之间通信的网络地址转换设备。该设备使用地址转换器,根据转换规则将在第一地址区域中有效的地址转换到在第二地址区域中有效的地址,并将第二地址区域中有效的地址转换到在第一地址区域中有效的地址。它也使用地址管理器,通过将在第一地址区域中有效的地址与在第二地址区域中有效的地址相关联而建立转换规则。还有一个与地址管理器通信的控制通道,用于从第一应用接收对与在第一区域中有效的特定地址相关的在第二地址区域有效的地址的请求,并用于为第一应用提供对在第二地址区域的地址访问,以便于在第二区域中有效地址到第二应用的通信。

在本发明的一个实施例中,该应用是IP电话连接的实体。在本发明的另一个实施例中,地址管理器建立更复杂的转换规则,使得外部有效的目标地址能根据进入的源地址转换成一个值或另一不同值的内部有效地址。特定的远程地址,较大的远程地址组,或任何远程地址完全能用作对专门的,更复杂的NAT规则使用的触发。在又一个实施例中,应用被编程为在指定的范围内控制由地址管理器建立的转换规则。

附图说明

图1是方块图,示出在现有技术网络上用于将具有多个设备或应用的内部网络连接到因特网的NAT设备。

图2是方块图,示出按现有技术完成地址转换的NAT设备。

图3是方块图,示出按本发明的实施例的NAT设备,便于在由该NAT服务的地址区域中的应用和在另外地址区域的应用之间的通信。

具体实施方式

I、对等应用使用本发明的系统至少对以对等(两个或多个位于任何处的设备,并主要对称地通信)方式工作的新的因特网应用类是有用的。它与传统方式不同,在传统方式中一个设备在一个已知的位置(IP地址),而另一个可以在或可以不定位在已知的位置(IP地址)。

如IP电话,即时发消息等新一代的因特网应用使得在不同地址区域内的用户能直接连接到彼此的计算机,共享数据或协同操作,或以持续实时交互方式交谈。在这些协议中,每个用户的计算机将建立一个可称之为微一服务器的应用,并随后与位于该微服务器能达到的不同的地址区域,IP地址和端口的其它计算机通信。(这是在传统的NAT设备未能处理的“刚分配的端口号”处的“刚建立的内部服务器”)。为完成对等连接,每个用户的计算机随后起动一个客户应用以连接到在其它地址区域的微-服务器。然后,对应客户应用必须占有其它地址区域中的其它计算机上的微服务器能达到的地址。其后,使用NAT处理不同的地址区域,能够开始在两个客户/微服务器对之间的双向通信。

如上所述,图1示出使用传统的NAT的情况。通常要解决的问题是存在于非正式的或非指定的IP地址区域50中较大的内部网络10的问题,这些IP地址对全球因特网是未知,或不能正确路由的。NAT设备20配置在内部网10到全球因特网30的互连点(或多个点)处。使用正式指定的地址的较小库,NAT 20采用正式指定的IP地址对全球因特网30建立小的设备网络的虚象,并对内部网络10中的许多或所有设备提供对全球因特网30的某些访问。

对等应用将不通过当前型号的NAT设备工作,部分是因为应用和它对应NAT通信的局限方法。正常地,NAT设备只处理消息包的IP地址字段,按照有限的规则组完成地址转换。图2示出传统的NAT 120的基本地址转换功能。主机A 110是由传统的NAT 120服务的地址区域100的一部分。应用A1 121在主机A上运行。它具有目标或终端地址,这在内部有效并用于得到路由到它的进入的消息包。应用A1也能具有起始地址,它被用于将应用A1识别为应用A1产生的消息包的源。如上所讨论,IP消息包包括五部分的IP头标。因此,应用A1希望发到远程的外部地址区域中的主机R 210的输出包130在其IP头标140中具有下列分量:1)源IP地址2)目标IP地址3)源端口号4)目标端口号5)传输协议IP头标后是数据142,它可以是媒体。当应用A1将输出消息130提供给NAT 120时,NAT120必须用外部有效地址和端口号代替任何内部有效的地址和端口号。NAT 120可以具有硬件和软件122,它们可应用以任何形式(如对应表124)存储的转换规则。通常,应用A1 121只占有其内部有效的源IP地址和源端口号(其起始地址),而NAT 120在将这些包发送到主机R 210之前必须将插入在任何输出消息130中的那些地址转换成用于包230的外部有效的地址头标240。若我们为了简单起见假设主机R是在使用正式的IP地址的地址区域200内,则不需要NAT或地址转换将带有外部有效地址的头标240的包230传送给在主机R的地址区域200中指定的目标IP地址及端口。

主机R的回答包250将在其地址头标260中使用外部有效的IP地址。NAT120需要将这些外部有效地址转换成对其地址区域100内部有效的IP地址。而且,NAT将使用硬件和软件122,它们应用其以任何形式,如对应表124,存放的转换规则。从主机R发送到主机A的结果是带有适当转换的地址头标160的内部有效的包150,而头标具有内部有效的目标地址和端口(即对应用A1的终点地址)。这使带有数据内容162的内部有效的包150达到应用A1。

用于得益于本发明的对等通信的微服务器可能驻留在组织内部网络中的任何主机设备。这些微服务器通常由底层操作系统(以操作系统特定的方式)指定一个随机的可用的端口号作为用于其服务的端口;这应是该微服务器运行的主机设备上任何其它应用当前没有使用的端口号。当然,微服务器没有理由必须驻留在与该微服务器地址通信的应用的同一设备上,在另外地址区域中的微服务器的客户也不是必须驻留在为建立数据交换而与微服务器的地址通信的同一个设备上。但是,若确实发生这种分离,就必须发生某些网间通信,所以所有的应用应知道它们需要知道的所有地址及端口信息。

我们称这里讨论的应用类为“对等应用”,它试图覆盖在网络上主要以对称方式通信的所有应用,其中在分别提供服务或接收服务的应用的意义上没有哪个应用明确是服务器或客户;而是双方应用完成与另一个应用相同或类似的功能。注意,在本文的整个余下部分,我们使用术语“客户”表示发起数据传输会话的应用,而术语“服务器”表示接收来自客户数据传输会话的应用。这是传统的术语,它协助确定在两个应用之间所通过的起始数据包以哪个方向通过。这个起始的步骤对讨论NAT的工作情况是重要的。为了我们的目的,除非另外说明,术语“客户”表示发送数据传输的初始会话包的应用或设备,而“服务器”表示初始数据包指向的应用或设备。

IP电话是对等应用的重要例子。在此例中,每个端点应用通过起动所谓的“媒体”连接来发送包含数字化语音的包到另一方而起着客户的作用,另一方接收包含数字化语音的包而起着服务器的作用。这种关系或多或少是对称的,因为数字化语音通常双向传送。

在IP电话中,在内部网络上的微服务器(例如,等待从远处电话来的数字化语音包流的IP电话)通常需要将它的主设备的IP地址通知给远处客户(另外的IP电话,或某些其它设备,如虚拟PBX或起着另外的电话作用的其它IP电话网关)。微服务器的内部有效的网络地址对在全球因特网上的客户不能用,因为此地址不是正式指定的IP地址。在微服务器能设法独立发现或计算能连接到原始包中的远程客户的正式的IP地址的情况下,传统的NAT仍然没有处理过程或规则来处理由远程客户应用发出的第一个回答包。除非NAT本身参与在原始包中正式的IP地址的发现或计算,NAT将没有与内部网络地址和在进入消息中的任何正式IP地址相关联的转换规则。

II、改善的对等网络地址转换设备下面的讨论参考图3,描述本发明如何使用改善的NAT设备和方法来建立对等的因特网通信。

在不同地址区域之间有效的对等应用通信需要该应用(为简单起见,我们将讨论限止在两个应用之间交换数据,而不是一对多或多对多的交换)访问在它们的通信中将使用的正式的,外部有效的IP地址信息。在最简单的情况,第一个应用需要访问(1)另外的应用用来达到第一应用的外部有效地址信息,使得第一应用能将该地址信息通知在另外地址区域中的第二应用,和(2)第二应用的外部有效地址。实际上,为了对称并为了便于得到安全性及其它功能,最好第一和第二应用的每一个具有两个地址;一个起始地址A0,用于识别发送应用的设备和端口为输出消息包的源,和不同的终点地址AT,用于识别接收输入消息包的另外的设备及端口。因此,借助第一和第二应用的每一个具有并通信两个有关的正式地址(起始的和终点的)来建立理想的通信。此外,第一和第二应用的每一个访问它想要作对等通信的对方的起始和终点地址。

图3示出一种便于改善在不同地址区域中两个对等应用之间通信的系统。主机A 110和主机B 310都是地址区域100的一部分。主机A具有在其上运行的一个或多个应用。通过实例,示出应用A1 121和应用A2 122.每个具有内部有效终点地址和内部有效起始地址。主机B也可以具有在其上运行的一个或多个应用。通过实例,示出应用B1 321和应用B2 322。主机A和主机B可以在同一网络上,或相连,从而使得在主机A和主机B之间有用于通信的通道370(例如到公共通信网络的连接)。在该地址区域100中还可以有额外的主机,但未示出。

改善的NAT 320服务于地址区域100。改善的NAT 320具有两个功能部分。一个是地址转换部分322,它完成如参考图2中的NAT 120讨论的传统地址转换功能。另一个是地址管理器部分324。IP消息通道360将主机A 110连接到地址转换部分。当在主机A或由NAT 320服务的其它主机上的应用需要送出一个输出消息并需要转换成外部有效地址的内部有效地址时,就使用通道360。当带有外部有效的地址的进入消息到达,NAT 320将在进入消息中的外部有效地址转换成内部有效的地址,并需要将该消息送到地址区域100中的合适应用时,也使用通道360。

地址转换部分322连接到“外部”地址区域。作为例子,图3示出连接到地址转换部分322的全球因特网区域400。在地址区域400中,另外的地址区域200包含主机R 410和主机S 510,它们可以安装另外的主机A或主机B可以与其通信的应用(作为例子示出应用R1,R2,S1和S2)。通道470(例如公用网络连接)提供主机R 410和主机S 510之间的通信。

控制通道350将主机A 110(和间接主机B 310)连接到地址管理器部分324。当在主机A或由NAT 320服务的任何另外主机上的应用需要与NAT 320通信,以请求地址管理器324服务时,使用控制通道350。地址管理器对请求应用能完成若干服务。首先,请求应用能提出内部有效的地址(起始地址或终点地址),并请求地址管理器324提供与内部有效的地址配对的外部有效的地址,并使地址转换部分322访问此配对。这样做使得地址转换部分322使用此对照作为其对输入和输出消息包的转换规则。

第二,一个应用可以使地址管理器324将附加的或更复杂的规则加到NAT320中使用的规则中,超越简单的内部/外部地址配对。例如,借助地址管理器324在应用的请求处可建立更复杂的转换规则,而不是只对于在输入消息中找到的指定外部有效的目标地址或端口完成用对应的内部有效的目标地址或端口的无条件替代。能形成一个规则,使得地址转换部分322校验进入的源地址和/或端口,并根据该字段的内容应用不同的转换规则。例如,若某个源地址出现在在NAT 320接收的包中,则该包中的外部有效地址AE被转换成内部有效地址AI1;但若不存在源地址,则不作地址转换并丢弃该包。这对安全性是有利的。另外,外部有效的目标端口号PE能根据进入的源地址转换成内部有效的值为PI1或不同的值PI2的端口号。特定的远程地址,较大的远程地址组,或任何远程源地址都能用作对使用特定NAT规则的触发。

第三,应用可以对地址管理器324指定所请求与内部有效的地址关联的外部有效地址规定的及希望的特征。这对于使一个应用能规定,由转换得出的外部IP地址必须是特定的IP地址或在IP地址的指定范围内来说是有用的。因此,用适当的请求,应用能建立一个NAT规则,它要求消息包指向或强制指向公共全球因特网中的特定外部服务器,转而又将该消息导向特定的专用网络,在那里在该包再次进入到公共的全球因特网之前进行某种类型的发送和计费。

然后可以看到,控制通道350和地址管理器部分324表示灵活的工具,用于为应用提供它们用传统的NAT不能得到的信息以及为NAT的地址转换部分322建立某些转换规则的能力。地址管理器324能以硬件,软件或其组合实现。例如,可以希望,地址管理器324具有自己的微处理器和用于存储代码的存储器,该代码确定为响应从应用来的控制消息哪些服务和功能是可用的。还可看到,与地址管理器324通信的每个应用需要硬件和/或软件,以允许经过控制通道350作出请求,并将请求的信息或状态信息返回到应用。

III、使用控制通道的对等交换实例回到上面的服务器和客户关系的讨论,能解释在若干不同例子情况下,控制通道350的功能以及在应用和地址管理器部分324与地址转换部分322之间的通信。参考图3介绍每个例子。

服务器地址/端口的分配和发现的例子:在地址区域100中的主机A 110起动一个微服务器,一个应用A1 121,其目的是将地址信息通知在地址区域100之外的地址区域200中的主机410,它具有主机R 410能用来连接到微服务器,应用A1的地址信息。为了向主机R提供有用的地址信息,发生下列步骤:(1)、应用A1 121经控制通道350接触NAT设备320,通知地址管理器324应用A1正使用的内部有效的IP地址和端口。

(2)、应用A1 121从地址管理器324接收作为回答的外部有效的IP地址和端口号,NAT设备320将其转换成由应用A1在其请求中提供的内部有效的终点地址。

(3)、然后应用A1(我们必须假设它有能力编址一个到主机R,应用R1 421的IP消息包)经NAT 320的地址转换部分322发送IP消息包。包的数据部分包含外部有效的IP地址和端口号以通知主机R 410,一个应用R1 421如何发送包到应用A1。

(4)、在主机R 410的应用R1 421对应用A1给出并(正确地选址到正式IP地址)达到NAT 320的每个外部有效的IP地址和端口号发出连接请求,其中外部有效地址被转换成应用A1的内部有效的地址及端口。

(5)、NAT 320从应用R1 421发出回答数据包到主机A上的应用A1 121。

客户地址/端口分配及发现的例子:在地址区域200中的外部主机R410起动一个微服务器,如应用R1 421。应用A1试图将地址信息通知在地址区域100之外地址区域200之中的主机R,主机R可使用该地址信息验证从主机A来的输入连接。为了向主机R 420提供有用的地址信息,发生下列步骤:1)应用R1 421发送一个包给主机A,需要从主机A,应用A1 121得到有关从哪个IP地址和端口起动来自应用A1 121的连接的信息。该起始地址信息对安全性是有用的,并能由应用R1为其自己的目的,如符合通信协议,所需要。

2)主机A上的应用A1 121经控制通道350接触NAT 320,通知地址管理器324有关应用A1将使用的内部有效的IP地址和端口以便与主机R上的微服务器通信。

3)应用A1 121从地址管理器324接收作为回答的外部有效的IP地址和端口号,NAT设备320将由应用A1在其请求中提供的内部的有效起始地址转换成该外部有效的IP地址和端口号。

4)然后应用A1 121(我们必须假设它有能力编址一个到主机R,应用R1的IP消息包)经NAT 320的地址转换部分发送IP消息包:包的数据部分包含外部有效的IP地址和端口号,以通知主机R,应用R1 421,来自应用A1,121的包从哪个IP地址及端口发出。

5)然后应用A1 121通过发送编址到主机R,应用R1 421的输出包而发起连接,该包到达NAT设备320的地址转换部分322。

6)NAT设备320的地址转换部分322将包的源地址和端口(指应用A1的内部IP地址和端口)转换成其外部有效的版本(在步骤3它被送到应用A1,而在步骤4应用A1将其送到应用R1)。

7)地址转换部分322将带着应用R1所期待的源信息的包送到主机R,应用R1。

服务器地址/端口分配和发现及分别的请求器/服务器的例子:在此例中,主机A和主机B使用它们之间的通信通道370。这就允许在主机A上的应用起着在主机B上的应用的代理的作用。例如,若在主机B上应用是没有很多智能的IP电话,则主机A可以是带有能选择由IP电话所需的各种服务(如目录帮助,电话号到IP地址的关联)的应用的虚拟PBX,或者可以是某些形式的IP电话网关。使用了代理,很显然不再需要在由请求实体实际拥有或使用的地址和端口以及在到地址管理器324的请求中引出的那些地址和端口之间的关系。

在地址区域100中的主机B 310起动一个微服务器,如应用B1 321,其目的是将地址信息通知在地址区域100之外在地址区域200之内的主机R,主机R(其作用如客户)能使用该地址信息连接到微服务器,应用B1,为了向主机R提供有用的地址信息,出现下列步骤:1)应用A1 121经通道370与应用B1通信,以发现能用于接触到应用B1 321的内部有效的地址和端口。

2)应用A1 121需要接触在地址区域200中的应用R1,以向应用R1提供对应用B1的外部有效地址信息。应用A1经控制通道350接触NAT设备320,以通知地址管理器324应用B1正使用的内部有效地址和端口。

3)应用A1 121从地址管理器324接收作为回答的外部有效IP地址和端口号,NAT设备320将其转换成由应用A1在其请求中提供的对应用B1的内部有效的终点地址。

4)然后应用A1,121(我们必须假设它具有编址到主机R,应用R1 421的IP消息包的能力)经NAT 320的地址转换部分322发送IP消息包。包的数据部分包含外部有效的IP地址和端口号,以通知主机R,应用R1 421如何将包发送给应用B1 321。

5)在主机R的应用R1 421对应用A1 121给出并(正确地选址到正式IP地址)达到NAT 320的每个外部有效的IP地址和端口号发出连接请求,其中外部有效的地址被转换成应用B1的内部有效的地址及端口。

6)NAT 320从应用R1发出到主机B的应用B1的回答。

客户地址/端口分配和发现及从协商实体分离的客户/服务器例子在此例中,主机R 410和主机S 510使用它们之间的通信通道470。这允许在主机R 410上的应用对在主机S 510上的应用起着代理的作用。例如,若在主机S上的应用是没有很多智能的IP电话,则主机R 410可以是能选择由IP电话所需的各种服务(如目录帮助,电话号码与IP地址的关联)的应用的虚拟PBX,或能是某种其它形式的IP电话网关。

在地址区域100中的主机S 510起动微服务器,如应用S1。应用B1试图将地址信息通知在地址区域100之外在地址区域200中的主机S 510,主机S 510能使用该地址信息验证从主机B进入的连接。为了向主机S 510提供有用的地址信息,进行下列步骤:1)应用R1 421发送一个包到主机A 110,需要从主机A,应用A1 121得到有关从哪个IP地址和端口起动与应用B1 321的连接的信息。该起始地址信息对安全性是有用的,并能由应用S1为其自己的目的,如符合通信协议,所需要。

2)应用A1 121与应用B1 321经通道370通信以发现应用B1 321将使用哪个内部有效的地址和端口接触应用S1 521。

3)在主机A上应用A1 121经控制通道350接触NAT设备320,将应用B1用于与主机S 510上的微服务器通信的内部有效的IP地址及端口通知地址管理器324。

4)应用A1 121从地址管理器324接收作为回答的外部有效的IP地址和端口号,NAT设备320将由应用A1 121在其请求中提供的内部有效的起始地址所要转换成的外部有效的IP地址及端口号。

5)然后应用A1 121(我们必须假设它具有能力选址到主机R,应用R1 421的IP消息包)经NAT 320的地址转换部分322发送IP消息包。包的数据部分包含外部有效的IP地址和端口号以通知主机R,应用R1 421,来自应用B1 321的包从哪个IP地址及端口发出。

6)应用R1 421经通信通道470与应用S1 521通信以通知应用S1 521,应用B1 321与应用S1 521通信使用的IP地址及端口。

7)然后应用B1 321通过发送一个选址到主机S的输出包,而起动到应用S1 521的连接,那个包到达NAT设备320的地址转换部分322。

8)NAT设备320的地址转换部分322将包的源地址和端口(它指出应用B1的内部IP地址及端口)转换到它们的外部有效的版本(它在步骤4中送到应用A1 121,而在步骤5中应用A1将其送到应用R1 421)。

9)地址转换部分322将带着应用S1正期待的源信息的包经主机R 410发送到主机S,应用S1 521。

IV、语音通信应用A、没有NAT为更详细地解释本发明对IP电话的应用,说明使用称为SIP协议的简单电话呼叫如何进行工作是很有帮助的。SIP是话路初始化协议,但通常以SIP的简写方式使用,而且所有一起工作的有关协议使用户能通过如IP这种数据网络通电话(和做某些其它事情)。

在一个简单的例子中,基本上有两个发送的消息来建立电话呼叫(此讨论删除了某些细节,实际上可能有很多事要做)。我们所关心的两个消息是INVITE(请求)消息,和对它的OK(好)响应。

假设某人(使用指定为电话A的SIP电话)希望对可能由电话号码或如电子邮件地址其它识别符所识别的其他人作出电话呼叫。作出呼叫的人应通过键入电话号码或其它识别符来输入所希望的目标方。当然,电话A不知道有关目标方在哪里的任何事,但它确实知道称为代理服务器的智能设备的位置。因此,电话A形成一个INVITE消息,它包括有关谁是目标的信息,某些其它信息和重要的目标信息,目标信息是关于一旦目标被定位,听到铃声,并拿起电话,电话A希望在哪里接收从目标来的媒体消息包。电话A通常以其自己的IP地址和端口号的形式提供此信息。我们假定分别是1.1.1.1和1111。

电话A接触的代理服务器可能跟随某个网络搜索路径发出INVITE到另外的代理服务器设备,直到目标被定位。此时,由电话A初始形成的INVITE消息被提交到我们指定为电话B的目标。电话B可能会响一会铃,且(运气好的话)某人会拿起话筒。此时电话B用OK消息回答,它包括各种信息,包括电话B期望接收媒体消息的目标地址。我们假定这是IP地址2.2.2.2,端口号2222。

电话B可立即开始发送带有数字化语音的媒体消息包到1.1.1.1/1111,因为它在INVITE消息内接收到该消息。当OK消息返回(通过代理服务器)到电话A,该电话能开始发送类似的媒体消息包到2.2.2.2/2222。此时数字声音数据双向发送,谈话可能接着发生。

B、带有NAT对于图中的NAT,我们有三种情况要讨论。在第一种情况,目标电话最终由在某个NAT设备中的代理服务器定位。在第二种情况,源电话定位在某个NAT设备中。在第三种情况,没有电话定位在NAT设备“内部”,但是它们之间的媒体通信量需要经过定位在NAT设备中的网络。在下面讨论的例子中,所有NAT设备是在图3中讨论的类型。

当然,各种情况可以组合。通常,某个代理服务器将提供给网络中的其它代理服务器以及有关的电话以没有NAT设备的假象。因为这能成功地做到,你能实际上具有许多与许多代理服务器一起工作的NAT设备,每个设备相信这是仅有的NAT,且每个设备使网络的其它成员相信,实际上“此处没有NAT”。

1、目标电话是在NAT之内在此情况,在NAT的地址区域内部的目标电话B将毫无问题地发送数据到起始的电话,因为NAT通常有能力通过将其编址到外部地址而简单地发送信息量到外部的任何地方以“内部”提供事物,但是。困难在于选出什么告诉起始的电话,因为目标电话是在NAT“内部”,没有NAT的某种帮助它不能从外部达到。目标电话不使用全球路由的IP地址;它可能使用专用的IP地址,世界上其它设备不知道如何将包提交到这个地址。只有在目标电话的当地网络上的设备在需要将数据提交给目标电话时,能将数据定址到目标电话的实际IP地址。

在此情况,必须牵涉到在目标电话的网络中的代理服务器。当然,它总是要牵涉进来的,因为它有责任将INVITE消息路由到局部网络中的正确电话,以完成呼叫。此代理服务器也将处理从目标电话来的OK响应。记住,目标电话将其地址和端口2.2.2./2222写入此OK消息。在此情况,2.2.2.2对起始电话不是有用的地址,因为它是专用的且仅在内部有效。因而,代理服务器必须获得不同的外部有效的地址,并在将其发回到起始电话前,替代包含在OK消息中的地址(和可能的端口)。

代理服务器将作出对目标电话的NAT设备的请求,一个“ServerAddress/Port Allocation/Discovery”(服务器地址/端口分配/发现)请求。NAT将用地址和端口,如3.3.3.3/3333回答,借此在NAT设备的另一侧(“外部”)的设备可以达到在2.2.2.2/2222(目标电话)处的设备。代理服务器重写OK消息,指出用3.3.3.3/3333代替2.2.2.2/2222,并发送该新的OK消息到电话A。

现在,当电话B发出媒体消息包到电话A,它被定址到1.1.1.1/1111,且NAT使之能很好工作,输出信息量能简单地定址到“正确的”外部有效的地址。然而,当电话A发送媒体消息包到电话B,它将发送到3.3.3.3/3333-它在OK消息中收到的目标终点消息。假设能正确配置,对每个由代理服务器作出的请求此包将到达NAT设备,它将转换该包,使得它被定址到2.2.2.2/2222,并发送到网络内部。现在此媒体消息包被正确地定址,并在当地网络中,该网络知道如何传送此“专门定址”的媒体消息包,使得媒体消息包如所希望那样到达电话B。

2、目标电话在NAT外部这是几乎与上述例子几乎相同的情况,差别在于在此情况中靠近电话A(它现在是在NAT“内部”的电话,而且具有只在其当地网络有用的专用IP地址)的代理服务器在向NAT设备询问外部有效地址之后必须改写INVITE消息。在请求的NAT规则下,1.1.1.1/1111地址可能被改写成4.4.4.4/4444(在此情况1.1.1.1/1111认为是专用IP地址,而4.4.4.4不是)。

从电话A来的媒体消息包不加改变地通过NAT设备发出,而从电话B来的媒体消息包(在NAT之外将被定址为4.4.4.4/4444)将到达NAT设备并被转换到1.1.1.1/1111,并最终提交给内部的电话A。

3、两个电话均在外部-过渡网络有NAT在此情况我们假设两个电话在“外面”某些地方,而带有NAT设备的网络是过渡网络-对IP电话来说可能是远距离载体。我们还假设此网络参与处理和路由INVITE和OK消息。此网络可能提供到个人位置的服务以及媒体消息的处理。

我们分别将电话A和电话B放在1.1.1.1/1111和2.2.2.2/2222处。

假设从电话A来的INVITE到达所考虑的装有NAT设备的过渡网络中的代理服务器。我们称之为入口(Ingress)代理服务器,因为它在我们的例子中处理“输入”INVITE。入口代理服务器完成与以前例子一样的“ServerAddress/Port Discovery-服务器地址/端口发现”,发现在过渡网络中的设备能用于达到电话A的地址。让我们假设,它在特定的NAT设备(指定为NAT A)完成此操作,它是在从过渡网络到电话A的出口(egress)点。比如说NAT A返回一个地址/端口,它是10.10.10.10/1010。这是在过渡网络上有用的专用地址,在过渡网络内部的设备能使用它达到电话A。即,在过渡网络中地址为10.10.10.10/1010的任何消息包将由网络路由到NAT A,它将该地址转换成1.1.1.1/1111,并将其发送到电话A。

INVITE消息(现指出电话A希望在10.10.10.10/1010处接收媒体消息)通过过渡网络被发送。在某些点,另外的代理服务器将接收此INVITE,我们称它为出口代理服务器,因为它在离开过渡网络的路上处理INVITE。此出口代理服务器对位置很适合于提供电话B往返消息流的另一个NAT设备(如NATB)进行又一个请求,以便发现一个地址,用此地址在NAT B“外部”的设备能达到当前包含在INVITE-10.10.10.10/1010中的终点。NAT B应用某地址作为响应,如20.20.20.20/2020。此地址点是由定址到20.20.20.20/2020的外部设备发送并到达NAT B的包将被改写,具体说来将被转换成10.10.10.10/1010。然后过渡网络将此数据路由(因为它被建立以此方法路由)到NAT A,如前面段落所示,它将再被改变数据地址到1.1.1.1/1111。

然后INVITE被发送到电话B,对每个INVITE的内容,它将发送媒体消息包到地址20.20.20.20/2020。媒体消息包将经过地址20.20.20.20,假设有正确的网络配置,使得它到达NAT B,在那里被转换成10.10.10.10/1010,并随后送到NAT A。NAT A将其转换成1.1.1.1/1111,并将其送到电话A。NATA将其转换成1.1.1.1/1111,并将其送到电话A。

虽然导致不同的地址,对从电话B返回的OK将应用完全相同的操作组,但是沿不同的方向。首先出口代理服务器向NAT B请求地址,借此在过渡网络内部的设备能达到电话B(在2.2.2.2/2222处)。NAT B可能将返回地址40.40.40.40/4040。OK消息将被出口代理服务器改写以指出这点,并被发送到入口代理服务器。此代理服务器向NAT A请求一个地址,借此在外部的设备(如电话A)可达到地址40.40.40.40/4040。NAT A可以返回地址50.50.50.50/5050。0K将再次改写以指出这点,并被发送到电话A,它将随后发送所有媒体消息包到地址50.50.50.50/5050。

其结果是电话B将其媒体消息包发送到20.20.20.20/2020,而电话A将其媒体消息包发送到50.50.50.50/5050,所有地址最终得到转换,以便媒体消息包最后到达正确的位置。

这样做的优点是如20.20.20.20/2020和50.50.50.50这种的IP地址能被有能力控制NAT的应用强制实施并能选成属于过渡网络本身的地址,保证从两个电话来的包到达过渡网络本身的适合的入口点,保证过渡网络实际上处理媒体数据,并进一步保证对每个媒体消息流的入口点。缺少这一点,过渡网络就不能对在媒体消息包如何从一个电话到另一个方面进行先验控制。

IV、结论和另外实施例本专业的熟练人士容易明白,能做出这些实施例和原理的无数变化,修改,应用,和扩展而不背离本发明的原则和精神。因而本发明的范围仅受附后的权利要求来限制。

Claims (43)

1.用于方便在第一地址区域中的第一应用和在第二地址区域中的第二应用之间通信的一种网络地址转换设备,其特征在于,包括:地址转换器,用于根据转换规则将在第一地址区域有效的地址转换成在第二地址区域有效的地址,并用于将在第二区域有效的地址转换成在第一地址区域有效的地址;地址管理器,用于通过将在第一地址区域有效的地址与在第二地址区域有效的地址关联来建立转换规则;和与地址管理器通信的控制通道,用于从第一应用接收与在第一地址区域中有效的指定地址相关的在第二地址区域中有效的地址的请求,并用于为第一应用提供对在第二地址区域中有效的地址的访问,以便于在第二地址区域有效的地址到第二应用的通信。
2.如权利要求1所述的网络地址转换设备,其特征在于,由第一应用请求的地址是终点地址。
3.如权利要求1所述的网络地址转换设备,其特征在于,由第一应用请求的地址是起始地址。
4.如权利要求1所述的网络地址转换设备,其特征在于,第一地址区域是内部网络,而第二地址区域是外部网络。
5.如权利要求1所述的网络地址转换设备,其特征在于,第一地址区域域是专用网络,而第二地址区域使用全球因特网地址。
6.如权利要求5所述的网络地址转换设备,其特征在于,地址管理器通过将在专用网络区域内有效的地址与在全球因特网地址区域有效的地址关联建立转换规则。
7.如权利要求1所述的网络地址换换设备,其特征在于,地址管理器通过建立在输入消息包中地址信息转换的规则控制地址转换,响应在消息包中出现或不出现指定的起始地址信息来确定是否执行转换。
8.如权利要求1所述的网络地址转换设备,其特征在于,地址管理器通过建立在输入消息包中地址信息转换的规则控制地址转换,从而响应在消息包中出现或不出现指定的起始地址来确定转换在第一规则还是在第二规则下发生。
9.如权利要求1所述的网络地址转换设备,其特征在于,所方便的通信是对等应用通信。
10.如权利要求1所述的网络地址转换设备,其特征在于,地址转换器用存储在由地址转换器能访问的存储器中的规则完成转换。
11.如权利要求1所述的网络地址转换设备,其特征在于,地址管理器建立存储在由地址转换器能访问的存储器中的规则。
12.如权利要求1所述的网络地址转换设备,其特征在于,至少一个转换规则是将第一地址区域中的地址与第二地址区域中的地址配对的规则。
13.如权利要求1所述的网络地址转换设备,其特征在于,地址管理器建立强制与过渡网络中的目标地址相关联的转换规则。
14.如权利要求1所述的网络地址转换设备,其特征在于,地址管理器建立转换规则,它强制在第一应用和第二应用之间至少一部分通信通过指定的网络。
15.一种便于在第一地址区域中的第一应用和在第二地址区域中的第二应用之间通信的方法,包括:为第一地址区域提供具有地址转换器的网络地址转换设备,用于根据转换规则将在第一地址区域有效的地址转换成在第二地址区域有效的地址,并用于将在第二地址区域有效的地址转换成在第一地址区域有效的地址;提供能够与地址转换器通信的地址管理器,用于通过将在第一地址区域有效的地址与在第二地址区域有效的地址关联以建立转换规则;提供与地址管理器通信的控制通道;和在地址管理器从第一应用接收与在第一地址区域中有效的指定地址相关的在第二地址区域中有效的地址的请求;和为第一应用提供对在第二地址区域中有效的地址的访问,以便于在第二地址区域有效的地址到第二应用的通信。
16.如权利要求15所述的方法,其特征在于,接收对在第二地址区域中有效的地址的请求包括接收第一应用对终点地址的请求。
17.如权利要求15所述的方法,其特征在于,接收对在第二地址区域中有效的地址请求的步骤包括接收第一应用对起始地址的请求。
18.如权利要求15所述的方法,其特征在于,第一地址区域是内部网络而第二地域区域是外部网络。
19.如权利要求15所述的方法,其特征在于,第一地址区域是专用网络而第二地址区域使用全球因特网地址。
20.如权利要求19所述的方法,其特征在于,地址管理器通过将在专用网络区域内有效的地址与在全球因特网地址区域有效的地址关联来建立转换规则。
21.如权利要求15所述的方法,其特征在于,地址管理器通过使得在输入消息包中的地址信息的转换根据在该消息包中指定的起始地址信息出现或不出现来确定是否进行转换,从而控制地址转换。
22.如权利要求15所述的方法,其特征在于,地址管理器通过建立在输入消息包中地址信息转换的规则控制地址转换,从而响应在消息包中出现或不出现指定的起始地址,来根据在第一规则还是在第二规则下进行转换。
23.如权利要求15所述的方法,其特征在于,接收对在第二地址区域中有效的地址请求的步骤完成两次,且第一应用请求并接收终点及起始地址两者,该地址管理不仅通过将在第一地址区域中有效的终点地址与在第二地区域有效的地址关联来建立转换规则,而且根据在起始地址中出现或不出现指定的信息作出该规则的使用。
24.如权利要求15所述的方法,其特征在于,所方便的通信是对等应用通信。
25.如权利要求15所述的方法,其特征在于,地址转换器用存储在由地址转换器能访问的存储器中的规则完成转换。
26.如权利要求15所述的方法,其特征在于,地址管理器建立存储在由地址转换器能访问的存储器中的规则。
27.如权利要求15所述的方法,其特征在于,至少一个转换规则是将第一地址区域中的地址与第二地址区域中的地址配对的规则。
28.如权利要求15所述的方法,其特征在于,地址管理器建立强制与过渡网络中的目标地址相关联的转换规则。
29.如权利要求15所述的方法,其特征在于,地址管理器建立转换规则,它强制在第一应用和第二应用之间至少一部分通信是通过指定网络的。
30.用于在第一地址区域的第一应用和在第二地址区域中的第二应用之间建立通信的系统、其中第一地址区域具有地址转换器用于根据转换规则将在第一地址区域内有效的地址转换到在第二地址区域内有效的地址,并用于将在第二地址区域内有效的地址转换到在第一地址区域内有效的地址,包括:地址管理器,用于通过将在第一地址区域有效的地址与在第二地址区域有效的地址关联建立转换规则;与地址管理器通信的控制通道;和与第一应用操作上关联的软件,用于通知地址管理器对于在第二地址区域有效的地址请求,该地址与在第一地址区域有效的一个特定地址相关,用于接收对在第二地址区域有效的地址的访问,并将在第二地址区域有效的地址通知第二应用。
31.如权利要求30所述的系统,其特征在于,由第一应用请求的地址是终点地址。
32.如权利要求30所述的系统,其特征在于,由第一应用请求的地址是起始地址。
33.如权利要求30所述的系统,其特征在于,第一地址区域是内部网络而第二地址区域是外部网络。
34.如权利要求30所述的系统,其特征在于,第一地址区域是专用网络而第二地址区域使用全球因特网的地址。
35.如权利要求34所述的系统,其特征在于,地址管理器通过将在专用网络区域中有效的地址与在全球因特网地址区域中有效的地址关联建立转换规则。
36.如权利要求30所述的系统,其特征在于,地址管理器通过建立输入消息包中地址信息转换的规则控制地址转换,转换发生与否是响应在消息包中出现或不出现指定的起始地址信息而定。
38.如权利要求30所述的系统,其特征在于,地址管理器通过在输入消息包中地址信息转换的规则控制地址转换,从而响应在消息包中出现或不出现指定的起始地址,确定在第一规则还是在第二规则下进行转换。
39.如权利要求30所述的系统,其特征在于,所方便的通信是对等应用通信。
40.如权利要求30所述的系统,其特征在于,地址转换器用存储在由地址转换器能访问的存储器中的规则完成转换。
41.如权利要求30所述的系统,其特征在于,地址管理器建立存储在由地址转换器能访问的存储器中的规则。
42.如权利要求30所述的系统,其特征在于,至少一个转换规则是将第一地址区域中的地址与第二地址区域中的地址配对的规则。
43.如权利要求30所述的系统,其特征在于,地址管理器建立强制与过渡网络中的目标地址相关联的转换规则。
44.如权利要求30所述的系统,其特征在于,地址管理器建立转换规则,它强制在第一应用和第二应用之间至少一部分通信是通过指定网络的。
CN 01817520 2000-09-13 2001-09-04 便于对等应用通信的方法、装置和系统 CN100512165C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/661,070 US6661799B1 (en) 2000-09-13 2000-09-13 Method and apparatus for facilitating peer-to-peer application communication
US09/661,070 2000-09-13

Publications (2)

Publication Number Publication Date
CN1531801A true CN1531801A (zh) 2004-09-22
CN100512165C CN100512165C (zh) 2009-07-08

Family

ID=24652085

Family Applications (2)

Application Number Title Priority Date Filing Date
CN 01817520 CN100512165C (zh) 2000-09-13 2001-09-04 便于对等应用通信的方法、装置和系统
CN 200910145424 CN101668051B (zh) 2000-09-13 2001-09-04 便于对等应用通信的方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN 200910145424 CN101668051B (zh) 2000-09-13 2001-09-04 便于对等应用通信的方法和设备

Country Status (7)

Country Link
US (3) US6661799B1 (zh)
EP (3) EP1323261B1 (zh)
JP (1) JP4908724B2 (zh)
CN (2) CN100512165C (zh)
AU (1) AU8705401A (zh)
DE (2) DE60127276T2 (zh)
WO (1) WO2002023822A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426769C (zh) 2005-01-12 2008-10-15 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法
CN101127720B (zh) 2007-09-25 2010-09-01 中兴通讯股份有限公司 保证网络地址转换负载均衡内部本地地址可达的方法
CN1780298B (zh) 2004-11-23 2011-02-23 微软公司 用于对等网络的分布式服务器的系统和方法

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2800224B1 (fr) * 1999-10-21 2002-12-27 Ibm Procede et systeme de mise en antememoire de donnees http transportees avec des donnees de socks dans des datagrammes ip
WO2002003217A1 (en) * 2000-06-30 2002-01-10 Net2Phone System, method, and computer program product for resolving addressing in a network including a network address translator
US6661799B1 (en) 2000-09-13 2003-12-09 Alcatel Usa Sourcing, L.P. Method and apparatus for facilitating peer-to-peer application communication
US6870841B1 (en) * 2000-09-18 2005-03-22 At&T Corp. Controlled transmission across packet network
US20020062336A1 (en) * 2000-11-22 2002-05-23 Dan Teodosiu Resource coherency among resources cached in a peer to peer environment
US7594030B2 (en) * 2000-11-22 2009-09-22 Microsoft Corporation Locator and tracking service for peer to peer resources
US7072982B2 (en) * 2000-11-22 2006-07-04 Microsoft Corporation Universal naming scheme for peer to peer resources
US20020085550A1 (en) * 2000-12-28 2002-07-04 Steven Rhodes Scalable switch
US7054304B2 (en) * 2001-01-19 2006-05-30 Terited International , Inc. Method and protocol for managing broadband IP services in a layer two broadcast network
US7293108B2 (en) * 2001-03-15 2007-11-06 Intel Corporation Generic external proxy
US20020138552A1 (en) * 2001-03-21 2002-09-26 Debruine Timothy S. Method and system for optimizing private network file transfers in a public peer-to-peer network
US6983319B1 (en) * 2001-04-06 2006-01-03 Permeo Technologies, Inc. Dynamic port management
US7272650B2 (en) * 2001-04-17 2007-09-18 Intel Corporation Communication protocols operable through network address translation (NAT) type devices
US20030041175A2 (en) * 2001-05-03 2003-02-27 Singhal Sandeep K Method and System for Adapting Short-Range Wireless Access Points for Participation in a Coordinated Networked Environment
US7283526B2 (en) * 2001-07-19 2007-10-16 International Business Machines Corporation Method and system for providing a symmetric key for more efficient session identification
US7426208B2 (en) * 2001-08-30 2008-09-16 Siemens Aktiengesellschaft Pre-processing of NAT addresses
US7228337B1 (en) * 2001-09-11 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing a network service to a virtual machine
US7269663B2 (en) * 2001-09-28 2007-09-11 Intel Corporation Tagging packets with a lookup key to facilitate usage of a unified packet forwarding cache
US8095668B2 (en) * 2001-11-09 2012-01-10 Rockstar Bidco Lp Middlebox control
US7006436B1 (en) * 2001-11-13 2006-02-28 At&T Corp. Method for providing voice-over-IP service
US7278157B2 (en) * 2002-03-14 2007-10-02 International Business Machines Corporation Efficient transmission of IP data using multichannel SOCKS server proxy
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US7243141B2 (en) 2002-05-13 2007-07-10 Sony Computer Entertainment America, Inc. Network configuration evaluation
US6801528B2 (en) * 2002-07-03 2004-10-05 Ericsson Inc. System and method for dynamic simultaneous connection to multiple service providers
DE10230684A1 (de) 2002-07-08 2004-01-29 Siemens Ag Netzwerk mit in Kommunikationskomponenten integrierten Suchfunktionen
US7836205B2 (en) * 2002-07-11 2010-11-16 Hewlett-Packard Development Company, L.P. Method and device for use with a virtual network
EP1383294A1 (de) * 2002-07-16 2004-01-21 Siemens Aktiengesellschaft Verfahren zur Adressumsetzung in Paketnetzen und Steuerelement für Kommunikationsnetzwerke
DE10244710A1 (de) * 2002-09-25 2004-04-08 Siemens Ag Verfahren zur Protokollauswahl für eine Übermittlung von Datennpaketen
TW200412101A (en) * 2002-12-23 2004-07-01 Shaw-Hwa Hwang Directly peer-to peer transmission protocol between two virtual network
WO2004063843A2 (en) * 2003-01-15 2004-07-29 Matsushita Electric Industrial Co., Ltd. PEER-TO-PEER (P2P) CONNECTION DESPITE NETWORK ADDRESS TRANSLATOR (NATs) AT BOTH ENDS
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
JP4110977B2 (ja) * 2003-01-21 2008-07-02 松下電器産業株式会社 サーバ
KR100514196B1 (ko) * 2003-02-14 2005-09-13 삼성전자주식회사 네트웍 어드레스 변환 및 세션 관리 시스템 및 그 방법
DE10321227A1 (de) 2003-05-12 2004-12-09 Siemens Ag Verfahren zum Datenaustausch zwischen Netzelementen
US7251745B2 (en) * 2003-06-11 2007-07-31 Availigent, Inc. Transparent TCP connection failover
CN100454882C (zh) * 2003-12-19 2009-01-21 华为技术有限公司 多isp局域网的出口选择方法及装置
WO2005088466A1 (en) * 2004-03-09 2005-09-22 Clique Communications Llc System and method for peer-to-peer connection of clients behind symmetric firewalls
US20060007912A1 (en) * 2004-07-06 2006-01-12 Heng-Chien Chen Ip-based pbx system and connecting method thereof
US8990311B2 (en) * 2004-07-27 2015-03-24 International Business Machines Corporation Enhanced instant message connectivity
US20060023646A1 (en) * 2004-07-30 2006-02-02 George David A Method and apparatus for anonymous data transfers
US20060023727A1 (en) * 2004-07-30 2006-02-02 George David A Method and apparatus for anonymous data transfers
US8542813B2 (en) * 2004-11-02 2013-09-24 Cisco Technology, Inc. Method and system for providing a camp-on service in telecommunications
US20060104259A1 (en) * 2004-11-15 2006-05-18 Cisco Technology, Inc. System and method for executing a multi-modal transfer in a session initiation protocol (SIP) environment
US7853696B2 (en) * 2004-11-19 2010-12-14 Cisco Technology, Inc. System and method for providing an eCamp feature in a session initiation protocol (SIP) environment
US7656878B2 (en) * 2004-12-03 2010-02-02 Cisco Technology, Inc. System and method for providing enhanced caller ID in a session initiation protocol (SIP) environment
US20060146790A1 (en) * 2004-12-30 2006-07-06 Cisco Technology, Inc. System and method for providing reach me cover me feature in a session initiation protocol (SIP) environment
US8254552B2 (en) * 2005-01-06 2012-08-28 Cisco Technology, Inc. System and method for providing a recovery mode in a session initiation protocol (SIP) environment
JP4708036B2 (ja) * 2005-01-21 2011-06-22 パナソニック株式会社 通信システム、情報処理装置、サーバ、及び情報処理方法
US7899175B2 (en) * 2005-01-27 2011-03-01 Cisco Technology, Inc. System and method for providing a dial plan conversion in a session initiation protocol (SIP) environment
US7778404B2 (en) * 2005-01-27 2010-08-17 Cisco Technology, Inc. System and method for providing a dial plan conversion in a session initiation protocol (SIP) environment
US7912046B2 (en) * 2005-02-11 2011-03-22 Microsoft Corporation Automated NAT traversal for peer-to-peer networks
US7853001B2 (en) * 2005-04-08 2010-12-14 Cisco Technology, Inc. Method and system for providing a camp-on service
US7769156B2 (en) * 2005-04-27 2010-08-03 Cisco Technology, Inc. System and method for providing a reverse camp-on feature in a communications environment
US7684434B2 (en) * 2005-05-03 2010-03-23 Cisco Technology, Inc. System and method for providing a presence based Camp-On feature in a communications environment
KR100743055B1 (ko) 2005-05-16 2007-07-26 주식회사 프리챌 방화벽 내 검색을 위한 p2p 검색 방법 및 p2p 검색시스템
US8224985B2 (en) * 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US7894597B2 (en) 2005-10-12 2011-02-22 Cisco Technology, Inc. Categorization of telephone calls
WO2007048344A1 (en) * 2005-10-28 2007-05-03 Huawei Technologies Co., Ltd. A method for establishing the peer-to-peer connection, a method device and system for realizing network communication traversal nat
US8102985B2 (en) * 2005-11-11 2012-01-24 Cisco Technology, Inc. Method and system for providing a camp-on hold service
EP1793564A1 (en) * 2005-11-30 2007-06-06 Thomson Telecom Belgium Device and method to detect applications running on a local network for automatically performing the network address translation
US20070162552A1 (en) * 2006-01-10 2007-07-12 Cisco Technology, Inc. Method and system for providing an instant messaging camp-on service
US20070189294A1 (en) * 2006-01-28 2007-08-16 Sadler Jonathan B Methods and Apparatus for Signaling Between Independent Control Networks
US8280961B2 (en) * 2006-02-09 2012-10-02 Cisco Technology, Inc. Method and system for providing a camp-on service for a network service
US20070189329A1 (en) * 2006-02-14 2007-08-16 Nokia Corporation System for combining networks of different addressing schemes
US7778274B2 (en) * 2006-02-27 2010-08-17 Cisco Technology, Inc. System and method for providing a compatibility feature in a session initiation protocol (SIP) environment
US7764669B2 (en) * 2006-02-27 2010-07-27 Cisco Technology, Inc. System and method providing for interoperability of session initiation protocol (SIP) and H.323 for secure realtime transport protocol (SRTP) session establishment
US7995559B2 (en) * 2006-02-27 2011-08-09 Cisco Technology, Inc. System and method for interworking communication protocols to provide supplementary services
US20070201459A1 (en) * 2006-02-27 2007-08-30 Cisco Technology, Inc. System and method for providing status notification for conventional telephony devices in a session initiation protocol environment
US7701971B2 (en) * 2006-02-27 2010-04-20 Cisco Technology, Inc. System and method for providing a compatibility feature in a session initiation protocol (SIP) environment
US7729482B2 (en) * 2006-02-27 2010-06-01 Cisco Technology, Inc. Method and system for providing communication protocol interoperability
US7596150B2 (en) * 2006-02-27 2009-09-29 Cisco Technology, Inc. System and method for consolidating media signaling to facilitate internet protocol (IP) telephony
US20070201367A1 (en) * 2006-02-27 2007-08-30 Cisco Technology, Inc. System and method for interworking H.323 flow control with SIP
US9967129B1 (en) 2006-03-09 2018-05-08 Cisco Technology, Inc. System and method for communicating call information in a sessions initiation protocol (SIP) environment
US20070226299A1 (en) * 2006-03-24 2007-09-27 Cisco Technology, Inc. Method and system for providing an instant messaging quorum monitoring service
US8036360B1 (en) 2006-04-28 2011-10-11 Cisco Technology, Inc. System and method for hook state notification
US8495231B1 (en) 2006-05-16 2013-07-23 Cisco Technology, Inc. System and method for remote call control
US8015305B1 (en) 2006-06-28 2011-09-06 Cisco Technology, Inc. System and method for implementing a session initiation protocol feature
CA2657094C (en) * 2006-07-07 2018-05-01 Fringland Ltd. Identifying network entities in a peer-to-peer network
US8139566B2 (en) * 2006-07-21 2012-03-20 Cisco Technology, Inc. System and method for establishing a communication session between two endpoints that do not both support secure media
US7769009B1 (en) * 2006-12-11 2010-08-03 Sprint Communications Company L.P. Automatic peer to peer mobile device data replication
WO2008074122A1 (en) * 2006-12-21 2008-06-26 Bce Inc. Method and system for managing internal and external calls for a group of communication clients sharing a common customer identifier
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
CN100555998C (zh) 2007-06-11 2009-10-28 中兴通讯股份有限公司 一种以路由器接口地址实现端口重定向的方法及其系统
US7933273B2 (en) * 2007-07-27 2011-04-26 Sony Computer Entertainment Inc. Cooperative NAT behavior discovery
US8112516B2 (en) 2007-08-23 2012-02-07 Cisco Technology, Inc. Selective user notification based on IP flow information
CN101132424B (zh) 2007-09-29 2011-08-31 杭州华三通信技术有限公司 网络地址转换的方法及装置
EP2048847A1 (en) * 2007-10-08 2009-04-15 Nokia Siemens Networks Oy Methods, apparatuses, system, and related computer program product for policy control
US8171123B2 (en) 2007-12-04 2012-05-01 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
JP5222573B2 (ja) * 2008-01-29 2013-06-26 株式会社日立製作所 サーバ計算機及びネットワーク処理方法
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8239550B2 (en) 2008-05-14 2012-08-07 Nokia Corporation Methods, apparatuses, and computer program products for facilitating establishing a communications session
US9838223B2 (en) * 2010-05-11 2017-12-05 Chepro Corporation Bidirectional communication system and server apparatus used therein
JP2012156957A (ja) * 2011-01-28 2012-08-16 Hitachi Ltd ネットワークシステム、制御装置、計算機、及び、ネットワーク装置
US9667713B2 (en) * 2011-03-21 2017-05-30 Apple Inc. Apparatus and method for managing peer-to-peer connections between different service providers
US20130138813A1 (en) * 2011-11-28 2013-05-30 Microsoft Corporation Role instance reachability in data center
US20150381387A1 (en) * 2012-06-27 2015-12-31 Ciphergraph Networks, Inc. System and Method for Facilitating Communication between Multiple Networks
US9621495B1 (en) * 2012-12-10 2017-04-11 Jeffrey Brian Shumate Anonymous messaging proxy
EP2991281A4 (en) * 2014-06-30 2016-06-15 Huawei Tech Co Ltd Webpage pushing method, device and terminal

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5227778A (en) 1991-04-05 1993-07-13 Digital Equipment Corporation Service name to network address translation in communications network
US5793763A (en) 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5732078A (en) 1996-01-16 1998-03-24 Bell Communications Research, Inc. On-demand guaranteed bandwidth service for internet access points using supplemental user-allocatable bandwidth network
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
KR20000010612A (ko) * 1996-04-24 2000-02-25 블레이어 에프.모리슨 인터넷 프로토콜 필터
US5883891A (en) 1996-04-30 1999-03-16 Williams; Wyatt Method and apparatus for increased quality of voice transmission over the internet
JP3531367B2 (ja) * 1996-07-04 2004-05-31 株式会社日立製作所 トランスレータ
JP3178350B2 (ja) * 1996-08-12 2001-06-18 日本電信電話株式会社 インタワーク装置
US6477179B1 (en) 1997-05-09 2002-11-05 Sony Corporation Data receiving device and data receiving method
US6094676A (en) 1997-05-30 2000-07-25 Hilgraeve Incorporated Method and apparatus for peer-to-peer communication
US6141749A (en) 1997-09-12 2000-10-31 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with stateful packet filtering
JPH11122301A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd アドレス変換接続装置
US6047325A (en) 1997-10-24 2000-04-04 Jain; Lalit Network device for supporting construction of virtual local area networks on arbitrary local and wide area computer networks
JP2001507915A (ja) 1997-11-04 2001-06-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ルーティングの柔軟性が改善された通信ネットワーク
JPH11150566A (ja) * 1997-11-14 1999-06-02 Hitachi Ltd インタネットワーク装置
US6006272A (en) 1998-02-23 1999-12-21 Lucent Technologies Inc. Method for network address translation
US6055236A (en) 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6058431A (en) 1998-04-23 2000-05-02 Lucent Technologies Remote Access Business Unit System and method for network address translation as an external service in the access server of a service provider
JP2000059430A (ja) * 1998-08-07 2000-02-25 Matsushita Electric Works Ltd ネットワークアドレス変換方法及びその装置
US6717949B1 (en) * 1998-08-31 2004-04-06 International Business Machines Corporation System and method for IP network address translation using selective masquerade
US6141341A (en) 1998-09-09 2000-10-31 Motorola, Inc. Voice over internet protocol telephone system and method
JP3327225B2 (ja) 1998-10-29 2002-09-24 三菱マテリアル株式会社 ネットワークアドレス変換装置およびその記録媒体
JP2000209278A (ja) * 1999-01-12 2000-07-28 Fujitsu Ltd ル―タ及びル―タを用いたパケット中継システム
US6615357B1 (en) * 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
US6581108B1 (en) 1999-11-30 2003-06-17 Lucent Technologies Inc. Managing multiple private data networks using network and payload address translation
US6779035B1 (en) 2000-03-06 2004-08-17 Microsoft Corporation Application programming interface and generalized network address translator for translation of transport-layer sessions
US6772210B1 (en) * 2000-07-05 2004-08-03 Nortel Networks Limited Method and apparatus for exchanging communications between telephone number based devices in an internet protocol environment
US6661799B1 (en) 2000-09-13 2003-12-09 Alcatel Usa Sourcing, L.P. Method and apparatus for facilitating peer-to-peer application communication
US7224687B2 (en) 2002-02-28 2007-05-29 Lucent Technologies Inc. Method and apparatus for voice over IP network address translation
FR2866497B1 (fr) 2004-02-18 2006-08-18 Cit Alcatel Controleur de bande passante, reseau et procede de gestion de sous-reseau ip
EP1613024A1 (en) 2004-06-29 2006-01-04 Alcatel Alsthom Compagnie Generale D'electricite Method and call server for establishing a bidirectional peer-to-peer communication link
FR2908001B1 (fr) 2006-10-26 2009-04-10 Alcatel Sa Traversee d'un equipement de traduction d'adresse nat pour messages de signalisation conformes au protocole sip par redondance d'informations d'adresses.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1780298B (zh) 2004-11-23 2011-02-23 微软公司 用于对等网络的分布式服务器的系统和方法
CN100426769C (zh) 2005-01-12 2008-10-15 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法
CN101127720B (zh) 2007-09-25 2010-09-01 中兴通讯股份有限公司 保证网络地址转换负载均衡内部本地地址可达的方法

Also Published As

Publication number Publication date
DE60127276D1 (de) 2007-04-26
EP2068499B1 (en) 2015-08-26
DE60127276T2 (de) 2007-12-20
EP1793533B8 (en) 2009-07-01
USRE44593E1 (en) 2013-11-12
CN101668051B (zh) 2014-07-02
EP1323261A4 (en) 2005-02-23
CN100512165C (zh) 2009-07-08
CN101668051A (zh) 2010-03-10
JP2004509517A (ja) 2004-03-25
WO2002023822A1 (en) 2002-03-21
EP1323261A1 (en) 2003-07-02
US6661799B1 (en) 2003-12-09
DE60138058D1 (de) 2009-04-30
USRE43057E1 (en) 2012-01-03
EP1793533B1 (en) 2009-03-18
EP1793533A1 (en) 2007-06-06
EP1323261B1 (en) 2007-03-14
JP4908724B2 (ja) 2012-04-04
EP2068499A1 (en) 2009-06-10
AU8705401A (en) 2002-03-26

Similar Documents

Publication Publication Date Title
Schulzrinne et al. The session initiation protocol: Internet-centric signaling
Singh et al. Peer-to-peer internet telephony using SIP
Johnston SIP: understanding the session initiation protocol
Goode Voice over internet protocol (VoIP)
US6857072B1 (en) System and method for enabling encryption/authentication of a telephony network
US8432896B2 (en) System and method for optimizing communications between session border controllers and endpoints in a network environment
US8874762B2 (en) Session initiation protocol adaptor
US8024470B2 (en) End-point identifiers in SIP
US5764750A (en) Communicating between diverse communications environments
US6687245B2 (en) System and method for performing IP telephony
US7412529B2 (en) Method for processing session information of session initiation protocol system and recorded medium thereof
EP1354460B1 (en) Multi-user applications in multimedia networks
US7302496B1 (en) Arrangement for discovering a localized IP address realm between two endpoints
US8130766B2 (en) System and method for implementing multimedia calls across a private network boundary
US8391453B2 (en) Enabling incoming VoIP calls behind a network firewall
CA2422764C (en) Communications system using a proxy interface agent
KR100450944B1 (ko) 인터넷 프로토콜 네트워크에서 부하 할당 보이스 오버인터넷 프로토콜 트래픽에 대해 분할된 방화벽들을사용하는 소프트 스위치
US7620033B2 (en) Method for optimal path selection in traversal of packets through network address translators
CN1586065B (zh) 利用网络地址转换的对等网络通信方法、设备及系统
US8040873B2 (en) Distributed integration of legacy PBX system with SIP networks
EP1137238B1 (en) System and method for integrated communications over a local IP network
EP1404082A2 (en) Methods for discovering network address and port translators
CN1327355C (zh) 地址变换装置、消息处理方法及服务器
US6801528B2 (en) System and method for dynamic simultaneous connection to multiple service providers
US20020150083A1 (en) System and method for performing IP telephony including internal and external call sessions

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C14 Grant of patent or utility model