TURN Stats(发送/接收和pacekts/bytes)只是客户端和服务器之间的测量吗?

时间:2021-03-18 20:47:22

标签: webrtc stun turn

我一直在研究 rfc5766-turn-server 发出的指标,但似乎对以下性质没有什么困惑:

  u32bits received_packets;
  u32bits sent_packets;
  u32bits received_bytes;
  u32bits sent_bytes;
  u64bits t_received_packets;
  u64bits t_sent_packets;
  u64bits t_received_bytes;
  u64bits t_sent_bytes;

问题一

我的理解是否正确:

  1. received_packets TURN 服务器从客户端收到的数据包
  2. received_bytes 字节由 TURN 服务器从客户端接收
  3. sent_packets TURN 服务器发送给客户端的数据包
  4. sent_bytes 字节由 TURN 服务器发送给客户端

问题 2

t_ 指标与没有前缀的指标有何区别?看起来它们都是总数。


问题 3

在只有对等方通过中继传输地址将 UDP 数据包发送到“客户端”的通信流中,例如:

    (allocated by Peer_A)
           TURN_A <-------------- Peer_B
         /              UDP      /
        /                       /
       /       UDP             /
  peer_A --------------> TURN_B  
                  (allocated by Peer_B)

在这个单向流中,对等点只通过中继传输地址与客户端交谈。如果我上面的假设是正确的,我们将只会获得 sent_packetssent_bytes 的统计数据,因为数据总是流向客户端(即接收应该为 0)。

但是在日志中,确实有 receive_ 指标(增加了我的困惑)。


这里提到过 (https://github.com/coturn/coturn/issues/224),但还是有点令人困惑。


turnutilts_uclient 测试

从(客户端 -> TURN -> 无处)发送流量

turnutils_uclient -v -s -c -n 35000 -m 2 -z 20 -l 160 -p 4172 -X -g -e 1.2.3.4 -u (username) -w (credential) (turn_ip)

results in

message=rcvp=2046, rcvb=425516, sentp=2, sentb=184

从(客户端 -> TURN -> 返回客户端)发送流量(-y 选项)

turnutils_uclient -v -s -c -n 35000 -m 2 -z 20 -l 160 -p 4172 -X -g -y -u (username) -w (credential) (turn_ip)

results in 

message=rcvp=988, rcvb=205248, sentp=1060, sentb=253572

我的测试似乎支持这个指标确实只是客户端和服务器之间的流量。

Sent packets/bytes = 从 TURN 服务器发送到客户端的数据包/字节

Receive packets/bytes = 从 TURN 服务器上的客户端接收的数据包/字节

现在我对两个 ICE 代理的结果更加困惑:

rcvp=1020, rcvb=907648, sentp=1028, sentb=919469

rcvbrcvp 应该非常低,因为对于 peer -> TURN -> client 候选配对呼叫的每个呼叫段,流量应该始终来自:relay-relay。< /p>

0 个答案:

没有答案