CN1586065B - 利用网络地址转换的对等网络通信方法、设备及系统 - Google Patents

利用网络地址转换的对等网络通信方法、设备及系统 Download PDF

Info

Publication number
CN1586065B
CN1586065B CN038014793A CN03801479A CN1586065B CN 1586065 B CN1586065 B CN 1586065B CN 038014793 A CN038014793 A CN 038014793A CN 03801479 A CN03801479 A CN 03801479A CN 1586065 B CN1586065 B CN 1586065B
Authority
CN
China
Prior art keywords
client machine
machine system
address
network address
public network
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.)
Expired - Lifetime
Application number
CN038014793A
Other languages
English (en)
Other versions
CN1586065A (zh
Inventor
A·哈里斯
J·J·戈尔顿
M·雅各布
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment America LLC
Original Assignee
Sony Computer Entertainment America LLC
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
Application filed by Sony Computer Entertainment America LLC filed Critical Sony Computer Entertainment America LLC
Publication of CN1586065A publication Critical patent/CN1586065A/zh
Application granted granted Critical
Publication of CN1586065B publication Critical patent/CN1586065B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2532Clique of NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了用于对等网络通信的方法和设备。在一种实施方案中,第一客户机系统与第二客户机系统之间的通信方法包括:发现与第一网络地址转换装置相连的第一客户机系统的第一地址信息;将第一地址信息与第二客户机系统共享;接收第二客户机系统的第二地址信息;以及利用第二地址信息,在第一客户机系统与第二客户机系统之间建立通信。

Description

利用网络地址转换的对等网络通信方法、设备及系统
相关申请
本发明申请要求于2002年5月13日提出的美国临时申请60/380396的利益,该申请的公开内容通过引用结合于本文中。
背景
一种典型的NAT服务器(网络地址转换服务器)充当本地网络与诸如因特网等外部网络之间的网关。这种NAT服务器是一种网络装置,允许本地网络中的一个或多个机器(例如计算机)共享一个公共或外部网络地址,如因特网地址。NAT服务器为本地网络中的机器维护一组独有的本地或内部网络地址。相应地,本地网络中的每个机器具有本地网络地址和公共网络地址。为实现本地网络与外部网络之间的通信,NAT服务器在每个机器的公共网络地址与本地网络地址之间进行来回转换。通常,这种网络地址转换对于本地网络内的各个机器是透明的,因此,这些机器不知道NAT服务器使用的公共地址。
概述
本公开内容提出了用于对等网络通信的方法和设备。在一种实施方案中,网络系统包括:第一网络地址转换装置,它连接到网络并具有第一公共网络地址;第一客户机系统,它连接到所述第一网络地址转换装置并具有由第一网络地址转换装置建立的第一本地网络地址;第二网络地址转换装置,它连接到网络并具有第二公共网络地址;第二客户机系统,它连接到第二网络地址转换装置并具有由第二网络地址转换装置所述的第二本地网络地址;连接到网络的地址服务器;连接到网络的匹配服务器,其中:第一网络地址转换装置、第二网络地址转换装置、地址服务器及匹配服务器可以通过网络向彼此发送数据;地址服务器通过从客户机系统接收的数据为客户机系统确定公共网络地址,并将所获得的公共网络地址返回到客户机系统;匹配服务器包括用于注册客户机系统并为一个或多个注册的客户机系统保存公共网络地址和本地网络地址的注册表;第一客户机系统包括:第一网络地址管理器,用于与地址服务器通信以确定第一公共网络地址;第一网络注册管理器,用于向所述匹配服务器注册所述第一客户机系统;第一网络共享管理器,用于将第一公共网络地址和第一本地网络地址与第二客户机系统共享;第二客户机系统包括:第二网络地址管理器,用于与地址服务器通信以确定第二公共网络地址;第二网络注册管理器,用于向匹配服务器注册第二客户机系统;第二网络共享管理器,用于将第二公共网络地址和第二本地网络地址与第一客户机系统共享。在另一种实施方案中,网络系统还包括连接到网络的映射维护服务器。
在另一种实施方案中,在第一客户机系统与第二客户机系统之间进行通信的方法包括:发现与第一网络地址转换装置相连的第一客户机系统的第一地址信息;将第一地址信息与第二客户机系统共享;接收第二客户机系统的第二地址信息;以及使用第二地址信息,在第一客户机系统与第二客户机系统之间建立通信。
附图简述
图1显示了网络系统体系结构;
图2是一种客户机系统实施方案的方框图;
图3是在两个客户机系统之间建立和维护对等网络通信的流程图;
图4是发现其本地和公共网络地址的客户机系统的流程图;
图5是两个共享它们的本地和公共网络地址的客户机系统的流程图;
图6是与第二客户机系统建立通信的第一客户机系统的流程图;
图7是与第一客户机系统建立通信的第二客户机系统的流程图;
图8是维护连接的NAT装置所指定的映射的客户机系统的流程图;
图9A-9C显示备选网络配置。
详细说明
本发明提供了用于对等网络通信的方法和设备。本发明允许两个对等或客户机系统(例如网络视频游戏控制台系统)通过网络(例如因特网)互相通信,即使一个或两个客户机系统均在各自的NAT装置(网络地址转换装置)之后也可互相通信。如下所述,在一种实施方案中,网络通信使用四阶段过程:(1)发现-每个客户机系统在网络上发现其公共地址;(2)共享/分发-每个客户机系统与要建立通信的其它系统共享其地址信息;(3)通信建立-客户机系统建立通信;以及(4)映射维护-每个客户机系统维护其在对应NAT装置中的当前地址映射。
图1显示了网络系统体系结构100。第一客户机系统105连接到第一NAT装置(网络地址转换装置)110,形成第一本地或内部网络115。第一客户机系统105是支持网络的系统,如包括网络适配器或计算机系统的视频游戏控制台系统。作为视频游戏控制台系统,第一客户机系统105包括提供视频游戏功能的硬件和/或软件及提供如下所述网络通信的硬件和/或软件。在一种实施方案中,第一客户机系统05是索尼计算机娱乐公司.TM提供的“Playstation 2”TM游戏控制台。第一NAT装置110是典型的NAT盒或NAT服务器,或者是一类代理服务器或网关、路由器或防火墙的一部分。诸如计算机的一个或多个其它系统或网络装置也可连接到第一NAT装置110并且在第一本地网络115内。第一本地网络115中的每个系统具有由第一NAT装置110分配和维护的本地网络地址。在一种实施方案中,第一本地网络115中的本地网络地址包括地址号和端口号,如符合UDP/IP的地址号和端口号(例如,其中的地址号是IP地址)。在备选实施方案中,第一本地网络115使用不同的通信协议,因此,本地网络地址包括用于识别系统的不同信息。
第一NAT装置110连接到诸如因特网等外部或公共网络120。连接到外部网络120的每个可寻址的系统或装置具有公共网络地址。“公共”网络地址在外部网络120上使用,而“本地”网络地址在诸如第一本地网络115等本地网络内使用。在一种实施方案中,公共网络地址包括地址号和端口号,如符合UDP/IP的地址号和端口号。在备选实施方案中,外部网络120使用不同的通信协议,因此,公共网络地址包括用于识别系统的不同信息。在一种实施方案中,第一本地网络115的本地网络地址与外部网络120不兼容(例如,本地网络地址在外部网络120的通信协议中无法识别)。
第一NAT装置110具有公共网络地址。第一客户机系统105通过第一NAT装置110间接连接到外部网络120,并且没有公共网络地址。第一客户机系统105与第一本地网络115中的其它系统(如果存在的话)共享第一NAT装置110的公共网络地址。第一NAT装置110为第一本地网络115中的每个系统分配本地网络地址。第一NAT装置110在公共网络地址和本地网络地址之间转换以便在外部网络120与第一本地网络115之间传送数据。在备选实施方案中,第一NAT装置110具有两个或更多公共网络地址,用于在第一本地网络115的系统中共享。
在一种实施方案中,第一NAT装置10通过使用诸如PAT技术(端口地址转换),将端口号映射到第一本地网络115中的系统。在本地系统向外部网络120上的目标发送数据时,第一NAT装置110将端口号分配给第一本地网络115中的本地系统。第一NAT装置110将端口号作为端口号与本地系统之间的端口映射存储。第一NAT装置110为单个本地系统的所有输出数据分配和存储单个端口号。第一NAT装置110将分配的端口号包含在输出数据中,这样,接收方可以在响应时使用端口号。第一NAT装置110通过将输入数据附带的端口号与第一NAT装置110内存储的端口映射相比较,从而确定第一本地网络115中的哪一个系统是输入数据预定的接收方。
第一NAT装置110利用映射根据发送和接收的数据,动态建立和调整端口映射。如果第一NAT装置110在一段时间内未从本地系统或外部网络120收到包含端口号的数据,则第一NAT装置110释放该端口号的端口映射(“超时”)。如下所述,第一客户机系统105可定期向外部网络120发送消息,以防止这种超时。
在一种实施方案中,第一NAT装置110通过将输入数据发送方的网络地址与端口号指示的本地系统所发送数据的接收方地址相比较,对输入数据进行过滤(例如,出于安全考虑)。在第一NAT装置110从本地系统向外部网络120上的接收方发送数据时,第一NAT装置110记录目的地址及本地系统的端口映射。如果本地系统尚未向具有与输入数据地址相同的网络地址的接收方发送数据,则第一NAT装置110不会将输入数据转发到第一本地网络115上的本地系统。第一NAT装置110利用包含在输入数据中的端口,将输入数据发送方的网络地址与所记录的输出数据的目的地址相比较。如上所述,第一NAT装置110记录了目的地址及端口映射,因此,第一NAT装置110可使用端口号作为索引,查找本地系统已发送数据的目的地址。如果不匹配,则第一NAT装置110不会将输入数据转发到第一本地网络115。如下所述,第一客户机系统105通过发送数据到外部网络120上的系统而使用此安全功能来“核准”该系统,从而使第一NAT装置110允许获批准系统的数据进入第一本地网络115。
例如,当第一客户机系统105向外部网络120上的接收方发送数据时,第一NAT装置将端口号映射到第一客户机系统105。第一NAT装置110将第一NAT装置110的公共网络地址和第一客户机系统105的映射端口号包含在输出数据中。第一NAT装置110还记录接收方的地址。在第一NAT装置110接收包含该端口号的数据时,第一NAT装置110将发送方的地址与所记录的以前发送的输出数据的目标地址相比较。如果地址匹配,则第一NAT装置110使用第一客户机系统105的本地网络地址,将数据转发到第一客户机系统105。
第二客户机系统125连接到第二NAT装置130,形成第二本地网络135。类似与第一客户机系统105,第二客户机系统125是支持网络的系统,如包括网络适配器的视频游戏控制台系统。类似与第一NAT装置110,第二NAT装置130是典型的NAT盒或NAT服务器,或者是一种类型的代理服务器,或者是网关或路由器的一部分。第二客户机系统125和第二NAT装置130分别以类似于第一客户机系统105和第一NAT装置110的方式操作(例如,在端口映射和过滤输入数据方面)。一个或多个其它网络装置也可连接到第二NAT装置130并且在第一本地网络135内。类似于第一本地网络115,第二本地网络135中的每个系统或装置具有由第二NAT装置130分配和维护的本地网络地址。在一种实施方案中,第一本地网络115和第二本地网络135是同一类型的网络,因而使用同一通信协议;然而,在备选实施方案中,本地网络115和135可以是不同的类型。
类似于第一NAT装置110,第二NAT装置130连接到外部网络120。因此,第二客户机系统125通过第二NAT装置130间接连接到外部网络120。NAT装置110和130可根据外部网络120的协议通过外部网络120向彼此发送数据。
三个服务器系统也连接到外部网络120:地址服务器140、匹配服务器145和映射维护服务器150。每个服务器系统140、145和145是诸如计算机系统或大型机系统的网络服务器系统。或者,一些或所有服务器系统140、145和145包括在连接到外部网络120的单个系统内。每个服务器系统140、145和145在外部网络135上具有各自的网络地址。客户机系统105和125知道这些服务器网络地址。地址服务器140帮助客户机系统105和125发现地址。匹配服务器145帮助客户机系统105和125共享地址。映射维护服务器150帮助客户机系统105和125分别维护NAT装置110和130的地址映射。在备选实施方案中,忽略了维护映射服务器。
图2是诸如图1中第一客户机系统105的客户机系统200的一种实现的方框图。客户机系统200包括四个管理器:网络地址管理器205、网络注册管理器210、网络共享管理器215和网络映射维护管理器220。每个管理器205、210、215和220均实现为客户机系统200的软件组件。或者,一些或所有管理器205、210、215、220用硬件实现。网络地址管理器205控制客户机系统200与地址服务器140之间的通信,以通过诸如第一NAT装置110的连接NAT装置,发现与客户机系统200相关联的公共网络地址。网络注册管理器210控制客户机系统200与匹配服务器145之间的通信,以便向匹配服务器145注册客户机系统200。网络共享管理器215控制与匹配服务器145进行的通信,以确定已请求与客户机系统200通信的另一客户机系统的公共和本地网络地址。映射维护管理器220控制与映射维护服务器150的通信,以防止连接到客户机系统200的NAT装置使为客户机系统200建立的映射超时。在备选实施方案中,客户机系统200不包括映射维护管理器220。客户机系统200包括网络接口225,用于连接客户机系统200的本地网络并与其通信。网络接口225包括网络通信装置,如网络适配器或调制解调器。客户机系统200还包括用于一般操作的组件,如CPU 230、存储器235和I/O接口240。对于游戏控制台客户机系统,客户机系统包括附加的视频、声音和应用特定的软件和/或硬件(“游戏组件”)。如上所述,在一种实施方案中,客户机系统200是索尼计算机娱乐公司.TM提供的“Playstation 2”TM,包括如本文所述的用于网络通信的硬件和软件。
图3是在诸如图1中的第一客户机系统105和第二客户机系统125的两个客户机系统之间建立和维护对等网络通信的流程图。如方框305所示,每个客户机系统发现其地址信息。诸如图1中客户机系统105、125的客户机系统具有包括公共网络地址和本地网络地址的相关地址信息。如下参照图4所述,客户机系统通过与地址服务器通信(回想图1中的地址服务器140)而发现其公共网络地址。客户机系统通过访问本地存储的信息或者查询对应的NAT装置而发现其本地网络地址。如方框310所示,客户机系统相互之间共享其发现的地址信息。如下参照图5所述,两个客户机系统或其中之一向匹配服务器注册(回想图1中的匹配服务器145)。这些客户机系统之一请求与另一注册的客户机系统通信,而匹配服务器在客户机系统之间共享地址信息。如方框315所示,客户机系统利用收到的地址信息建立相互之间的通信。如下参照图6所述,每个客户机系统使用共享的地址信息向另一客户机系统发送消息,这样,NAT装置将输入消息识别为“批准”消息。如方框320所示,在客户机系统进行通信时,客户机系统维护由对应的NAT装置建立的映射。如下参照图8所述,每个客户机系统定期向映射维护服务器发送消息(回想图1中的映射维护服务器150),这样,对应的NAT装置不会变更客户机系统建立的端口映射或使其超时。在不包括映射维护服务器的实施方案中,客户机系统不使用映射维护服务器来维护此映射。
图4是客户机系统发现其本地和公共网络地址的流程图(回想图3中的方框305)。如上所述,本地网络地址是本地网络中客户机系统的网络地址,由连接到本地网络的NAT装置来分配。公共网络地址是外部网络上的网络地址,由NAT装置在连接到NAT装置的本地网络中的系统之间共享。在一种实施方案中,本地或公共网络包括地址号和端口号。客户机系统使用其网络地址管理器组件来发现其公共和本地网络地址(回想图2中的网络地址管理器205)。
如方框405所示,客户机系统先发现其本地网地址。在一种实施方案中,客户机系统通过访问本地存储器,如通过查询客户机系统使用的网络堆栈软件,从而发现其本地公共地址。客户机系统在发起与NAT装置的通信时建立本地端口号,这样,客户机系统已经知道该端口号。或者,客户机系统可以从相应的NAT装置请求本地网络地址。如方框410所示,客户机系统向地址服务器发送地址请求,以发现公共网络地址。客户机系统通过NAT装置向地址服务器发送地址请求。作为NAT装置的网络地址转换功能的一部分,NAT装置将公共网络地址添加到地址请求中,例如添加到地址请求的首部信息中。如果NAT装置尚未向客户机系统分配端口号,则NAT装置会分配端口号,并将端口号包含在地址请求的公共网络地址中(例如,在UDP首部中)。如方框415所示,地址服务器从地址请求中提取公共网络地址并保存该公共网络地址。公共网络地址位于地址请求内的已知位置上(例如首部内),这样,地址服务器可在地址请求中找到公共网络地址。在备选实施方案中,地址服务器不保存公共网络地址,或者只暂时保存公共网络地址。如方框420所示,地址服务器通过生成地址报告并将该地址报告发送给客户机系统,从而将公共网络地址返回到客户机系统。地址报告将提取的公共网络地址作为消息的一部分数据或净荷包括,以及包括在消息的寻址部分(例如,在首部中)。NAT装置根据端口号将公共网络地址转换成客户机系统的本地网络地址,并且将地址报告转发给客户机系统。例如,NAT装置根据公共网络地址的端口号访问客户机系统的端口映射,并取回本地网络地址。NAT装置随后可将消息首部信息中的公共网络地址替换为本地网络地址。相应地,NAT装置通过删除公共网络地址来修改首部,但不修改消息的数据部分。如方框425所示,客户机系统接收地址报告并存储所包含的公共网络地址。客户机系统现在发现了其本地和公共网络地址。
图5是共享其本地和公共网络地址的两个客户机系统的流程图(回想图3中的方框310)。如方框505所示,第一客户机系统向匹配服务器注册。客户机系统使用其网络注册管理器组件来管理向匹配服务器的注册(回想图2中的网络注册管理器210)。第一客户机系统向匹配服务器发送注册请求。注册请求包括第一客户机系统发现的本地和公共网络地址。注册请求向匹配服务器指示发送客户机系统可使用提供的地址信息进行通信。如方框510所示,匹配服务器在注册表中注册第一客户机系统。匹配服务器维护带有条目的注册表,保存注册系统的地址信息。匹配服务器在注册表中为第一客户机系统创建条目,并且在条目中记录所提供的地址信息。如方框515所示,第二客户机系统向匹配服务器发送匹配请求。如下所述,客户机系统使用其网络共享管理器组件管理从匹配服务器获得另一客户机系统的地址信息(回想图2中的网络共享管理器215),从而在注册后选择注册的客户机系统并接收地址信息。匹配请求向匹配服务器指示第二客户机系统正请求信息,以建立与另一客户机系统的通信。如方框520所示,匹配服务器向第二客户机系统发送注册信息。在一种实施方案中,匹配服务器将注册表发送到第二客户机系统。在另一种实施方案中,匹配服务器通过诸如接受第二客户机系统的搜索查询,与第二客户机系统通信以便第二客户机系统可以访问注册表,确定要与之进行通信的注册客户机系统。如方框525所示,第二客户机系统从注册的客户机系统中选择第一客户机系统。如方框530所示,第二客户机系统存储第一客户机系统的地址信息。在一种实施方案中,发送到第二客户机系统的注册信息包括注册客户机系统的地址信息。在另一种实施方案中,第二客户机系统单独从匹配服务器请求选定客户机系统的地址信息。如方框535所示,第二客户机系统发送匹配选择到匹配服务器。匹配选择指示第二客户机系统要与其通信的注册客户机系统(在这种情况下为第一客户机系统)。匹配选择还包括第二客户机系统的地址信息。在一种实施方案中,匹配选择还用作第一客户机系统地址的请求。如方框540所示,匹配服务器将第二客户机系统的地址信息发送到作为选定的客户机系统的第一客户机系统。如方框545所示,第一客户机系统接收并记录第二客户机系统的地址信息。现在,两个客户机系统均通过匹配服务器与另一客户机系统共享它们的地址信息。
图6是与第二客户机系统建立通信的第一客户机系统的流程图(回想图3中的方框315)。如方框605所示,第一客户机系统将一个或多个测试消息发送到第二客户机系统。第一客户机系统使用第二客户机系统的公共网络地址,将一些测试消息发送到第二客户机系统(输出的公共地址测试消息),以及使用第二客户机系统的本地网络地址,将一些测试消息发送到第二客户机系统(输出本地地址测试消息)。如上所述,当两个客户机系统共享地址信息(回想图5)时,第一客户机系统接收第二客户机系统的公共和本地网络地址。在第二客户机系统的本地网络的本地网络地址与外部网络不兼容的实施方案(例如,本地网络地址在外部网络的通信协议下无法识别)中,第一客户机系统不使用本地网络地址发送测试消息。如下所述,在方框630中,第一客户机系统继续向第二客户机系统发送测试消息,直至第一客户机系统从第二客户机系统中收到确认消息为止。
在方框610,连接到第一客户机系统的NAT装置记录输出测试消息的目的地址。连接到第一客户机系统的NAT装置(例如,图1中的第一NAT装置110)是介于第一客户机的本地网络与外部网络之间的网关。因此,输出测试消息通过NAT装置传送。如上所述,NAT装置过滤输入数据,除非输入数据的本地网络目标已经尝试与输入数据的发送方通信才允许数据进入NAT装置的本地网络。NAT装置将本地网络上系统的输出数据的目的地址记为输出数据发送方的“批准”地址。NAT装置将输入数据的源地址(即,发送方的地址)与本地网络上预定接收方的“批准”地址相比较。仅在源地址与本地接收方的“批准”地址之一相匹配时,NAT装置才将输入数据转发给本地接收方。
因此,NAT装置将输出测试消息的目的地址记为第一客户机系统正尝试与其通信的系统的“批准”地址。在NAT装置为第一客户机系统接收从与第一客户机系统输出测试消息之一的目的地址相同的地址传来的数据时,NAT装置将输入数据转发到第一客户机系统。第一客户机系统向第二客户机系统的地址发送测试消息,以便NAT装置将数据从第二客户机系统转发到第一客户机系统。
如下参照图7所述,在第一客户机系统正向第二客户机系统发送测试消息时,第二客户机系统也正向第一客户机系统发送测试消息。如以上有关第一客户机系统描述,第二客户机系统使用第一客户机系统的地址信息,发送输出公共地址测试消息(以及必要时的输出本地地址测试消息)。连接到第二客户机系统的NAT装置(例如,图1中的第二NAT装置130)记录输出测试消息的目的地址,以便转发第二客户机系统从第一客户机系统收到的输入数据。
在方块615,第一客户机系统从第二客户机系统接收测试消息。如上所述,连接到第一客户机系统的NAT装置通过将输入测试消息的源地址与记录的“批准”地址相比较而发现匹配,就可以将来自第二客户机系统的输入测试消息转发到第一客户机系统。在方框620,第一客户机系统记录收到的测试消息的源地址。在方框625,第一客户机系统使用记录的源地址将确认消息发送到第二客户机系统。输出确认消息向第二客户机系统指示,第一客户机系统已收到第二客户机系统的测试消息。同样地,第二客户机系统接收来自第一客户机系统的测试消息,并使用该测试消息的源地址向第一客户机系统发送确认消息。在方框630,第一客户机系统接收第二客户机系统的确认消息。在第一客户机系统接收第二客户机系统的确认消息时,第一客户机系统停止向第二客户机系统发送测试消息。第一客户机系统现在已建立了与第二客户机系统的通信。在第二客户机从第一客户机系统收到确认消息之后,第二客户机系统就将建立与第一客户机系统的通信。客户机系统已确认每个系统可向其发送数据,并使该数据成功通过接收方系统的NAT装置。
通过首先将测试消息发送到第二客户机系统以便NAT装置可将第二客户机系统的消息转发到第一客户机系统,第一客户机系统使NAT装置的安全功能“出现漏洞”。因此,此技术称为“打孔”。通过“打孔”,第一和第二客户机系统可以建立通信而不会改变NAT装置的操作。
图7是第二客户机系统与第一客户机系统建立通信的的流程图。图7所示操作与参照图6所述的操作关联进行。在方框705,当客户机系统共享地址信息时,第二客户机系统使用接收的地址信息将测试消息发送到第一客户机系统。如上所述,第二客户机系统使用第一客户机系统的公共网络地址发送输出公共地址测试消息,并且如果本地网络地址与外部网络兼容,则还发送输出本地地址测试消息。如下所述,在方框730中,第二客户机系统继续向第一客户机系统发送测试消息,直至第二客户机系统从第一客户机系统收到确认消息为止。在方框710中,连接到第二客户机系统的NAT装置将输出测试消息的目的地址记为“批准”地址。如上所述,第一客户机也向第二客户机系统发送测试消息,而第二客户机系统接收第一客户机系统的测试消息,如方框715所示。在方框720,第二客户机记录收到的测试消息的源地址,并在方框725,使用该源消息将确认消息发送到第一客户机系统。如上所述,第一客户机系统还在收到第二客户机系统的测试消息后将确认消息发送到第二客户机系统,由第二客户机系统接收确认消息,如方框730所示。当第二客户机系统收到第一客户机系统的确认消息时,第二客户机系统停止向第一客户机系统发送测试消息。现在,第二客户机系统与第一客户机系统建立了通信。
图8是维护连接的NAT装置分配的映射的客户机系统的流程图(回想图3的方框315)。客户机系统使用其网络映射维护管理器组件来管理通过映射维护服务器对连接NAT装置的地址映射维护(回想图2中的网络映射维护管理器220)。如上所述,在一种实施方案中,NAT装置将本地网络地址分配给NAT装置本地网络上的系统。NAT装置还为本地系统所用的公共网络地址分配端口号。在本地系统向外部网络发送数据时,NAT装置将端口号分配给本地系统并存储该端口号。在NAT装置接收输入数据时,NAT装置检查输入数据目的地址中的端口号(例如,在首部信息中),以确定哪个本地系统是预定的接收方。如上所述,在将数据转发到本地系统前,NAT装置还使用端口号确认输入数据的发送方已获“批准”。一旦NAT装置为本地系统分配了端口号,则NAT装置开始定时器倒计时。如果本地系统将更多数据发送到外部网络,则NAT装置使用相同端口号,并且重置定时器。同样地,如果NAT装置使用该端口号接收输入数据,则NAT装置会重置定时器。如果定时器达到零,则NAT装置会因端口号最近未使用而释放该端口号(“超时”)。为了避免“超时”,在客户机系统与另一客户机系统正在通信或者尝试与其通信时,客户机系统定期向映射维护服务器发送映射维护消息。如上所述,在一种实施方案中,映射维护服务器包含在地址服务器或匹配服务器内,这样,客户机系统可将映射维护消息发送给适当的服务器。在一种实施方案中,未包括映射维护服务器,客户机系统不发送映射维护消息。
如方框805所示,客户机系统通过连接的NAT装置将映射维护消息发送到映射维护服务器。参照图1,第一客户机系统105通过第一NAT装置110将映射维护消息发送到映射维护服务器150。在方框810,NAT装置接收映射维护消息,并为客户机系统分配的端口号重置定时器。在方框815,NAT装置将映射维护消息发送到映射维护服务器。在预定时期后,客户机系统在方框820评估是否要维护当前地址。如果客户机系统在与另一客户机系统进行通信或者尝试与其进行通信,则客户机系统将另一映射维护消息发送给映射维护服务器以保持当前端口映射,然后返回方框805。如果客户机系统结束通信,则客户机系统如方框825所示不发送另一映射维护消息并允许端口映射超时。在一种实施方案中,映射维护服务器不响应客户机系统。或者,映射维护服务器向客户机系统发送映射维护确认消息。
虽然以上说明焦点集中在其中两个客户机系统在各自的NAT装置之后的网络配置(回想图1),但两个客户机系统和服务器系统的操作与NAT装置是否存在无关。图9A-9C显示了备选的网络配置。在图9A中,第一客户机系统905在NAT装置910之后,而第二客户机系统915不与NAT装置相连。在图9B中,两个客户机系统930、935均未连接到NAT装置。在图9C中,两个客户机系统970、975均在同一本地网络985中的同一NAT装置980之后。在这些备选配置的每种配置及其它变型配置中,客户机系统与服务器系统可以基本上与上述方式一样的方式进行交互。
本发明的不同实施方案可用电子硬件、计算机软件或这些技术的组合来实现。大多数实施方案包括由可编程计算机执行的一个或多个计算机软件。例如,参照图1,在一种实施方案中,每个客户机系统105、125和服务器系统140、145、150包括一个或多个可编程计算机,它们实现上述网络系统的各个方面。总而言之,每个计算机包括一个或多个处理器、一个或多个数据存储组件(例如,易失性或非易失性存储模块和永久性光学和磁存储装置,如硬盘和软盘驱动器、CD-ROM驱动器和磁带机)、一个或多个输入装置(例如,鼠标和键盘)及一个或多个输出装置(例如,显示控制台和打印机)。
计算机程序包括通常存储在永久性存储媒体并在运行时复制到存储器中的可执行代码。处理器通过按预定顺序从存储器取程序指令来执行代码。在执行程序代码时,计算机从输入和/或存储装置接收数据,执行数据操作,然后将结果数据传送到输出和/或存储装置。
本文描述了本发明的不同说明性实施方案。然而,本领域的普通技术人员会明白,其他在本发明范围之内的其他实施方案也是可行的。因此,本发明并不只限于上述实施方案。

Claims (46)

1.一种用于在第一客户机系统与第二客户机系统之间通信的方法,包括:
发现与第一网络地址转换装置相连的第一客户机系统的第一地址信息;
将所述第一地址信息与匹配服务器共享;
过滤到所述第一客户机系统的输入数据;
批准要由所述第一客户机系统接收的第二地址信息;
在所述第一客户机系统接收所批准的第二地址信息,其中所批准的唯一第二地址信息是源自满足以下条件的第二客户机系统的第二地址信息:1)选择过所述第一客户机系统以与其通信,2)与所述匹配服务器共享过所述第二地址信息,以及3)在所述匹配服务器向所述第一客户机系统发送过所述第二客户机系统的第二地址信息后从所述第一客户机系统接收过测试消息;以及
利用所述第二地址信息,在所述第一客户机系统与所述第二客户机系统之间建立通信。
2.如权利要求1所述的方法,其特征在于还包括:维护在所述第一网络地址转换装置中所述第一客户机系统与所述第一地址信息之间的第一映射。
3.如权利要求1所述的方法,其特征在于,所述第一地址信息和所述第二地址信息各自包括公共网络地址和本地网络地址。
4.如权利要求3所述的方法,其特征在于每个公共网络地址包括地址号和端口号。
5.如权利要求4所述的方法,其特征在于,所述第一公共网络地址的地址号是所述第一网络地址转换装置的地址号,并且所述第一公共网络地址的端口号表示所述第一客户机系统。
6.如权利要求3所述的方法,其特征在于,每个本地网络地址包括地址号和端口号。
7.如权利要求1所述的方法,其特征在于发现第一地址信息包括:
发现与第一网络地址转换装置相连的第一客户机系统的第一本地网络地址;以及
发现所述第一客户机系统的第一公共网络地址。
8.如权利要求7所述的方法,其特征在于发现所述第一客户机系统的所述第一本地网络地址包括从所述第一客户机系统内的地址堆栈中取回所述第一本地网络地址。
9.如权利要求7所述的方法,其特征在于发现所述第一客户机系统的所述第一公共网络地址包括:
将所述第一客户机系统的第一地址请求发送到与所述第一网络地址转换装置相连的地址服务器;
在所述第一客户机系统接收所述地址服务器的第一地址报告,其中所述第一地址报告包括所述第一公共网络地址。
10.如权利要求1所述的方法,其特征在于,将所述第一地址信息与所述匹配服务器共享包括:将所述第一客户机系统的注册请求发送到所述匹配服务器,其中所述注册请求包括所述第一地址信息。
11.如权利要求1所述的方法,其特征在于在所述第一客户机系统与所述第二客户机系统之间建立通信包括:
利用所述第二地址信息,将来自所述第一客户机系统的一个或多个输出测试消息发送到所述第二客户机系统;
在所述第一客户机系统接收来自所述第二客户机系统的输入测试消息,其中所述输入测试消息包括源网络地址,所述源网络地址指示发出所述输入测试消息的网络地址;
记录所述源网络地址;
利用所记录的源网络地址,将来自所述第一客户机系统的输出确认消息发送到所述第二客户机系统;
在所述第一客户机系统接收来自所述第二客户机系统的输入确认消息。
12.如权利要求11所述的方法,其特征在于,所述第一地址信息包括第一公共网络地址和第一本地网络地址,而所述第二地址信息包括第二公共网络地址和第二本地网络地址。
13.如权利要求12所述的方法,其特征在于发送一个或多个输出测试消息包括:
利用所述第二公共网络地址,将来自所述第一客户机系统的一个或多个输出公共地址测试消息发送到所述第二客户机系统;以及
利用所述第二本地网络地址,将来自所述第一客户机系统的一个或多个输出本地地址测试消息发送到所述第二客户机系统。
14.如权利要求12所述的方法,其特征在于,在所述第一客户机系统从所述第二客户机系统接收的所述输入测试消息是利用所述第一公共网络地址来定址的。
15.如权利要求12所述的方法,其特征在于,在所述第一客户机系统从所述第二客户机系统接收的所述输入测试消息是利用所述第一本地网络地址来定址的。
16.如权利要求12所述的方法,其特征在于,所述源网络地址是所述第二公共网络地址。
17.如权利要求12所述的方法,其特征在于,所述源网络地址是所述第二本地网络地址。
18.如权利要求12所述的方法,其特征在于,在所述第一客户机系统从所述第二客户机系统接收的所述输入确认消息是利用所述第一公共网络地址来定址的。
19.如权利要求12所述的方法,其特征在于,在所述第一客户机系统从所述第二客户机系统接收的所述输入确认消息是利用所述第一本地网络地址来定址的。
20.一种用于对等网络通信的方法,包括:
发现与第一网络地址转换装置相连的第一客户机系统的第一地址信息;
发现与第二网络地址转换装置相连的第二客户机系统的第二地址信息;
将所述第一地址信息与匹配服务器共享;
将所述第二地址信息与所述匹配服务器共享;
过滤到所述第一客户机系统的输入数据;
批准要由所述第一客户机系统接收的第二地址信息,其中所批准的唯一第二地址信息是源自满足以下条件的第二客户机系统的第二地址信息:1)选择过所述第一客户机系统以与其通信,2)与所述匹配服务器共享过所述第二地址信息,以及3)在所述匹配服务器向所述第一客户机系统发送过所述第二客户机系统的第二地址信息后从所述第一客户机系统接收过测试消息;以及
利用所述第一地址信息和所述第二地址信息,在所述第一客户机系统与所述第二客户机系统之间建立通信。
21.如权利要求20所述的方法,其特征在于还包括:维护在所述第一网络地址转换装置中所述第一客户机系统与所述第一地址信息之间的第一映射以及维护在所述第二网络地址转换装置中所述第二客户机系统与所述第二地址信息之间的第二映射。
22.一种网络系统,包括:
第一网络地址转换装置,它连接到网络并具有第一公共网络地址,过滤到第一客户机系统的输入数据,以及批准要由所述第一客户机系统接收的第二地址信息;
第一客户机系统,它连接到所述第一网络地址转换装置并具有由所述第一网络地址转换装置建立的第一本地网络地址;
第二网络地址转换装置,它连接到所述网络并具有第二公共网络地址;
第二客户机系统,它连接到所述第二网络地址转换装置并具有由所述第二网络地址转换装置建立的第二本地网络地址;
连接到所述网络的地址服务器;
连接到所述网络的匹配服务器;
其中,所述第一网络地址转换装置、所述第二网络地址转换装置、所述地址服务器及所述匹配服务器能够通过所述网络向彼此发送数据,
其中,所述地址服务器根据从客户机系统接收的数据为所述客户机系统确定公共网络地址,并将所确定的公共网络地址返回给所述客户机系统,
其中,所述匹配服务器包括用于注册客户机系统及为一个或多个注册客户机系统保存公共网络地址和本地网络地址的注册表,
其中,所批准的唯一第二地址信息是源自满足以下条件的第二客户机系统的第二地址信息:1)选择过所述第一客户机系统以与其通信,2)与所述匹配服务器共享过所述第二地址信息,以及3)在所述匹配服务器向所述第一客户机系统发送过所述第二客户机系统的第二地址信息后从所述第一客户机系统接收过测试消息,
其中,所述第一客户机系统包括:
第一网络地址管理器,用于与所述地址服务器通信以确定所述第一公共网络地址;
第一网络注册管理器,用于向所述匹配服务器注册所述第一客户机系统;
第一网络共享管理器,用于将所述第一公共网络地址和所述第一本地网络地址与所述第二客户机系统共享;
其中所述第二客户机系统包括:
第二网络地址管理器,用于与所述地址服务器通信以确定所述第二公共网络地址;
第二网络注册管理器,用于向所述匹配服务器注册所述第二客户机系统;
第二网络共享管理器,用于将所述第二公共网络地址和所述第二本地网络地址与所述第一客户机系统共享。
23.如权利要求22所述的网络系统,其特征在于还包括:
与所述网络相连的映射维护服务器,所述映射维护服务器用于分别维护所述第一网络地址转换装置和所述第二网络地址转换装置的地址映射,
其中所述第一客户机系统包括用于定期将消息发送到所述映射维护服务器的第一网络映射维护管理器;以及
所述第二客户机系统包括用于定期将消息发送到所述映射维护服务器的第二网络映射维护管理器。
24.如权利要求22所述的网络系统,其特征在于每个公共网络地址包括地址号和端口号。
25.如权利要求22所述的网络系统,其特征在于每个本地网络地址包括地址号和端口号。
26.一种网络系统,包括:
与网络相连的地址服务器;
与所述网络相连的匹配服务器;
其中,所述地址服务器和所述匹配服务器能够通过所述网络向彼此发送数据,
所述地址服务器和所述匹配服务器能通过所述网络将数据发送到至少一个网络地址转换装置,其中至少一个网络地址转换装置具有公共网络地址,并为连接到所述网络地址转换装置的客户机系统生成本地网络地址,
其中,至少一个网络地址转换装置过滤到连接到所述网络地址转换装置的所述客户机系统的输入数据,以及批准要由连接到所述网络地址转换装置的所述客户机系统接收的第二地址信息,
其中所批准的唯一第二地址信息是源自满足以下条件的第二客户机系统的第二地址信息:1)选择过连接到所述网络地址转换装置的所述客户机系统以与其通信,2)与所述匹配服务器共享过所述第二地址信息,以及3)在所述匹配服务器向连接到所述网络地址转换装置的所述客户机系统发送过所述第二客户机系统的第二地址信息后从连接到所述网络地址转换装置的所述客户机系统接收过测试消息,
其中,所述地址服务器根据从客户机系统接收的数据为所述客户机系统确定公共网络地址,并将所确定的公共网络地址返回到所述客户机系统,
其中,所述匹配服务器包括用于注册客户机系统并为一个或多个注册客户机系统保存公共网络地址和本地网络地址的注册表。
27.如权利要求26所述的网络系统,其特征在于还包括:连接到所述网络的映射维护服务器,用于维护至少一个网络地址转换装置的地址映射。
28.一种用于第一客户机系统和第二客户机系统之间的通信的设备,包括:
发现连接到第一网络地址转换装置的第一客户机系统的第一地址信息的部件;
将所述第一地址信息与匹配服务器共享的部件;
过滤到所述第一客户机系统的输入数据的部件;
批准要由所述第一客户机系统接收的第二地址信息的部件;
接收所批准的所述第二客户机系统的第二地址信息的部件,其中所批准的唯一第二地址信息是源自满足以下条件的第二客户机系统的第二地址信息:1)选择过所述第一客户机系统以与其通信,2)与所述匹配服务器共享过所述第二地址信息,以及3)在所述匹配服务器向所述第一客户机系统发送过所述第二客户机系统的第二地址信息后从所述第一客户机系统接收过测试消息;
利用所述第二地址信息在所述第一客户机系统与所述第二客户机系统之间建立通信的部件。
29.如权利要求28所述的设备,其特征在于还包括:维护在所述第一网络地址转换装置中所述第一客户机系统与所述第一地址信息之间的第一映射的部件。
30.如权利要求28所述的设备,其特征在于,所述第一地址信息和所述第二地址信息各自包括公共网络地址和本地网络地址。
31.如权利要求30所述的设备,其特征在于每个公共网络地址包括地址号和端口号。
32.如权利要求31所述的设备,其特征在于,所述第一公共网络地址的地址号是所述第一网络地址转换装置的地址号,并且所述第一公共网络地址的端口号表示所述第一客户机系统。
33.如权利要求30所述的设备,其特征在于每个本地网络地址包括地址号和端口号。
34.如权利要求28所述的设备,其特征在于发现第一地址信息的部件包括:
发现与第一网络地址转换装置相连的第一客户机系统的第一本地网络地址的部件;以及
发现所述第一客户机系统的第一公共网络地址的部件。
35.如权利要求34所述的设备,其特征在于,发现所述第一客户机系统的所述第一本地网络地址的部件包括从所述第一客户机系统内的地址堆栈中取回所述第一本地网络地址的部件。
36.如权利要求34所述的设备,其特征在于发现所述第一客户机系统的所述第一公共网络地址的部件包括:
将所述第一客户机系统的第一地址请求发送到与所述第一网络地址转换装置相连的地址服务器的部件;
在所述第一客户机系统接收所述地址服务器的第一地址报告的部件,其中所述第一地址报告包括所述第一公共网络地址。
37.如权利要求28所述的设备,其特征在于,将所述第一地址信息与所述匹配服务器共享的部件包括将所述第一客户机系统的注册请求发送到所述匹配服务器的部件,其中所述注册请求包括所述第一地址信息。
38.如权利要求28所述的设备,其特征在于在所述第一客户机系统与所述第二客户机系统之间建立通信的部件包括:
利用所述第二地址信息,将来自所述第一客户机系统的一个或多个输出测试消息发送到所述第二客户机系统的部件;
在所述第一客户机系统接收来自所述第二客户机系统的输入测试消息的部件,其中所述输入测试消息包括源网络地址,源网络地址指示发出所述输入测试消息的网络地址;
记录所述源网络地址的部件;
利用所记录的源网络地址,将来自所述第一客户机系统的输出确认消息发送到所述第二客户机系统的部件;
在所述第一客户机系统接收来自所述第二客户机系统的输入确认消息的部件。
39.如权利要求38所述的设备,其特征在于,所述第一地址信息包括第一公共网络地址和第一本地网络地址,而所述第二地址信息包括第二公共网络地址和第二本地网络地址。
40.如权利要求39所述的设备,其特征在于发送一个或多个输出测试消息的部件包括:
利用所述第二公共网络地址,将来自所述第一客户机系统的一个或多个输出公共地址测试消息发送到所述第二客户机系统的部件;和
利用所述第二本地网络地址,将来自所述第一客户机系统的一个或多个输出本地地址测试消息发送到所述第二客户机系统的部件。
41.如权利要求39所述的设备,其特征在于,在所述第一客户机系统从所述第二客户机系统接收的所述输入测试消息是利用所述第一公共网络地址来定址的。
42.如权利要求39所述的设备,其特征在于,在所述第一客户机系统从所述第二客户机系统接收的所述输入测试消息是利用所述第一本地网络地址来定址的。
43.如权利要求39所述的设备,其特征在于,所述源网络地址是所述第二公共网络地址。
44.如权利要求39所述的设备,其特征在于,所述源网络地址是所述第二本地网络地址。
45.如权利要求39所述的设备,其特征在于,在所述第一客户机系统从所述第二客户机系统接收的所述输入确认消息是利用所述第一公共网络地址来定址的。
46.如权利要求39所述的设备,其特征在于,在所述第一客户机系统从所述第二客户机系统接收的所述输入确认消息的部件是利用所述第一本地网络地址来定址的。
CN038014793A 2002-05-13 2003-05-12 利用网络地址转换的对等网络通信方法、设备及系统 Expired - Lifetime CN1586065B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US38039602P 2002-05-13 2002-05-13
US60/380,396 2002-05-13
US10/215,899 2002-08-08
US10/215,899 US7676579B2 (en) 2002-05-13 2002-08-08 Peer to peer network communication
PCT/US2003/014808 WO2003096653A1 (en) 2002-05-13 2003-05-12 Peer to peer network communication with network address translation

Publications (2)

Publication Number Publication Date
CN1586065A CN1586065A (zh) 2005-02-23
CN1586065B true CN1586065B (zh) 2010-12-22

Family

ID=29406404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038014793A Expired - Lifetime CN1586065B (zh) 2002-05-13 2003-05-12 利用网络地址转换的对等网络通信方法、设备及系统

Country Status (9)

Country Link
US (2) US7676579B2 (zh)
EP (2) EP2285072B1 (zh)
JP (1) JP4083737B2 (zh)
KR (1) KR100760802B1 (zh)
CN (1) CN1586065B (zh)
AU (1) AU2003234391B8 (zh)
DE (1) DE60336052D1 (zh)
TW (1) TWI251413B (zh)
WO (1) WO2003096653A1 (zh)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2362482A (en) * 2000-05-15 2001-11-21 Ridgeway Systems & Software Lt Direct slave addressing to indirect slave addressing
GB2365256A (en) 2000-07-28 2002-02-13 Ridgeway Systems & Software Lt Audio-video telephony with port address translation
GB2369746A (en) * 2000-11-30 2002-06-05 Ridgeway Systems & Software Lt Communications system with network address translation
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US7937471B2 (en) 2002-06-03 2011-05-03 Inpro Network Facility, Llc Creating a public identity for an entity on a network
US7139840B1 (en) * 2002-06-14 2006-11-21 Cisco Technology, Inc. Methods and apparatus for providing multiple server address translation
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US8234358B2 (en) * 2002-08-30 2012-07-31 Inpro Network Facility, Llc Communicating with an entity inside a private network using an existing connection to initiate communication
JP4304593B2 (ja) 2002-11-01 2009-07-29 ソニー株式会社 情報処理システム、情報処理装置および方法、並びにプログラム
US7577705B2 (en) * 2003-01-15 2009-08-18 Microsoft Corporation Extensible communication controls
FR2853187B1 (fr) * 2003-03-28 2006-01-13 At & T Corp Systeme permettant a toute application reseau de fonctionner de facon transparente a travers un dispositif de traduction d'adresse de reseau
US7949785B2 (en) * 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US7596595B2 (en) * 2003-06-18 2009-09-29 Utah State University Efficient unicast-based multicast tree construction and maintenance for multimedia transmission
US7313605B2 (en) 2003-07-03 2007-12-25 At&T Corp. Externally controlled reachability in virtual private networks
US7417981B2 (en) * 2003-10-15 2008-08-26 Vonage Holdings Corp. Method and apparatus for enhanced Internet Telephony
US8234383B2 (en) * 2003-11-07 2012-07-31 Panasonic Corporation Bubble packet port identification using detection packets
WO2005046143A1 (ja) * 2003-11-07 2005-05-19 Matsushita Electric Industrial Co., Ltd. 通信システム、情報処理装置、サーバ、および通信方法
JP4269226B2 (ja) 2003-11-14 2009-05-27 ソニー株式会社 情報通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体
US20050228848A1 (en) * 2004-03-22 2005-10-13 Thurston Stacy D Method and system for operating a peer network
BRPI0509900A (pt) * 2004-04-12 2007-09-18 Xds Inc sistema e método para iniciar automaticamente e estabelecer de forma dinámica conexões seguras pela internet entre um servidor com barreira de proteção e um cliente com barreira de proteção
CN100486193C (zh) * 2004-09-29 2009-05-06 腾讯科技(深圳)有限公司 多策略的p2p连接建立方法
JP2006155188A (ja) * 2004-11-29 2006-06-15 Sony Corp 情報処理システム、情報提供装置および方法、電子機器および方法、情報処理装置および方法、記録媒体、並びにプログラム
JP4708036B2 (ja) * 2005-01-21 2011-06-22 パナソニック株式会社 通信システム、情報処理装置、サーバ、及び情報処理方法
US20060187912A1 (en) * 2005-02-01 2006-08-24 Kayote Networks Inc. Method and apparatus for server-side NAT detection
MX2007006312A (es) * 2005-02-18 2007-07-09 Ericsson Telefon Ab L M Arreglos para proporcionar comunicaciones de igual a igual en una red movil terrestre publica.
JP4597706B2 (ja) * 2005-02-25 2010-12-15 パナソニック株式会社 情報処理システム、情報処理装置、サーバ装置、及び情報処理方法
US8041824B1 (en) * 2005-04-14 2011-10-18 Strauss Acquisitions, L.L.C. System, device, method and software for providing a visitor access to a public network
US20060265509A1 (en) * 2005-04-22 2006-11-23 Pandit Shrihari B Methods and systems for communicating voice, audio, video, text and/or multimedia data
JP4557803B2 (ja) * 2005-05-27 2010-10-06 富士通株式会社 ネットワークシステム及び通信方法
US7515549B2 (en) * 2005-06-07 2009-04-07 Cisco Technology, Inc. Managing devices across NAT boundaries
US7706371B1 (en) * 2005-07-07 2010-04-27 Cisco Technology, Inc. Domain based routing for managing devices operating behind a network address translator
KR100766777B1 (ko) * 2005-08-02 2007-10-17 엔에이치엔(주) 게임 네트워크 제공 시스템, 방법 및 기록매체
JP4548271B2 (ja) * 2005-08-16 2010-09-22 ブラザー工業株式会社 情報通信システム、情報通信方法、ノード装置、及びコンピュータプログラム
DE102005043239B4 (de) * 2005-09-09 2014-04-10 Nec Europe Ltd. Verfahren zum Aufbau und Verwalten einer Verbindung
US8145733B1 (en) * 2006-02-15 2012-03-27 Trend Micro Incorporated Identification of computers located behind an address translation server
KR100793420B1 (ko) * 2006-07-12 2008-01-11 임승빈 네트워크상에서 데이터 전송 서비스를 제공하기 위한 서버및 클라이언트의 연결 시스템 및 이를 이용한 서버와클라이언트 또는 클라이언트와 클라이언트간의 연결 방법
US7764677B2 (en) * 2006-09-20 2010-07-27 Nortel Networks Limited Method and system for policy-based address allocation for secure unique local networks
KR100703065B1 (ko) * 2006-10-26 2007-04-09 (주)휴리브 다자간 양방향 음성통화 서비스를 위한 nat 제어 시스템및 그 방법
NL1033102C2 (nl) * 2006-12-21 2008-06-24 V S N Systemen B V Werkwijze voor het opzetten van een peer-to-peerverbinding tussen twee communicatiemedia.
US7881318B2 (en) * 2007-02-28 2011-02-01 Microsoft Corporation Out-of-band keep-alive mechanism for clients associated with network address translation systems
US7995478B2 (en) * 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US7933273B2 (en) 2007-07-27 2011-04-26 Sony Computer Entertainment Inc. Cooperative NAT behavior discovery
US20090055517A1 (en) * 2007-08-21 2009-02-26 D-Link Corporation Method for a plug-and-play network device to acquire dual internet protocol addresses
US20090059788A1 (en) * 2007-08-29 2009-03-05 Motorola, Inc. Method and Apparatus for Dynamic Adaptation of Network Transport
US7856501B2 (en) 2007-12-04 2010-12-21 Sony Computer Entertainment Inc. Network traffic prioritization
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
GB2463312A (en) * 2008-09-09 2010-03-17 Skype Ltd Games system with bi-directional video communication
KR100968958B1 (ko) * 2008-12-03 2010-07-14 주식회사 케이티 인터넷 프로토콜 멀티미디어 서브시스템 및 인터넷 프로토콜 멀티미디어 서브시스템에서의 가입자 인증 방법
JP2010170176A (ja) * 2009-01-20 2010-08-05 Konami Digital Entertainment Co Ltd ゲーム用のネットワークシステム、ネットワーク用のプログラム、サーバ用のコンピュータ
KR101049912B1 (ko) * 2009-02-24 2011-07-19 (주)닥터소프트 네트워크 시스템 간의 접속 방법
JP5439036B2 (ja) * 2009-05-27 2014-03-12 エヌ・ティ・ティ・コムウェア株式会社 通信システム、通信管理装置、通信管理方法、及び通信管理プログラム
CN101605154B (zh) * 2009-07-09 2014-08-13 中兴通讯股份有限公司 使用网络地址转换的网络设备的ip地址确认系统及方法
CN102546555B (zh) * 2010-12-27 2015-12-16 中兴通讯股份有限公司 用户终端在多种接入方式时和外部网络的互通方法和设备
US8964567B2 (en) * 2011-07-21 2015-02-24 Microsoft Technology Licensing, Llc Wireless synchronization testing
GB201113942D0 (en) 2011-08-12 2011-09-28 Nec Corp Communication system
TWI448129B (zh) * 2011-11-09 2014-08-01 D Link Corp According to the behavior of the network address translator to establish a transmission control protocol connection method
US8862702B2 (en) 2012-07-18 2014-10-14 Accedian Networks Inc. Systems and methods of installing and operating devices without explicit network addresses
EP3025540A4 (en) * 2013-07-26 2017-03-15 Intel IP Corporation Signaling interference information for user equipment assistance
CN106303117A (zh) * 2015-06-08 2017-01-04 李明 基于ip网络的通讯方法及通讯系统
US10567518B2 (en) * 2015-06-26 2020-02-18 Western Digital Technologies, Inc. Automatic discovery and onboarding of electronic devices
CN106487864B (zh) * 2015-09-02 2019-09-27 华为终端有限公司 数据连接的建立方法、服务端及移动终端
CN108124022B (zh) * 2016-11-28 2020-04-14 中国移动通信有限公司研究院 一种网络地址转换管理方法及装置
US10594829B2 (en) * 2017-05-24 2020-03-17 At&T Intellectual Property I, L.P. Cloud workload proxy as link-local service configured to access a service proxy gateway via a link-local IP address to communicate with an external target service via a private network
CN113411367B (zh) * 2020-03-17 2022-07-19 浙江宇视科技有限公司 监控设备建立连接的方法、装置、设备、系统及存储介质
CN114928616A (zh) * 2021-02-03 2022-08-19 上海哔哩哔哩科技有限公司 对等网络的传输方法和系统
CN114089711B (zh) * 2022-01-21 2022-05-17 深圳艾灵网络有限公司 工业设备控制管理方法、电子设备及存储介质
US20230328029A1 (en) * 2022-04-11 2023-10-12 Verizon Patent And Licensing Inc. Multi-level and dynamic timers for carrier grade nat

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1332552A (zh) * 2000-03-03 2002-01-23 尼克斯兰德公司 使用本地ip地址和不可转换端口地址的局域网的网络地址转换网关

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4787051A (en) * 1986-05-16 1988-11-22 Tektronix, Inc. Inertial mouse system
US5128671A (en) * 1990-04-12 1992-07-07 Ltv Aerospace And Defense Company Control device having multiple degrees of freedom
US5636216A (en) * 1994-04-08 1997-06-03 Metricom, Inc. Method for translating internet protocol addresses to other distributed network addressing schemes
AU2471995A (en) 1994-05-05 1995-11-29 Catapult Entertainment, Inc. Network architecture for real-time video games
US5528265A (en) * 1994-07-18 1996-06-18 Harrison; Simon J. Orientation-operated cursor control device
SE504846C2 (sv) * 1994-09-28 1997-05-12 Jan G Faeger Styrutrustning med ett rörligt styrorgan
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5856974A (en) * 1996-02-13 1999-01-05 Novell, Inc. Internetwork address mapping gateway
JPH11122301A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd アドレス変換接続装置
US6151601A (en) * 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
US6128624A (en) 1997-11-12 2000-10-03 Ncr Corporation Collection and integration of internet and electronic commerce data in a database during web browsing
US6151584A (en) 1997-11-20 2000-11-21 Ncr Corporation Computer architecture and method for validating and collecting and metadata and data about the internet and electronic commerce environments (data discoverer)
FI105753B (fi) 1997-12-31 2000-09-29 Ssh Comm Security Oy Pakettien autentisointimenetelmä verkko-osoitemuutosten ja protokollamuunnosten läsnäollessa
SE513828C2 (sv) * 1998-07-02 2000-11-13 Effnet Group Ab Brandväggsapparat och metod för att kontrollera nätverksdatapakettrafik mellan interna och externa nätverk
US6208649B1 (en) 1998-03-11 2001-03-27 Cisco Technology, Inc. Derived VLAN mapping technique
US6128623A (en) 1998-04-15 2000-10-03 Inktomi Corporation High performance object cache
US6292880B1 (en) 1998-04-15 2001-09-18 Inktomi Corporation Alias-free content-indexed object cache
US6289358B1 (en) 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from an object cache
US6209003B1 (en) 1998-04-15 2001-03-27 Inktomi Corporation Garbage collection in an object cache
US6128627A (en) 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6212565B1 (en) 1998-08-26 2001-04-03 Sun Microsystems, Inc. Apparatus and method for improving performance of proxy server arrays that use persistent connections
US6138156A (en) * 1998-10-05 2000-10-24 International Business Machines Corporation Selecting and applying content-reducing filters based on dynamic environmental factors
US6389462B1 (en) 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6333931B1 (en) 1998-12-28 2001-12-25 Cisco Technology, Inc. Method and apparatus for interconnecting a circuit-switched telephony network and a packet-switched data network, and applications thereof
US6535511B1 (en) * 1999-01-07 2003-03-18 Cisco Technology, Inc. Method and system for identifying embedded addressing information in a packet for translation between disparate addressing systems
US6636898B1 (en) * 1999-01-29 2003-10-21 International Business Machines Corporation System and method for central management of connections in a virtual private network
US6393488B1 (en) * 1999-05-27 2002-05-21 3Com Corporation System and method for supporting internet protocol subnets with network address translators
US6957346B1 (en) * 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US6375572B1 (en) * 1999-10-04 2002-04-23 Nintendo Co., Ltd. Portable game apparatus with acceleration sensor and information storage medium storing a game progam
US6581108B1 (en) * 1999-11-30 2003-06-17 Lucent Technologies Inc. Managing multiple private data networks using network and payload address translation
US7917628B2 (en) * 1999-12-02 2011-03-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US6779035B1 (en) * 2000-03-06 2004-08-17 Microsoft Corporation Application programming interface and generalized network address translator for translation of transport-layer sessions
US6353891B1 (en) 2000-03-20 2002-03-05 3Com Corporation Control channel security for realm specific internet protocol
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US6618757B1 (en) * 2000-05-17 2003-09-09 Nortel Networks Limited System and method for dynamic IP address management
WO2001097485A2 (en) 2000-06-14 2001-12-20 At & T Wireless Services, Inc. Method for providing transparent public addressed networks within private networks
AU2001271263A1 (en) 2000-06-30 2002-01-14 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
US20020085097A1 (en) * 2000-12-22 2002-07-04 Colmenarez Antonio J. Computer vision-based wireless pointing system
US7155518B2 (en) * 2001-01-08 2006-12-26 Interactive People Unplugged Ab Extranet workgroup formation across multiple mobile virtual private networks
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
JP3963690B2 (ja) * 2001-03-27 2007-08-22 富士通株式会社 パケット中継処理装置
US20030009561A1 (en) * 2001-06-14 2003-01-09 Sollee Patrick N. Providing telephony services to terminals behind a firewall and /or network address translator
US6993574B2 (en) * 2001-06-19 2006-01-31 Zoetics, Inc. Web-based communications addressing system and method
US20030051052A1 (en) 2001-09-13 2003-03-13 Koninklijke Philips Electronics N.V. Addressing scheme for wireless mobile clients
US20030055978A1 (en) * 2001-09-18 2003-03-20 Microsoft Corporation Methods and systems for enabling outside-initiated traffic flows through a network address translator
US7254709B1 (en) * 2001-10-23 2007-08-07 Avanza Technologies, Inc. Managed information transmission of electronic items in a network environment
SE522998C2 (sv) 2001-12-14 2004-03-23 Hotsip Ab Förfarande, gateway och datorprogramprodukt för att sända ett snabbmeddelande mellan två användare
US7058718B2 (en) 2002-01-15 2006-06-06 International Business Machines Corporation Blended SYN cookies
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US7676579B2 (en) 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US20040063843A1 (en) * 2002-07-19 2004-04-01 Honeywell International, Inc. Coating solutions
US7016942B1 (en) * 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
US7216359B2 (en) 2002-12-19 2007-05-08 International Business Machines Corporation Secure communication overlay using IP address hopping
US20040212589A1 (en) * 2003-04-24 2004-10-28 Hall Deirdre M. System and method for fusing and displaying multiple degree of freedom positional input data from multiple input sources
US7044571B2 (en) * 2003-10-28 2006-05-16 Hewlett-Packard Development Company, L.P. Power supply adjustment
JP4426262B2 (ja) * 2003-11-26 2010-03-03 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の障害回避方法
US7522618B2 (en) * 2005-03-18 2009-04-21 Panasonic Corporation Communication apparatus, communication system and communication method
JP4973145B2 (ja) * 2006-11-20 2012-07-11 船井電機株式会社 管理サーバ及びコンテンツ移動システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1332552A (zh) * 2000-03-03 2002-01-23 尼克斯兰德公司 使用本地ip地址和不可转换端口地址的局域网的网络地址转换网关

Also Published As

Publication number Publication date
EP1508238A1 (en) 2005-02-23
EP2285072A1 (en) 2011-02-16
DE60336052D1 (de) 2011-03-31
TWI251413B (en) 2006-03-11
EP2285072B1 (en) 2018-02-28
AU2003234391B8 (en) 2009-07-30
JP2005525750A (ja) 2005-08-25
EP1508238B1 (en) 2016-04-13
JP4083737B2 (ja) 2008-04-30
US20030212795A1 (en) 2003-11-13
TW200401540A (en) 2004-01-16
AU2003234391A1 (en) 2003-11-11
CN1586065A (zh) 2005-02-23
AU2003234391B2 (en) 2006-03-09
US7676579B2 (en) 2010-03-09
KR20040054817A (ko) 2004-06-25
US20070150552A1 (en) 2007-06-28
KR100760802B1 (ko) 2007-09-20
WO2003096653A1 (en) 2003-11-20

Similar Documents

Publication Publication Date Title
CN1586065B (zh) 利用网络地址转换的对等网络通信方法、设备及系统
US8767737B2 (en) Data center network system and packet forwarding method thereof
CN1602617B (zh) 网络配置的评估
CN100518173C (zh) 连接到互联网的服务器、设备、和通信系统
CN102427484B (zh) 基于dns来确定设备是否处于网络内部的方法和装置
US7958226B2 (en) Identifying a computer device
CN100484125C (zh) 对地址询问的回答方法和回答装置
CN102769529A (zh) Dnssec签名服务器
MX2012011617A (es) Aparato y metodo para corresponder usuarios para sesiones en linea.
MX2012011618A (es) Aparato y metodo para invitar a usuarios a sesiones en linea.
CN104283869A (zh) 提供到可配置专用计算机网络的访问
CN103401952A (zh) 配置计算机节点之间的通信
CN102227115B (zh) 一种限制用户访问的方法和装置
CN101002427A (zh) 用于动态设备地址管理的方法和系统
CN102055816A (zh) 一种通信方法、业务服务器、中间设备、终端及通信系统
CN106685949A (zh) 一种容器访问方法、装置以及系统
CN1601954B (zh) 不中断服务地横跨安全边界移动主体
CN102598637B (zh) 通信系统
CN106453349A (zh) 账号登录方法及装置
CN100440872C (zh) 一种分布式环境中消息交换的实现方法及其装置
JP3649180B2 (ja) セキュリティ管理システムおよび経路指定プログラム
JP2023543323A (ja) スマートカード管理装置の分散式管理システム及び管理方法
JP2007072856A (ja) ネットワークサービスセキュリティシステムおよびネットワークサービスセキュリティ方法
US20040250137A1 (en) Host management apparatus, host management method, and host management program
KR20110043207A (ko) 신뢰도 기반 개인정보 관리 시스템 및 그 방법

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20101222