如何做一个TURN服务器发送数据到NAT后面的同行?

问题描述 投票:1回答:1

我明白又将有一个client,一个TURN serverpeer(s)。客户端本身创建TURN服务器,之后被返回给客户端relayed transport address为了将数据发送到一个或多个同伴上的分配。

我了解客户如何能够避开它的NAT,但我没有看到在RFC5766任何有关的同龄人自己如何能够通过自己的NAT的从TURN服务器接受UDP(否则通过TURN与否,这将是不请自来UDP)。在同龄人必须首先接触到TURN服务器。

是否有一个步骤我失踪?是relayed transport address发送到对等,这样UDP打洞,然后才能开始通信可以在TURN Server及其同行(S)之间流动?

webrtc stun turn
1个回答
1
投票

客户端创建一个TURN服务器例如分配在8.8.8.8端口3478上运行要做到这一点,它从一个本地套接字到该地址发送STUN包。所有的NAT(忽略阻断UDP网络)将允许TURN服务器来回通过该连接发送UDP数据(有时被称为一个NAT绑定)。 TURN服务器还可以发送它希望通过该连接任何其他数据。

peer不知道这个分配。它仅知道TURN服务器告诉客户中继地址,例如8.8.8.8端口61468.客户端必须这个地址发送给对等体,例如作为在ICE处理(参照https://tools.ietf.org/html/rfc5245)信令的一部分。

然后,对可以发送8.8.8.8端口61468(有时客户也必须告诉TURN服务器端可以发送的IPS;查看权限在https://tools.ietf.org/html/rfc5766)。然后TURN服务器将其转发该端口上接收作为STUN数据指示的任何业务(或经由信道绑定,参见RFC 5766)。该NAT是确定与因为它是从8.8.8.8端口3478的到来。

客户端也可以经由STUN发送指示将数据发送到对等体。 TURN服务器将解开这个数据,并从转发地址发送它(8.8.8.8端口61468)

至于两侧的NAT而言,他们只看到IPS和,他们的客户端首先发送数据包的端口进行通信。

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