RFC 5766 - Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
发布日期: 2010年4月
状态: 标准跟踪 (Standards Track)
作者: R. Mahy (Unaffiliated), P. Matthews (Alcatel-Lucent), J. Rosenberg (jdrosen.net)
更新: RFC 8656 (2019)
摘要 (Abstract)
如果主机位于 NAT 后面,在某些情况下,该主机可能无法直接与其他主机 (对等方 (Peers)) 通信。在这些情况下,主机需要使用充当通信中继的中间节点的服务。本规范定义了一种称为 TURN (Traversal Using Relays around NAT,使用中继穿透NAT) 的协议,该协议允许主机控制中继的操作,并使用中继与其对等方交换数据包。TURN 与其他一些中继控制协议的不同之处在于,它允许客户端使用单个中继地址与多个对等方进行通信。
TURN 协议被设计为作为 ICE (Interactive Connectivity Establishment,交互式连接建立) NAT 穿透方法的一部分使用,尽管它也可以在没有 ICE 的情况下使用。
目录 (Table of Contents)
- 1. Introduction (简介)
- 2. Overview of Operation (操作概述)
- 2.1 Transports (传输协议)
- 2.2 Allocations (分配)
- 2.3 Permissions (权限)
- 2.4 Send Mechanism (发送机制)
- 2.5 Channels (通道)
- 2.6 Unprivileged TURN Servers (非特权TURN服务器)
- 2.7 Avoiding IP Fragmentation (避免IP分片)
- 2.8 RTP Support (RTP支持)
- 2.9 Anycast Discovery of Servers (服务器的任播发现)
- 3. Terminology (术语)
- 4. General Behavior (通用行为)
- 5. Allocations (分配)
- 6. Creating an Allocation (创建分配)
- 6.1 Sending an Allocate Request (发送分配请求)
- 6.2 Receiving an Allocate Request (接收分配请求)
- 6.3 Receiving an Allocate Success Response (接收分配成功响应)
- 6.4 Receiving an Allocate Error Response (接收分配错误响应)
- 7. Refreshing an Allocation (刷新分配)
- 7.1 Sending a Refresh Request (发送刷新请求)
- 7.2 Receiving a Refresh Request (接收刷新请求)
- 7.3 Receiving a Refresh Response (接收刷新响应)
- 8. Permissions (权限)
- 9. CreatePermission (创建权限)
- 9.1 Forming a CreatePermission Request (构造创建权限请求)
- 9.2 Receiving a CreatePermission Request (接收创建权限请求)
- 9.3 Receiving a CreatePermission Response (接收创建权限响应)
- 10. Send and Data Methods (发送和数据方法)
- 10.1 Forming a Send Indication (构造发送指示)
- 10.2 Receiving a Send Indication (接收发送指示)
- 10.3 Receiving a UDP Datagram (接收UDP数据报)
- 10.4 Receiving a Data Indication (接收数据指示)
- 11. Channels (通道)
- 11.1 Sending a ChannelBind Request (发送通道绑定请求)
- 11.2 Receiving a ChannelBind Request (接收通道绑定请求)
- 11.3 Receiving a ChannelBind Response (接收通道绑定响应)
- 11.4 The ChannelData Message (通道数据消息)
- 11.5 Sending a ChannelData Message (发送通道数据消息)
- 11.6 Receiving a ChannelData Message (接收通道数据消息)
- 11.7 Relaying Data from the Peer (从对等方中继数据)
- 12. IP Header Fields (IP头字段)
- 13. New STUN Methods (新STUN方法)
- 14. New STUN Attributes (新STUN属性)
- 14.1 CHANNEL-NUMBER
- 14.2 LIFETIME
- 14.3 XOR-PEER-ADDRESS
- 14.4 DATA
- 14.5 XOR-RELAYED-ADDRESS
- 14.6 EVEN-PORT
- 14.7 REQUESTED-TRANSPORT
- 14.8 DONT-FRAGMENT
- 14.9 RESERVATION-TOKEN
- 15. New STUN Error Response Codes (新STUN错误响应码)
- 16. Detailed Example (详细示例)
- 17. Security Considerations (安全考虑)
- 17.1 Outsider Attacks (外部攻击)
- 17.2 Firewall Considerations (防火墙考虑)
- 17.3 Insider Attacks (内部攻击)
- 17.4 Other Considerations (其他考虑)
- 18. IANA Considerations (IANA考虑)
- 19. IAB Considerations (IAB考虑)
- 20. Acknowledgements (致谢)
- 21. References (参考文献)
- 21.1 Normative References (规范性参考文献)
- 21.2 Informative References (信息性参考文献)
相关资源
- 官方原文: RFC 5766
- 官方页面: RFC 5766 DataTracker
- 更新版本: RFC 8656
- 勘误表: RFC Editor Errata