0

我正在使用 xirsys 转服务器。

现在我想将对称 NAT 后面的客户端 A 与对称 NAT 后面的客户端 B 连接起来。

  1. 我应该在哪个端口上监听客户端 A?
  2. 我应该连接到哪个 ip 和端口才能从客户端 B 与客户端 A 建立 tcp 连接?
  3. 如何获取xirsys转服务器的ip?

在客户端 AI 想要运行这个命令,但我不知道应该使用哪个端口:

sudo tcpdump -ni any port ???

在客户端 BI 上要运行此命令,但我不知道应该使用哪个 ip 和端口:

echo "Hello from B" | netcat ip??? port???

PS。执行此命令后的 xirsys:

curl -s -H "Content-type: application/json" -XPUT "https://name:pass@global.xirsys.net/_turn/app" -d '{"format": "urls"}'

返回这样的东西

{
   "s" : "ok",
   "v" : {
      "iceServers" : {
         "credential" : "123",
         "urls" : [
            "stun:eu-turn4.xirsys.com",
            "turn:eu-turn4.xirsys.com:80?transport=udp",
            "turn:eu-turn4.xirsys.com:3478?transport=udp",
            "turn:eu-turn4.xirsys.com:80?transport=tcp",
            "turn:eu-turn4.xirsys.com:3478?transport=tcp",
            "turns:eu-turn4.xirsys.com:443?transport=tcp",
            "turns:eu-turn4.xirsys.com:5349?transport=tcp"
         ],
         "username" : "123"
      }
   }
}
4

1 回答 1

0

在 TURN 场景中,两个对等点通常标记为 Client 和 Peer,其中 Client 是连接的发起者,Peer 服从 Client 提供的数据。

连接时,所有数据都通过 TURN 服务器从客户端通过主端口发送。因此,例如,如果客户端使用turn:eu-turn4.xirsys.com:3478?transport=udp其选择路由,则所有客户端数据包都将通过端口 3478 发送。

为了与 Peer 建立连接,客户端将请求AllocationTURN 服务器上的端口。来自 TURN 服务器的Allocation响应将包含服务器上新创建的端口(通常高于 16k),称为映射中继地址。这个端口应该由客户端(通常通过 WebSocket 信令)与对等点通信,以便对等点可以连接到 TURN 服务器并开始接收/发送数据包。Peers 连接始终通过 UDP。

至于TURN IP;你为什么需要这个?你的用例是什么?

于 2021-02-12T12:50:52.877 回答