有多少用户在对称 NAT 后面,以至于需要中继“p2p”流量?

问题描述 投票:0回答:4

我们正在实施基于 SIP 的解决方案,并已将设置配置为与 RTPProxy 一起使用。现在,我们正在通过 RTPProxy 路由所有内容,因为我们在依赖 ICE 的媒体传输方面遇到了一些问题。如果我们没记错的话,如果两个客户端位于对称 NAT 之后,则中央中继服务器对于在两个客户端之间中继流数据是必要的。实际上,这是否占所有消费者用户的很大一部分?如果我们实施适当的路由以在不需要时跳过中继服务器,我们将节省多少带宽。我们还缺少更好的解决方案吗?

nat
4个回答
10
投票

按有用性降序排列:

  • 两个端点在两个方向上都有直连。您只需连接即可完成。
  • one方向的两个端点之间有直接连接。在那种情况下,您只需尝试两种方法,就可以通过正确的方向进行连接。
  • 双方都在某种 NAT 后面。
    • 幸运的是,UPnP 在一端工作,您可以将连接升级到上述方案
    • UPnP 不起作用,但 STUN 可以。用它在 NAT 中打一个洞。有几种不同的协议,但一般的技巧是通过协调 NAT 穿孔的中间人进行协商。
    • 你回退让网络上的另一个节点充当中继代理。

如果你实现上面的完整列表,那么你必须放弃很少的连接,并且不必在代理的带宽利用率上花费太多时间。我比较熟悉的 BitTorrent 协议通常止于 UPnP,但提供了一个内置测试来测试通过 NAT 的连接性。

真的很奇怪为什么 IPv6 没有早点实现——这是在浪费程序员的时间。


7
投票

真实世界的 NAT 类型调查(虽然不是一个庞大的数据集):

https://web.archive.org/web/20200213115759/http://nattest.net.in.tum.de/results.php


6
投票

根据谷歌的说法,大约有8%的流量需要中转:http://code.google.com/apis/talk/libjingle/important_concepts.html


3
投票

大部分(如果不是大多数)家庭用户使用 NAT,因为那些 xDSL/有线路由器使用它来提供对本地网络的网络访问。

理论上可以使用UPnP打开端口,在路由器上设置转发规则,透明通过NAT。不幸的是(或者幸运的是,取决于你是谁)许多用户理所当然地在他们的路由器上禁用 UPnP,并且可能不喜欢必须手动添加转发规则。

您可能能够做的(以及 Skype 所做的 AFAIK)是让一些具有清晰网络路径和足够带宽的用户充当中继节点。除了路由和 QoS 问题,您至少必须找到一些方法来确保任何人(包括中继节点的所有者)的任何中继数据的隐私。此外,除了技术问题外,这种方法可能还有法律问题需要解决。

© www.soinside.com 2019 - 2024. All rights reserved.