CN102447749A - 支持nat穿越的集中式p2p系统、nat穿越的方法 - Google Patents

支持nat穿越的集中式p2p系统、nat穿越的方法 Download PDF

Info

Publication number
CN102447749A
CN102447749A CN2010105100737A CN201010510073A CN102447749A CN 102447749 A CN102447749 A CN 102447749A CN 2010105100737 A CN2010105100737 A CN 2010105100737A CN 201010510073 A CN201010510073 A CN 201010510073A CN 102447749 A CN102447749 A CN 102447749A
Authority
CN
China
Prior art keywords
address
node
section point
mailing address
nat
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
Application number
CN2010105100737A
Other languages
English (en)
Other versions
CN102447749B (zh
Inventor
李漓春
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201010510073.7A priority Critical patent/CN102447749B/zh
Priority to PCT/CN2011/079838 priority patent/WO2012048613A1/zh
Publication of CN102447749A publication Critical patent/CN102447749A/zh
Application granted granted Critical
Publication of CN102447749B publication Critical patent/CN102447749B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

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

本发明公开了一种支持NAT穿越的集中式P2P系统、NAT穿越的方法。该方法包括:第二节点收集自身的通信地址并汇报给跟踪服务器;第一节点直接或间接从跟踪服务器获得欲通信的第二节点的通信地址;并发起从自身通信地址到第二节点通信地址的第一单向联通性测试,根据第一单向联通性测试的结果,选择能够相互通信的通信地址对;其中,一对通信地址对包含一个第一节点的通信地址和一个第二节点的通信地址。采用本发明能够在进行NAT穿越时,减小时延和开销。

Description

支持NAT穿越的集中式P2P系统、NAT穿越的方法
技术领域
本发明涉及NAT(Network Address Translation,网络地址转换)穿越技术,尤其涉及一种支持NAT穿越的集中式P2P(Peer to Peer,点对点)系统、NAT穿越的方法。
背景技术
集中式P2P系统的基本架构由tracker(跟踪服务器)和peer(节点)组成;其中,peer是对等节点,一般全部或大多数peer是用户节点;tracker是管理peer和进行peer定位的服务器。常见的集中式P2P系统有BT、PPLive等采用私有协议的P2P系统。目前,集中式P2P系统的标准协议有IETF(Internet EngineeringTask Force,互联网工程任务组)正在标准化的PPSP(Peer to Peer StreamingProtocol,P2P流媒体协议)。
在互联网中,NAT设备或防火墙设备有时会阻碍对端节点双方进行通信,而STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)和relay(中继)是NAT和防火墙穿越常用的方法。STUN是IETF制定的标准协议,STUN可以帮助检测NAT是否存在以及NAT的类型,还可以帮助NAT后的节点发现其反射地址。中继节点可以为NAT和防火墙后的节点中转报文,中继可以使用IETF制定的与应用无关的中继协议TURN(Traversal Using Relay NAT,通过中继方式穿越NAT),各协议也可以分别制定中继方法。
集中式P2P系统也同样面临着NAT和防火墙穿越问题。目前在集中式P2P系统中,已经提出了采用DHT(Distribute Hash Table,分布式哈希表)叠加网的NAT穿越方案,该方案利用DHT叠加网管理和发现提供STUN服务和中继服务的节点,利用DHT叠加网帮助两个peer交换NAT穿越所需的信息,该方案也能实现防火墙穿越。如图2所示,利用DHT叠加网进行NAT穿越的方法包括:
步骤201,peerA从tracker或第三方peer获取peer列表,从peer列表获取peer B的标识;
步骤202,peer A向第一个RELOAD(REsource LOcation And Discovery,资源定位与发现)peer发送AppAttach消息,该AppAttach消息中携带有peerA的通信地址及peer B的标识;且该AppAttach消息在多个RELOAD peer中依次转发;
步骤203,最后一个RELOAD peer根据peer B的标识将携带有peerA的通信地址及peer B的标识的AppAttach消息发送给peer B;
步骤204,peer B向最后一个RELOAD peer回应AppAttachAns消息,该AppAttachAns消息中携带有peer B的通信地址;且该AppAttachAns消息在多个RELOAD peer中依次转发;
步骤205,第一个RELOAD peer向peer A回应AppAttachAns消息,该AppAttachAns消息中携带有peer B的通信地址;
步骤206,peer A和peer B之间进行ICE(Interactive ConnectivityEstablishment,交互式连接建立)联通性测试。
但是,采用DHT叠加网的NAT穿越方案也存在一些缺点,如:如图1所示,该方案要求peer组成叠加网,会增加系统的复杂性;如图2所示,DHT叠加网采用的是标准的RELOAD协议,在利用DHT叠加网进行NAT穿越时,两个peer之间需要多个节点才能交换双方的通信地址,时延和开销大;此外,采用DHT叠加网的NAT穿越方案存在无法为对等节点优选STUN peer和中继peer的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种支持NAT穿越的集中式P2P系统、NAT穿越的方法,能够在进行NAT穿越时,减小时延和开销。
为达到上述目的,本发明的技术方案是这样实现的:
一种支持NAT穿越的集中式P2P系统,该系统包括:至少一个跟踪服务器和至少两个节点:第一节点和第二节点;其中,
第一节点,用于直接或间接从跟踪服务器获得欲通信的第二节点的通信地址;并发起从自身通信地址到第二节点通信地址的第一单向联通性测试,根据第一单向联通性测试的结果,选择能够相互通信的通信地址对;其中,一对通信地址对包含一个第一节点的通信地址和一个第二节点的通信地址;
第二节点,用于收集自身的通信地址并汇报给跟踪服务器。
进一步地,所述通信地址为主机地址、NAT辅助地址、UDP隧道地址、反射地址和中继地址中的一种或一种以上。
进一步地,当收集的通信地址为反射地址时,所述集中式P2P系统还包括STUN节点;
STUN节点,用于向跟踪服务器汇报自身的STUN能力和地址,还用于根据第二节点的请求发现并返回第二节点的反射地址;
第二节点,还用于直接或间接从跟踪服务器获得STUN节点的地址,并根据获得的STUN节点的地址向STUN节点请求发现第二节点的反射地址。
进一步地,当收集的通信地址为中继地址时,所述集中式P2P系统还包括中继节点;
中继节点,用于向跟踪服务器汇报自身的中继能力和地址,还用于根据第二节点的请求绑定两者的中继关系;
第二节点,还用于直接或间接从跟踪服务器获得中继节点的地址,并根据获得的中继节点的地址向中继节点请求绑定中继关系。
进一步地,第一节点和第二节点,还用于在第一节点选择能够相互通信的通信地址对之后,以提供/应答方式交换双方的通信地址,并发起从自身通信地址到对方通信地址的双向联通性测试;
第一节点或第二节点,还用于根据双向联通性测试的结果,选择能够相互通信的通信地址对。
进一步地,第一节点和第二节点,还用于在第一节点选择能够相互通信的通信地址对之后,以提供/应答方式交换双方的通信地址,
第二节点,还用于发起从自身通信地址到第一节点通信地址的第二单向联通性测试;
第一节点或第二节点,还用于根据第二单向联通性测试的结果,选择能够相互通信的通信地址对。
一种NAT穿越的方法,该方法包括:
第二节点收集自身的通信地址并汇报给跟踪服务器;
第一节点直接或间接从跟踪服务器获得欲通信的第二节点的通信地址;并发起从自身通信地址到第二节点通信地址的第一单向联通性测试,根据第一单向联通性测试的结果,选择能够相互通信的通信地址对;其中,一对通信地址对包含一个第一节点的通信地址和一个第二节点的通信地址。
进一步地,所述通信地址为主机地址、NAT辅助地址、UDP隧道地址、反射地址和中继地址中的一种或一种以上。
进一步地,当收集的通信地址为反射地址时,所述第二节点收集自身的通信地址具体为:
第二节点直接或间接从跟踪服务器获得STUN节点的地址,其中,STUN节点预先向跟踪服务器汇报自身的STUN能力和地址;
第二节点根据获得的STUN节点的地址向STUN节点请求发现第二节点的反射地址;
STUN节点返回发现的第二节点的反射地址。
进一步地,当收集的通信地址为中继地址时,所述第二节点收集自身的通信地址具体为:
第二节点直接或间接从跟踪服务器获得中继节点的地址,其中,中继节点预先向跟踪服务器汇报自身的中继能力和地址;
第二节点根据获得的中继节点的地址向中继节点请求绑定中继关系;
中继节点绑定两者的中继关系。
进一步地,在第一节点选择通信地址对之后,所述方法还包括:
第一节点和第二节点以提供/应答方式交换双方的通信地址;
第一节点和第二节点发起从自身通信地址到对方通信地址的双向联通性测试;
第一节点或第二节点根据双向联通性测试的结果,选择能够相互通信的通信地址对。
进一步地,在第一节点选择通信地址对之后,所述方法还包括:
第一节点和第二节点以提供/应答方式交换双方的通信地址;
第二节点发起从自身通信地址到第一节点通信地址的第二单向联通性测试;
第一节点或第二节点根据第二单向联通性测试的结果,选择能够相互通信的通信地址对。
由以上技术方案可以看出,在实现NAT和防火墙穿越时,第一节点能直接从tracker或第三方节点获得欲通信的第二节点的通信地址,因此与利用DHT叠加网的NAT方案相比,能够减小时延和开销,从而提高支持NAT和防火墙穿越的集中式P2P系统的性能。另外,所有节点将自身的信息都汇报至tracker,由tracker对所有节点,包括:STUN节点、中继节点和对等节点,进行集中式管理,因此与DHT叠加网相比,本发明的集中式P2P系统能够降低系统的复杂度。
附图说明
图1为现有技术利用DHT叠加网进行NAT穿越的集中式P2P系统的架构图;
图2为现有技术利用DHT叠加网进行NAT穿越的方法的流程图;
图3为本发明支持NAT和防火墙穿越的集中式P2P系统的架构图;
图4为本发明节点收集自身通信地址并汇报给跟踪服务器的流程示意图;
图5为本发明进行NAT和防火墙穿越的流程示意图。
具体实施方式
以下对本发明支持NAT和防火墙穿越的集中式P2P系统作详细说明。如图3所示,本发明支持NAT和防火墙穿越的集中式P2P系统包括:至少一个跟踪服务器和至少两个节点,假设这两个节点为发起通信的第一节点和欲通信的第二节点。
第一节点,用于直接或间接从跟踪服务器获得欲通信的第二节点的通信地址;并发起从自身通信地址到第二节点通信地址的第一单向联通性测试,根据第一单向联通性测试的结果,选择能够相互通信的通信地址对;其中,一对通信地址对包含一个第一节点的通信地址和一个第二节点的通信地址;
第二节点,用于收集自身的通信地址并汇报给跟踪服务器。
其中,第一节点间接从跟踪服务器获得第二节点的通信地址是指:第一节点从第三方节点获得第二节点的通信地址。第三方节点预先已从跟踪服务器获知第二节点的地址,或从另一第三方节点获知第二节点的地址,该另一第三方节点预先已从跟踪服务器获知第二节点的地址;简而言之,第三方节点可以直接或间接从跟踪服务器获知第二节点的地址。
其中,第二节点收集的通信地址包括主机地址、反射地址、中继地址、NAT辅助地址和UDP(用户数据包协议)隧道地址中的一种或一种以上。
如图3所示,集中式P2P系统还包括STUN节点;
STUN节点,用于向跟踪服务器汇报自身的STUN能力和地址,还用于根据第二节点的请求发现并返回第二节点的反射地址;
第二节点,还用于直接或间接从跟踪服务器获得STUN节点的地址,并根据获得的STUN节点的地址向STUN节点请求发现第二节点的反射地址。
其中,第二节点间接从跟踪服务器获得STUN节点的地址是指:第二节点从第三方节点获得STUN节点的地址。第三方节点预先直接或间接从跟踪服务器获得STUN节点的地址。
如图3所示,集中式P2P系统还包括中继节点;
中继节点,用于向跟踪服务器汇报自身的中继能力和地址,还用于根据第二节点的请求绑定两者的中继关系;
第二节点,还用于直接或间接从跟踪服务器获得中继节点的地址,并根据获得的中继节点的地址向中继节点请求绑定中继关系。
其中,第二节点间接从跟踪服务器获得中继节点的地址是指:第二节点从第三方节点获得中继节点的地址。第三方节点预先直接或间接从跟踪服务器获得中继节点的地址。
以下结合附图和具体实施例对本发明作进一步详细说明。
假设在支持NAT和防火墙穿越的集中式P2P系统中,peer A欲与NAT后的peer B进行通信,则在支持NAT和防火墙穿越的集中式P2P系统进行NAT和防火墙穿越之前,peer B需收集自身的通信地址并汇报给tracker,以使peer A能够获得;其中,peer B是拥有peer A所需内容的peer,或是peer A想进行VoIP(网络电话)、即时消息、视频电话类多媒体会话的对象peer。
如图4所示,peer收集自身通信地址并汇报给tracker的流程包括:
步骤401,peer向tracker或第三方节点查询STUN peer和中继peer;
其中,STUN peer指能够提供STUN服务的peer;中继peer指能够提供中继服务的peer;
步骤402,tracker或第三方节点向peer返回STUN peer和/或中继peer的地址;
在返回STUN peer和中继peer的地址之前,STUN peer已向tracker汇报自身的STUN能力和地址;中继peer已向tracker汇报自身的中继能力和地址;
tracker可以根据STUN peer或中继peer的负载、时延等因素,为peer优选STUN peer或中继peer,如向peer返回离peer较近或负载较小的STUNpeer或中继peer的地址;
另外,第三方节点预先直接或间接从tracker获知STUN peer和中继peer的地址;
步骤403,peer收集自身的主机地址;
主机地址可以收集一个或多个;
步骤404,peer根据STUN peer的地址向STUN peer发送STUN binding(绑定)请求消息,以请求STUN peer发现peer的反射地址;
步骤405,STUN peer通过STUN binding响应消息向peer返回其反射地址;
步骤404-405用于peer收集自身的反射地址;反射地址可以收集一个或多个;
另外,反射地址也可以通过UPNP(Universal Plug and Play,即插即用)等其他协议发现。
步骤406,peer根据中继peer的地址请求中继peer为自身服务,即请求绑定中继关系;
步骤407,中继peer向peer回复中继绑定成功响应,表明中继peer同意绑定两者的中继关系;
步骤406-407用于peer向中继peer注册以绑定中继关系,这样peer就可以使用中继节点的地址中转报文;
peer可以绑定一个或多个中继节点的地址;中继节点的地址对peer来说即是中继地址;
另外,步骤403、404-405、406-407之间向相互独立的,没有必然的先后顺序;
步骤408,peer通过在PPSP JOIN或JOIN_CHUNK请求消息中携带自身的通信地址向tracker汇报通信地址;
JOIN和JOIN_CHUNK请求消息分别用于请求加入某个内容或内容片的分发群体;
peer的通信地址包括:主机地址、反射地址和中继地址;根据收集情况,peer向tracker汇报的通信地址可以为前述三者中的一种、两种或三种;
步骤409,tracker向peer回复PPSP JOIN或JOIN_CHUNK成功响应。
peer B的通信地址还包括NAT辅助地址。在步骤408之前,peer B可以通过UPNP或其他协议与NAT设备直接通信获得NAT辅助地址。
节点通过UPNP获得NAT辅助地址的过程包括:节点通过GetExternalIPAddress消息向NAT设备请求外部IP地址;NAT设备通过200OK消息向节点回复成功响应,并返回外部IP地址;节点通过AddPortMapping消息向NAT设备请求绑定端口;NAT设备通过200OK消息向节点回复成功响应。节点获得的NAT辅助地址为(外部IP地址:外部端口)。
peer B的通信地址还包括UDP隧道地址。在步骤408之前,peer B可以通过Teredo协议获得UDP隧道地址。
在步骤408中,peer B汇报的通信地址可以为主机地址、反射地址、中继地址、NAT辅助地址和UDP隧道地址中的一种或一种以上。每种通信地址可以收集一个或一个以上。
在本发明支持NAT和防火墙穿越的集中式P2P系统中,每个STUN节点都向tracker汇报自身的STUN能力和地址,每个中继节点都向tracker汇报自身的中继能力和地址,每个对等节点都将收集的自身通信地址汇报给tracker,使tracker能为对等节点提供STUN节点的地址和/或中继节点的地址,还记录并提供对等节点的通信地址。
在peer B按照步骤401-409的流程收集和汇报自身的通信地址后,如图5所示,支持NAT和防火墙穿越的集中式P2P系统进行NAT和防火墙穿越的流程包括:
步骤501,peer A从tracker或第三方节点获得peer B的通信地址;
peer A获得peer B的通信地址的方式有多种:如果P2P系统是一个P2P内容分发系统,则peer A向tracker或第三方节点查询能够下载某一内容如电影的peer列表,peer A可以从peer列表中提取peer B的通信地址;如果P2P系统是一个P2P多媒体会话系统,则peer A向tracker查询某个好友的通信地址,tracker将该好友所在的节点如peer B的通信地址返回给peer A;
另外,第三方节点预先已直接或间接从tracker获知peer B的通信地址;
步骤502,peer A发起从自身通信地址到peer B通信地址的第一单向联通性测试;
联通性测试可以是与应用无关的采用STUN binding消息的ICE联通性测试;也可以是应用层采用P2P消息的联通性测试;
另外,peer A预先收集了自身的通信地址,包括:主机地址、反射地址、中继地址、NAT辅助地址和UDP隧道地址中的一种或一种以上;
步骤503,peer A根据上一步骤中第一单向联通性测试的结果,选择能够相互通信的通信地址对用于后续的P2P通信,一对通信地址对包含一个peer A的通信地址和一个peer B的通信地址;
步骤504,peer A和peer B以offer/answer(提供/应答)方式交换双方的通信地址,交换时采用P2P消息;
由于在步骤504中,节点A已得到能够相互通信的通信地址对,因此节点A和节点B可以以一对通信地址对为通信路径交换双方的通信地址;
步骤505,peer A和peer B发起从自身通信地址到对方通信地址的双向联通性测试,或peer B发起从自身通信地址到peer A通信地址的第二单向联通性测试;
该步骤中的联通性测试是与应用无关的采用STUN binding消息的ICE联通性测试;
步骤506,peer A或peer B根据上一步骤联通性测试的结果,选择能够相互通信的通信地址对用于后续的P2P通信,一对通信地址对包含一个peerA的通信地址和一个peer B的通信地址。
上述流程中,步骤504-506遵守目前的ICE标准流程,这三个步骤是可选的,因为在步骤503中,通信地址对是通过peer A到peer B的单向联通性测试所得,不一定是较优的通信地址对;如果认为在步骤503中得到的通信地址对不是较优的,则可以进行步骤504-506以期获得更优的通信地址对。双向联通性测试或者peer B到peer A的联通性测试可能会找到更优的通信路径,如不使用中继地址的通信路径,因为不经过中继节点。有时,一个较优的通信地址对正向连接测试不通,反向连接或双向连接测试才能通。比如,peer A有公网地址,不在NAT后,而peer B在严格的NAT后,则peer A到peer B的单向联通性测试最终只能找到一个能用的通信地址对(peer A的主机地址,peer B的中继地址),此时通信路径需要经过中继节点。如果联通性测试从peer B到peer A,则从peer B的反射地址能到达peer A的主机地址,不需要经过中继。又比如“NAT打洞”,有的通信路径需要双方共同发起联通性测试,只有在双向测试时才通。
虽然在结合图4和图5说明的具体实施例中以peer B为欲通信的一方即通信的接收节点为例进行说明,但本领域技术人员应当理解,该具体实施例所述技术方案也适用于集中式P2P系统中处于同等地位的其他节点。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (12)

1.一种支持NAT穿越的集中式P2P系统,其特征在于,该系统包括:至少一个跟踪服务器和至少两个节点:第一节点和第二节点;其中,
第一节点,用于直接或间接从跟踪服务器获得欲通信的第二节点的通信地址;并发起从自身通信地址到第二节点通信地址的第一单向联通性测试,根据第一单向联通性测试的结果,选择能够相互通信的通信地址对;其中,一对通信地址对包含一个第一节点的通信地址和一个第二节点的通信地址;
第二节点,用于收集自身的通信地址并汇报给跟踪服务器。
2.根据权利要求1所述的支持NAT穿越的集中式P2P系统,其特征在于,所述通信地址为主机地址、NAT辅助地址、UDP隧道地址、反射地址和中继地址中的一种或一种以上。
3.根据权利要求1所述的支持NAT穿越的集中式P2P系统,其特征在于,当收集的通信地址为反射地址时,所述集中式P2P系统还包括STUN节点;
STUN节点,用于向跟踪服务器汇报自身的STUN能力和地址,还用于根据第二节点的请求发现并返回第二节点的反射地址;
第二节点,还用于直接或间接从跟踪服务器获得STUN节点的地址,并根据获得的STUN节点的地址向STUN节点请求发现第二节点的反射地址。
4.根据权利要求1所述的支持NAT穿越的集中式P2P系统,其特征在于,当收集的通信地址为中继地址时,所述集中式P2P系统还包括中继节点;
中继节点,用于向跟踪服务器汇报自身的中继能力和地址,还用于根据第二节点的请求绑定两者的中继关系;
第二节点,还用于直接或间接从跟踪服务器获得中继节点的地址,并根据获得的中继节点的地址向中继节点请求绑定中继关系。
5.根据权利要求1至4中任一项所述的支持NAT穿越的集中式P2P系统,其特征在于,第一节点和第二节点,还用于在第一节点选择能够相互通信的通信地址对之后,以提供/应答方式交换双方的通信地址,并发起从自身通信地址到对方通信地址的双向联通性测试;
第一节点或第二节点,还用于根据双向联通性测试的结果,选择能够相互通信的通信地址对。
6.根据权利要求1至4中任一项所述的支持NAT穿越的集中式P2P系统,其特征在于,第一节点和第二节点,还用于在第一节点选择能够相互通信的通信地址对之后,以提供/应答方式交换双方的通信地址,
第二节点,还用于发起从自身通信地址到第一节点通信地址的第二单向联通性测试;
第一节点或第二节点,还用于根据第二单向联通性测试的结果,选择能够相互通信的通信地址对。
7.一种NAT穿越的方法,其特征在于,该方法包括:
第二节点收集自身的通信地址并汇报给跟踪服务器;
第一节点直接或间接从跟踪服务器获得欲通信的第二节点的通信地址;并发起从自身通信地址到第二节点通信地址的第一单向联通性测试,根据第一单向联通性测试的结果,选择能够相互通信的通信地址对;其中,一对通信地址对包含一个第一节点的通信地址和一个第二节点的通信地址。
8.根据权利要求7所述的NAT穿越的方法,其特征在于,所述通信地址为主机地址、NAT辅助地址、UDP隧道地址、反射地址和中继地址中的一种或一种以上。
9.根据权利要求7所述的NAT穿越的方法,其特征在于,当收集的通信地址为反射地址时,所述第二节点收集自身的通信地址具体为:
第二节点直接或间接从跟踪服务器获得STUN节点的地址,其中,STUN节点预先向跟踪服务器汇报自身的STUN能力和地址;
第二节点根据获得的STUN节点的地址向STUN节点请求发现第二节点的反射地址;
STUN节点返回发现的第二节点的反射地址。
10.根据权利要求7所述的NAT穿越的方法,其特征在于,当收集的通信地址为中继地址时,所述第二节点收集自身的通信地址具体为:
第二节点直接或间接从跟踪服务器获得中继节点的地址,其中,中继节点预先向跟踪服务器汇报自身的中继能力和地址;
第二节点根据获得的中继节点的地址向中继节点请求绑定中继关系;
中继节点绑定两者的中继关系。
11.根据权利要求7至10中任一项所述的NAT穿越的方法,其特征在于,在第一节点选择通信地址对之后,所述方法还包括:
第一节点和第二节点以提供/应答方式交换双方的通信地址;
第一节点和第二节点发起从自身通信地址到对方通信地址的双向联通性测试;
第一节点或第二节点根据双向联通性测试的结果,选择能够相互通信的通信地址对。
12.根据权利要求7至10中任一项所述的NAT穿越的方法,其特征在于,在第一节点选择通信地址对之后,所述方法还包括:
第一节点和第二节点以提供/应答方式交换双方的通信地址;
第二节点发起从自身通信地址到第一节点通信地址的第二单向联通性测试;
第一节点或第二节点根据第二单向联通性测试的结果,选择能够相互通信的通信地址对。
CN201010510073.7A 2010-10-15 2010-10-15 支持nat穿越的集中式p2p系统、nat穿越的方法 Expired - Fee Related CN102447749B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010510073.7A CN102447749B (zh) 2010-10-15 2010-10-15 支持nat穿越的集中式p2p系统、nat穿越的方法
PCT/CN2011/079838 WO2012048613A1 (zh) 2010-10-15 2011-09-19 支持nat穿越的集中式p2p系统、nat穿越的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010510073.7A CN102447749B (zh) 2010-10-15 2010-10-15 支持nat穿越的集中式p2p系统、nat穿越的方法

Publications (2)

Publication Number Publication Date
CN102447749A true CN102447749A (zh) 2012-05-09
CN102447749B CN102447749B (zh) 2015-10-28

Family

ID=45937882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010510073.7A Expired - Fee Related CN102447749B (zh) 2010-10-15 2010-10-15 支持nat穿越的集中式p2p系统、nat穿越的方法

Country Status (2)

Country Link
CN (1) CN102447749B (zh)
WO (1) WO2012048613A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888500A (zh) * 2012-12-21 2014-06-25 联想(北京)有限公司 一种数据传输方法及电子设备
WO2014101159A1 (zh) * 2012-12-31 2014-07-03 华为技术有限公司 设置、处理交互式连接建立ice地址的方法、装置和服务器
CN104702565A (zh) * 2013-12-05 2015-06-10 中兴通讯股份有限公司 媒体资源共享的方法、共享服务器及共享系统
CN106254410A (zh) * 2016-02-05 2016-12-21 物联智慧科技(深圳)有限公司 网络系统及建立数据连接的方法
TWI575915B (zh) * 2014-10-31 2017-03-21 Papago Inc Network point - to - point connection switching system and method
CN107645528A (zh) * 2016-07-22 2018-01-30 上海云熵网络科技有限公司 集群式透网服务的处理系统与方法
CN108270826A (zh) * 2016-12-30 2018-07-10 中国移动通信集团广东有限公司 移动终端点对点通信方法及协商节点
CN108306986A (zh) * 2018-03-28 2018-07-20 北京大米科技有限公司 多类型媒体数据网络地址转换穿越方法、终端及系统
CN109088958A (zh) * 2018-09-19 2018-12-25 腾讯数码(天津)有限公司 数据传输方法及计算机设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791432A (zh) * 2016-04-26 2016-07-20 深圳市汇海威视科技有限公司 一种p2p通信方法和p2p通信系统
CN109660637B (zh) * 2018-11-16 2024-01-19 深圳市网心科技有限公司 P2p打洞传输方法和系统、电子装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179581A (zh) * 2007-12-13 2008-05-14 北京邮电大学 一种采用ice中继候选地址进行媒体传输的方法
CN101369959A (zh) * 2007-08-14 2009-02-18 中兴通讯股份有限公司 一种支持点对点业务的网络地址转换穿越方法
US20100182995A1 (en) * 2009-01-21 2010-07-22 National Taipei University Of Technology NAT traversal method in Session Initial Protocol

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2003858A1 (en) * 2007-06-14 2008-12-17 Nokia Siemens Networks Oy Performing interactive connectivity checks in a mobility environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369959A (zh) * 2007-08-14 2009-02-18 中兴通讯股份有限公司 一种支持点对点业务的网络地址转换穿越方法
CN101179581A (zh) * 2007-12-13 2008-05-14 北京邮电大学 一种采用ice中继候选地址进行媒体传输的方法
US20100182995A1 (en) * 2009-01-21 2010-07-22 National Taipei University Of Technology NAT traversal method in Session Initial Protocol

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888500B (zh) * 2012-12-21 2017-11-03 联想(北京)有限公司 一种数据传输方法及电子设备
CN103888500A (zh) * 2012-12-21 2014-06-25 联想(北京)有限公司 一种数据传输方法及电子设备
WO2014101159A1 (zh) * 2012-12-31 2014-07-03 华为技术有限公司 设置、处理交互式连接建立ice地址的方法、装置和服务器
CN104255014A (zh) * 2012-12-31 2014-12-31 华为技术有限公司 设置、处理交互式连接建立ice地址的方法、装置和服务器
CN104702565A (zh) * 2013-12-05 2015-06-10 中兴通讯股份有限公司 媒体资源共享的方法、共享服务器及共享系统
TWI575915B (zh) * 2014-10-31 2017-03-21 Papago Inc Network point - to - point connection switching system and method
CN106254410A (zh) * 2016-02-05 2016-12-21 物联智慧科技(深圳)有限公司 网络系统及建立数据连接的方法
CN107645528A (zh) * 2016-07-22 2018-01-30 上海云熵网络科技有限公司 集群式透网服务的处理系统与方法
CN108270826A (zh) * 2016-12-30 2018-07-10 中国移动通信集团广东有限公司 移动终端点对点通信方法及协商节点
CN108270826B (zh) * 2016-12-30 2021-06-01 中国移动通信集团广东有限公司 移动终端点对点通信方法及协商节点
CN108306986A (zh) * 2018-03-28 2018-07-20 北京大米科技有限公司 多类型媒体数据网络地址转换穿越方法、终端及系统
CN108306986B (zh) * 2018-03-28 2020-10-27 北京大米科技有限公司 多类型媒体数据网络地址转换穿越方法、终端及系统
CN109088958A (zh) * 2018-09-19 2018-12-25 腾讯数码(天津)有限公司 数据传输方法及计算机设备

Also Published As

Publication number Publication date
WO2012048613A1 (zh) 2012-04-19
CN102447749B (zh) 2015-10-28

Similar Documents

Publication Publication Date Title
CN102447749A (zh) 支持nat穿越的集中式p2p系统、nat穿越的方法
US8560607B2 (en) Method based on the combination of the UPnP and STUN for NAT traversal
US7529255B2 (en) Peer-to-peer multicasting using multiple transport protocols
CA2678714C (en) Bootstrapping in peer-to-peer networks with network address translators
US7996543B2 (en) Client-to-client direct RTP exchange in a managed client-server network
US9401891B2 (en) Network address translation traversals for peer-to-peer networks
CN101741914B (zh) 一种p2p网络中穿透nat建立覆盖网的方法和系统
TWI441493B (zh) 網路位址轉換的系統與方法
CN103108089B (zh) 网络系统的连线建立管理方法及其相关系统
CN100521663C (zh) 点对点通信中穿越网络地址转换的方法
CA2884683C (en) Split network address translation
CN101515882B (zh) 一种局域网与公网通信的方法、设备及系统
US8601140B2 (en) Method for acquiring traversal resource, peer to peer node and peer to peer system
CN101895590A (zh) 基于udt实现nat穿越的系统和方法
CN1917512B (zh) 一种建立对等直连通道的方法
WO2019184262A1 (zh) 多类型媒体数据网络地址转换穿越方法、终端及系统
CN103107983A (zh) 网络系统的数据管理方法及其相关系统
CN102291473B (zh) 一种家庭网络设备管理系统穿透nat方法
Matuszewski et al. Mobile P2PSIP-Peer-to-Peer SIP communication in mobile communities
Tseng et al. Can: A context-aware NAT traversal scheme
CN102457580A (zh) Nat穿越方法及系统
Phuoc et al. NAT traversal techniques in peer-to-peer networks
CN102571797A (zh) 一种通过UPnP改善STUN-P2P穿透率与稳定性的方法
TWI508495B (zh) Method of exchanging distributed network messages
CN108337331B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151028

Termination date: 20201015

CF01 Termination of patent right due to non-payment of annual fee