CN106612340B - 穿透网络位置转换器的方法及通信装置 - Google Patents
穿透网络位置转换器的方法及通信装置 Download PDFInfo
- Publication number
- CN106612340B CN106612340B CN201510777167.3A CN201510777167A CN106612340B CN 106612340 B CN106612340 B CN 106612340B CN 201510777167 A CN201510777167 A CN 201510777167A CN 106612340 B CN106612340 B CN 106612340B
- Authority
- CN
- China
- Prior art keywords
- communication device
- point
- network site
- communication
- another
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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/2589—NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
-
- 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/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- 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/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2858—Access network architectures
- H04L12/2859—Point-to-point connection between the data network and the subscribers
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
本发明提供一种穿透网络位置转换器的方法及通信装置。此方法包括以下步骤。通信装置与另一通信装置交换网络位置转换器信息。通信装置与另一通信装置经由中继服务器建立中继连接。根据网络位置转换器信息判断通信装置与另一通信装置建立点对点连接是否可行。若通信装置与另一通信装置建立点对点连接为可行,则通信装置尝试与另一通信装置建立点对点连接,若点对点连接建立失败,则通信装置再次尝试与另一通信装置建立点对点连接。
Description
技术领域
本发明涉及一种穿透网络位置转换器的方法及装置。
背景技术
现行的网络为了解决因特网协定(Internet Protocol,IP)地址短缺、提升网络安全性、及阻止外部网络上的主机的恶意活动,大部份的连网设备都会通过一网络位置转换器(Network Address Translation,NAT)才连到外部网络或另一连网设备。这可能会导致连网设备与另一连网设备之间的数据传输因无法穿透网络位置转换器而造成数据传输失败。因此,如何穿透网络位置转换器变成一个必须解决的问题。一种方法是使用中继服务器(relay server)来穿透网络位置转换器,这种方法有较高的传输成功率,然而这种方法传输效率较低,且需要较高的传输成本,例如需要额外频宽或者需要较长的传输时间。另一种方法是使用点对点传输(peer-to-peer,P2P)的方式穿透网络位置转换器,这种方法可有较佳的传输效率并且可节省频宽,但是在使用对称型(symmetric)的网络位置转换器的情况下,P2P传输穿透网络位置转换器的成功率仍然较低。有鉴于此,有必要提供一种传输效率较高、传输成本较低且传输成功率更高的方式来穿透网络位置转换器。
发明内容
本发明的目的在于能有高成功传输率,并以更有效率、更经济的方式来穿透网络位置转换器,更进一步的说,在能成功传输的前提下,能减少使用者联机、等待时间,且能尽量以点对点连接的方式来穿透网络位置转换器并传输数据,以提升传输效率、减少传输成本。
根据本发明的一实施例,提供一种穿透网络位置转换器的方法。此方法用于一通信装置,此通信装置对应连接至一网络位置转换器,此方法包括以下步骤。通信装置与另一通信装置交换一网络位置转换器信息。通信装置与另一通信装置经由一中继服务器建立一中继连接。根据该网络位置转换器信息判断通信装置与另一通信装置建立一点对点连接是否可行。若通信装置与另一通信装置建立点对点连接为可行,则通信装置尝试与另一通信装置建立点对点连接,若点对点连接建立失败,则通信装置再次尝试与另一通信装置建立点对点连接。
根据本发明的另一实施例,提供一种穿透网络位置转换器的通信装置。此通信装置对应连接一网络位置转换器。通信装置包含一通信单元以及一处理单元。处理单元耦接至通信单元,并用以控制通信单元以执行下列步骤。通信单元与另一通信装置交换一网络位置转换器信息。通信单元与另一通信装置经由一中继器建立一中继连接。根据网络位置转换器信息判断通信单元与另一通信装置建立一点对点连接是否可行。若通信单元与另一通信装置建立点对点连接为可行,则通信单元尝试与另一通信装置建立点对点连接,若点对点连接建立失败,则通信单元再次尝试与另一通信装置建立点对点连接。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1绘示依据本发明第一实施例的穿透网络位置转换器的方法的流程图;
图2A、图2B及图2C绘示依据本发明第二实施例的穿透网络位置转换器的方法的流程图;
图3A及图3B绘示依据本发明又一实施例的穿透网络位置转换器的方法的示意图;
图4绘示依据本发明一实施例的穿透网络位置转换器的通信装置的方框图。
其中,附图标记
110、120、130、140、150、210、220、230、240、250、260、270、280、290、2910、2920、2930、2410、2420、2430、2440、10、20、30、40、50、60、70、80、90、100、112、122、132、142、152、160、170、180、190、200、212、410、420:步骤
A、B、400:通信装置
NAT1、NAT2:网络位置转换器
STUN:NAT会话传输应用程序(Session Traversal Utilities for NAT)服务器
P:代理服务器
RELAY:中继服务器
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
图1绘示依据本发明第一实施例的穿透网络位置转换器的方法的流程图。此实施例用于一通信装置,此通信装置对应连接至一网络位置转换器,对应连接的方式例如通过有线或无线的方式连接,例如通过因特网(internet)、无线区域网络(wireless localarea network,WLAN)等,本发明不加以限制。此方法包括以下步骤。首先,执行步骤110,通信装置与另一通信装置交换一网络位置转换器信息。接着,执行步骤120,通信装置与另一通信装置经由一中继服务器建立一中继连接,并传送数据至该另一通信装置。之后,执行步骤130,根据网络位置转换器信息判断通信装置与另一通信装置建立一点对点连接是否可行。最后,若通信装置与另一通信装置建立点对点连接为可行,则执行步骤140,通信装置尝试与另一通信装置建立点对点连接,以通过点对点连接传送数据至另一通信装置。若点对点连接建立失败,则通信装置再次尝试与另一通信装置建立点对点连接。另一方面,若在步骤130中,判断通信装置与另一通信装置建立点对点连接为不可行,则不建立点对点连接,如方框150所示。
此实施例先建立传输成功率较高的中继连接,再尝试建立传输效率较高、传输成本较低的点对点连接,藉由先建立传输成功率较高的中继连接,使用者可不需等待尝试建立点对点连接的时间而使用中继连接传输数据。另外,此实施例在判断点对点连接为可行但建立点对点连接失败的后,会继续尝试建立点对点连接,也就是尽量使用传输效率较高、传输成本较低的点对点连接。
图2A、图2B及图2C绘示依据本发明第二实施例的穿透网络位置转换器的方法的流程图。此方法用于一通信装置,通信装置可与另一通信装置之间进行数据传输,通信装置与另一通信装置分别对应连接至第一网络位置转换器及第二网络位置转换器。在此实施例中,此方法包含步骤210,预测对应连接至通信装置的网络位置转换器使用的通信端口,以及判断对应连接至通信装置的网络位置转换器的类型。之后,执行步骤220,通信装置传送相关于第一网络位置转换器的第一网络位置转换器信息,并接收相关于对应连接另一通信装置的第二网络位置转换器的第二网络位置转换器信息。第一网络位置转换器信息可例如包含通信装置的区域因特网协定地址(local IP)、区域通信端口(local port)、第一网络位置转换器的公共因特网协定地址(public IP)、第一网络位置转换器使用的公共通信端口(public port)及/或第一网络位置转换器的类型。同理,第二网络位置转换器信息可例如包含另一通信装置的区域因特网协定地址、区域通信端口、第二网络位置转换器的公共因特网协定地址、第二网络位置转换器的使用的公共通信端口及/或第二网络位置转换器的类型。接着,执行步骤230,通信装置与另一通信装置建立一中继连接并开始传送数据至该另一通信装置。之后,执行步骤240,根据第一网络位置转换器信息及第二网络位置转换器信息判断通信装置与另一通信装置建立一点对点连接是否可行。若在步骤240中判断通信装置与另一通信装置建立点对点连接为不可行,则不建立点对点连接,如方框250所示。
而若判断通信装置与另一通信装置建立点对点连接为可行,则执行步骤260,通信装置尝试与另一通信装置建立点对点连接。接着,执行步骤270,判断通信装置与另一通信装置之间的点对点连接是否建立成功。若点对点连接建立成功,则执行步骤280,中断通信装置与另一通信装置建立的中继连接。
然而,若点对点连接建立失败,则会执行步骤290,通信装置再次尝试与另一通信装置建立点对点连接。在一些实施例中,步骤290更可包含多个步骤。首先,执行步骤2910,判断点对点连接失败的次数是否超过特定次数,例如5次,或者可设定为N%10>5次,亦即N除以10的余数大于5。若点对点连接失败的次数超过特定次数,则执行步骤2920,通信装置与另一通信装置交换新的网络位置转换器信息,这个新的网络位置转换器信息包含此通信装置的区域因特网协定地址及区域通信端口。在另一实施例中,由于区域因特网协定地址及区域通信端口已于步骤220中交换,因此在点对点连接失败的次数超过特定次数后,可直接执行步骤260,而不需执行步骤2920。在步骤2920之后,通信装置会执行步骤260,也就是通信装置根据新的网络位置转换器信息尝试与另一通信装置建立点对点连接。藉由与另一通信装置交换包含区域因特网协定地址及区域通信端口的网络位置转换器信息,可解决通信装置A和通信装置B都连接至同一网络位置转换器且通信装置A和通信装置B连接的网络分享器不支援网络位置转换器回送(loopback)机制而导致使用网络位置转换器的公共因特网协定地址无法连接的情形,故使用通信装置的区域因特网协定地址可增加点对点连接建立的成功率。
若点对点连接失败的次数不超过特定次数,则执行步骤2930,重新预测网络位置转换器使用的通信端口,并且通信装置与另一通信装置交换新的网络位置转换器信息,这个新的网络位置转换器信息包含重新预测过的网络位置转换器使用的通信端口。之后,通信装置会执行步骤260,也就是通信装置根据新的网络位置转换器信息与另一通信装置建立点对点连接。藉由重新预测网络位置转换器使用的通信端口可解决通信端口预测错误或者通信端口被占用而导致无法连接的情形,故使用重新预测的通信端口可增加建立点对点连接的成功率。
另外,请再参照图2C,2C图绘示图2A的步骤240中判断点对点连接是否可行的流程图。步骤240判断点对点连接是否可行更可包含多个步骤。首先,执行步骤2410,根据步骤210中的对应连接至通信装置的网络位置转换器的通信端口预测值判断通信装置的通信端口是否可预测,以及根据步骤210中的对应连接至另一通信装置的网络位置转换器的通信端口预测值判断另一通信装置的通信端口是否可预测。若在步骤2410中判断对应连接至通信装置的网络位置转换器的通信端口与对应连接至另一通信装置的网络位置转换器的通信端口皆为可预测,则执行步骤2420,判断点对点连接为可行。若在步骤2410中判断对应连接至通信装置的网络位置转换器的通信端口与对应连接至另一通信装置的网络位置转换器的通信端口皆为不可预测,则执行步骤2430,判断点对点连接为不可行。若在步骤2410中判断对应连接至通信装置及另一通信装置的两个网络位置转换器的通信端口其中的一为可预测而其中另一为不可预测,则执行步骤2440,判断可预测的网络位置转换器的类型是否为对称型(symmetric)或端口限制型(port restricted cone)。若在步骤2440中,可预测的网络位置转换器的类型为对称型或端口限制型,则执行步骤2430,判断点对点连接为不可行。若在步骤2440中,可预测的网络位置转换器的类型并非对称型或端口限制型,亦即可预测的网络位置转换器的类型为一对一型(full cone)或地址限制型(addressrestricted cone),则执行步骤2420,判断点对点连接为可行。
详细的说,表一列出了根据对应连接至通信装置与另一通信装置的网络位置转换器的通信端口是否可预测及对应连接至通信装置与另一通信装置的网络位置转换器的类型而判断建立点对点连接是否可行的结果。如表一第二列所示,若两个网络位置转换器的使用的通信端口皆为可预测,则不论对应连接至两通信装置的网络位置转换器类型为何,可判断这两个通信装置之间建立点对点连接为可行。如表一第三列所示,若两网络位置转换器的使用的通信端口皆为不可预测,则对应连接至两通信装置的网络位置转换器类型必定皆为对称型,可判断这两个通信装置之间建立点对点连接为不可行。然而,在其中的一网络位置转换器使用的通信端口为可预测,而其中的另一网络位置转换器使用的通信端口为不可预测时,则需再根据网络位置转换器的类型判断建立点对点连接是否为可行。在此情况下,其中通信端口为不可预测的网络位置转换器的类型必定为对称型,而通信端口为可预测的网络位置转换器的类型则有四种可能:一对一型(full cone)、地址限制型(addressrestricted cone)、端口限制型(port restricted cone)及对称型(symmetric),如表一第四~七列所示。而若通信端口为可预测的网络位置转换器的类型为一对一型或地址限制型时,则可判断这两个通信装置之间建立点对点连接为可行。若通信端口为可预测的网络位置转换器的类型为端口限制型或对称型时,则可判断这两个通信装置之间建立点对点连接为不可行。
表一
兹举一例以说明本发明的穿透网络位置转换器的方法。请参照图3A及图3B,图3A及图3B绘示依据本发明又一实施例的穿透网络位置转换器的方法的示意图。首先此方法用于通信装置A与通信装置B之间的传输,通信装置A对应连接至网络位置转换器NAT1,通信装置B对应连接至网络位置转换器NAT2。在此实施例的网络环境中,更包含NAT会话传输应用程序(Session Traversal Utilities for NAT)服务器STUN(在下文中简称为STUN服务器)、代理服务器(proxy)P、及中继服务器RELAY。在一些实施例中,STUN服务器及中继服务器可整合为一装置。在一些实施例中,STUN服务器、代理服务器及中继服务器可整合为一装置。
本发明的穿透网络位置转换器的方法包含下列步骤。首先,执行步骤10,通信装置A先向代理服务器P进行注册。同样的,在步骤12,通信装置B也会向代理服务器P进行注册。接着,执行步骤20,通信装置A会向STUN服务器发送请求,STUN服务器会回传网络位置转换器NAT1的公共因特网协定地址及网络位置转换器NAT1使用的公共通信端口,通信装置A会以这些信息尝试预测网络位置转换器NAT1下一个使用的公共通信端口。
以下兹举一例以说明在步骤20中尝试预测网络位置转换器使用的公共通信端口的4个例子。请参照表二,表二列出了通信装置A向4个服务器发送封包后接收到的公共通信端口值。举例来说,通信装置A例如可使用区域通信端口10000向STUN服务器发送请求以尝试预测网络位置转换器NAT1下一个使用的公共通信端口。在此例中,此请求包含分别向4个STUN服务器(STUN 1~STUN 4)发送4个封包,此4个STUN服务器(STUN 1~STUN 4)则分别回传网络位置转换器NAT1的公共通信端口值至通信装置A。例如,在例1中,4个STUN服务器回传至通信装置A的公共通信端口值皆为10000,因此,在例1中公共通信端口是可预测的,且可预测下一个使用的公共通信端口值亦为10000。同样的,在例2中,4个STUN服务器回传至通信装置A的公共通信端口值皆为38792,因此,在例2中公共通信端口是可预测的,且可预测下一个使用的公共通信端口值亦为38792。而在例3中,4个STUN服务器回传至通信装置A的公共通信端口值是不同的,也就是在例3中的网络位置转换器NAT1为对称型的。虽然例3中的网络位置转换器NAT1为对称型的,但是4个STUN服务器回传至通信装置A的公共通信端口值分别为40001、40002、40003及40004,也就是说,在例3中公共通信端口值是有规律的,因此在例3中公共通信端口值仍然是可预测的,且可预测下一个使用的公共通信端口值为40005。最后,在例4中,4个STUN服务器回传至通信装置A的公共通信端口值是不同的,故在例4中的网络位置转换器NAT1也为对称型的。然而,在例4中的4个STUN服务器回传至通信装置A的公共通信端口值分别为45792、38729、52900及31803,也就是说,在例4中公共通信端口值是随机的,因此在例4中公共通信端口值是不可预测的。在表二的例子中,请求可包含向4个STUN服务器发送4个封包。然而,封包的数目或请求的数目并不限制,本领域技术人员可视实际需要发送多个封包或多次请求直到预测成功为止。
表二
之后,在步骤30中,通信装置A会指定步骤20中的预测结果作为预测值,例如预测网络位置转换器NAT1下一个使用的公共通信端口为50006。若在步骤20中,无法预测网络位置转换器NAT1下一个使用的公共通信端口,则可在步骤30中,指定预测值为0。接下来,执行步骤40,判断对应连接至通信装置A的网络位置转换器NAT1的类型。举例来说,可利用通信装置A通过网络位置转换器NAT1发送多个请求给STUN服务器的某个通信端口,并要求STUN服务器从其原来的通信端口或不同的通信端口回传网络位置转换器NAT1使用的公共通信端口,通过检视通信装置A是否能收到STUN服务器回传的信息来判断网络位置转换器的类型。之后,执行步骤50,通信装置A发送请求RQ到中继服务器RELAY,以和中继服务器RELAY建立连接。接着,执行步骤60,通信装置A通过代理服务器P传送相关于网络位置转换器NAT1的信息到通信装置B,这些相关于网络位置转换器NAT1的信息包含通信装置A的区域因特网协定地址、通信装置A使用的通信端口、网络位置转换器NAT1的公共因特网协定地址、网络位置转换器NAT1的下一个使用的公共通信端口的预测值及网络位置转换器NAT1的类型。
之后,当通信装置B接收到通信装置A的传送的信息及连接请求。B也会执行相似的步骤,在步骤70中,通信装置B会向STUN服务器发送请求,以尝试预测网络位置转换器NAT2下一个使用的公共通信端口。同样的,封包的数目或请求的数目并不限制,本领域技术人员可视实际需要发送多个封包或多次请求直到预测成功为止。并在步骤80中,通信装置B会指定步骤70中的预测结果作为预测值,例如预测网络位置转换器NAT2下一个使用的公共通信端口为30016。之后也会在步骤90中,判断网络位置转换器NAT2的类型。并在步骤100中,通信装置B发送请求RQ到中继服务器RELAY,以和中继服务器RELAY建立连接。最后,执行步骤112,通信装置A接收通信装置B通过代理服务器P传送的相关于网络位置转换器NAT2的信息。同样的,这些相关于网络位置转换器NAT2的信息包含通信装置B的区域因特网协定地址、通信装置B使用的通信端口、网络位置转换器NAT2的公共因特网协定地址、网络位置转换器NAT2的下一个使用的公共通信端口的预测值及网络位置转换器NAT2的类型。之后,当通信装置A和通信装置B都接收到相关于网络位置转换器NAT1及NAT2的信息之后,就可执行步骤122,通信装置A与通信装置B经由中继服务器RELAY建立一中继连接并开始传送数据(real-time transport protocol,RTP)。
请继续参照图3B,当通信装置A与通信装置B经由中继服务器RELAY建立一中继连接之后,更执行步骤132,判断通信装置A与通信装置B建立一点对点连接是否可行。若通信装置A与通信装置B建立点对点连接为可行,则执行步骤142,通信装置A与通信装置B尝试建立点对点连接。但假设在此例中,网络位置转换器NAT1使用的公共通信端口50006被占用或者是预测错误,这会导致通信装置A与通信装置B之间的点对点连接建立失败,例如通信装置A并未接收到通信装置B传送的封包。此时,执行步骤152,通信装置A会再向STUN服务器发送请求,以重新预测网络位置转换器NAT1下一个使用的公共通信端口,并在步骤160中重新指定网络位置转换器NAT1新的预测值,例如为50009。之后,执行步骤170,通信装置A重新传送新的相关于网络位置转换器NAT1的信息到通信装置B,此新的相关于网络位置转换器NAT1的信息包含新的公共通信端口预测值50009。
通信装置B也会执行步骤180,通信装置B会再向STUN服务器发送请求,以重新预测网络位置转换器NAT2下一个使用的公共通信端口,并在步骤190中重新指定网络位置转换器NAT2新的预测值。在此例中,网络位置转换器NAT2的类型例如为一对一型、地址限制型或端口限制型,亦即这些类型的网络位置转换器使用的公共通信端口是不变的,故网络位置转换器NAT2下一个使用的公共通信端口仍然为30016。因此,在步骤200中,通信装置A再次接收到通信装置B传送的相关于网络位置转换器NAT2的信息。最后,在通信装置A和通信装置B都接收到新的相关于网络位置转换器NAT1及NAT2的信息之后,执行步骤212,通信装置A根据新的相关于网络位置转换器NAT1及NAT2的信息再次尝试与通信装置B建立点对点连接,若点对点连接建立成功,则通信装置A即可通过点对点连接开始传送数据(RTP)至通信装置B,并中断通信装置A与通信装置B建立的中继连接。上述步骤的执行顺序仅用以示范性的说明,然而本发明并不以此为限,可视实际使用需要调整上述步骤的顺序,或者可重复执行某些步骤。
本发明更提供一种可执行上述实施例的穿透网络位置转换器的方法的通信装置。图4绘示依据本发明一实施例的穿透网络位置转换器的通信装置400的方框图。通信装置400对应连接网络位置转换器。通信装置400包含通信单元410及处理单元420。通信装置可例如为服务器、电脑、笔记型电脑、平板电脑、手机、智慧电视、或者连接因特网的装置等。通信单元可例如是以硬件电路或软件实现,具有通过因特网与其他装置通信的功能。处理单元可例如是中央处理单元(CPU)、微处理器、巨集处理器、或特殊应用集成电路(ASICs)、多个数字逻辑栅、或其他熟知的电子电路配置,或者也可以软件实现。处理单元420耦接至通信单元410,处理单元420用来控制通信单元410以执行下列步骤。通信单元410与另一通信装置交换一网络位置转换器信息。通信单元410与另一通信装置经由一中继器建立一中继连接。处理单元420更用来控制通信单元410以根据网络位置转换器信息判断通信单元410与另一通信装置建立一点对点连接是否可行。若通信单元410与另一通信装置建立点对点连接为可行,则通信单元410尝试与另一通信装置建立点对点连接,若点对点连接建立失败,则通信单元410再次尝试与另一通信装置建立点对点连接。
本发明的通信装置400更可执行图2A、图2B、及图2C的步骤或者图3的步骤以穿透网络位置转换器,然而本发明的通信装置400并不以此为限,也可视实际需要调整执行的步骤以穿透网络位置转换器。
根据上述实施例,提供了多种穿透网络位置转换器的方法及装置,藉由先建立传输成功率较高的中继连接,再尝试建立传输效率较高、传输成本较低的点对点连接,而可节省使用者等待尝试建立点对点连接的时间,并且尽量使用传输效率较高、传输成本较低的点对点连接,可同时具有传输效率更高、传输成本更低的方式且传输成功率更高的效果。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (20)
1.一种穿透网络位置转换器的方法,用于一通信装置,该通信装置对应连接一第一网络位置转换器,其特征在于,该方法包含:
该通信装置与另一通信装置交换一网络位置转换器信息;
该通信装置与该另一通信装置经由一中继服务器建立一中继连接,并通过该中继连接进行数据传输;
在使用该中继连接进行数据传输的期间,根据该网络位置转换器信息判断该通信装置与该另一通信装置建立一点对点连接是否可行;以及
若该通信装置与该另一通信装置建立该点对点连接为可行,则该通信装置尝试与该另一通信装置建立该点对点连接,若该点对点连接建立失败,则该通信装置再次尝试与该另一通信装置建立该点对点连接。
2.根据权利要求1所述的穿透网络位置转换器的方法,其特征在于,该通信装置与该另一通信装置交换该网络位置转换器信息的步骤包含:
该通信装置传送相关于该第一网络位置转换器的一第一网络位置转换器信息;以及
该通信装置接收相关于对应连接该另一通信装置的一第二网络位置转换器的一第二网络位置转换器信息。
3.根据权利要求2所述的穿透网络位置转换器的方法,其特征在于,更包含:
预测该第一网络位置转换器使用的一第一通信端口而得到一第一预测值;
判断该第一网络位置转换器的类型;
预测该第二网络位置转换器使用的一第二通信端口而得到一第二预测值;以及
判断该第二网络位置转换器的类型。
4.根据权利要求3所述的穿透网络位置转换器的方法,其特征在于,该第一网络位置转换器信息包含该通信装置的区域因特网协定地址、该第一通信端口、该第一网络位置转换器的公共因特网协定地址、该第一预测值及/或该第一网络位置转换器的类型,其中该第二网络位置转换器信息包含该另一通信装置的区域因特网协定地址、该第二通信端口、该第二网络位置转换器的公共因特网协定地址、该第二预测值及/或该第二网络位置转换器的类型。
5.根据权利要求3所述的穿透网络位置转换器的方法,其特征在于,判断该通信装置与该另一通信装置建立该点对点连接是否可行是根据该第一预测值、该第一网络位置转换器的类型、该第二预测值及该第二网络位置转换器的类型判断。
6.根据权利要求5所述的穿透网络位置转换器的方法,其特征在于,判断该通信装置与该另一通信装置建立该点对点连接是否可行的步骤包含:
根据该第一预测值判断该第一通信端口是否可预测;以及
根据该第二预测值判断该第二通信端口是否可预测;
其中若该第一通信端口与该第二通信端口皆可预测,则判断该点对点连接为可行;
其中若该第一通信端口与该第二通信端口皆不可预测,则判断该点对点连接为不可行。
7.根据权利要求6所述的穿透网络位置转换器的方法,其特征在于,若该第一通信端口与该第二通信端口其中一者为可预测而其中另一者为不可预测,且通信端口为可预测的网络位置转换器的类型为对称型或端口限制型时,则判断该点对点连接为不可行,而通信端口为可预测的网络位置转换器的类型为一对一型或地址限制型时,则判断该点对点连接为可行。
8.根据权利要求1所述的穿透网络位置转换器的方法,其特征在于,该通信装置再次尝试与该另一通信装置建立该对点连接的步骤包含:
该通信装置与该另一通信装置交换一第三网络位置转换器信息,该第三网络位置转换器信息包含该通信装置的区域因特网协定地址及区域通信端口;以及
该通信装置根据该第三网络位置转换器信息尝试与该另一通信装置建立该点对点连接。
9.根据权利要求1所述的穿透网络位置转换器的方法,其特征在于,该通信装置再次尝试与该另一通信装置建立该点对点连接的步骤包含:
重新预测该网络位置转换器使用的通信端口而得到一第三预测值;
该通信装置与该另一通信装置交换包含该第三预测值的一第三网络位置转换器信息;以及
该通信装置根据该第三网络位置转换器信息尝试与该另一通信装置建立该点对点连接。
10.根据权利要求1所述的穿透网络位置转换器的方法,其特征在于,更包含:
若该点对点连接建立成功,则中断该通信装置与该另一通信装置建立的该中继连接。
11.一种穿透网络位置转换器的通信装置,该通信装置对应连接一第一网络位置转换器,其特征在于,该通信装置包含:
一通信单元;以及
一处理单元,耦接至该通信单元;
其中,该处理单元用以控制该通信单元以使:
该通信单元与另一通信装置交换一网络位置转换器信息;
该通信单元与该另一通信装置经由一中继器建立一中继连接,并通过该中继连接进行数据传输;
在使用该中继连接进行数据传输的期间,根据该网络位置转换器信息判断该通信单元与该另一通信装置建立一点对点连接是否可行;
若该通信单元与该另一通信装置建立该点对点连接为可行,则该通信单元尝试与该另一通信装置建立该点对点连接,若该点对点连接建立失败,则该通信单元再次尝试与该另一通信装置建立该点对点连接。
12.根据权利要求11所述的穿透网络位置转换器的通信装置,其特征在于,该通信装置与该另一通信装置交换该网络位置转换器信息包含:
该通信单元传送相关于该第一网络位置转换器的一第一网络位置转换器信息;以及
该通信单元接收相关于对应连接该另一通信装置的一第二网络位置转换器的一第二网络位置转换器信息。
13.根据权利要求12所述的穿透网络位置转换器的通信装置,其特征在于,该处理单元更用以控制该通信单元以:
预测该第一网络位置转换器使用的一第一通信端口而得到一第一预测值;
判断该第一网络位置转换器的类型;
预测该第二网络位置转换器使用的一第二通信端口而得到一第二预测值;以及
判断该第二网络位置转换器的类型。
14.根据权利要求13所述的穿透网络位置转换器的通信装置,其特征在于,该第一网络位置转换器信息包含该通信装置的区域因特网协定地址、该第一通信端口、该第一网络位置转换器的公共因特网协定地址、该第一预测值及/或该第一网络位置转换器的类型,其中该第二网络位置转换器信息包含该另一通信装置的区域因特网协定地址、该第二通信端口、该第二网络位置转换器的公共因特网协定地址、该第二预测值及/或该第二网络位置转换器的类型。
15.根据权利要求13所述的穿透网络位置转换器的通信装置,其特征在于,判断该通信单元与该另一通信装置建立该点对点连接是否可行系根据该第一预测值、该第一网络位置转换器的类型、该第二预测值及该第二网络位置转换器的类型判断。
16.根据权利要求15所述的穿透网络位置转换器的通信装置,其特征在于,判断该通信单元与该另一通信装置建立该点对点连接是否可行包含:
根据该第一预测值判断该第一通信端口是否可预测;以及
根据该第二预测值判断该第二通信端口是否可预测;
其中若该第一通信端口与该第二通信端口皆可预测,则判断该点对点连接为可行;
其中若该第一通信端口与该第二通信端口皆不可预测,则判断该点对点连接为不可行。
17.根据权利要求16所述的穿透网络位置转换器的通信装置,其特征在于,若该第一通信端口与该第二通信端口其中一者为可预测而其中另一者为不可预测,且通信端口为可预测的网络位置转换器的类型为对称型或端口限制型时,则判断该点对点连接为不可行,而通信端口为可预测的网络位置转换器的类型为一对一型或地址限制型时,则判断该点对点连接为可行。
18.根据权利要求11所述的穿透网络位置转换器的通信装置,其特征在于,该通信单元再次尝试与该另一通信装置建立该对点连接包含:
该通信单元与该另一通信装置交换一第三网络位置转换器信息,该第三网络位置转换器信息包含该通信装置的区域因特网协定地址及区域通信端口;以及
该通信单元根据该第三网络位置转换器信息尝试与该另一通信装置建立该点对点连接。
19.根据权利要求11所述的穿透网络位置转换器的通信装置,其特征在于,该通信单元再次尝试与该另一通信装置建立该点对点连接包含:
重新预测该网络位置转换器使用的通信端口而得到一第三预测值;
该通信单元与该另一通信装置交换包含该第三预测值的一第三网络位置转换器信息;以及
该通信单元根据该第三网络位置转换器信息尝试与该另一通信装置建立该点对点连接。
20.根据权利要求11所述的穿透网络位置转换器的通信装置,其特征在于,该处理单元更用以使该通信单元:
若该点对点连接建立成功,则中断该通信单元与该另一通信装置建立的该中继连接。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104134648A TWI595765B (zh) | 2015-10-22 | 2015-10-22 | 穿透網路位置轉換器之方法及通訊裝置 |
TW104134648 | 2015-10-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106612340A CN106612340A (zh) | 2017-05-03 |
CN106612340B true CN106612340B (zh) | 2019-09-06 |
Family
ID=58559303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510777167.3A Active CN106612340B (zh) | 2015-10-22 | 2015-11-13 | 穿透网络位置转换器的方法及通信装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10129209B2 (zh) |
CN (1) | CN106612340B (zh) |
TW (1) | TWI595765B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10645059B2 (en) * | 2016-04-11 | 2020-05-05 | Western Digital Technologies, Inc. | Establishing connections between data storage devices |
CN109510810A (zh) * | 2018-09-20 | 2019-03-22 | 广州亦云信息技术股份有限公司 | 一种基于p2p的虚拟资源访问方法及装置 |
CN111464654A (zh) * | 2020-04-08 | 2020-07-28 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
EP4184963B1 (en) * | 2020-07-14 | 2025-01-22 | LG Electronics Inc. | Peer-to-peer communication for v2x service |
US11394686B1 (en) * | 2021-02-25 | 2022-07-19 | Nvidia Corporation | Dynamic network address translation using prediction |
US11356296B1 (en) * | 2021-07-30 | 2022-06-07 | Quantum Networks (SG) Pte. Ltd. | System and method for independent binding of virtual networks overlay using a physical network topology |
TWI864647B (zh) * | 2023-03-22 | 2024-12-01 | 瑞昱半導體股份有限公司 | 對用戶端設備共享ip位址的寬頻網路系統及其用戶端設備與寬頻服務提供設備 |
CN116388962A (zh) * | 2023-06-05 | 2023-07-04 | 敏于行(北京)科技有限公司 | 区块链网络节点间的通信方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859314A (zh) * | 2006-03-02 | 2006-11-08 | 华为技术有限公司 | 通信方法 |
CN1863157A (zh) * | 2005-10-28 | 2006-11-15 | 华为技术有限公司 | 穿越nat实现网络通信的方法及装置 |
CN101026543A (zh) * | 2007-03-28 | 2007-08-29 | 华为技术有限公司 | 点到点p2p内容共享的方法及系统 |
CN101465784A (zh) * | 2007-12-18 | 2009-06-24 | 友讯科技股份有限公司 | 便携式的ice中继服务器及其方法 |
CN101478505A (zh) * | 2009-01-23 | 2009-07-08 | 建汉科技股份有限公司 | 不同私有网络的网络装置间建立网络系统及网络联机方法 |
CN101557388A (zh) * | 2008-04-11 | 2009-10-14 | 中国科学院声学研究所 | 一种基于UPnP和STUN技术相结合的NAT穿越方法 |
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
CN102932235A (zh) * | 2012-10-09 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 云计算环境下的即时通信方法和服务器系统 |
CN104253755A (zh) * | 2013-06-27 | 2014-12-31 | 讯舟科技股份有限公司 | 用于网络终端装置间建立连线的方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8065418B1 (en) | 2004-02-02 | 2011-11-22 | Apple Inc. | NAT traversal for media conferencing |
US20070233844A1 (en) * | 2006-03-29 | 2007-10-04 | Murata Kikai Kabushiki Kaisha | Relay device and communication system |
TW200805968A (en) | 2006-07-11 | 2008-01-16 | Shaw-Hwa Hwang | Improved SIP communication method capable of traversing NAT firewall |
US8489701B2 (en) * | 2007-01-30 | 2013-07-16 | Microsoft Corporation | Private virtual LAN spanning a public network for connection of arbitrary hosts |
CN101374141A (zh) * | 2007-08-23 | 2009-02-25 | 浙江省电信有限公司 | 一种基于pcp协议的tcp nat穿越方法 |
CN101431511B (zh) | 2007-11-09 | 2013-03-06 | 友讯科技股份有限公司 | 一种穿透防火墙在网络终端装置间建立联机信道的方法 |
EP2071809A1 (en) | 2007-12-13 | 2009-06-17 | Alcatel Lucent | Method of establishing a connection in a peer-to-peer network with network address translation (NAT) |
TW200937923A (en) | 2008-02-21 | 2009-09-01 | Chunghwa Telecom Co Ltd | Tunneling method enabling the transparent tunneling of private network to achieve the IP communication |
TWI408936B (zh) * | 2009-09-02 | 2013-09-11 | Ind Tech Res Inst | 網路穿透方法及網路通訊系統 |
JP5304555B2 (ja) | 2009-09-11 | 2013-10-02 | ブラザー工業株式会社 | 端末装置、通信方法、及び通信プログラム |
US8874785B2 (en) | 2010-02-15 | 2014-10-28 | Damaka, Inc. | System and method for signaling and data tunneling in a peer-to-peer environment |
US8819244B2 (en) | 2010-04-07 | 2014-08-26 | Apple Inc. | Apparatus and method for establishing and utilizing backup communication channels |
US8412833B2 (en) | 2010-04-07 | 2013-04-02 | Apple Inc. | Apparatus and method for inviting users to online sessions |
US9497160B1 (en) * | 2013-06-24 | 2016-11-15 | Bit Action, Inc. | Symmetric NAT traversal for direct communication in P2P networks when some of the routing NATs are symmetric |
EP3025317B1 (en) * | 2013-07-22 | 2019-05-22 | Intellivision Technologies Corp. | System and method for scalable video cloud services |
US9826044B2 (en) | 2013-10-23 | 2017-11-21 | Qualcomm Incorporated | Peer-to-peer communication for symmetric NAT |
TWI538449B (zh) * | 2013-11-29 | 2016-06-11 | 晶睿通訊股份有限公司 | 穿透網路位址轉換的方法、電腦可讀取媒體與連線中介系統 |
US9762508B2 (en) * | 2014-10-02 | 2017-09-12 | Microsoft Technology Licensing, Llc | Relay optimization using software defined networking |
-
2015
- 2015-10-22 TW TW104134648A patent/TWI595765B/zh active
- 2015-11-13 CN CN201510777167.3A patent/CN106612340B/zh active Active
-
2016
- 2016-02-23 US US15/051,298 patent/US10129209B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899932B2 (en) * | 2003-01-15 | 2011-03-01 | Panasonic Corporation | Relayed network address translator (NAT) traversal |
CN1863157A (zh) * | 2005-10-28 | 2006-11-15 | 华为技术有限公司 | 穿越nat实现网络通信的方法及装置 |
CN1859314A (zh) * | 2006-03-02 | 2006-11-08 | 华为技术有限公司 | 通信方法 |
CN101026543A (zh) * | 2007-03-28 | 2007-08-29 | 华为技术有限公司 | 点到点p2p内容共享的方法及系统 |
CN101465784A (zh) * | 2007-12-18 | 2009-06-24 | 友讯科技股份有限公司 | 便携式的ice中继服务器及其方法 |
CN101557388A (zh) * | 2008-04-11 | 2009-10-14 | 中国科学院声学研究所 | 一种基于UPnP和STUN技术相结合的NAT穿越方法 |
CN101478505A (zh) * | 2009-01-23 | 2009-07-08 | 建汉科技股份有限公司 | 不同私有网络的网络装置间建立网络系统及网络联机方法 |
CN102932235A (zh) * | 2012-10-09 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 云计算环境下的即时通信方法和服务器系统 |
CN104253755A (zh) * | 2013-06-27 | 2014-12-31 | 讯舟科技股份有限公司 | 用于网络终端装置间建立连线的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170118170A1 (en) | 2017-04-27 |
CN106612340A (zh) | 2017-05-03 |
TWI595765B (zh) | 2017-08-11 |
TW201715873A (zh) | 2017-05-01 |
US10129209B2 (en) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106612340B (zh) | 穿透网络位置转换器的方法及通信装置 | |
Scharf et al. | Multipath TCP (MPTCP) application interface considerations | |
JP4000331B2 (ja) | ネットワークのポートマッピング用システム | |
EP1892887B1 (en) | Communication method between communication devices and communication apparatus | |
US8583831B2 (en) | Thin client discovery | |
EP3352431B1 (en) | Network load balance processing system, method, and apparatus | |
CN104205741A (zh) | 信息处理设备、信息处理方法和程序 | |
CN102984237B (zh) | 一种基于socket连接的数据传输系统及方法 | |
TWI599201B (zh) | 網路系統及建立資料連線的方法 | |
CN105323310B (zh) | 网络通信方法、设备及网络附属存储设备 | |
JPWO2007039942A1 (ja) | 端末装置及びサーバ装置及び指令装置 | |
CN105813228A (zh) | 基于SIP over TCP/TLS的通信方法及相关装置 | |
JP7401564B2 (ja) | 通信方法及び関連デバイス | |
JP6393475B2 (ja) | 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム | |
US10911532B1 (en) | Port prediction for peer-to-peer communications | |
JP2017050832A (ja) | ネットワークシステム及びDoS(DenialofService)攻撃の防御方法 | |
JP4231065B2 (ja) | シームレスアクセス通信システム | |
CN104468696A (zh) | 用以进行点对点连接的方法、服务器与装置 | |
Mondal et al. | A reliable, multi-path, connection oriented and independent transport protocol for iot networks | |
CN105991629B (zh) | Tcp连接建立方法及装置 | |
JP6219005B1 (ja) | 中継システム | |
Zhang et al. | Research on multi-path network balancing method for cloud computing | |
CN110289979A (zh) | 桥接器及网络的管理方法 | |
JP2013062753A (ja) | プロキシ装置及びネットワークシステム | |
US20150156166A1 (en) | Communication method and mobile electronic device using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |