RFC 5766 - TURN: 围绕 NAT 使用中继进行穿越
- 状态: 标准跟踪 (Standards Track)
- 发布日期: 2010 年 4 月
- Stream: IETF
- 作者: R. Mahy, P. Matthews, J. Rosenberg
- 被更新/替代: RFC 8656
- 勘误: 无勘误
摘要
如果主机位于 NAT 后方, 在某些情况下, 该主机可能无法与其他主机 (peer) 直接通信. 在这些情况下, 主机需要使用一个充当通信中继的中间节点提供的服务. 本规范定义一种称为 TURN (Traversal Using Relays around NAT) 的协议, 允许主机控制中继的运行, 并通过该中继与其 peer 交换分组. TURN 与其他一些中继控制协议不同, 它允许客户端使用单个中继地址与多个 peer 通信.
TURN 协议被设计为 NAT 穿越方案 ICE (Interactive Connectivity Establishment) 的组成部分, 但也可以在不使用 ICE 的情况下使用.
目录
- 1. 引言 (Introduction)
- 2. 操作概述 (Overview of Operation)
- 2.1 传输 (Transports)
- 2.2 分配 (Allocations)
- 2.3 权限 (Permissions)
- 2.4 发送机制 (Send Mechanism)
- 2.5 通道 (Channels)
- 2.6 非特权 TURN 服务器 (Unprivileged TURN Servers)
- 2.7 避免 IP 分片 (Avoiding IP Fragmentation)
- 2.8 RTP 支持 (RTP Support)
- 2.9 服务器的任播发现 (Anycast Discovery of Servers)
- 3. 术语 (Terminology)
- 4. 一般行为 (General Behavior)
- 5. 分配 (Allocations)
- 6. 创建分配 (Creating an Allocation)
- 6.1 发送 Allocate 请求 (Sending an Allocate Request)
- 6.2 接收 Allocate 请求 (Receiving an Allocate Request)
- 6.3 接收 Allocate 成功响应 (Receiving an Allocate Success Response)
- 6.4 接收 Allocate 错误响应 (Receiving an Allocate Error Response)
- 7. 刷新分配 (Refreshing an Allocation)
- 7.1 发送 Refresh 请求 (Sending a Refresh Request)
- 7.2 接收 Refresh 请求 (Receiving a Refresh Request)
- 7.3 接收 Refresh 响应 (Receiving a Refresh Response)
- 8. 权限 (Permissions)
- 9. CreatePermission
- 9.1 构造 CreatePermission 请求 (Forming a CreatePermission Request)
- 9.2 接收 CreatePermission 请求 (Receiving a CreatePermission Request)
- 9.3 接收 CreatePermission 响应 (Receiving a CreatePermission Response)
- 10. Send 和 Data 方法 (Send and Data Methods)
- 10.1 构造 Send 指示 (Forming a Send Indication)
- 10.2 接收 Send 指示 (Receiving a Send Indication)
- 10.3 接收 UDP 数据报 (Receiving a UDP Datagram)
- 10.4 接收 Data 指示 (Receiving a Data Indication)
- 11. 通道 (Channels)
- 11.1 发送 ChannelBind 请求 (Sending a ChannelBind Request)
- 11.2 接收 ChannelBind 请求 (Receiving a ChannelBind Request)
- 11.3 接收 ChannelBind 响应 (Receiving a ChannelBind Response)
- 11.4 ChannelData 消息 (The ChannelData Message)
- 11.5 发送 ChannelData 消息 (Sending a ChannelData Message)
- 11.6 接收 ChannelData 消息 (Receiving a ChannelData Message)
- 11.7 从 Peer 中继数据 (Relaying Data from the Peer)
- 12. IP 头部字段 (IP Header Fields)
- 13. 新 STUN 方法 (New STUN Methods)
- 14. 新 STUN 属性 (New STUN Attributes)
- 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. 新 STUN 错误响应码 (New STUN Error Response Codes)
- 16. 详细示例 (Detailed Example)
- 17. 安全考虑事项 (Security Considerations)
- 17.1 外部攻击 (Outsider Attacks)
- 17.2 防火墙考虑事项 (Firewall Considerations)
- 17.3 内部攻击 (Insider Attacks)
- 17.4 其他考虑事项 (Other Considerations)
- 18. IANA 考虑事项 (IANA Considerations)
- 19. IAB 考虑事项 (IAB Considerations)
- 20. 致谢 (Acknowledgements)
- 21. 参考文献 (References)
- 21.1 规范性引用文献 (Normative References)
- 21.2 资料性引用文献 (Informative References)
相关资源
- 官方文本:
https://www.rfc-editor.org/rfc/rfc5766.txt - 官方页面:
https://datatracker.ietf.org/doc/html/rfc5766 - 更新版本:
https://www.rfc-editor.org/rfc/rfc8656.html