完全分散的P2P?

Bro*_*x97 21 p2p

我正在寻找创建一个P2P系统.在最初的研究中,我正在阅读Peer-to-Peer - 利用颠覆性技术的力量.该书指出"完全分散的即时通讯方法在今天的互联网上不起作用."主要指责防火墙和NAT.版权是2001年.这些信息是旧的还是仍然正确?

Pek*_*ica 10

它仍然很大程度上是正确的.大多数用户仍然在阻止传入连接的防火墙或家用路由器后面.这些可以比2001年更容易打开(例如使用uPnP,需要很少的用户交互和知识),但大多数商业终端用户定位应用程序 - 电话(Skype,VoIP),聊天(各种信使),远程控制 - 都是集中式解决方案来规避防火墙问题.

  • @Andrey通过中央服务器建立连接,这是这个问题的重点. (3认同)

Aar*_*ron 5

我会说,它偶尔是完全错误的.是的,您将拥有许多将被防火墙的节点,但是,您也将拥有相当多的节点.因此,如果使用端到端加密来保护流量免受窥探,那么您可以使用非防火墙客户端充当想要聊天的两个防火墙客户端之间的中介.

但是,您需要注意分散负载,这样一些无人值守的客户端不会给予太多负载.

Skype使用了类似的想法.他们甚至允许通过中间人进行文件传输,但是他们限制了吞吐量,以免过度加载中间人.

话虽如此,现在在2010年,在防火墙上打洞要比2001年容易得多,因为大多数路由器都允许你通过UPNP自动打开端口,所以你可能会有一个更大的无人值守池与客户合作.

  • 几乎.Skype不通过中央服务器在用户之间建立连接.中央服务器唯一使用的是对skype网络和引导捆绑客户端的认证(给他们一些客户端连接).他们也可能将它用于目录服务,并且可能用于skype-out和语音邮件,但这超出了问题的范围.但用户对用户的呼叫肯定是通过P2P协商的. (2认同)
  • IIRC,eMule的Kad网络至少以这种方式工作.防火墙客户的控制流量由非防火墙的"好友"提供.关于此的文档似乎有点稀疏,或者至少有些难以找到. (2认同)