gpt4 book ai didi

WebRTC STUN 服务器用途

转载 作者:行者123 更新时间:2023-12-02 00:44:37 26 4
gpt4 key购买 nike

我了解 STUN 和 TURN 服务器的用途以及它们在 WebRTC 中的用途,但我不完全明白:

如果我作为WebRTC客户端已经登录使用WebRTC服务,那么该服务不是已经拥有我的公共(public)IP地址了吗?为什么需要STUN服务器再次找到它?

最佳答案

简短回答:因为代理和 NAT。

很多原因:

  1. 网络服务器知道您建立的 TCP 连接的公共(public) IP 地址,但对于随后通过 UDP 进行的 P2P 通信,它不知道您的本地 NAT 将如何映射端口(或其使用哪个端口)。

  2. 您所在的网络中所有 HTTP/HTTPS 流量可能都通过代理。因此,WebRTC 服务只知道您的代理的地址。

  3. WebRTC 服务本身可以有一个前端负载平衡器。因此,它只知道负载均衡器的 IP 地址。

  4. 尝试进行 WebRTC session 的两个端点实际上可能位于同一 NAT 后面。因此,公共(public) IP 地址没有那么有用。

但主要原因是端口预测,如上面#1 中所述。通过 ICE 或 WebRTC 的地址交换不仅涉及交换 IP 地址,还涉及交换 UDP 端口。即使 Web 服务器知道客户端的实际 IP 地址,Web 服务器也无法推断它将用于媒体流量的 UDP 端口。

关于WebRTC STUN 服务器用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54750459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com