CN101053218A - 通信终端和通信方法 - Google Patents
通信终端和通信方法 Download PDFInfo
- Publication number
- CN101053218A CN101053218A CNA2005800378565A CN200580037856A CN101053218A CN 101053218 A CN101053218 A CN 101053218A CN A2005800378565 A CNA2005800378565 A CN A2005800378565A CN 200580037856 A CN200580037856 A CN 200580037856A CN 101053218 A CN101053218 A CN 101053218A
- Authority
- CN
- China
- Prior art keywords
- router
- communication terminal
- address information
- port numbers
- port
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种通信终端,它能够和连到不同私有网络的另一通信终端建立P2P通信路径。通信终端(10)通过路由器(11)向服务器(30)发送消息和从服务器(30)接收消息,从而检查路由器(11)的中继特性。当检查出的路由器(11)中继特性为端口重用时,通信终端(10)将含有通信终端(10)至少一个端口号的地址信息确定为路由器地址信息,所述端口号用于和通信终端(20)进行P2P通信。通信终端(10)和通信终端(20)交换所确定的路由器(11)地址信息。根据所交换的地址信息,通信终端(10)和通信终端(20)建立P2P通信路径。
Description
发明领域
[0001]本发明涉及通信终端和通信方法,更具体地说,涉及用于通过路由器和另一网络上的通信终端进行一对一互连的通信终端和通信方法。
背景技术
[0002]将在整个网络内唯一确定且能够建立一对一(对等或点对点,后面称之为P2P)互连的IP地址称为全局IP地址。另一方面,将仅在特定网络内唯一确定且不能用于和另一网络进行P2P通信的非全局IP地址称为私有IP地址。将由这些IP地址组成的网络称为私有网络。
[0003]有一种能够使具有私有IP地址的通信终端和具有全局IP地址的外部通信终端进行通信的方法,在该方法中,将具有网络地址转换(后面称之为NAT)功能或网络地址端口转换(后面称之为NAPT)功能的通信终端(路由器)设于私有网络和外部全局网络之间。注意,下面描述中涉及的术语NAT包括NAT和NAPT两个概念。
[0004]大家所熟知的是,有多种类型的NAT。后面将参照图8描述NAT的类型。图8(a)示出了一种称为完全圆锥型NAT的NAT。如图8(a)所示,具备完全圆锥型NAT功能的路由器总是将路由器的相同端口号[Pb]分配给从本地终端A的相同地址信息[IPa,Pa]发送到外地的分组,然后,将这些分组发送到外部网络。同样,路由器将从连到外部网络的未指定的外部终端C和D发送到地址信息[IPb,Pb]的所有分组传送到本地终端A[IPa,Pa]。
[0005]图8(b)示出了一种称为受限圆锥型NAT的NAT。如图8(b)所示,具备受限圆锥型NAT功能的路由器总是将路由器的相同端口号[Pb]分配给从本地终端A的相同地址信息[IPa,Pa]发送到外地的分组,然后,将这些分组发送到外部网络。注意,与完全圆锥型NAT路由器不同,路由器仅将从已经预先从本地终端A接收到分组的外部终端C的IP地址[IPc]发送到地址信息[IPb,Pb]的分组传送到本地终端A[IPa,Pa]。此时,外部终端的端口号可以是任意数。
[0006]图8(c)示出了一种称为端口受限圆锥型NAT的NAT。如图8(c)所示,具备端口受限圆锥型NAT功能的路由器总是将路由器的相同端口号[Pb]分配给从本地终端A的相同地址信息[IPa,Pa]发送到外地的分组,然后,将这些分组发送到外部网络。这里,与受限圆锥型NAT路由器不同,路由器仅将从已经预先从本地终端A接收到分组的外部终端C的IP地址[Pc1]发送到地址信息[IPb,Pb]的分组传送到本地终端A[IPa,Pa]。此时,路由器丢弃从不是[Pc1]的任何其它端口号(如[Pc2])发送过来的所有分组,即使这些分组是从相同的外部终端C发送过来的。
[0007]图8(d)示出了一种称为对称NAT的NAT。如图8(d)所示,具备对称NAT功能的路由器将路由器的特定端口号分配给从本地终端A的相同地址信息[IPa,Pa]发送到特定外部终端的端口号的分组,然后,将这些分组发送到外部网络。例如,路由器将路由器的端口号[Pb1]分配给从本地终端A[IPa,Pa]发送到外部终端C[IPc,Pc]的分组。此外,路由器将路由器的端口号[Pb2]分配给从本地终端A[IPa,Pa]发送到外部终端D[IPd,Pd]的分组。与端口受限圆锥型NAT路由器类似,路由器仅将从已经预先从本地终端A接收到分组的外部终端的端口号发送过来的分组传送到本地终端A[IPa,Pa]。
[0008]通过使用路由器的这些NAT功能,私有网络内的本地终端能够使用私有IP地址和全局网络上的外部终端进行通信。
[0009]但是,仅仅将具备NAT功能的路由器设于私有网络和全局网络之间不能使具有私有IP地址的终端和处在不同私有网络中的另一终端进行P2P通信。这里,有一种由RFC 3489公开的方法,并且,其中使用了STUN(UDP对NAT的简单穿越),用于使分别处在不同私有网络中的终端实现其路由器的NAT功能之外的P2P通信。在下面的描述中,术语“分组”始终指的是“UDP分组”,并且,所有消息都是使用UDP分组发送和接收的。
[0010]图9示出了通过使用其中运用了STUN的方法在终端之间实现P2P通信所执行的操作次序。这里,在图9中显示的路由器1和2不是对称NAT路由器。如图9所示,终端1向服务器发送IP/端口注册请求(步骤S501)。服务器将接收到的分组的源地址信息(即,源IP地址和源端口号)记录在其中(步骤S502)。这里,服务器将作为终端1的地址信息的转换结果的地址信息[IPG1,GP1]记录在其中,其中,路由器1的NAT将终端1的地址信息[IPL1,LP1]转换成路由器1的地址信息[IPG1,GP1]。
[0011]同样,终端2向服务器发送IP/端口注册请求(步骤S503)。服务器将接收到的分组的源地址信息(即,源IP地址和源端口号)记录在其中(步骤S502)。这里,服务器将作为终端2的地址信息的转换结果的地址信息[IPG2,GP2]记录在其中,其中,路由器2的NAT将终端2的地址信息[IPL2,LP2]转换成路由器2的地址信息[IPG2,GP2]。
[0012]接下来,为了获得用于访问终端1的地址信息,终端2向服务器发送IP/端口获取请求(步骤S505)。因此,服务器将内设有在步骤S502中记录的地址信息[IPG1,GP1]的IP/端口获取响应返回给终端2(步骤506)。
[0013]一旦获得用于访问终端1的地址信息[IPG1,GP1],终端2就向所获取的地址信息[IPG1,GP1]发送P2P开始请求(步骤S507)。路由器2将从终端2发送过来的P2P开始请求中继到路由器1。这里,当路由器1是完全圆锥型NAT路由器时,将从终端2发送过来的P2P开始请求传送到终端1,然后,在终端1和2之间建立P2P通信路径。
[0014]另一方面,当路由器1不是完全圆锥型NAT路由器时,路由器1将从终端2发送过来的P2P开始请求丢弃,而不将其传送到终端1[IPL1,LP1]。
[0015]但是,当中继从终端2发送过来的P2P开始请求时,对路由器2的NAT进行设定,以便将以与中继P2P开始请求的方向相反的方向转发过来的分组传送到终端2。具体而言,在路由器2是完全圆锥型NAT路由器的情况下,对路由器2的NAT进行设定,以便将路由器2[IPG2,GP2]通过路由器1[IPG1,GP1]从终端1接收的分组传送到终端2[IPL2,LP2]。同样,在路由器2是受限圆锥型NAT路由器的情况下,对路由器2的NAT进行设定,以便将路由器2[IPG2,GP2]从源IP地址[IPG1]接收的分组传送到终端2[IPL2,LP2]。此外,在路由器2是端口受限圆锥型NAT路由器的情况下,对路由器2的NAT进行设定,以便将路由器2[IPG2,GP2]通过路由器1[IPG1,GP1]从终端1接收的分组传送到终端2[IPL2,LP2]。
[0016]接下来,为了获得用于访问终端2的地址信息,终端1向服务器发送IP/端口获取请求(步骤S508)。因此,服务器将内设有在步骤S504中记录的地址信息[IPG2,GP2]的IP/端口获取响应返回给终端1(步骤509)。
[0017]一旦获得用于访问终端2的地址信息[IPG2,GP2],终端1就向所获取的地址信息[IPG2,GP2]发送P2P开始请求(步骤S510)。路由器1将从终端1发送过来的P2P开始请求中继到路由器2。如上所述,已经对路由器2的NAT进行了设定,以便使其将路由器2[IPG2,GP2]通过路由器1从终端1接收的分组传送到终端2[IPL2,LP2]。因此,路由器2能够将从终端1发送过来的P2P开始请求传送到终端2。
[0018]同样,当中继从终端1发送过来的P2P开始请求时,对路由器1的NAT进行设定,以便将以与中继P2P开始请求的方向相反的方向转发过来的分组传送到终端1。具体而言,在路由器1是受限圆锥型NAT路由器的情况下,对路由器1的NAT进行设定,以便将路由器1[IPG1,GP1]从源IP地址[IPG2]接收的分组传送到终端1[IPL1,LP1]。此外,在路由器1是端口受限圆锥型NAT路由器的情况下,对路由器1的NAT进行设定,以便将路由器1[IPG1,GP1]通过路由器2[IPG2,GP2]从终端2接收的分组传送到终端1[IPL1,LP1]。[0019]一旦接收到P2P开始请求,终端2就向终端1发送P2P开始响应(步骤S511)。此时,如上所述,已经对路由器1的NAT进行了设定,以便使其将路由器1[IPG1,GP1]通过路由器2从终端2接收的分组传送到终端1[IPL1,LP1]。因此,路由器1能够将从终端2发送过来的P2P开始响应传送到终端1。当路由器1和2均不是对称NAT路由器时,这是用于通过使用STUN建立P2P通信路径的方法。
[0020]在对称NAT路由器处于终端1和2之间的路径上的情况下,当使用STUN建立P2P通信路径时,会发生下面的问题。下面将参照图10和11描述该问题。图10示出了当路由器1是对称NAT路由器时发生的问题。图11示出了当路由器2是对称NAT路由器时发生的问题。
[0021]如图10所示,步骤S601至S604的处理与图9中的步骤S501至S504的处理相同。因此,将不再对其进行赘述。在下面的步骤中,终端2向服务器发送IP/端口获取请求,以获取用于访问终端1的地址信息(步骤S605)。因此,服务器将内设有在步骤S602中记录的地址信息[IPG1,GP1]的IP/端口获取响应返回给终端2(步骤606)。
[0022]一旦接收到用于访问终端1的地址信息[IPG1,GP1],终端2就向所获得的地址信息[IPG1,GP1]发送P2P开始请求(步骤S607)。路由器2将从终端2发送过来的P2P开始请求中继到路由器1。这里,因为路由器1是对称NAT路由器,所以,路由器1将从终端2发送过来的P2P开始请求的分组丢弃,而不将其传送到终端1[IPL1,LP1]。
[0023]但是,当中继从终端2发送过来的P2P开始请求时,对路由器2的NAT进行设定,以便将以与中继P2P开始请求的方向相反的方向转发过来的分组传送到终端2。具体而言,在路由器2是完全圆锥型NAT路由器的情况下,对路由器2的NAT进行设定,以便将路由器2[IPG2,GP2]通过路由器1[IPG1,GP1]从终端1接收的分组传送到终端2[IPL2,LP2]。同样,在路由器2是受限圆锥型NAT路由器的情况下,对路由器2的NAT进行设定,以便将路由器2[IPG2,GP2]从源IP地址[IPG1]接收的分组传送到终端2[IPL2,LP2]。此外,在路由器2是端口受限圆锥型NAT路由器的情况下,对路由器2的NAT进行设定,以便将路由器2[IPG2,GP2]通过路由器1[IPG1,GP1]从终端1接收的分组传送到终端2[IPL2,LP2]。
[0024]接下来,为了获取用于访问终端2的地址信息,终端1向服务器发送IP/端口获取请求(步骤S608)。因此。服务器将内设有在步骤S604中记录的地址信息[IPG2,GP2]的IP/端口获取响应返回给终端1(步骤609)。
[0025]一旦获得用于访问终端2的地址信息[IPG2,GP2],终端1就向所获取的地址信息[IPG2,GP2]发送P2P开始请求(步骤S610)。此时,因为路由器1是对称NAT路由器,所以,路由器1将不是[GP1]的一个端口号(例如,[GP3])分配给从终端1发送过来的P2P开始请求。
[0026]这里,当路由器2是完全圆锥型NAT路由器或受限圆锥型NAT路由器时,路由器2将来自终端1的P2P开始请求传送到终端2[IPL2,LP2],然后,在终端1和2之间建立P2P通信路径。但是,当路由器2是端口受限圆锥型NAT路由器或对称NAT路由器时,路由器2将丢弃从终端1发送过来的P2P开始请求,而不将其传送到终端2。因此,在终端1和2之间不能建立P2P通信路径。
[0027]同样,在路由器2是对称NAT路由器的情况下(参见图11),由于相同的原因而不能建立P2P通信路径。
[0028]如上所述,在路由器1或路由器2是对称NAT路由器时,通过使用STUN成功建立P2P通信路径的概率不高。为了解决这种问题,已经公开了一种即使路由器1和2是对称路由器也能成功建立P2P通信路径的传统方法(例如,专利文献1)。
[0029]图12的次序图示出了采用传统方法建立P2P通信路径的处理。如图12所示,步骤S801至S804的处理与图9中的步骤S501至S504的处理相同。因此,将不再对其进行赘述。为了请求终端1进行P2P通信,终端2向服务器发送P2P通信请求(步骤S805)。此时,终端2将终端2用于P2P通信请求的源端口号从已经用于IP/端口获取请求的源端口号[LP2]改变成源端口号[LP2+a]。这里,a是任意整数。
[0030]终端2使用新的端口号[LP2+a]的原因是为了使路由器2将新的源端口号[GP2+b]作为P2P通信请求的源端口号。这里,b是路由器2的NAT的不确定的增加值。
[0031]一旦接收到P2P通信请求,服务器就将内设有地址信息[IPG2,GP2+b]的IP/端口通知发送给终端1(步骤806)。
[0032]一旦接收到IP/端口通知,如果终端1准许P2P通信,则终端1就向服务器发送P2P开始准许(步骤S807)。此时,终端1将终端1用于P2P开始准许的源端口号从已经用于IP/端口获取请求的源端口号[LP1]改变成源端口号[LP1+d],然后发送P2P开始准许。终端1使用新的端口号[LP1+d]的原因是为了使路由器1将新的源端口号[GP1+d]作为P2P通信准许的源端口号。这里,d是任意整数,它是路由器1的NAT的不确定的增加值。
[0033]此外,一旦通过IP/端口通知获得用于访问终端2的地址信息[IPG2,GP2+b],终端1就向所获得的地址信息[IPG2,GP2+2+b+n]发送P2P开始请求(步骤S808)。
[0034]注意,在步骤S807和S808中,P2P通信准许和P2P开始请求是在极短的时间段内连续发送的。因此,当P2P通信准许的源端口号由路由器1从[LP1+c]转变成[GP1+d]时,P2P开始请求的源端口号从[LP1+c+1]转变成[GP1+d+1]。
[0035]同样,当中继从终端1发送过来的P2P开始请求时,对路由器1的NAT进行设定,以便将以与中继P2P开始请求的方向相反的方向转发过来的分组传送到终端1。具体而言,对路由器1的NAT进行设定,以便将路由器1[IPG1,GP1+d+1]通过路由器2[IPG2,GP2+b+n]从终端2接收的分组传送到终端1[IPL1,LP1+c+1]。这里,n是任意整数值。
[0036]一旦接收到在步骤S807中从终端1发送过来的P2P通信准许,服务器就将内设有地址信息[IPG1,GP1+d]的P2P通信准许发送给终端2(步骤809)。
[0037]接下来,一旦通过P2P通信准许接收到用于访问终端1的地址信息[IPG1,GP1+d](即,路由器1的地址信息),终端2就立即向终端1发送P2P开始请求(步骤S810)。此时,终端2向路由器1的端口号[GP1+d+1]发送n个开始请求,同时使其源端口号从[LP2+a+1]逐个地增加。P2P开始请求的源端口号由路由器2转变成端口号[GP2+b+m]至[GP2+b+m+n-1]。
[0038]因为从终端2发向终端1的多个P2P开始请求中任意一个P2P开始请求对应于路由器1将以相反方向转发过来的分组进行传送的设定,所以,所述多个P2P开始请求中任意一个P2P开始请求被传送到终端1。一旦接收到所述多个P2P开始请求中任意一个P2P开始请求,终端1发送P2P开始响应以作为响应(步骤S811)。因此,在终端1和终端2之间建立了P2P通信路径。
[专利文献1]日本专利公开案No.2004-180003。
发明内容
本发明要解决的问题
[0039]但是,在图12所示的传统方法中,终端2在步骤S810中发送多个P2P开始请求,从而预测终端1已经在步骤S808中发送P2P开始请求所用的端口号。这会导致诸多问题,例如,延长了要建立的P2P通信路径所需的连接时间段,并且,增加了业务量。此外,根据路由器2的类型,存在这样一种情况,即,给从终端2发送过来的多个P2P开始请求分配的端口号会随机改变。在这种情况下,给从终端2发送过来的P2P开始请求分配的端口号并不按照数字次序。因此,P2P通信路径的连通性可能会降低。
[0040]因此,本发明的目的是提供一种通信终端和一种通信方法,其能够在短时间段内并以较小业务量和另一通信终端建立P2P通信路径,并能够实现其高连通性。
问题的解决方案
[0041]本发明针对的是一种通信终端,其处在通过路由器和全局网络相连的一个私有网络上,并通过所述路由器和另一网络上的通信终端进行一对一的互连。为了实现以上目的,本发明的通信终端包括地址信息确定部、地址信息交换部、通信控制部和通信部。
[0042]地址信息确定部通过向所述全局网络上的服务器发送预定消息和从所述全局网络上的服务器接收预定消息来检查所述路由器的中继特性,并且,根据检查结果确定所述路由器的地址信息,所述地址信息用于和所述另一网络上的通信终端进行一对一的互连。地址信息交换部和所述另一网络上的通信终端交换由所述地址信息确定部确定出的路由器地址信息。通信控制部根据所述地址信息交换部已经交换的路由器地址信息而和所述另一网络上的通信终端进行一对一的互连。通信部执行所述通信终端的所有通信。当所述路由器的中继特性为端口重用时,所述地址信息确定部将含有所述通信终端至少一个端口号的地址信息确定为所述路由器的地址信息,所述端口号用于和所述另一网络上的通信终端进行一对一的互连。
[0043]更具体地说,所述地址信息确定部包括地址信息请求部、地址信息接收部、中继特性确定部和端口号确定部。所述地址信息请求部通过经由所述路由器向所述服务器发送预定消息来请求所述服务器提供路由器地址信息。所述地址信息接收部从所述服务器接收作为所述请求之响应的路由器地址信息。所述中继特性确定部根据所述地址信息接收部收到的路由器地址信息来确定所述路由器的中继特性。端口号确定部根据所述中继特性确定部确定出的路由器中继特性来确定所述通信终端的端口号,所述端口号用于和所述另一网络上的通信终端进行一对一的互连。
[0044]优选情况下,所述地址信息检查请求部从所述通信终端的预定端口号连续地向所述服务器的第一端口号发送第一端口号检查请求消息和向所述服务器的第二端口号发送第二端口号检查请求消息。所述地址信息接收部从所述服务器接收第一端口号检查响应消息和第二端口号检查响应消息,所述第一端口号检查响应消息是对所述第一端口号检查请求消息做出的响应,而所述第二端口号检查响应消息是对所述第二端口号检查请求消息做出的响应。所述中继特性确定部根据所述地址信息接收部收到的所述第一和第二端口号检查响应消息来确定所述路由器的中继特性。
[0045]所述第一端口号检查响应消息包括路由器IP地址和在向所述服务器中继所述第一端口号检查请求消息时所用的路由器源端口号。所述第二端口号检查响应消息包括路由器IP地址和在向所述服务器中继所述第二端口号检查请求消息时所用的路由器源端口号。如果在发送所述第一端口号检查请求消息时所用的通信终端的预定端口号和含在所述第一端口号检查响应消息中的路由器源端口号一致,则所述中继特性确定部确定所述路由器的中继特性为端口重用特性。
[0046]当含在所述第一端口号检查响应消息中的路由器源端口号和含在所述第二端口号检查响应消息中的路由器源端口号一致时,所述中继特性确定部确定所述路由器的中继特性具备圆锥型NAT功能;
当含在所述第一端口号检查响应消息中的路由器源端口号和含在所述第二端口号检查响应消息中的路由器源端口号不一致时,所述中继特性确定部确定所述路由器的中继特性具备对称NAT功能。
[0047]如果所述中继特性确定部确定所述路由器的中继特性不是端口重用并且所述路由器具备圆锥型NAT功能,则所述通信端口确定部将含在所述第一端口号检查响应消息中的路由器源端口号用作和所述另一网络上的通信终端进行一对一互连所用的端口号。
[0048]如果所述中继特性确定部确定所述路由器的中继特性不是端口重用并且所述路由器具备对称NAT功能,则所述通信端口确定部将一个特定的端口号用作和所述另一网络上的通信终端进行一对一互连所用的端口号,所述特定的端口号是含在所述第二端口号检查响应消息中的路由器源端口号加上含在所述第二端口号检查响应消息中的路由器源端口号和含在所述第一端口号检查响应消息中的路由器源端口号之差的结果。
[0049]更具体地说,所述地址信息交换部包括中继信息发送部和中继信息发送部。所述中继信息发送部通过所述服务器向所述另一网络上的通信终端发送内设有路由器地址信息的消息,所述地址信息用于和所述另一网络上的通信终端进行一对一的互连。所述中继信息发送部通过所述服务器从所述另一网络上的通信终端接收消息,在所述消息中设有所述通信终端和所述另一网络上的通信终端进行一对一互连所用的地址信息。
[0050]优选情况下,所述通信控制部根据所述地址信息交换部已经交换的地址信息,通过所述通信部发送用于请求一对一互连开始的消息,并且,在从所述另一网络上的通信终端接收到用于请求一对一互连开始的消息时,和所述另一网络上的通信终端进行一对一的互连。
[0051]本发明还针对的是一种由通信终端执行的通信方法,所述通信终端处在通过路由器和全局网络相连的一个私有网络上,并通过所述路由器和另一网络上的一个通信终端进行一对一的互连。为了实现以上目的,在本发明的所述通信方法中,所述通信终端:通过向所述全局网络上的服务器发送预定消息和从所述全局网络上的服务器接收预定消息来检查所述路由器的中继特性;当所述路由器的中继特性为端口重用时,将含有至少一个端口号的地址信息确定为所述路由器的地址信息,所述端口号用于和所述另一网络上的通信终端进行一对一的互连;和所述另一网络上的通信终端交换所确定出的路由器地址信息;并根据所交换的地址信息,和所述另一网络上的通信终端进行一对一的互连。
本发明的效果
[0052]如上所述,根据本发明的通信终端和通信方法:向所述服务器发送预定消息和从所述服务器接收预定消息;根据发送和接收的消息检查所述路由器的中继特性;并且,当所述路由器的中继特性为端口重用时,将含有所述通信终端至少一个端口号的地址信息确定为所述路由器的地址信息,所述端口号用于和所述另一网络上的通信终端进行一对一的互连。因此,在所述路由器的中继特性为端口重用的情况下,本发明的通信终端和通信方法能够简化使用服务器确定要由路由器使用的地址信息的处理。
[0053]此外,如果所述路由器的中继特性为端口重用和对称NAT,则本发明的通信终端和通信方法能够省略用于预测要由路由器使用的端口号的处理。因此,本发明的通信终端和通信方法能够在短时间段内并以较小业务量和另一通信终端建立P2P通信路径,并能够实现其高连通性。
附图说明
[0054][图1]图1示出了根据本发明实施例的通信系统的示例性网络结构。
[图2]图2示出了具备端口重用特性的路由器11。
[图3A]图3A的框图示出了通信终端10的示例性结构。
[图3B]图3B的框图示出了通信终端20的示例性结构。
[图3C]图3C的框图示出了服务器30的示例性结构。
[图4]图4示出了根据本发明实施例的通信系统在建立P2P通信路径时执行的操作。
[图5A]图5A的流程图详细示出了通信终端10在NAT检查阶段(步骤S100)中执行的操作。
[图5B]图5B的流程图详细示出了通信终端20在NAT检查阶段(步骤S200)中执行的操作。
[图5C]图5C的流程图详细示出了在P2P通信端口确定处理(步骤S109)中执行的操作。
[图6]图6的流程图详细示出了P2P通信端口交换阶段(步骤S300)。
[图7]图7的流程图详细示出了P2P通信路径建立阶段(步骤S400)。
[图8]图8示出了NAT的类型。
[图9]图9示出了通过使用其中运用了STUN的方法在终端之间实现P2P通信所执行的操作次序。
[图10]图10示出了当路由器1为对称NAT路由器时所产生的问题。
[图11]图11示出了当路由器2为对称NAT路由器时所产生的问题。
[图12]图12的次序图示出了通过使用在专利文献1中公开的传统方法来建立P2P通信路径的处理。
附图标记说明
[0055]10、20:通信终端(本地终端)
11、21:路由器
30:服务器
100、200:私有网络
300:全局网络
101、201:地址信息检查请求部
102、202:地址信息接收部
103、203:通信端口确定部
104、204:中继特性确定部
105、205:中继信息发送部
106、206:中继信息接收部
301:地址信息检查部
302:地址信息发送部
303:中继信息传输部
304:通信部
具体实施方式
[0056]后面将参照附图详细描述本发明的实施例。
[0057]图1示出了根据本发明实施例的通信系统的示例性网络结构。在图1中,全局网络300和私有网络100通过具有全局IP地址[IPG1]的路由器11相连。同样,全局网络300和私有网络200通过具有全局IP地址[IPG2]的路由器21相连。服务器30连接到全局网络300。具有私有IP地址[IPL1]的通信终端(本地终端)10连接到私有网络100。具有私有IP地址[IPL2]的通信终端(本地终端)20连接到私有网络200。
[0058]路由器11是具备端口重用特性的对称NAT路由器。这里,参照图2描述具备端口重用特性的路由器11。如图2所示,当中继从通信终端10发送过来的分组时,具备端口重用特性的路由器11分配与要中继的分组的源端口号相同的端口号,作为路由器11的源端口号。
[0059]例如,当中继从通信终端10的端口号[Pa]发送过来的分组时,路由器11分配路由器11的端口号[Pa],作为要中继的分组的源端口号。同样,当中继从通信终端10的端口号[Pb]发送过来的分组时,路由器11分配路由器11的端口号[Pb],作为要中继的分组的源端口号。此外,当中继从通信终端10的端口号[Pc]发送过来的分组时,路由器11分配路由器11的端口号[Pc],作为要中继的分组的源端口号。这里,另一方面,路由器21是不具备端口重用特性的完全圆锥型NAT路由器。
[0060]图3A的框图示出了通信终端10的示例性结构。在图3A中,通信终端10包括地址信息检查请求部101、地址信息接收部102、通信端口确定部103、中继特性确定部104、中继信息发送部105、中继信息接收部106、发送控制部107和通信部108。
[0061]地址信息检查请求部101向服务器30发送用于检查分配给地址信息检查请求部101相连的路由器11的端口号的消息(端口号检查请求消息)。响应于端口号检查请求消息,地址信息接收部102从服务器30接收含有分配给路由器11的端口号的消息(端口号检查响应消息)。根据所接收到的端口号检查响应消息,中继特性确定部104确定路由器11的中继特性。根据路由器11的中继特性,通信端口确定部103确定通信终端10用于P2P通信的端口号。
[0062]中继信息发送部105向服务器30发送消息(IP/端口通知消息),该消息包括路由器11的IP地址和通信终端10用于P2P通信的端口号。中继信息接收部106从服务器30接收从通信终端20发送过来的IP/端口通知消息。通信控制部107控制通信部108,从而与通信终端20进行P2P通信。通信部108执行通信终端10的所有通信。
[0063]这里,因为地址信息检查请求部101、地址信息接收部102、通信端口确定部103和中继特性确定部104确定用于和终端20进行P2P通信的地址信息(即,IP地址和端口号),所以,可以将这些部统称为地址信息确定部。同样,因为中继信息发送部105和中继信息接收部106与通信终端20交换所确定的地址信息,所以,可以将这些部统称为地址信息交换部。
[0064]图3B的框图示出了通信终端20的示例性结构。在图3B中,通信终端20包括地址信息检查请求部201、地址信息接收部202、通信端口确定部203、中继特性确定部204、中继信息发送部205、中继信息接收部206、通信控制部207和通信部208。因为通信终端20的这些部件与上述通信终端10的部件相同,所以,将不再对其进行赘述。
[0065]图3C的框图示出了服务器30的示例性结构。在图3C中,服务器30包括地址信息检查部301、地址信息发送部302、中继信息传输部303和通信部304。
[0066]一旦从通信终端10或20接收到端口号检查请求消息,地址信息检查部301就从接收消息(从接收分组的报头)中提取源IP地址和源端口号。地址信息发送部302将含有地址信息检查部301提取的IP地址和源端口号的消息(端口号检查响应消息)返回给通信终端10或20。中继信息传输部303将从一个通信终端接收到的IP/端口通知消息中继到另一个通信终端。通信部304执行服务器30的所有通信。
[0067]图4示出了根据本发明实施例的通信系统在建立P2P通信路径时执行的操作。如图4所示,在建立P2P通信路径时,根据本发明实施例的通信系统执行NAT检查阶段(步骤S100和S200)、P2P通信端口交换阶段(步骤S300)和P2P通信路径建立阶段(步骤S400)。
[0068]在NAT检查阶段(步骤S100和S200)中,通信终端10和20分别与服务器30进行通信,以检查通信终端10和20各自相连的路由器11或21的中继特性,从而确定所述通信终端10和20各自能够访问的用于进行P2P通信的通信端口。具体而言,通信终端10和20分别检查路由器11或21的中继特性,以确定路由器的NAT类型(如完全圆锥型NAT、对称NAT等)和路由器是否具备端口重用特性。
[0069]在P2P通信端口交换阶段(步骤S300)中,通信终端10和20通过服务器30分别交换在NAT检查阶段中确定的通信端口。在P2P通信路径建立阶段(步骤S400)中,通信终端10和20分别将分组发送到在P2P通信端口交换阶段中交换的通信端口,从而建立P2P通信路径。
[0070]图5A的流程图详细示出了通信终端10在NAT检查阶段(步骤S100)中执行的操作。后面将参照图5A描述通信终端10的NAT检查阶段(步骤S100)。在图5A中,各消息下方提供的诸如(IPG1,GP11)之类的注释表示含在所述各消息中的地址信息(源IP地址和源端口号)。
[0071]首先,在通信终端10中,地址信息检查请求部101将端口号检查请求消息1从通信终端10的端口号[LP1]发送到服务器30的端口号[SP0](步骤S101)。
[0072]在服务器30中,当地址信息检查部301通过通信部304接收到端口号检查请求消息1时,地址信息检查部301从接收消息(接收分组的报头)中提取源IP地址和源端口号(即,路由器11的IP地址[IPG1]和源端口号[GP11])。然后,地址信息发送部302将含有所提取的路由器11的IP地址[IPG1]和源端口号[GP11]的端口号检查响应消息1返回给通信终端10(步骤S102)。
[0073]随后,在通信终端10中,地址信息检查请求部101将端口号检查请求消息2从通信终端10的端口号[LP1]发送到服务器30的端口号[SP1](步骤S103)。
[0074]在服务器30中,当地址信息检查部301通过通信部304接收到端口号检查请求消息2时,地址信息检查部301从接收消息(从接收分组的报头)中提取源IP地址和源端口号(即,路由器11的IP地址[IPG1]和源端口号[GP12])。然后,地址信息发送部302将端口号检查响应消息2返回给通信终端10(步骤S104),该端口号检查响应消息2含有地址信息检查部301提取的路由器11的IP地址[IPG1]和源端口号[GP12]。
[0075]下面描述通信终端10在步骤101和102中将端口号检查请求消息从相同的端口号[LP1]发送到服务器30的两个端口号[SP0,SP1]的原因。当含在服务器30接收的两个端口号检查请求消息中的路由器11的源端口号相同时(即,GP11=GP12),通信终端10将路由器11确定为圆锥型NAT路由器(完全圆锥型、受限圆锥型或端口受限圆锥型)。当含在服务器30接收的两个端口号检查请求消息中的源端口号不同时(即,GP11≠GP12),通信终端10将路由器11确定为对称NAT路由器。换句话说,通过将端口号检查请求消息从相同端口号[LP1]发送到服务器30的两个端口号[SP0,SP1],通信终端10能够检查路由器11的NAT类型。
[0076]注意,通信终端10可以采用与上述方式不同的方式检查路由器11的NAT类型。例如,通信终端10可以通过路由器将分组发送到具有彼此不同IP地址的两个服务器。然后,通信终端10可以根据此时分配的路由器的端口号是相同还是不同来检查路由器的NAT类型。
[0077]在通信终端10中,当地址信息接收部102通过通信部108接收到端口号检查响应消息1和2时,地址信息接收部102将所接收的消息给予中继特性确定部104。中继特性确定部104检查含在端口号检查响应消息1中的路由器11的端口号[GP11]和在发送端口号检查请求消息1时所用的通信终端10的端口号[LP1]是否一致(步骤S105)。当路由器11的端口号[GP11]和通信终端10的端口号[LP1]一致时(即,GP11=LP1),中继特性确定部104确定路由器11的NAT具备端口重用特性(步骤S106)。
[0078]在通信终端10中,中继特性确定部104进一步检查含在地址信息接收部102接收的端口号检查响应消息1和2中的路由器11的端口号是否相互一致(步骤S107)。当路由器11的端口号相互一致时,中继特性确定部104将路由器11确定为圆锥型NAT路由器。当路由器11的端口号相互不一致时,中继特性确定部104将路由器11确定为对称NAT路由器(步骤S108)。
[0079]根据中继特性确定部104确定的路由器11的中继特性,通信端口确定部103确定通信终端10用于P2P通信的端口号(步骤S109)。后面将详细描述P2P通信端口确定处理(步骤S109)。
[0080]图5B的流程图详细示出了通信终端20在NAT检查阶段(步骤S200)中执行的操作。后面将参照图5B描述通信终端20的NAT检查阶段处理(步骤S200)。
[0081]首先,在通信终端20中,地址信息检查请求部201将端口号检查消息1从通信终端20的端口号[LP2]发送到服务器30的端口号[SP0](步骤S201)。
[0082]在服务器30中,当地址信息检查部301通过通信部304接收端口号检查请求消息1时,地址信息检查部301从接收消息(从接收分组的报头)中提取源IP地址和源端口号(即,路由器21的IP地址[IPG2]和源端口号[GP21])。然后,地址信息发送部302将端口号检查响应消息1返回给通信终端20(步骤S202),该端口号检查响应消息1含有地址信息检查部301提取的路由器21的IP地址[IPG2]和源端口号[GP21]。
[0083]在通信终端20中,地址信息检查请求部201将端口号检查请求消息2从通信终端2的端口号[LP2]发送到服务器30的端口号[SP1](步骤S203)。
[0084]在服务器30中,当地址信息检查部301通过通信部304接收端口号检查请求消息2时,地址信息检查部301从接收消息(从接收分组的报头)中提取源IP地址和源端口号(即,路由器21的IP地址[IPG2]和源端口号[GP22])。然后,地址信息发送部302将端口号检查响应消息2返回给通信终端20(步骤S204),该端口号检查响应消息2含有地址信息检查部301提取的路由器21的IP地址[IPG2]和源端口号[GP22]。
[0085]这里,通信终端20在步骤201和202中将端口号检查请求消息从相同端口号[LP2]发送到服务器30的两个端口号[SP0,SP1]的原因与以上参照图5A对通信终端10描述的原因相同。
[0086]接下来,在通信终端20中,当地址信息接收部202通过通信部208接收端口号检查响应消息1和2时,地址信息接收部202将所接收的消息给予中继特性确定部202。中继特性确定部204检查含在端口号检查响应消息2中的路由器21的端口号[GP21]和在发送端口号检查请求消息1时所用的通信终端20的端口号[LP2]是否一致(步骤S205)。当路由器21的端口号[GP21]和通信终端20的端口号[LP2]一致时(即,GP21=LP2),中继特性确定部204确定路由器21的NAT具备端口重用特性(步骤S206)。
[0087]此外,在通信终端20中,中继特性确定部204检查含在地址信息接收部202接收的端口号检查响应消息1和2中的路由器21的端口号是否相互一致(步骤S207)。当路由器21的端口号相互一致时,中继特性确定部204将路由器21确定为圆锥型NAT路由器。当路由器11的端口号相互不一致时,中继特性确定部204将路由器21确定为对称NAT路由器(步骤S208)。
[0088]根据中继特性确定部204确定的路由器21的中继特性,通信端口确定部203确定通信终端20用于P2P通信的端口号(步骤S209)。
[0089]图5C的流程图详细示出了在P2P通信端口确定处理(步骤S109)中执行的操作。后面将参照图5C详细描述通信终端10执行的P2P通信端口确定处理(步骤S109)。
[0090]首先,在通信终端10中,通信端口确定部103检查路由器11的NAT是否具备端口重用特性(步骤S1091)。当路由器11的NAT具备端口重用特性时,通信端口确定部106自由选择用于P2P通信的端口号(步骤S1092)。这里假设通信端口确定部103将端口号[GP13]作为用于P2P通信的端口号。
[0091]下面描述当路由器11的NAT具备端口重用特性时使通信端口确定部103自由选择用于P2P通信的端口号的原因。当路由器11具备端口重用特性时,给路由器11分配的端口号与通信终端10打开的端口号相同。因此,在下面的P2P通信端口交换阶段(步骤S300)中,通信终端10仅需要将通信终端10已经打开了哪一个端口号告知通信终端20。因此,通信端口确定部103可以自由选择用于P2P通信的端口号。
[0092]当路由器11的NAT不具备端口重用特性时,通信端口确定部103检查路由器11是否为圆锥型NAT路由器(步骤S1093)。当路由器11是圆锥型NAT路由器时,通信端口确定部103将已经从端口号确定响应消息1中获得的路由器11的端口号(步骤S102)选择为用于P2P通信的端口号(步骤S1094),因为,在路由器11是圆锥型NAT路由器的情况下,当路由器11中继的消息具有相同的源端口号时,路由器11总是分配有相同的端口号。
[0093]另一方面,当路由器11不是圆锥型NAT路由器时(即,当路由器11是对称NAT路由器),当执行P2P通信时,通信端口确定部103需要预测分配给路由器11的端口号。因此,当假设从端口号检查响应消息2中获得的路由器11的端口号[GP12]和从端口号检查响应1中获得的路由器11的端口号[GP11]之间的差为α时,通信端口确定部103将[GP12+α]选择为用于P2P通信的端口号(步骤S1095)。
[0094]注意,因为图5B中的P2P通信端口确定处理(步骤S209)与图5C中的P2P通信端口确定处理相同,所以,将不再对其进行赘述。
[0095]假设在本实施例中路由器11具备端口重用特性并且是对称NAT路由器。因此,路由器11分配的端口号为GP11=LP1且GP11=GP12。还假设在本实施例中路由器21不具备端口重用特性并且是完全圆锥型NAT路由器。因此,路由器21分配的端口号为GP21≠LP2且GP21=GP22。后面将给出假设路由器11和21分配以上端口号的描述。
[0096]图6的流程图详细示出了在P2P通信端口交换阶段(步骤S300)中执行的操作。后面将参照图6详细描述P2P通信端口交换阶段(步骤S300)。
[0097]在通信终端10中,中继信息发送部105将路由器11的IP地址和含有通信端口确定部103确定的端口号的IP/端口通知消息发送到服务器30(步骤S301)。因为在本实施例中路由器11具备端口重用特性,所以,服务器30接收的IP/端口通知消息含有路由器11的IP地址[IPG1]和端口号[GP13]。
[0098]在服务器30中,中继信息传输部303通过通信部304将已经从通信终端10接收到的IP/端口通知消息中继到通信终端20(步骤S302)。在通信终端20中,中继信息接收部206通过服务器30接收从终端终端10发送过来的IP/端口通知消息。
[0099]在通信终端20中,中继信息发送部205将通信端口确定部203已经确定的端口号作为IP/端口通知消息发送到服务器30(步骤S303)。因为在本实施例中路由器11是完全圆锥型NAT路由器且不具备端口重用特性,所以,IP/端口通知消息含有从端口号检查响应消息1中获得的路由器21的IP地址[IPG2]和端口号[GP21]。
[0100]在服务器30中,中继信息传输部303通过通信部304将已经从通信终端20接收到的IP/端口通知消息中继到通信终端10(步骤S304)。在通信终端10中,中继信息接收部206通过服务器30接收从终端终端20发送过来的IP/端口通知消息。
[0101]图7的流程图详细示出了在图4的P2P通信路径建立阶段(步骤S400)中执行的操作。后面将参照图7详细描述P2P通信路径建立阶段(步骤S400)。
[0102]在通信终端20中,通信控制部207将P2P开始请求消息发送到含在已经在步骤S302中从通信终端10接收到的IP/端口通知消息中的地址信息[IPG1,GP13](步骤S401)。路由器21将从通信终端20发送过来的P2P开始请求消息中继到路由器11。此时,因为设定了将以相反方向转发过来的分组进行中继,所以,对路由器21的NAT进行设定,以便将路由器21[IPG2,GP21]从通信终端10(即,从路由器11[IPG1,GP13])接收的分组中继到通信终端20[IPL2,LP2]。[0103]路由器11通过路由器21接收从通信终端20发送过来的P2P开始请求消息。但是,路由器11的NAT未被设定成能够将已经通过路由器21[IPG2,GP21]发送到地址信息[IPG1,GP13]的分组中继到通信终端10。因此,路由器11将从通信终端20发送过来的P2P开始请求消息丢弃。
[0104]在通信终端10中,通信控制部107将P2P开始请求消息发送到含在已经在步骤S304中从通信终端20接收到的IP/端口通知消息中的地址信息[IPG2,GP21](步骤S402)。路由器11将从通信终端10发送过来的P2P开始请求消息中继到路由器21。此时,因为设定了将以相反方向转发过来的分组进行中继,所以,对路由器11的NAT进行设定,以便将路由器11[IPG1,GP13]从通信终端20(即,从路由器21[IPG2,GP21])接收的分组中继到通信终端20[IPL2,LP2]。
[0105]路由器21通过路由器11接收从通信终端10发送过来的P2P开始请求消息。如上所述,路由器21的NAT已经被设定成将路由器21[IPG2,GP21]从本地终端11(即,从路由器11[IPG1,GP13])接收到的分组中继到通信终端20[IPL2,LP2]。因此,路由器21能够将从通信终端10发送过来的P2P开始请求消息中继到通信终端20。
[0106]此外,在通信终端20中,当通信控制部207从通信终端10接收到P2P开始请求消息时,通信控制部207再次将P2P开始请求消息发送到含在已经在步骤S302中从通信终端10接收到的IP/端口通知消息中的地址信息[IPG1,GP13](步骤S403)。路由器21将从通信终端20发送过来的P2P开始请求消息中继到路由器11。如上所述,路由器11已经被设定成将路由器11从通信终端20(即,从路由器21[IPG2,GP21])接收到的分组中继到通信终端10[IPL1,LP1]。因此,路由器11能够将从通信终端20发送过来的P2P开始请求消息中继到通信终端10。因此,在通信终端10和20之间建立了P2P通信路径。
[0107]如上所述,根据本发明的实施例的通信终端10将预定消息发送到服务器30和从服务器30接收预定消息,并且,根据发送和接收的消息,检查路由器11的中继特性。当路由器11的中继特性为端口重用时,通信终端10将含有通信终端10至少一个端口号的地址信息确定为路由器所用的地址信息,所述端口号用于和另一通信终端20进行P2P通信。当路由器11的中继特性为端口重用时,这使得通信终端10能简化用于使用服务器11确定路由器11所用的地址信息的处理。
[0108]此外,当路由器11具备端口重用中继特性且为对称NAT路由器时,通信终端10能够省略用于预测路由器11所要用的端口号的处理。因此,通信终端10能够在短时间段内并以较小业务量和另一通信终端20建立P2P通信路径,并能够实现其高连通性。
[0109]注意,为了准备下面的P2P通信端口交换阶段(步骤S300),图4中的NAT检查阶段(步骤S100和S200)需要由各终端预先执行。NAT检查阶段并不必需用图4所示的方式来执行。
[0110]如果相互之间已经执行过P2P通信的终端再次在其之间进行P2P通信,那么,可以省略NAT检查阶段,如果预先检查的路由器的中继特性为端口重用的话。
[0111]在图6中,通信终端10首先发送IP端口/端口通知消息。但是,根据在图5A和5b中所示的确定P2P通信端口的时机,通信终端10可以首先发送IP端口/端口通知消息。因此,该处理并不必需用图6所示的次序来执行。
[0112]此外,在图6中,通信终端10和20分别使用IP/端口通知消息,从而将仅仅一个IP/端口组合告知相应的终端。但是,通过将多个IP/端口组合告知相应的终端,可以提高成功建立P2P通信路径的概率。
[0113]在图7中,通信终端20首先发送P2P通信开始请求消息。但是,根据在图6中所示的接收到IP/端口通知消息的时机,通信终端10可以首先发送P2P通信开始请求消息。因此,该处理并不必需用图7所示的次序来执行。
产业实用性
[0114]当通信终端通过路由器和另一网络上的通信终端进行一对一互连时,本发明的通信终端和通信方法是有用的。
Claims (10)
1、一种通信终端,处在通过路由器和全局网络相连的一个私有网络上,并通过所述路由器和另一网络上的通信终端进行一对一的互连,包括:
地址信息确定部,用于通过向所述全局网络上的服务器发送预定消息和从所述全局网络上的服务器接收预定消息来检查所述路由器的中继特性,并且,根据检查结果确定所述路由器的地址信息,所述地址信息将用于和所述另一网络上的通信终端进行一对一的互连;
地址信息交换部,用于和所述另一网络上的通信终端交换由所述地址信息确定部确定出的路由器地址信息;
通信控制部,用于根据所述地址信息交换部已经交换的路由器地址信息,和所述另一网络上的通信终端进行一对一的互连;以及
通信部,用于执行所述通信终端的所有通信;其中
当所述路由器的中继特性为端口重用时,所述地址信息确定部将含有所述通信终端至少一个端口号的地址信息确定为所述路由器的地址信息,所述端口号将用于和所述另一网络上的通信终端进行一对一的互连。
2、如权利要求1所述的通信终端,其中,所述地址信息确定部包括:
地址信息请求部,用于通过所述路由器向所述服务器发送预定消息来请求路由器地址信息;
地址信息接收部,用于从所述服务器接收作为对所述请求之响应的路由器地址信息;
中继特性确定部,用于根据所述地址信息接收部收到的路由器地址信息,确定所述路由器的中继特性;以及
端口号确定部,用于根据所述中继特性确定部确定出的路由器中继特性,确定所述通信终端的端口号,所述端口号将用于和所述另一网络上的通信终端进行一对一的互连。
3、如权利要求2所述的通信终端,其中
所述地址信息检查请求部从所述通信终端的预定端口号连续地向所述服务器的第一端口号发送第一端口号检查请求消息和向所述服务器的第二端口号发送第二端口号检查请求消息;
所述地址信息接收部从所述服务器接收第一端口号检查响应消息和第二端口号检查响应消息,所述第一端口号检查响应消息是对所述第一端口号检查请求消息做出的响应,而所述第二端口号检查响应消息是对所述第二端口号检查请求消息做出的响应;以及
所述中继特性确定部根据所述地址信息接收部收到的所述第一和第二端口号检查响应消息,确定所述路由器的中继特性。
4、如权利要求3所述的通信终端,其中
所述第一端口号检查响应消息包括路由器IP地址和在向所述服务器中继所述第一端口号检查请求消息时所用的路由器源端口号;
所述第二端口号检查响应消息包括路由器IP地址和在向所述服务器中继所述第二端口号检查请求消息时所用的路由器源端口号;以及
如果在发送所述第一端口号检查请求消息时所用的通信终端端口号和含在所述第一端口号检查响应消息中的路由器源端口号一致,则所述中继特性确定部确定所述路由器的中继特性为端口重用。
5、如权利要求4所述的通信终端,其中
所述中继特性确定部确定:
如果含在所述第一端口号检查响应消息中的路由器源端口号和含在所述第二端口号检查响应消息中的路由器源端口号一致,则所述路由器的中继特性具备圆锥型NAT功能;以及
如果含在所述第一端口号检查响应消息中的路由器源端口号和含在所述第二端口号检查响应消息中的路由器源端口号不一致,则所述路由器的中继特性具备对称NAT功能。
6、如权利要求5所述的通信终端,其中,如果所述中继特性确定部确定所述路由器的中继特性不是端口重用并且所述路由器具备圆锥型NAT功能,则所述通信端口确定部将含在所述第一端口号检查响应消息中的路由器源端口号用作和所述另一网络上的通信终端进行一对一互连所用的端口号。
7、如权利要求5所述的通信终端,其中,如果所述中继特性确定部确定所述路由器的中继特性不是端口重用并且所述路由器具备对称NAT功能,则所述通信端口确定部将一个特定的端口号用作和所述另一网络上的通信终端进行一对一互连所用的端口号,所述特定的端口号是含在所述第二端口号检查响应消息中的路由器源端口号加上含在所述第二端口号检查响应消息中的路由器源端口号和含在所述第一端口号检查响应消息中的路由器源端口号之差的结果。
8、如权利要求1所述的通信终端,其中,所述地址信息交换部包括:
中继信息发送部,用于通过所述服务器向所述另一网络上的通信终端发送内设有路由器地址信息的消息,所述地址信息将用于和所述另一网络上的通信终端进行一对一的互连;以及
中继信息发送部,用于通过所述服务器从所述另一网络上的通信终端接收消息,在所述消息中设有所述通信终端和所述另一网络上的通信终端进行一对一互连所用的地址信息。
9、如权利要求1所述的通信终端,其中,所述通信控制部根据所述地址信息交换部已经交换的地址信息,通过所述通信部发送用于请求一对一互连开始的消息,并且,在从所述另一网络上的通信终端接收到用于请求一对一互连开始的消息时,和所述另一网络上的通信终端进行一对一的互连。
10、一种由通信终端执行的通信方法,所述通信终端处在通过路由器和全局网络相连的一个私有网络上,并通过所述路由器和另一网络上的通信终端进行一对一的互连,所述通信方法包括:
通过向所述全局网络上的服务器发送预定消息和从所述全局网络上的服务器接收预定消息来检查所述路由器的中继特性;
当所述路由器的中继特性为端口重用时,将含有所述通信终端至少一个端口号的地址信息确定为所述路由器的地址信息,所述端口号将用于和所述另一网络上的通信终端进行一对一的互连;
和所述另一网络上的通信终端交换所确定出的路由器地址信息;以及
根据所交换的地址信息,和所述另一网络上的通信终端进行一对一的互连。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004323354 | 2004-11-08 | ||
JP323354/2004 | 2004-11-08 | ||
PCT/JP2005/020304 WO2006049251A1 (ja) | 2004-11-08 | 2005-11-04 | 通信端末及び通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101053218A true CN101053218A (zh) | 2007-10-10 |
CN101053218B CN101053218B (zh) | 2011-07-20 |
Family
ID=36319251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800378565A Active CN101053218B (zh) | 2004-11-08 | 2005-11-04 | 通信终端和通信方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7558249B2 (zh) |
JP (1) | JP4667390B2 (zh) |
CN (1) | CN101053218B (zh) |
WO (1) | WO2006049251A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008035578A1 (ja) * | 2006-09-22 | 2010-01-28 | パナソニック株式会社 | 通信装置、通信方法及び通信システム |
JP4411332B2 (ja) | 2007-03-20 | 2010-02-10 | パナソニック株式会社 | Ip通信装置及びip通信システム並びにこれらのip通信方法 |
US20080273600A1 (en) * | 2007-05-01 | 2008-11-06 | Samsung Electronics Co., Ltd. | Method and apparatus of wireless communication of uncompressed video having channel time blocks |
US8837435B2 (en) * | 2007-10-31 | 2014-09-16 | Samsung Electronics Co., Ltd. | Method and system for medium access control in communication networks |
US8811420B2 (en) * | 2009-01-05 | 2014-08-19 | Samsung Electronics Co., Ltd. | System and method for contention-based channel access for peer-to-peer connection in wireless networks |
WO2011088609A1 (en) * | 2010-01-19 | 2011-07-28 | Nokia Corporation | Evolved node b controlled centralized resource reuse for device-to-device and cellular users |
CN102652413B (zh) * | 2010-10-07 | 2015-10-21 | 松下电器(美国)知识产权公司 | 通信装置、通信方法、集成电路以及程序 |
KR101263783B1 (ko) * | 2010-12-27 | 2013-05-13 | 삼성에스디에스 주식회사 | 릴레이 서버를 이용한 데이터 전송 시스템 및 방법 |
JP5397440B2 (ja) * | 2011-09-14 | 2014-01-22 | ブラザー工業株式会社 | カラオケ装置、カラオケシステム |
US9838460B2 (en) * | 2012-05-29 | 2017-12-05 | Google Llc | Tool for sharing applications across client devices |
JP5904965B2 (ja) * | 2013-03-25 | 2016-04-20 | 西日本電信電話株式会社 | 通信装置及び通信システム |
CN104253755A (zh) * | 2013-06-27 | 2014-12-31 | 讯舟科技股份有限公司 | 用于网络终端装置间建立连线的方法 |
CN110971375B (zh) * | 2018-09-30 | 2021-06-15 | 华为技术有限公司 | 一种通信方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272650B2 (en) * | 2001-04-17 | 2007-09-18 | Intel Corporation | Communication protocols operable through network address translation (NAT) type devices |
JP2003318917A (ja) * | 2002-04-26 | 2003-11-07 | Sony Corp | 無線通信システム、無線通信端末および無線通信システムへの参加方法 |
US9497168B2 (en) * | 2002-07-30 | 2016-11-15 | Avaya Inc. | Method and apparatus for supporting communications between a computing device within a network and an external computing device |
JP4078594B2 (ja) * | 2002-09-06 | 2008-04-23 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
JP2004180003A (ja) * | 2002-11-27 | 2004-06-24 | Kitt Peak:Kk | 通信ネットワークシステムおよび通信の接続方法 |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
CN100502386C (zh) * | 2003-11-03 | 2009-06-17 | 中兴通讯股份有限公司 | 多媒体系统静态地址转换方法 |
JP4269226B2 (ja) * | 2003-11-14 | 2009-05-27 | ソニー株式会社 | 情報通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体 |
TWI245192B (en) * | 2003-12-11 | 2005-12-11 | Inst Information Industry | Method, system and storage medium for passing through network address translation device |
US7457293B2 (en) * | 2004-04-05 | 2008-11-25 | Panasonic Corporation | Communication apparatus, method and program for realizing P2P communication |
US7543064B2 (en) * | 2004-09-30 | 2009-06-02 | Logitech Europe S.A. | Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host |
-
2005
- 2005-11-04 WO PCT/JP2005/020304 patent/WO2006049251A1/ja active Application Filing
- 2005-11-04 CN CN2005800378565A patent/CN101053218B/zh active Active
- 2005-11-04 US US11/666,894 patent/US7558249B2/en active Active
- 2005-11-04 JP JP2006542446A patent/JP4667390B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2006049251A1 (ja) | 2006-05-11 |
CN101053218B (zh) | 2011-07-20 |
US7558249B2 (en) | 2009-07-07 |
JPWO2006049251A1 (ja) | 2008-05-29 |
US20080112417A1 (en) | 2008-05-15 |
JP4667390B2 (ja) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101053218A (zh) | 通信终端和通信方法 | |
CN1918863A (zh) | 地址解析装置、地址解析方法及采用它们的通信系统 | |
CN1262095C (zh) | 通信系统 | |
CN101030865A (zh) | 一种网络地址转换和/或防火墙穿越平台、系统及其方法 | |
CN1625881A (zh) | 连接到互联网的服务器、设备、和通信系统 | |
CN1595933A (zh) | 对话控制装置、信息通信终端、服务器以及终端 | |
CN1242593C (zh) | 源地址选择系统、路由器装置、通信节点和源地址选择方法 | |
CN1630267A (zh) | 提供VoIP业务的装置和方法 | |
CN1878118A (zh) | 一种实现数据通讯的系统及其方法 | |
CN1968184A (zh) | 区域网络的链路层通信方法及其应用的网络设备 | |
CN1825828A (zh) | 一种两端均处于不同nat下直接穿透通信的控制方法和设备 | |
CN1756259A (zh) | 因特网协议网络中使用网络地址翻译的方法和系统 | |
CN1913472A (zh) | Ip语音网络架构 | |
CN1273727A (zh) | 漫游的转换器或路由器 | |
CN1856163A (zh) | 一种具有会话边界控制器的通信系统及其传输信令的方法 | |
CN101039139A (zh) | 天基移动通信系统及通信方法 | |
CN1299541A (zh) | 小无线数据网络中的业务传送路由选择 | |
CN1805388A (zh) | 一种建立对等直连通道的方法 | |
CN101047651A (zh) | 设置ip优先级的方法、系统和设备 | |
CN1960566A (zh) | 演进的移动通信网及3gpp和非3gpp接入网之间移动性管理方法 | |
CN1496154A (zh) | 移动通信控制系统、移动通信控制方法、路由器、服务器以及数据结构 | |
CN1812344A (zh) | 一种实现负载均衡的方法和系统 | |
CN101047586A (zh) | 用于无线mesh网的业务QoS保证方法和装置 | |
CN1662010A (zh) | 利用蓝牙技术的群组网络系统及其生成方法 | |
CN1523868A (zh) | 具有动态增益控制功能的网络电话系统及其方法 |
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 |