我一直在研究 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;
问题一
我的理解是否正确:
received_packets
TURN 服务器从客户端收到的数据包received_bytes
字节由 TURN 服务器从客户端接收sent_packets
TURN 服务器发送给客户端的数据包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_packets
和 sent_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
rcvb
和 rcvp
应该非常低,因为对于 peer -> TURN -> client
候选配对呼叫的每个呼叫段,流量应该始终来自:relay-relay
。< /p>