独立于 SFU,Realtime 提供托管的 TURN 服务。TURN 充当 WebRTC 客户端(如浏览器)和 SFU 之间流量的中继点,特别是在 NAT 或防火墙阻碍直接通信的场景中。TURN 为每个会话维护公共 IP 地址和端口的分配,确保即使在受限的网络环境中也能实现连接。
与 Realtime SFU 结合使用时,可以免费使用 Cloudflare Realtime TURN 服务。否则,从 Cloudflare 流向 TURN 客户端的出网流量费用为每 GB 0.05 美元。
| 协议 | 主要地址 | 主要端口 | 备用端口 |
|---|---|---|---|
| STUN over UDP | stun.cloudflare.com | 3478/udp | 53/udp |
| TURN over UDP | turn.cloudflare.com | 3478/udp | 53/udp |
| TURN over TCP | turn.cloudflare.com | 3478/tcp | 80/tcp |
| TURN over TLS | turn.cloudflare.com | 5349/tcp | 443/tcp |
Cloudflare Realtime TURN 服务运行在 Cloudflare 的全球网络 ↗上——这是一个由分布在数百个地点的数千台机器组成的不断增长的全球网络,但 Cloudflare 的中国网络明显除外。
当客户端尝试连接到 turn.cloudflare.com 时,它会_自动_连接到距离它们最近的 Cloudflare 地点。我们通过使用 anycast 路由 ↗来实现这一点。
要了解使这成为可能的架构的更多信息,请阅读这篇关于 Realtime 的技术深度解析 ↗。
支持的 TLS 版本包括 TLS 1.1、TLS 1.2 和 TLS 1.3。
| OpenSSL 名称 | TLS 1.1 | TLS 1.2 | TLS 1.3 |
|---|---|---|---|
| AEAD-AES128-GCM-SHA256 | 否 | 否 | ✅ |
| AEAD-AES256-GCM-SHA384 | 否 | 否 | ✅ |
| AEAD-CHACHA20-POLY1305-SHA256 | 否 | 否 | ✅ |
| ECDHE-ECDSA-AES128-GCM-SHA256 | 否 | ✅ | 否 |
| ECDHE-RSA-AES128-GCM-SHA256 | 否 | ✅ | 否 |
| ECDHE-RSA-AES128-SHA | ✅ | ✅ | 否 |
| AES128-GCM-SHA256 | 否 | ✅ | 否 |
| AES128-SHA | ✅ | ✅ | 否 |
| AES256-SHA | ✅ | ✅ | 否 |
Cloudflare Realtime TURN 服务没有特定的 MTU 限制。
Cloudflare Realtime TURN 服务对以下内容进行了限制:
- 每个中继分配可以与之通信的唯一 IP 地址数量(>5 个新 IP/秒)
- 流向和流出中继分配的数据包速率(>5-10 kpps)
- 流向和流出中继分配的数据速率(>50-100 Mbps)
这些限制适用于高需求应用程序,并且也具有高于上面记录的突发速率。达到这些限制将导致数据包丢失。