CN101459689A - 建立连接的方法 - Google Patents

建立连接的方法 Download PDF

Info

Publication number
CN101459689A
CN101459689A CNA2008101871038A CN200810187103A CN101459689A CN 101459689 A CN101459689 A CN 101459689A CN A2008101871038 A CNA2008101871038 A CN A2008101871038A CN 200810187103 A CN200810187103 A CN 200810187103A CN 101459689 A CN101459689 A CN 101459689A
Authority
CN
China
Prior art keywords
peers include
peer
relaying
peers
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.)
Pending
Application number
CNA2008101871038A
Other languages
English (en)
Inventor
A·赫尔特勒
M·皮雷尔
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.)
Alcatel Lucent SAS
Alcatel Optical Networks Israel Ltd
Original Assignee
Alcatel Optical Networks Israel Ltd
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 Alcatel Optical Networks Israel Ltd filed Critical Alcatel Optical Networks Israel Ltd
Publication of CN101459689A publication Critical patent/CN101459689A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • 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
    • 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/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing
    • 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
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • 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
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种建立连接的方法。本发明涉及一种在对等网络(160)中建立连接的方法,以及一种对等端,一种包括该对等网络(160)的电信基础设施,以及一种用以执行所述方法的计算机程序产品。在该对等网络(160)中的第一地址范围内的第一对等端(61)与该对等网络(160)中的第二地址范围内的第二对等端(62)之间建立连接。在该对等网络(160)中,网络地址翻译被发现,其阻止该第一对等端(61)与该第二对等端(62)之间的直接连接。确定对等网络(160)中的第三对等端作为中继对等端(R)。该中继对等端(R)在该第一对等端(61)和该第二对等端(62)之间中继连接。

Description

建立连接的方法
技术领域
本发明涉及一种在对等网络中建立连接的方法,以及一种对等端,一种包括对等网络的电信基础设施,以及一种用以执行所述方法的计算机程序产品。
背景技术
网络经营者(运营商和企业)极度需要具有最小CAPEX/OPEX的轻量级解决方案以保持竞争性以及巩固客户归属(CAPEX=资本开销;OPEX=运营开销)。
具有最小集中式基础设施的低OPEX系统通常在覆盖网络中使用高度分布的数据库。覆盖网络,例如对等(=P2P)网络,是在现有IP网络(IP=因特网协议)的上层的虚拟网络。现代的P2P系统,如Chord,用图(节点和边的结构)来组织参与对等端。节点代表参与对等端而边代表两个对等端之间的邻居关系。在一个覆盖中的每个对等端具有唯一的标识符(对等端ID或节点ID),该标识符限定了其在该覆盖中的位置(ID=标识符/识别符)。作为邻居的对等端经由直接IP连接相连。良好构建的覆盖对于有效路由和查找机制而言是必须的。可以在不知道目的地对等端的IP地址的条件下经由覆盖来向其他对等端发送消息。
网络地址翻译(=NAT)路由器给P2P网络中的连接建立带来公知的问题:P2P覆盖中的每个参与方(对等端)可以位于公共IP地址范围内或者位于一个或多个NAT设备后面的私有IP地址范围内。假设高百分比的用户因特网节点位于NAT路由器之后。私有范围中的对等端不能从公共范围或者从不同的私有范围直接到达。因为相关NAT设备的协作不能被保证,所以需要NAT穿越(traversal)解决方案,其依赖于对NAT行为的预测而不是NAT设备的协作。
发明内容
本发明的目的是改善具有NAT的P2P网络中的连接建立。
本发明的目的通过一种在对等网络中的第一地址范围内的第一对等端与该对等网络中的第二地址范围内的第二对等端之间建立连接的方法来实现,其中该方法包括步骤:在该对等网络中发现阻止在第一对等端与第二对等端之间的直接连接的网络地址翻译,确定该对等网络中的第三对等端作为中继对等端,以及由中继对等端在第一对等端和第二对等端之间中继连接。本发明的目的还通过一种对等网络中的对等端来实现,这种对等网络包括在该对等网络中的第一地址范围内的一个或多个对等端以及在该对等网络中的第二地址范围内的一个或多个对等端,其中所述对等端包括:发现装置,其适于在对等网络中发现阻止该对等端与另一地址范围内的对等端之间的直接连接的网络地址翻译;确定装置,其适于确定对等网络中的一个对等端作为中继对等端;中继装置,其适于支持所述对等网络中的第一地址范围内的第一对等端与所述对等网络中的第二地址范围内的第二对等端之间的连接的中继;以及传输装置,其适于在对等网络中传输信息,特别是连接信息。以及本发明的目的通过一种包括对等网络的电信基础设施来实现,该对等网络具有该对等网络中的第一地址范围内的第一对等端和该对等网络中的第二地址范围内的第二对等端,其中该电信基础设施还包括阻止在第一对等端与第二对等端之间的直接连接的网络地址翻译,以及对等网络中的第三对等端,其中该第三对等端被确定作为适于在第一对等端和第二对等端之间中继连接的中继对等端。此外,本发明的目的还通过一种用于在对等网络中建立连接的计算机程序产品来实现,该对等网络包括对等网络中的第一地址范围内的一个或多个对等端和对等网络中的第二地址范围内的一个或多个对等端,其中该计算机程序产品当被该对等网络中的对等端执行时执行步骤:在对等网络中发现阻止在第一对等端与另一地址范围中的第二对等端之间的直接连接的网络地址翻译;确定对等网络中的第三对等端作为中继对等端;支持在对等网络中的第一地址范围内的第一对等端与对等网络中的第二地址范围内的第二对等端之间的连接的中继;以及在对等网络中传输信息,特别是连接信息。
本发明提供一种用以解决P2P网络中的NAT穿越问题的新的可能方式。像穿洞(Hole Punching)、STUN、TURN和ICE这样的现有技术的解决方案需要中央服务器部件,因此带来严重的缺陷,因为中央部件不随着P2P网络中的对等端的数量一起缩放并且中央部件增加了服务提供商的OPEX(STUN=通过网络地址翻译的用户报文协议的简单穿越;TURN=使用中继NAT的穿越;ICE=交互连接性建立)。
与前面所提及的公知的现有技术的解决方案相反,本发明通过使用彻底的NAT穿越解决方案来增强结构化的P2P覆盖网络,使对中央服务器部件的需求达到最小。
使对中央服务器部件的需求达到最小带来了若干好处。首先,其对于服务提供商而言意味着较低的OPEX,因为参与用户的资源被用于提供所需要的服务。其次,获得了更好的缩放性,因为随着覆盖中具有更多的参与者,提供所需要的服务的对等端的数目也在增长。第三,使用本发明的P2P网络增强了抵抗拒绝服务攻击的鲁棒性,因为不存在可被作为目标的中央实例。
然而,前面所提及的现有技术的解决方案没有考虑结构化的P2P覆盖(例如Chord)的特殊需求和可能性,本发明通过允许私有地址范围内的对等端能够穿越它们的NAT并参与到覆盖中,从而增强了结构化的P2P覆盖网络。
此外,本发明在每个对等端上管理一个IP地址。因为P2P网络中的对等端常常仅具有一个IP地址,所以这意味着与STUN服务器以及TURN服务器相比的极大的简化——因为TURN是STURN的扩展——STUN服务器和TURN服务器需要两个IP地址用于检测NAT的行为。由此,将本发明集成进普通P2P网络是清楚和简单的。
根据本发明,当一个对等端加入覆盖时,该对等端与多个对等端交互以探测其“连接信息”。该连接信息包括NAT行为、公共端点和私有端点。虽然为了探测该连接信息,使用了与STURN相类似的协议,但是却不需要第二个IP地址。通过这种方式,覆盖中的位于公共范围内的每个对等端都可以提供这种服务。
根据本发明,当一个对等端希望与另一对等端建立连接时,它们两者经由覆盖来交换它们的连接信息。通过这种方式,不需要集合(rendezvous)服务器。利用交换的连接信息,这两个对等端尝试基于穿洞(Hole Punching)机制来建立直接连接。
还未加入覆盖的对等端不能接收它对应的连接方的连接信息。该连接信息经由覆盖进行路由并且仅能在已经加入覆盖的对等端处进行寻址。由此,正在加入的对等端需要已经加入覆盖的对等端的帮助。该对等端中继用于在正在加入的对等端与覆盖之间建立连接所需的消息。
根据本发明,如果直接连接尝试失败,则希望建立连接的两个对等端请求第三对等端的帮助,第三对等端将在这两个对等端之间中继消息。这两个对等端建立到中继对等端的直接连接。优选地,中继对等端已经建立到这两个对等端中的一个的直接连接。重用已经建立的直接连接有助于使连接建立的努力减到最小。
其他优点通过各从属权利要求所指示的本发明的实施例来实现。
根据本发明的优选实施例,对所述网络地址翻译的发现是基于对等网络的拓扑和连接信息的。P2P网络中的每个对等端具有特定于该对等端的自己的连接信息。可以经由连接信息到达已经被集成进P2P网络的覆盖的对等端。优选地,对等端特定的连接信息包括指明与该对等端相关联的NAT的NAT类型、一个或多个自察觉的端点以及一个或多个UNSAF推导出的端点(UNSAF=单方自地址确定)。优选地,对等端特定的连接信息还包括一个或多个中继候选者。
NAT类型由映射行为(没有映射、EIM、ADM、PDM)、过滤行为(EIF、ADF、PDF)和U形(hairpin)翻译(可能、不可能)来表示(EIM=不基于端点的映射;ADM=基于地址的映射;PDM=基于地址和端口的映射;EIF=不基于端点的过滤;ADF=基于地址的过滤;PDF=基于地址和端口的过滤)。自察觉的端点是IP地址和端口的元组,其是通过使用本地操作系统的方法发现的。UNSAF推导出的端点是IP地址和端口的元组,其是经由UNSAF机制(例如STUN)发现的。如果对等端未被NAT,也即不是位于NAT设备的后面,则UNSAF推导出的端点与自察觉的端点是相同的。中继候选者表示P2P网络中提供中继服务的对等端。候选者是通过这种对等端中的对等端ID和用于对中继候选者进行排名的一组启发值来标识的。
优选地,对所述网络地址翻译的发现是基于连接信息的,该连接信息包括对所发现的网络地址翻译的行为的说明、与第一地址范围内的第一对等端相关联的端点以及与第二地址范围内的第二对等端相关联的端点。
根据本发明的另一优选实施例,第一对等端和第二对等端经由对等网络中的一个或多个其他对等端用一跳接一跳路由的方式在第一对等端和第二对等端之间交换它们各自的连接信息。
如果需要在两个对等端之间建立连接,则两个对等端都需要交换先前所收集的连接信息。连接信息是经由P2P覆盖来交换的。为了确保对网络的影响最小,仅有两种消息被发送:连接请求和连接响应。连接请求消息包含请求对等端(也即第一对等端)的连接信息和连接ID。连接ID被用于识别属于这个建立连接的尝试的消息。连接响应需要包含与连接请求相同的连接ID。通常,连接响应包含做出响应的对等端(也即第二对等端)的连接信息。如果连接响应没有包含响应对等端(也即第二对等端)的连接信息,则连接响应必须被解释成拒绝该连接请求。如果出于某种原因(例如因为响应对等端正离开P2P网络或者已经到达它的连接极限)该响应对等端不能建立连接,则连接请求可被拒绝。
根据本发明的另一优选实施例,经由中继对等端在第一对等端和第二对等端之间建立中继连接是通过以下步骤来执行的。第一步是由第一对等端向中继对等端发送包含第一对等端的连接信息的中继连接请求。下一步包括由中继对等端向第一对等端发送包含中继对等端的连接信息的中继连接响应。下一步包括如果在第一对等端和中继对等端之间还没有建立任何直接连接,则在第一对等端和中继对等端之间建立直接连接。如果在第一对等端和中继对等端之间已经建立直接连接,则跳过在第一对等端和中继对等端之间建立直接连接的步骤,因为不需要在第一对等端和中继对等端之间重新建立直接连接。
下一步包括由第一对等端向第二对等端发送中继发现消息,其包括中继对等端的对等端标识符。下一步包括由第二对等端向中继对等端发送中继连接请求,其包括第二对等端的连接信息。下一步包括由中继对等端向第二对等端发送中继连接响应,其包括中继对等端的连接信息。并且下一步包括如果在第二对等端与中继对等端之间还没有建立任何直接连接,则在第二对等端与中继对等端之间建立直接连接。如果在第二对等端与中继对等端之间已经建立直接连接,则跳过在第二对等端与中继对等端之间建立直接连接的步骤,因为不需要在第二对等端与中继对等端之间重新建立直接连接。
在优选的实施例中,第一对等端和/或第二对等端提供包含一个或多个中继候选者的列表。中继对等端是从该列表中选出的。该选择可以基于以下步骤中的一个或多个:选择在对等网络中已经建立的一个或多个直接连接可以被重用于第一对等端与第二对等端之间的中继连接的中继候选者;并且优先选择相比其他中继候选者承担较少中继连接的中继候选者。在建立中继连接时对现有直接连接的重用减少了为了创建和维护覆盖网络所必须的保持激活流量。
根据本发明的另一优选实施例,该方法包括向对等网络中的公共可达地址范围内的一个对等端发送自举请求的步骤,该自举请求包括第一对等端的连接信息,其中对等网络中的公共可达地址范围内的这个对等端充当自举对等端。下一步包括由自举对等端中继在第一对等端与第二对等端之间交换的消息。
优选地,终止中继连接包括以下步骤:第一步包括通过由第一对等端向中继对等端发送释放中继消息来终止中继连接,该释放中继消息声明中继连接是不必要的。下一步包括由中继对等端将从第一对等端接收到的释放中继消息转发给第二对等端。下一步包括由第二对等端向中继对等端发送释放中继消息。下一步包括由中继对等端将从第二对等端接收到的释放中继消息转发给第一对等端。以及下一步包括在第一对等端处接收到转发来的释放中继消息之后终止中继连接。
附图说明
通过结合附图阅读以下对目前优选的示例性实施例的详细描述,本发明的这些以及其他特征和优点将被更好地理解。其中:
图1是根据本发明的实施例的对等网络的框图;
图2是根据本发明的实施例的对等网络中的自举服务的示图;
图3是在根据本发明的实施例的对等网络中建立直接连接的示图;
图4是在根据本发明的实施例的对等网络中终止直接连接的示图;
图5是根据本发明的实施例的中继候选者的有序列表;
图6是在根据本发明的实施例的对等网络中建立中继连接的示图;
图7是在根据本发明的实施例的对等网络中终止中继连接的示图;以及
图8是在对等网络中根据本发明的实施例的对等端的框图。
具体实施方式
图1示出P2P网络100,例如表示像SIP网络这样的电信基础设施。P2P网络100包括在该P2P网络100中的公共地址范围101内提供UNSAF服务的第一对等端1和在该P2P网络100中的私有地址范围102内的第二对等端2。NAT设备21,例如带有NAT的家乡路由器,将私有地址范围102与公共地址范围101分隔开。第二对等端2是位于NAT后面的对等端(也即所谓的NAT对等端)并且从公共地址范围101仅可经由NAT设备21来到达。
UNSAF服务允许对等端请求UNSAF服务以探测在它们与提供UNSAF服务的对等端之间是否存在任何NAT设备。如果存在NAT设备,则可以探测其行为以及由NAT设备分配给请求UNSAF服务的对等端的公共端点。这种UNSAF服务可以被看成轻便版本的STUN:当探测NAT行为时,在交换中因为较低的准确度的原因而不需要第二IP地址。仅驻留在公共地址范围内的对等端可提供UNSAF服务。提供这种服务的对等端必须在预定端口上监听UNSAF请求。
在一个对等端可以参与P2P网络100的覆盖网络之前,它需要探测其连接信息(=CI),其包括NAT行为(behaviour)、公共端点、私有端点和中继候选者列表。对CI的探测开始于私有端点。端点由IP地址和端口号来表示。IP地址可以从操作系统中获取,端口号可以由对等端来选择。第二对等端必须知道提供UNSAF服务的至少一个第一对等端的端点。仅仅作为后退(fallback)解决方案,第二对等端可参考中央服务器以获取这种端点。
第二对等端2从第二对等端的端点(=私有端点)发送UNSAF请求201给第一对等端1的UNSAF端点。当该UNSAF请求201通过NAT设备21时,在UNSAF请求201中被指明为源端点的私有端点由NAT设备21的端点(=被分配的端点)所替代。这与位于NAT后面的基本思想是一致的。提供UNSAF服务的第一对等端1处理接收到的UNSAF请求201。第一对等端1从UNSAF请求201中提取源端点(也即NAT设备21的端点)(=被分配的端点)。第一对等端1生成对UNSAF请求201的UNSAF响应202并且在UNSAF响应202中将所提取的源端点(=被分配的端点)写成目的地端点。换言之,第一对等端1将UNSAF响应202编址到被分配的端点,也即NAT设备21的端点。当UNSAF响应202通过NAT21时,在UNSAF响应202中所指明的目的地端点(也即被分配的端点)被第二对等端2的私有端点替代。但是UNSAF响应202的有效载荷仍然包含被分配的端点。
这意味着UNSAF响应202在有效载荷中包含第一对等端1从UNSAF请求201中提取的源端点。第二对等端2接收UNSAF响应202并且检查有效载荷中的这个源端点是否与第二对等端2发送UNSAF请求201的私有端点相同。如果该源端点与第二对等端2发送UNSAF请求201的私有端点相同,则可以得出第二对等端2位于公共地址范围101内的结论。否则,UNSAF请求201通过NAT设备21。因此,第二对等端2位于私有地址范围102内并且需要查明它的NAT设备21的行为。
UNSAF响应202还包含提供UNSAF服务的第一对等端1所已知的其他对等端的端点列表。通过这种方式,第二对等端2可针对不同对等端重复该UNSAF过程。
本发明依赖于在建立连接之前在两个对等端之间交换连接信息(CI)。CI是通过经由覆盖发送的消息来交换的。但是这些消息仅能够到达已经被集成进覆盖中的对等端。如果新的对等端准备加入覆盖,则它需要已经被集成进该覆盖的对等端的帮助。基本上,这可以是通过公共地址可到达的任何对等端。提供自举服务的对等端在加入对等端和覆盖之间中继消息。仅位于公共范围内的对等端可以提供自举服务。提供自举服务的对等端必须在预定端口上监听自举请求。
图2示出具有自举对等端BP、邻居对等端22和多个其他对等端220-223的P2P网络的覆盖120。自举对等端BP和邻居对等端22已经全部集成进P2P覆盖120中并且能够经由覆盖120接收消息。加入对等端11还未集成进P2P覆盖120中。当加入对等端11正加入该覆盖网络120时,以下两个步骤需要被执行。加入对等端11已经探测它的CI并且准备加入覆盖120。由此,加入对等端11需要与一个对等端(例如对等端22)建立连接,通过该对等端,加入对等端11将共享DHT职责,如P2P协议要求的那样(DHT=分布式哈希表)。
加入对等端11发送自举请求210给在探测CI期间联系的多个对等端中的一个,例如自举对等端BP。自举请求消息210包含加入对等端11的CI和加入对等端11的对等端ID,对等端ID确定加入对等端11在覆盖120中的未来的位置。因此,消息210可以被编址到邻居对等端22。自举对等端BP经由覆盖120中的其他对等端220-223中的一个或多个通过一跳接一跳的路由211将加入对等端11的CI经由覆盖120转发给邻居对等端22。邻居对等端22接收加入对等端11的CI并且生成包含邻居对等端22的CI的响应。该响应被经由覆盖120中的其他对等端220-223中的一个或多个通过一跳接一跳的路由212发送给自举对等端BP。一旦来自邻居对等端22的响应被自举对等端BP接收到,则自举对等端BP将自举响应消息213发送回加入对等端11,自举响应消息213包含邻居对等端22的CI。在这些步骤之后,加入对等端11被全部集成进覆盖120中。
图3示出具有第一对等端31、第二对等端32和多个其他对等端320-323的P2P网络的覆盖130。第一对等端31希望与第二对等端32建立连接。为了在第一对等端31与第二对等端32之间建立直接连接,需要执行以下步骤:第一对等端31经由覆盖130中的其他对等端320-323中的一个或多个通过一跳接一跳路由的方式发送连接请求消息310给第二对等端32,其中连接请求消息310包含第一对等端31的CI。在接收到连接请求310之后,第二对等端32经由覆盖130中的其他对等端320-323中的一个或多个通过一跳接一跳路由的方式发送连接响应消息311给第一对等端31,连接响应消息311包含第二对等端32的CI。接着,对等端31、对等端32二者都知道彼此的CI。对等端31、对等端32二者都需要评估已交换的CI以确定最优连接途径。如果直接连接是可能的话,则它依赖于所涉及的NAT设备的行为。评估结果是三种可能结果中的一个:
I)这两个对等端位于相同的私有范围内,可以通过使用私有端点来建立直接连接。
II)这两个对等端能够通过使用公共端点来建立直接连接。
III)所涉及的NAT设备的行为阻止直接连接。需要找到提供中继服务的第三对等端。在下面可以找到关于建立中继连接的更多细节。
为了建立中继连接,UNSAF导出的端点或者自察觉出的端点都可以被使用。
如果使用私有端点来建立直接连接的尝试失败了,则尝试使用公共端点来建立直接连接。如果使用公共端点来建立中继连接的尝试失败了,则建立中继连接。
图3描述可以建立直接连接的情况。直接连接可以经由公共端点或者经由私有端点来建立,其在评估阶段被确定。每个对等端31、对等端32开始发送连接消息312、323给其他对等端31、对等端32中的相应端点。当对等端31、对等端32二者都已经接收到至少一个连接消息时,连接被建立。如果对等端31、对等端32中的一个在多次尝试之后仍不能接收连接消息,则尝试失败。一旦建立直接连接,则需要定期在双方向上发送保持激活消息以刷新NAT映射和过滤规则。
图4说明直接连接的终止。图4示出具有第一对等端31和第二对等端32的P2P网络的覆盖130。一旦在第一对等端31与第二对等端32之间的直接连接410不再需要,则它可以被终止以释放P2P网络的资源。一个连接在P2P协议需要它或者在这个连接是中继的一部分的条件下是必须的。第一对等端31通过发送释放消息411来通知第二对等端32连接410是不必要的。作为替代,第一对等端31通过发送分配消息来通知第二对等端32连接410是必须的(未示出)。当第二对等端32已经从第一对等端31接收到释放消息411并且明白了连接410不再需要时,第二对等端32也发送释放消息412给第一对等端。对等端31、对等端32二者都认为这个连接410是不必要的,由此它被终止。如果对等端31、对等端32二者都认为连接410是不必要的,则连接被终止。
如果对等端31、对等端32中的一个准备离开覆盖130,则它发送终止消息给另一个以关闭连接410。如果对于特定持续时间没有接收到任何保持激活消息,则连接410也被终止。
在某些情况下,在两个对等端之间的直接连接不能被建立。于是,两个对等端需要在这个两个对等端之间中继连接的第三对等端的帮助(中继连接建立)。从第一对等端到第二对等端的中继连接由从第一对等端到中继对等端的直接连接和从第二对等端到中继对等端的直接连接构成,其中中继对等端是提供中继服务的对等端。每个对等端维持中继候选者的列表。对等端必须满足某种要求以变成中继候选者:这个对等端必须不位于具有ADM、PDM或PDF行为的NAT后面。当一个对等端建立到另一对等端的直接连接并且其他对等端满足前面所述的要求时,这个其他对等端被添加到中继候选者列表。当建立连接时,这个列表与CI一起被交换。
当在两个对等端之间需要中继连接时,首先需要发现最优中继。在交换连接信息的过程中,两个对等端还交换中继候选者,作为连接信息的一部分。这两个对等端的交换CI中的每个均包含中继候选者列表。这两个对等端的两个列表被合并。由此,被集成进覆盖的每个对等端必须知道至少一个中继候选者。并且准备加入覆盖的对等端知道自举对等端,自举对等端必须位于公共范围内。同样,为了发现提供中继服务的对等端,后退解决方案可能是必须的。在交换连接信息之后,两个对等端都具有相同的中继候选者列表。
在该列表上的每个中继候选者被排名以确定哪一个中继候选者应当被首先联系。优选地,列表上的中继候选者用启发值来排名。两个合适的用于排名的值是重用和集中(concentration):
重用现有连接的值是基于优化网络流量的目标。为了最小化对网络的压力,最佳的是重用已经建立的直接连接作为中继连接的一部分。已经建立的连接应当被重用。如果两个对等端都已经建立了到中继候选者的连接,则那个对等端将是最优的并且对连接的重用将被最大化。如果对等端中的一个已经建立了连接,则它也将是附带的好处。
根据本发明的优选实施例,如果本地对等端具有到中继候选者的激活的直接连接,则重用值是1。如果在交换连接信息之后知道两个对等端都具有到相同中继候选者的激活的连接,则它是2。因此已经与两个对等端都建立直接连接的中继候选者相对于仅具有到两个中的一个的直接连接的中继候选者而言是优选的。
中继连接的集中值与多样化有关。如果一个对等端建立的所有连接需要经由相同中继对等端的中继并且该中继对等端离开网络,则所有连接都必须重新建立。由此,优选的是将中继连接分散在多个对等端上,也即将中继连接散布在不同中继对等端上。因此,具有较少的激活的中继连接的中继候选者优于具有较多连接的中继候选者。根据本发明的优选实施例,集中值等于已经经由该中继候选者建立的且是激活的中继连接的数目。
对于信令中继,像反应时间或带宽之类的值是不相关的,因为信令流量不同于媒体流量,既不是时间要求严格的也不费带宽。一旦确定需要建立中继连接,则请求对等端的任务是从列表中选择合适的中继候选者。该列表包括来自请求对等端的连接信息的中继候选者和响应对等端的中继候选者的联合。
优选地,该列表通过使用启发值来排序:重用是最主要的排序标准,紧随的是集中。重用值越高,中继候选者在列表中的排名就越高。集中值越低,排名就越高。在图5中示出了已排序的列表的例子。列表50包括四列51到54和五行511到515。列51给出五个中继候选者的对等端ID。列52给出归因于五个中继候选者的重用值。列53给出归因于五个中继候选者的集中值。列54给出五个中继候选者中的每个的排名,最高排名的中继候选者位于顶部。
请求对等端接着试图与行511中的最高排名的候选者建立中继连接。如果失败了(例如,中继候选者拒绝该请求或者根本没有响应),则列表50被一行一行地向下处理直到连接可以建立。这意味着请求对等端试图与行512中的排名第二的候选者、行513中的排名第三的候选者等等建立中继连接,直到连接可以建立为止。
一旦请求对等端已经对中继候选者进行了排名并且选择了合适的候选者,则需要联系中继候选者。中继连接的建立与直接连接相类似。
图6示出具有第一对等端61、第二对等端62、由第一对等端61选择作为最高排名的中继候选者的中继对等端R以及多个其他中继候选者RC和其他对等端620、621的P2P网络的覆盖160。第一对等端61和第二对等端62二者位于不同的私有地址范围内。它们已经被完全集成进P2P覆盖160中,并且可以经由一跳接一跳的路由与P2P覆盖160中的其他对等端交换消息。中继对等端R可以位于私有地址范围内或者位于公共地址范围内,只要中继对等端R满足作为中继的要求就行。一旦从中继候选者列表中选择了中继候选者,则第一对等端61和第二对等端62二者都需与中继对等端R建立直接连接。
第一对等端61经由对等网络160中的一个或多个其他中继候选者RC和/或其他对等端620、621,用一跳接一跳路由的方式,经由P2P覆盖160发送中继连接请求610给中继对等端R。中继连接请求610包含第一对等端61的连接信息和在第一对等端61与第二对等端62之间的连接信息交换中被使用的相同连接ID。中继对等端R用中继连接响应611来进行应答,该中继连接响应611被经由对等网络160中的一个或多个其他中继候选者RC和/或其他对等端620、621,用一跳接一跳路由的方式发送给第一对等端61。中继连接响应611包含中继对等端R的连接信息和连接ID。通过发送它的连接信息,中继对等端R发信号通知它接受中继请求610。如果中继连接响应611仅包含ID,则请求610被中继对等端R拒绝。如果中继对等端R否决/拒绝第一对等端61的中继连接请求610,则第一对等端61将需要寻找新的中继候选者。
在中继对等端R发信号通知它接受中继请求610之后,第一对等端61和中继对等端R试图通过向彼此,也即向它们各自的交换端点,发送连接消息612、613来在彼此间建立直接连接。如果第一对等端61不能建立到中继对等端R的直接连接,则第一对等端61需要寻找新的中继候选者。
假设已经成功地在第一对等端61与中继对等端R之间建立直接连接,则第一对等端61需要通知第二对等端62已经找到中继候选者,也即中继对等端R已经接受履行作为中继对等端的功能。这是通过经由对等网络160中的一个或多个其他中继候选者RC和/或其他对等端620、621,用一跳接一跳路由的方式,经由P2P覆盖160发送中继发现消息614来实现的。中继发现消息614包含中继对等端R的对等端ID和连接ID。在接收到中继发现消息614之后,第二对等端62试图用上面所描述的方式建立到中继对等端R的直接连接:第二对等端62发送中继连接请求615给中继对等端R,中继连接请求615包含第二对等端62的连接信息。响应于中继连接请求615,中继对等端R发送包含中继对等端R的连接信息的中继连接响应616给第二对等端62。在第二对等端62和中继对等端R之间交换连接信息之后,每个对等端62、R开始发送连接消息给另一对等端R、62的相应端点。当对等端62、R二者都已经接收至少一个连接消息时,在第二对等端62与中继对等端R之间建立了直接连接617。如果在第二对等端62与中继对等端R之间还没有建立任何直接连接,则直接连接617被唯一建立。
因此,基本上,两个对等端(作为请求方的第一对等端61和作为响应方的第二对等端62)都需要发起到中继对等端R的连接尝试。通过这种方式,中继对等端R不能被用在对另一对等端的攻击中,因为在从第二对等端62接收到中继连接请求615之前没有任何消息被发送给第二对等端62。中继对等端R通过已发送的连接ID来识别中继连接请求。一旦能够建立到对等端61、62二者的直接连接,则连接需要被逻辑地链接,从而正确地转发从第一对等端61发送给第二对等端62的消息,反之亦然。
如果在第一对等端61和中继对等端R之间或者在第二对等端62与中继对等端R之间的直接连接已经建立,则该过程可以被部分地跳过。在这种情况下,中继连接请求和响应仍然必须被交换以通知中继对等端R该连接现在是中继的一部分,但是直接连接不需要被重新建立。对于中继对等端R,建立中继连接等价于逻辑地链接两个直接连接。出于两个目的,这种链接是必须的:
I)为了保持跟踪两个直接连接的连接状态,目的是在与第一对等端61的连接被丢失的情况下,通知第二对等端62。
II)为了保持跟踪两个直接连接的必要性。
链接对于路由覆盖消息而言不是必须的。每个覆盖消息包含目的地对等端ID,其用于确定路由中的下一跳。路由算法处理直接连接的列表并且选择使得最靠近目的地ID的那个直接连接。因此,链接被用于保持直接连接是激活的,而不是用于路由。
如果中继对等端R拒绝第二对等端62的中继连接请求615,则第二对等端62必须发送中继连接失败消息给第一对等端61,从而第一对等端61可以试图寻找新的中继候选者。如果第二对等端62不能建立到中继对等端R的直接连接,则第二对等端62需要发送中继连接失败消息给第一对等端61,从而第一对等端61可以试图寻找新的中继候选者。
一旦中继连接不再被需要,它可以被终止。至于直接连接,在末端的两个对等端但不是中继对等端可以通过发送释放中继消息来声明连接是不必要的。
相应地,分配中继消息声明连接是必要的。当两个对等端都已经声明连接不必要时,中继连接被终止。如果三个对等端中的一个对等端离开覆盖,则中继连接也被终止。在终止中继之后,必须评估作为中继的一部分的两个直接连接是否仍是必要的。
图7说明示出具有第一对等端61、第二对等端62和中继对等端R的P2P网络的覆盖160的过程。在第一对等端61和第二对等端62之间建立中继连接710。中继连接710包括第一对等端61与中继对等端R之间的直接连接710a和在第二对等端62与中继对等端R之间的直接连接710b。
第一对等端61发送释放中继消息711给中继对等端R,声明中继连接710不必要。中继对等端R将第一对等端61发送的释放中继消息711转发712给第二对等端62。在某个时间之后,第二对等端62还发送释放中继消息713给中继对等端R。中继对等端R将第二对等端62发送的释放中继消息713转发714给第一对等端61。因为第一对等端61和第二对等端62中的任何一个都认为中继710不必要,所以中继连接710被终止。直接连接710a、710b中的每个的必要性必须被评估。
图8示出包括第一对等端81和中继对等端83以及第二对等端82的对等网络800,第一对等端81和中继对等端83二者都在对等网络800的第一地址范围内,而第二对等端82位于对等网络800的第二地址范围内。第一对等端81希望与第二对等端82建立连接。
由于第二对等端82在位于第一地址范围与第二地址范围之间的边界处的NAT设备例如防火墙(未示出)的后面,在第一对等端81和第二对等端82之间的直接连接是不可能的,所以在第一对等端81与第二对等端82之间的中继连接是经由中继对等端83建立的。
对等端81、82、83中的每个均包括一个或若干个互相链接的计算机(也即硬件平台)、基于该硬件平台的软件平台和由软件和硬件平台形成的系统平台所执行的若干应用程序。对等端81、82、83中的每个的功能是通过执行这些应用程序来提供的。这些应用程序或者这些应用程序中的被选择的部分组成了一种计算机软件产品,其在系统平台上执行时提供上述连接建立服务。此外,这种计算机软件产品由存储这些应用程序或应用程序的所述被选择部分的存储介质来组成。
优选地,对等端81、82、83都是独立的网络节点,例如位于不同物理位置并经由电信网络(例如电话或媒体传送网络或者因特网)彼此相连的各个个人计算机。
从功能角度看,第一对等端81包括发现单元811,其用于在对等网络800中发现阻止在第一对等端81和第二对等端82之间的直接连接的网络地址翻译。此外,第一对等端81包括确定单元812,其用于确定对等网络800中的第三对等端作为中继对等端83。而且,第一对等端81包括中继单元813,其用于支持在第一对等端81与第二对等端82之间的连接的中继。以及,第一对等端81包括传输装置814(例如收发器接口),其用于在对等网络800内传输信息。另外,第一对等端81包括存储器单元815,其用于存储计算机软件产品,该计算机软件产品当被第一对等端81中的CPU执行时完成第一对等端81的功能(CPU=中央处理单元)。
优选地,发现单元811、确定单元812、中继单元813以及传输装置814是控制第一对等端81的功能的控制单元810中的软件部件和/或硬件部件。还可能是,发现单元811、确定单元812、中继单元813以及传输装置814是连接到控制单元810的分立单元。优选地,控制单元810还包括所述CPU。
与第一对等端81的设计类似,第二对等端82和中继对等端83也包括各自的发现单元821和831、各自的确定单元822和832、各自的中继单元823和833、各自的传输装置824和834、以及各自的存储器单元825和835。在另一情形下,P2P网络800内的对等端81、82、83的角色可能发生变化。例如,中继对等端83可代表响应对等端、第一对等端81可代表中继对等端、而第二对等端82可代表请求对等端。由此,对等端81、82、83中的每个都包括所提及的全部功能部件。

Claims (10)

1.一种在对等网络(160)中的第一地址范围内的第一对等端(61)与所述对等网络(160)中的第二地址范围内的第二对等端(62)之间建立连接的方法,其特征在于,该方法包括步骤:
在所述对等网络(160)中发现阻止在所述第一对等端(61)与所述第二对等端(62)之间的直接连接的网络地址翻译;
确定所述对等网络(160)中的第三对等端作为中继对等端(R);以及
由所述中继对等端(R)在所述第一对等端(61)和所述第二对等端(62)之间中继连接。
2.根据权利要求1所述的方法,其特征在于,所述方法包括步骤:
基于所述对等网络(160)的拓扑和连接信息来发现所述网络地址翻译,所述连接信息包括对所述网络地址翻译的行为的说明、与所述第一地址范围内的第一对等端(61)相关联的端点以及与所述第二地址范围内的第二对等端(62)相关联的端点。
3.根据权利要求1所述的方法,其特征在于,所述方法包括步骤:
经由所述对等网络(160)中的一个或多个其他对等端,用一跳接一跳路由的方式,在所述第一对等端(61)与所述第二对等端(62)之间交换所述第一对等端(61)和所述第二对等端(62)各自的连接信息。
4.根据权利要求1所述的方法,其特征在于,所述方法包括步骤:
由所述第一对等端(61)向所述中继对等端(R)发送中继连接请求(610),其包含所述第一对等端(61)的连接信息;
由所述中继对等端(R)向所述第一对等端(61)发送中继连接响应(611),其包含所述中继对等端(R)的连接信息;
如果在所述第一对等端(61)与所述中继对等端(R)之间还没有建立任何直接连接,则在所述第一对等端(61)与所述中继对等端(R)之间建立直接连接(612、613);
由所述第一对等端(61)向所述第二对等端(62)发送中继发现消息(614),其包含所述中继对等端(R)的对等端标识符,
由所述第二对等端(62)向所述中继对等端(R)发送中继连接请求(615),其包含所述第二对等端(62)的连接信息;
由所述中继对等端(R)向所述第二对等端(62)发送中继连接响应(616),其包含所述中继对等端(R)的连接信息;以及
如果在所述第二对等端(62)与所述中继对等端(R)之间还没有建立任何直接连接,则在所述第二对等端(62)与所述中继对等端(R)之间建立直接连接(617)。
5.根据权利要求1所述的方法,其特征在于,所述方法包括步骤:
从一个或多个中继候选者(RC)构成的列表(50)中选择所述中继对等端(R),所述列表(50)由所述第一对等端(61)和/或所述第二对等端(62)提供,其中所述选择基于以下步骤中的一个或多个:
选择中继候选者(RC),其中所述对等网络(160)中已经建立的一个或多个直接连接可被重用于所述第一对等端(61)与所述第二对等端(62)之间的中继连接;以及
优先选择比其他中继候选者(RC)承担较少中继连接的中继候选者(RC)。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤:
向所述对等网络(120)中的公共可到达的地址范围内的对等端(BP)发送自举请求(210),其包含所述第一对等端(11)的连接信息,其中所述对等网络(120)中的公共可到达的地址范围内的所述对等端(BP)充当自举对等端;以及
由所述自举对等端(BP)中继在所述第一对等端(11)与所述第二对等端(22)之间交换的消息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤:
通过由所述第一对等端(61)向所述中继对等端(R)发送释放中继消息(711)来终止中继连接(710),所述释放中继消息(711)声明所述中继连接(710)为不必要;
由所述中继对等端(R)将从所述第一对等端(61)接收到的释放中继消息(711)转发(712)给所述第二对等端(62);
由所述第二对等端(62)向所述中继对等端(R)发送释放中继消息(713);
由所述中继对等端(R)将从所述第二对等端(62)接收到的释放中继消息(713)转发(714)给所述第一对等端(61);以及
在所述第一对等端(61)处接收到转发的释放中继消息(714)之后,终止所述中继连接(710)。
8.一种对等网络(800)中的对等端(81、82、83),所述对等网络(800)包括在所述对等网络(800)中的第一地址范围内的一个或多个对等端(81),以及在所述对等网络(800)中的第二地址范围内的一个或多个对等端(82),所述对等端(81、82、83)的特征在于:
所述对等端(81、82、83)包括:发现装置(811、821、831,其适于在所述对等网络(800)中发现阻止所述对等端(81)与另一地址范围内的对等端(82)之间的直接连接的网络地址翻译;确定装置(812、822、832),其适于确定所述对等网络(800)的一个对等端(83)作为中继对等端;中继装置(813、823、833),其适于支持在所述对等网络(800)中的第一地址范围内的第一对等端(81)与所述对等网络(800)中的第二地址范围内的第二对等端(82)之间的连接的中继;以及传输装置(814、824、834),其适于在所述对等网络(800)中传输信息,特别是连接信息。
9.一种包括对等网络(160)的电信基础设施,所述对等网络(160)具有所述对等网络(160)中的第一地址范围内的第一对等端(61)和所述对等网络(160)中的第二地址范围内的第二对等端(62),所述电信基础设施的特征在于:
所述电信基础设施还包括阻止在所述第一对等端(61)与所述第二对等端(62)之间的直接连接的网络地址翻译,以及所述对等网络(160)中的第三对等端,其中所述第三对等端被确定作为适于在所述第一对等端(61)和所述第二对等端(62)之间中继连接的中继对等端(R)。
10.一种用于在对等网络(800)中建立连接的计算机程序产品,所述对等网络(800)包括所述对等网络(800)中的第一地址范围内的一个或多个对等端(81)和所述对等网络(800)中的第二地址范围内的一个或多个对等端(82),所述计算机程序产品的特征在于:
所述计算机程序产品当被所述对等网络(800)中的对等端(81、82、83)执行时,执行以下步骤:
在所述对等网络(800)中发现阻止在所述第一对等端(81)与另一地址范围内的第二对等端(82)之间的直接连接的网络地址翻译;
确定所述对等网络(800)中的第三对等端(83)作为中继对等端;以及
支持在所述对等网络(800)中的第一地址范围内的第一对等端(81)与所述对等网络(800)中的第二地址范围内的第二对等端(82)之间的连接的中继;以及
在所述对等网络(800)中传输信息,特别是连接信息。
CNA2008101871038A 2007-12-13 2008-12-12 建立连接的方法 Pending CN101459689A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP07291525.9 2007-12-13
EP07291525A EP2071809A1 (en) 2007-12-13 2007-12-13 Method of establishing a connection in a peer-to-peer network with network address translation (NAT)

Publications (1)

Publication Number Publication Date
CN101459689A true CN101459689A (zh) 2009-06-17

Family

ID=39402944

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008101871038A Pending CN101459689A (zh) 2007-12-13 2008-12-12 建立连接的方法

Country Status (11)

Country Link
US (1) US20090216887A1 (zh)
EP (1) EP2071809A1 (zh)
JP (1) JP5153888B2 (zh)
KR (1) KR20100087213A (zh)
CN (1) CN101459689A (zh)
AU (1) AU2008334808B2 (zh)
BR (1) BRPI0820939A2 (zh)
IL (1) IL205038A0 (zh)
MX (1) MX2010004360A (zh)
RU (1) RU2460231C2 (zh)
WO (1) WO2009074422A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012065531A1 (zh) * 2010-11-17 2012-05-24 中兴通讯股份有限公司 实现中继选择的方法及装置、系统
WO2014205827A1 (zh) * 2013-06-29 2014-12-31 华为技术有限公司 一种连接恢复的方法、装置及系统
CN104811435A (zh) * 2014-01-27 2015-07-29 阿瓦亚公司 用于隐藏使用中继穿越网络地址转换连接的方法和系统
WO2016107454A1 (en) * 2014-12-31 2016-07-07 Huawei Technologies Co., Ltd. Turn relay service reuse for nat traversal during media session resumption
CN106453588A (zh) * 2016-11-01 2017-02-22 东软集团股份有限公司 释放连接的方法、装置及系统
CN113014562A (zh) * 2015-06-25 2021-06-22 微软技术许可有限责任公司 用于建立媒体会话的方法和装置

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425958A (zh) * 2007-10-29 2009-05-06 华为技术有限公司 一种p2p叠加网中请求应答方法、装置和系统
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9203872B2 (en) 2010-02-19 2015-12-01 Microsoft Technology Licensing, Llc Distributed connectivity policy enforcement with ICE
US8438294B2 (en) 2010-04-07 2013-05-07 Apple Inc. Application programming interface, system, and method for collaborative online applications
US8412833B2 (en) 2010-04-07 2013-04-02 Apple Inc. Apparatus and method for inviting users to online sessions
US8819244B2 (en) * 2010-04-07 2014-08-26 Apple Inc. Apparatus and method for establishing and utilizing backup communication channels
CN102215274B (zh) * 2010-04-07 2014-04-30 苹果公司 用于邀请用户到在线会话的设备和方法
US8769278B2 (en) * 2010-04-07 2014-07-01 Apple Inc. Apparatus and method for efficiently and securely exchanging connection data
US8704863B2 (en) 2010-04-07 2014-04-22 Apple Inc. Transitioning between circuit switched calls and video calls
EP2475145A1 (en) * 2011-01-06 2012-07-11 Research In Motion Limited System and method for enabling a peer-to-peer (P2P) connection
CA2897118A1 (en) * 2012-01-04 2013-07-11 Hongbing Fan System and method for providing p2p based reconfigurable computing and structured data distribution
KR101995802B1 (ko) * 2012-05-15 2019-07-03 삼성전자주식회사 무선통신 네트워크에서 인접 노드들을 디스커버리하기 위한 방법 및 장치
US9379952B2 (en) * 2013-08-20 2016-06-28 Futurewei Technologies, Inc. Monitoring NAT behaviors through URI dereferences in web browsers
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US9609056B2 (en) * 2014-03-29 2017-03-28 Google Technology Holdings LLC Methods for obtaining content from a peer device
CN106416321B (zh) * 2014-11-07 2020-02-14 华为技术有限公司 一种建立连接的方法、设备及系统
US9936530B2 (en) * 2015-03-10 2018-04-03 Intel IP Corporation Systems, methods, and devices for device-to-device relay communication
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
TWI595765B (zh) 2015-10-22 2017-08-11 財團法人工業技術研究院 穿透網路位置轉換器之方法及通訊裝置
CN107205026A (zh) * 2017-05-22 2017-09-26 厦门市美亚柏科信息股份有限公司 一种点对点数据传输方法及系统
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
EP4199479A1 (en) 2017-08-28 2023-06-21 Bright Data Ltd. Improving content fetching by selecting tunnel devices grouped according to geographic location
JP7074018B2 (ja) * 2018-10-22 2022-05-24 日本電信電話株式会社 分散処理システムおよび分散処理方法
KR102284422B1 (ko) * 2019-02-01 2021-08-04 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록체인 시스템에서 노드 사이의 통신 확립 방법 및 디바이스
LT3780547T (lt) 2019-02-25 2023-03-10 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
US11411922B2 (en) 2019-04-02 2022-08-09 Bright Data Ltd. System and method for managing non-direct URL fetching service
KR102126828B1 (ko) * 2019-04-23 2020-06-25 권준 무선 인터컴 시스템

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2260919C2 (ru) * 1998-11-25 2005-09-20 Телефонактиеболагет Лм Эрикссон (Пабл) Архитектура канала пакетной передачи для сетей доступа
US7043644B2 (en) * 2001-01-31 2006-05-09 Qurio Holdings, Inc. Facilitating file access from firewall-protected nodes in a peer-to-peer network
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
US7656870B2 (en) * 2004-06-29 2010-02-02 Damaka, Inc. System and method for peer-to-peer hybrid communications
EP1713233A1 (en) * 2005-04-14 2006-10-18 Alcatel Interconnection of domains in a peer to peer network
US7788378B2 (en) * 2005-04-22 2010-08-31 Microsoft Corporation Apparatus and method for community relay node discovery
US8874691B2 (en) * 2005-06-22 2014-10-28 Core Wireless Licensing S.A.R.L. System and method for establishing peer to peer connections between PCS and smart phones using networks with obstacles
DE102006004025A1 (de) * 2006-01-27 2007-08-09 Siemens Ag Verfahren zur Übermittlung einer Nachricht, Netzwerkknoten und Netzwerk
CN101390369B (zh) * 2006-02-28 2012-11-14 国际商业机器公司 点对点通信的检测和控制
US8077622B2 (en) * 2007-08-03 2011-12-13 Citrix Systems, Inc. Systems and methods for efficiently load balancing based on least connections
US7945680B2 (en) * 2007-10-30 2011-05-17 Motorola Solutions, Inc. Method and apparatus for peer to peer link establishment over a network

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012065531A1 (zh) * 2010-11-17 2012-05-24 中兴通讯股份有限公司 实现中继选择的方法及装置、系统
WO2014205827A1 (zh) * 2013-06-29 2014-12-31 华为技术有限公司 一种连接恢复的方法、装置及系统
US9893931B2 (en) 2013-06-29 2018-02-13 Huawei Technologies Co., Ltd. Connection recovery method, apparatus, and system
CN104811435A (zh) * 2014-01-27 2015-07-29 阿瓦亚公司 用于隐藏使用中继穿越网络地址转换连接的方法和系统
CN104811435B (zh) * 2014-01-27 2019-08-13 阿瓦亚公司 用于隐藏使用中继穿越网络地址转换连接的方法和系统
WO2016107454A1 (en) * 2014-12-31 2016-07-07 Huawei Technologies Co., Ltd. Turn relay service reuse for nat traversal during media session resumption
CN113014562A (zh) * 2015-06-25 2021-06-22 微软技术许可有限责任公司 用于建立媒体会话的方法和装置
CN113014562B (zh) * 2015-06-25 2024-01-05 微软技术许可有限责任公司 用于建立媒体会话的方法和装置
CN106453588A (zh) * 2016-11-01 2017-02-22 东软集团股份有限公司 释放连接的方法、装置及系统
CN106453588B (zh) * 2016-11-01 2019-08-09 东软集团股份有限公司 释放连接的方法、装置及系统

Also Published As

Publication number Publication date
EP2071809A1 (en) 2009-06-17
JP5153888B2 (ja) 2013-02-27
JP2011507370A (ja) 2011-03-03
AU2008334808A1 (en) 2009-06-18
AU2008334808B2 (en) 2012-04-05
RU2460231C2 (ru) 2012-08-27
BRPI0820939A2 (pt) 2015-06-30
US20090216887A1 (en) 2009-08-27
WO2009074422A1 (en) 2009-06-18
IL205038A0 (en) 2010-11-30
KR20100087213A (ko) 2010-08-03
RU2010128945A (ru) 2012-01-20
MX2010004360A (es) 2010-04-30

Similar Documents

Publication Publication Date Title
CN101459689A (zh) 建立连接的方法
KR101399914B1 (ko) 피어-투-피어 통신 시스템 및 방법
EP2501083B1 (en) Relay node, distributed network of relay node and networking method thereof
CN102195855B (zh) 一种业务路由方法和业务网络
US7529255B2 (en) Peer-to-peer multicasting using multiple transport protocols
JP6203943B2 (ja) デバイスのネットワークへのアクセス方法及び装置
CN101321128B (zh) 通信设备、通信网络系统和通信方法
CN101123565B (zh) P2p系统及用于该系统的资源查询方法
CN114070854B (zh) 算力网络中算力感知和路由方法、系统、设备及介质
CN104980528A (zh) 实现节点间通信的方法、系统及装置
JP2007142903A (ja) 経路生成システム、経路生成方法、経路管理サーバ、中継装置、端末装置および制御プログラム
CN102387068A (zh) 标识网络的可扩展路由方法和路由器
US20080117861A1 (en) Service provision and management for mobile communities
JP4893533B2 (ja) ネットワーク接続管理方法、および情報処理装置
CN106572149A (zh) 一种基于p2p网络技术的烧录器远程控制装置及方法
CN101026632B (zh) 一种基于互联网的可控业务网体系架构网络系统
CN112134744A (zh) 一种分布式管理系统中节点的管理方法
CN104735131A (zh) 用于发现对等覆盖网络的方法和装置
Lai et al. A novel NAT-based approach for resource load balancing in fog computing architecture
CN101557335B (zh) 控制节点加入对等网络的方法和装置
US7315516B2 (en) Method for generating casting path among participants for multicasting
Prevelakis et al. How to buy a network: Trading of resources in the physical layer
Terauchi et al. ARTISTE: Agent organization management system for multi-agent systems
CN102904933A (zh) P2p流量疏导优化网络系统
Malik et al. Peer-to-Peer Approach for Edge Computing Services

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20090617