Skype协议和超级节点

时间:2011-07-09 13:21:18

标签: udp firewall skype nat hole-punching

我对skype协议有疑问。 据推测,根据维基,Skype中的超级节点用于UDP打孔。超级节点是没有防火墙/ NAT的节点。

我的问题是,这怎么可靠? NAT后面绝大多数互联网用户?

而且,如果我要使用这种技术创建一个P2P应用程序,如果没有没有防火墙的对等体会发生什么?我不明白如何启动一个依赖于最终会有一些没有NAT的对等的应用程序

由于

2 个答案:

答案 0 :(得分:1)

阅读libjingle上的论文,讨论STUN等服务。当双方都在NAT后面时,通常需要外部服务来传递或帮助在一侧或另一侧打开一个洞。

http://code.google.com/apis/talk/libjingle/important_concepts.html

答案 1 :(得分:0)

我不能专门评论Skype,但我对此有一些经验(http://wiki.squeak.org/squeak/5629)。我们称我们的超级节点是“大友好巨人”或者BFG:)。

超级节点背后的想法是,虽然你希望它们在网络中弹出,为新用户提供更多的NAT打孔选项,但作为p2p网络运营商,你提供了一个最小的设置(可能只有一两台机器) ,它们只是初始打孔所需要的,无论如何真正的交通将直接重新布线。据我所知,Skype也是这样做的 - 他们自己运行一组最小的超节点。

当Skype今年早些时候遇到问题时,很多人都试图重新连接,因此超级节点过载,导致多米诺骨牌效应。 Skype添加了超级节点,但当时尝试重新连接的人数量非常庞大,以至于在网络重建之前需要花费很长时间。这很有趣 - 我们也有上述项目 - P2P网络可以非常有弹性,直到它被推到一些边缘并且整个事情崩溃。

[免责声明:我为Skype的前所有者eBay工作,但这是我个人的意见并基于公共信息]