turn(网络协议)

turn(网络协议)

TURN(Traversal Using Relay NAT),又称SPAN(Simple Protocol for Augmenting NATs),是由IETF在RFC 5766标准中定义的一种网络协议,旨在解决NAT(网络地址转换)穿透问题。 该协议通过中继服务器转发数据,允许位于对称型NAT或防火墙后的设备建立双向通信,支持UDP、TCP及TLS传输方式,当WebRTC连接中的设备使用私有IP地址时,TURN服务器就变得必不可少。

其核心机制包括分配中继地址、权限管理和数据传输优化(如通道绑定降低带宽消耗),主要应用于WebRTC、VoIP等实时通信场景。TURN协议是STUN协议的扩展,当STUN无法解决NAT穿透问题时,TURN服务器通过中继的方式帮助终端实现通信。 TURN服务器的工作原理涉及终端向服务器发送数据请求、服务器接收并转发数据、对等端接收数据并响应等步骤。 数据消息机制包括Send Indication和Data Indication,以及Channel Data Message;信令消息包括Allocation、Permission、Channel Bind、Refresh等。

TURN协议最初作为STUN协议的扩展提出,2010年发布的RFC 5766详细规范了其报文机制与中继规则。 随着实时通信需求增长,后续RFC标准如RFC 6062、RFC 6156、RFC 7443、RFC 7635、RFC 8016等扩展了TCP中继、IPv6支持、ALPN支持、OAuth授权及移动性(Mobility)支持。开源实现如Coturn项目支持UDP、TCP、TLS(包括TLS1.3)、DTLS等协议,提供了高性能、可扩展的TURN服务器解决方案。 通过整合ICE框架,TURN成为WebRTC连接中无法建立直接P2P通信时的保底中继方案。

想要了解更多“turn(网络协议)”的信息,请点击:turn(网络协议)百科