2009-12-20 65 views

回答

7

P2P软件使用的常见黑客攻击方法是holepunching。这用于绕过NAT。

当网络使用NAT时,无法从网络外连接到网络内的计算机,因此无法建立P2P连接。

假设你有两台电脑,分别位于世界的不同地区,都位于NAT后面。 建立P2P连接A和B将连接到Stratus服务器。此连接将在A和B的路由器中打开一个端口。 Stratus服务器将知道这些端口号并将与A和B共享这些信息。然后,A和B可以连接到其他开放端口,从而建立P2P连接。

0

我对adobe stratus并不熟悉,但据我所知,这与普通NAT遍历在SIP中的工作方式非常相似。您可以查看wikipedia上的STUN文章以开始使用。简而言之,您设置了一个命名服务器,并使用Keepalive客户端启动的连接到中介服务器或UnPnP为客户端打开端口。虽然UnPNP可以适用于这些情况,但两种客户端均使用NAT的情况比较棘手。

编辑:Skype协议的详细说明请见here

+0

你也可以阅读关于Skype这样的P2P应用如何做到这一点,他们通常使用一系列黑客来绕过NAT。 – 2009-12-20 17:11:50

+0

什么样的黑客举例? – Rella 2009-12-20 17:23:26

+0

添加了Skype协议分析的链接。它建议他们使用STUN的修改版本和某种TURN。 – 2009-12-20 17:37:49

2

Adob​​e称其层云一个“约会”服务。故事情况如下,第10版以后,Flash播放器实例可以使用名为RTMFP的专有协议直接相互连接(点对点)。

但是,对于一个Flash应用程序实例连接到另一个应用程序实例,它需要Flash应用程序实例的地址。通过连接到Adobe Stratus,每个Flash应用程序实例都可以获得自己的地址/指纹/ nearId。一旦客户获得自己的nearId,它就需要与其他客户分享。一旦Flash应用程序实例具有另一个Flash应用程序实例的nearId,它就可以连接并侦听其他Flash应用程序实例流。