RFC 5389 - NAT 会话穿越实用程序 (STUN)
- 状态: Proposed Standard
- 发布日期: October 2008
- Stream: IETF
- 废弃了: RFC3489
- 被废弃: RFC8489
- 勘误: 无勘误
摘要
NAT 会话穿越实用程序 (Session Traversal Utilities for NAT, STUN) 是一种协议, 可作为其他处理网络地址转换器 (Network Address Translator, NAT) 穿越的协议的工具使用. 终端可借助它来确定 NAT 为其分配的 IP 地址和端口. 它还可用于检查两个终端之间的连通性, 并作为 keep-alive 协议以维持 NAT 绑定. STUN 可与许多现有的 NAT 协同工作, 且不要求它们做出任何特殊行为.
STUN 本身并非一种 NAT 穿越解决方案, 而是要在 NAT 穿越解决方案的上下文中使用的工具. 这与本规范的前一版本 (RFC 3489) 相比是一个重要的变化, 旧版本将 STUN 当作一种完整的解决方案来呈现.
本文档废弃了 RFC 3489.
本备忘录的状态
本文档为互联网社区规定了一种互联网标准轨道协议, 并征询讨论与改进建议. 有关本协议的标准化状态和状况, 请参考 "Internet Official Protocol Standards" (STD 1) 的当前版本. 本备忘录的分发不受限制.
目录
- 1. 引言
- 2. 从 RFC 3489 演进
- 3. 操作概览
- 4. 术语
- 5. 定义
- 6. STUN 消息结构
- 7. 基本协议过程
- 7.1 形成请求或指示
- 7.2 发送请求或指示
- 7.2.1 通过 UDP 发送
- 7.2.2 通过 TCP 或 TLS-over-TCP 发送
- 7.3 接收 STUN 消息
- 7.3.1 处理请求
- 7.3.2 处理指示
- 7.3.3 处理成功响应
- 7.3.4 处理错误响应
- 8. FINGERPRINT 机制
- 9. 服务器的 DNS 发现
- 10. 认证与消息完整性机制
- 10.1 短期凭证机制
- 10.2 长期凭证机制
- 11. ALTERNATE-SERVER 机制
- 12. 与 RFC 3489 的向后兼容性
- 12.1 对客户端处理的变更
- 12.2 对服务器处理的变更
- 13. 基本服务器行为
- 14. STUN 用法
- 15. STUN 属性
- 15.1 MAPPED-ADDRESS
- 15.2 XOR-MAPPED-ADDRESS
- 15.3 USERNAME
- 15.4 MESSAGE-INTEGRITY
- 15.5 FINGERPRINT
- 15.6 ERROR-CODE
- 15.7 REALM
- 15.8 NONCE
- 15.9 UNKNOWN-ATTRIBUTES
- 15.10 SOFTWARE
- 15.11 ALTERNATE-SERVER
- 16. 安全考虑
- 16.1 针对协议的攻击
- 16.2 影响用法的攻击
- 16.3 哈希敏捷性计划
- 17. IAB 考虑
- 18. IANA 考虑
- 18.1 STUN 方法注册表
- 18.2 STUN 属性注册表
- 18.3 STUN 错误码注册表
- 18.4 STUN UDP 与 TCP 端口号
- 19. 自 RFC 3489 以来的变更
- 20. 贡献者
- 21. 致谢
- 22. 参考文献
- 22.1 规范性参考文献
- 22.2 参考性文献
附录
相关资源
- 官方 RFC: RFC 5389
- RFC DataTracker: RFC 5389 DataTracker
- 勘误: RFC Editor Errata
- 废弃关系: 废弃了 RFC 3489
- 更新关系: 被 RFC 8489 更新
- 相关 RFC:
- RFC 5766 (TURN - 绕过 NAT 使用中继进行穿越)
- RFC 8445 (ICE - 交互式连通性建立)
- RFC 8489 (STUN 更新版本)