老子有钱试玩网址
  咨询电话:15156184636

老子有钱游戏官网

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

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

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

图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还包括用于一般操作的组件,如CPU230、存储器235和I/O接口240。对于游戏控制台客户机系统,客户机系统包括附加的视频、声音和应用特定的软件和/或硬件(“游戏组件”)。如上所述,在一种实施方案中,客户机系统200是索尼计算机娱乐公司提供的“Playstation2”™,包括如本文所述的用于网络通信的硬件和软件。

图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装置会因端口号最近未使用而释放该端口号(“超时”)。为了避免“超时”,在客户机系统与另一客户机系统正在通信或者尝试与其通信时,客户机系统定期向映射维护服务器发送映射维护消息。如上所述,在一种实施方案中,映射维护服务器包含在地址服务器或匹配服务器内,这样,客户机系统可将映射维护消息发送给适当的服务器。在一种实施方案中,未包括映射维护服务器,客户机系统不发送映射维护消息。

图9A-9C显示备选网络配置。

图6是与第二客户机系统建立通信的第一客户机系统的流程图(回想图3中的方框315)。如方框605所示,第一客户机系统将一个或多个测试消息发送到第二客户机系统。第一客户机系统使用第二客户机系统的公共网络地址,将一些测试消息发送到第二客户机系统(输出的公共地址测试消息),以及使用第二客户机系统的本地网络地址,将一些测试消息发送到第二客户机系统(输出本地地址测试消息)。如上所述,当两个客户机系统共享地址信息(回想图5)时,第一客户机系统接收第二客户机系统的公共和本地网络地址。在第二客户机系统的本地网络的本地网络地址与外部网络不兼容的实施方案(例如,本地网络地址在外部网络的通信协议下无法识别)中,第一客户机系统不使用本地网络地址发送测试消息。如下所述,在方框630中,第一客户机系统继续向第二客户机系统发送测试消息,直至第一客户机系统从第二客户机系统中收到确认消息为止。

图4是客户机系统发现其本地和公共网络地址的流程图(回想图3中的方框305)。如上所述,本地网络地址是本地网络中客户机系统的网络地址,由连接到本地网络的NAT装置来分配。公共网络地址是外部网络上的网络地址,由NAT装置在连接到NAT装置的本地网络中的系统之间共享。在一种实施方案中,本地或公共网络包括地址号和端口号。客户机系统使用其网络地址管理器组件来发现其公共和本地网络地址(回想图2中的网络地址管理器205)。

在方框610,连接到第一客户机系统的NAT装置记录输出测试消息的目的地址。连接到第一客户机系统的NAT装置(例如,图1中的第一NAT装置110)是介于第一客户机的本地网络与外部网络之间的网关。因此,输出测试消息通过NAT装置传送。如上所述,NAT装置过滤输入数据,除非输入数据的本地网络目标已经尝试与输入数据的发送方通信才允许数据进入NAT装置的本地网络。NAT装置将本地网络上系统的输出数据的目的地址记为输出数据发送方的“批准”地址。NAT装置将输入数据的源地址(即,发送方的地址)与本地网络上预定接收方的“批准”地址相比较。仅在源地址与本地接收方的“批准”地址之一相匹配时,NAT装置才将输入数据转发给本地接收方。

第一NAT装置110连接到诸如因特网等外部或公共网络120。连接到外部网络120的每个可寻址的系统或装置具有公共网络地址。“公共”网络地址在外部网络120上使用,而“本地”网络地址在诸如第一本地网络115等本地网络内使用。在一种实施方案中,公共网络地址包括地址号和端口号,如符合UDP/IP的地址号和端口号。在备选实施方案中,外部网络120使用不同的通信协议,因此,公共网络地址包括用于识别系统的不同信息。在一种实施方案中,第一本地网络115的本地网络地址与外部网络120不兼容(例如,本地网络地址在外部网络120的通信协议中无法识别)。

如方框805所示,客户机系统通过连接的NAT装置将映射维护消息发送到映射维护服务器。参照图1,第一客户机系统105通过第一NAT装置110将映射维护消息发送到映射维护服务器150。在方框810,NAT装置接收映射维护消息,并为客户机系统分配的端口号重置定时器。在方框815,NAT装置将映射维护消息发送到映射维护服务器。在预定时期后,客户机系统在方框820评估是否要维护当前地址。如果客户机系统在与另一客户机系统进行通信或者尝试与其进行通信,则客户机系统将另一映射维护消息发送给映射维护服务器以保持当前端口映射,然后返回方框805。如果客户机系统结束通信,则客户机系统如方框825所示不发送另一映射维护消息并允许端口映射超时。在一种实施方案中,映射维护服务器不响应客户机系统。或者,映射维护服务器向客户机系统发送映射维护确认消息。

例如,当第一客户机系统105向外部网络120上的接收方发送数据时,第一NAT装置将端口号映射到第一客户机系统105。第一NAT装置110将第一NAT装置110的公共网络地址和第一客户机系统105的映射端口号包含在输出数据中。第一NAT装置110还记录接收方的地址。在第一NAT装置110接收包含该端口号的数据时,第一NAT装置110将发送方的地址与所记录的以前发送的输出数据的目标地址相比较。如果地址匹配,则第一NAT装置110使用第一客户机系统105的本地网络地址,将数据转发到第一客户机系统105。

图5是两个共享它们的本地和公共网络地址的客户机系统的流程图;