2

假设我正在运行一个绑定到公共 IP(比如 100.0.0.1)的 TURN 服务器。当服务器为创建分配请求创建中继端口时,服务器是否会在 XOR-RELAYED-地址属性?我对网络不够熟悉,无法了解所有可能的情况,并且RFC 5766并没有真正说明任何具体内容(据我所知)。

换句话说,XOR-RELAYED-ADDRESS 中的 IP 地址是多余的吗?在我考虑的所有情况下,客户端只需要知道分配的端口,并且可以完全忽略 XOR-RELAYED-ADDRESS 的 IP。只要客户端知道中继端口,它就可以始终在中继端口将中继数据发送到 TURN 服务器公共 IP(它已经知道 IP,因为它必须最初连接......)。

任何意见?

4

2 回答 2

1

如果您的服务器不在 NAT 后面(在分配有公共 IP 地址的公共 Internet 上),那么 XOR-RELAYED-ADDRESS 中返回的 IP 地址将是相同的。(它将始终与分配给其 NIC 的 IP 地址相同)。

我认为您考虑忽略 XOR-RELAYED-ADDRESS 的原因与您提出的其他问题有关,表明 TURN 服务器实际上将位于 NAT/防火墙后面。我想您会发现 IP 地址是可预测的。但是您的服务器所在的防火墙/NAT 可能会弄乱端口分配。确保您了解 TURN 服务器如何进行端口分配,并且您的防火墙正确地进行端口转发。

一点命名说明。您的服务器没有“绑定”到公共或私有 IP。您的服务器套接字绑定到一个分配有 IP 地址并与之关联的接口。

于 2012-07-25T17:38:45.263 回答
1

实际上,你们都忽略了 TURN 服务器上中继 IP 地址与侦听 IP 地址不同的情况。TURN 服务器可能正在监听地址 1.2.3.4,但它可能在其他两个公共地址上分配中继端点 - 例如 2.3.4.5 和 3.4.5.6。返回的真实中继IP地址XOR-RELAYED-ADDRESS可能与监听地址有很大不同。

于 2013-01-28T07:19:19.187 回答