Skype 协议和超级节点
我有一个关于 Skype 协议的问题。 据说,根据wiki,Skype中的超级节点用于UDP打洞。超级节点是没有防火墙/NAT 的节点。
我的问题是,这如何可靠?绝大多数互联网用户不都支持NAT吗?
而且,如果我要使用这种技术创建一个 P2P 应用程序,如果没有没有防火墙的对等点,会发生什么情况?我不明白你如何启动一个应用程序,该应用程序依赖于最终会有一些没有 NAT 的对等点,
谢谢
I have a question about the skype protocol.
Supposedly, according to wiki, the supernodes in Skype are used in UDP hole punching. The supernodes are nodes without firewalls/NATs.
My question is, how is this reliable? Isn't the vast majority of internet users behind NAT?
And, if I was to create a P2P application using this technique, what happens if there are no peers without firewalls? I don't understand how you can launch an application that relies on that there will be some peers eventually without NAT
Thanks
我无法具体评论 Skype,但我对此有一些经验 (http://wiki.squeak.org/squeak/5629)。我们称我们的超级节点为“友好的大巨人”或 BFG :)。
超级节点背后的想法是,虽然你希望它们出现在网络中,为新用户提供更多 NAT 打洞选项,但作为 p2p 网络运营商,你自己提供了一个最小的集合(可能只是一两台机器,它们是只是初始打孔所需要的,实际流量无论如何都会直接重新路由)。据我所知,Skype 也这样做——他们自己运行一组最少的超级节点。
今年早些时候 Skype 出现问题时,很多人试图重新连接,导致超级节点超载,产生了多米诺骨牌效应。 Skype 添加了超级节点,但当时尝试重新连接的人数如此之多,以至于网络花了相当长的时间才得以重建。这很有趣 - 我们在上面的项目中也遇到过这种情况 - P2P 网络可以具有极强的弹性,直到它被推到某个边缘并且整个网络崩溃。
[免责声明:我在 eBay 工作,Skype 的前所有者,但这都是我个人的观点,基于公开信息]
I can't comment on Skype specifically, but I have some experience with this (http://wiki.squeak.org/squeak/5629). We called our supernodes "big friendly giants" or BFGs :).
The idea behind supernodes is that while you hope that they pop up in the network, giving new users more options for NAT hole punching, you provide, as p2p network operator, a minimal set yourselves (could be just one or two machines, they are just needed for initial hole punching, real traffic will get re-routed directly anyway). As far as I'm aware, Skype does that as well - they run a minimum set of supernodes themselves.
When Skype had issues earlier this year, a lot of people tried to reconnect and thus the supernodes got overloaded, resulting in a domino effect. Skype added supernodes, but the amount of people trying to reconnect at that time was so massive that it took quite a while before the network rebuilt itself. It's quite funny - we had that with the above project as well - that a P2P network can be extremely resilient until it gets pushed over some edge and the whole thing crumbles.
[disclaimer: I work for eBay, former owner of Skype, but this is all my personal opinion and based on public information]