7. IANA Considerations (IANA 考虑)
本节描述了与 TCP 相关的 IANA (Internet Assigned Numbers Authority, 互联网号码分配机构) 注册和管理.
7.1. TCP 头部标志注册表
IANA 维护 "TCP Header Flags" (TCP 头部标志) 注册表, 用于管理 TCP 头部中的控制位分配.
当前已分配的标志:
| 位 | 名称 | 参考 | 描述 |
|---|---|---|---|
| 0 | FIN | RFC 9293 | 结束 - 发送方不再有数据 |
| 1 | SYN | RFC 9293 | 同步序列号 |
| 2 | RST | RFC 9293 | 重置连接 |
| 3 | PSH | RFC 9293 | 推送功能 |
| 4 | ACK | RFC 9293 | 确认字段有效 |
| 5 | URG | RFC 9293 | 紧急指针字段有效 |
| 6 | ECE | RFC 3168 | ECN 回显 |
| 7 | CWR | RFC 3168 | 拥塞窗口减少 |
保留位:
- 位 8-11: 保留供将来使用, 当前必须设置为零
注册程序:
- 新的 TCP 头部标志的分配需要标准行动 (Standards Action)
- 分配由 IESG 批准
7.2. TCP 选项类型注册表
IANA 维护 "TCP Option Kind Numbers" (TCP 选项类型号) 注册表.
重要的已分配选项:
| 类型 | 长度 | 名称 | 参考 |
|---|---|---|---|
| 0 | - | End of Option List | RFC 9293 |
| 1 | - | No-Operation | RFC 9293 |
| 2 | 4 | Maximum Segment Size | RFC 9293 |
| 3 | 3 | Window Scale | RFC 7323 |
| 4 | 2 | SACK Permitted | RFC 2018 |
| 5 | N | SACK | RFC 2018 |
| 8 | 10 | Timestamps | RFC 7323 |
| 19 | 18 | TCP-MD5 Signature | RFC 2385 |
| 28 | 4 | User Timeout Option | RFC 5482 |
| 29 | N | TCP-AO | RFC 5925 |
| 34 | N | TCP Fast Open | RFC 7413 |
| 253 | N | RFC3692-style Experiment 1 | RFC 4727 |
| 254 | N | RFC3692-style Experiment 2 | RFC 4727 |
注册程序:
- TCP 选项号 0-255 由 IANA 管理
- 新选项的分配通常需要 IETF 评审或 RFC 发布
7.3. TCP 端口号注册表
IANA 维护 "Service Name and Transport Protocol Port Number Registry" (服务名称和传输协议端口号注册表).
端口范围:
- 0-1023: 系统端口 (System Ports) / 众所周知的端口 (Well-Known Ports)
- 需要 IETF 评审或 IESG 批准
- 用于标准服务 (如 HTTP:80, HTTPS:443, SSH:22)
- 1024-49151: 用户端口 (User Ports) / 注册端口 (Registered Ports)
- 通过专家评审分配
- 用于特定应用和服务
- 49152-65535: 动态端口 (Dynamic Ports) / 私有端口 (Private Ports)
- 不分配, 用于临时端口
- 也称为短暂端口 (Ephemeral Ports)
7.4. 更新和修改
RFC 9293 对 IANA 注册的更新:
-
TCP Header Flags 注册表更新:
- 明确了保留位的状态
- 确认了 CWR 和 ECE 标志 (来自 RFC 3168)
- 更新了注册程序的说明
-
TCP Option 注册表维护:
- 确认了强制性选项 (0, 1, 2)
- 引用了实验性选项的使用 (253, 254)
-
文档引用更新:
- 将 RFC 793 的引用更新为 RFC 9293
7.5. 实验性值
RFC 4727 实验性选项:
- 选项类型 253 和 254 保留用于实验用途
- RFC 6994 描述了共享使用实验性选项的机制
- 实验性选项不应在生产环境中使用
7.6. 相关注册表
其他相关 IANA 注册表:
- TCP Parameters - 顶级注册表
- TCP Alternate Checksum Numbers - 备用校验和算法
- TCP Urgent Pointer - 紧急指针语义
- TCP Timestamp Option - 时间戳选项参数
7.7. 注册请求
如何请求新的 TCP 参数:
-
端口号请求:
- 访问 IANA 端口号分配页面
- 填写服务名称, 端口号, 传输协议, 描述
- 提供联系信息和参考文档
-
选项类型请求:
- 通常通过 RFC 发布过程
- 需要 IETF 工作组讨论和共识
- IANA 考虑部分必须包含在 RFC 草案中
-
头部标志请求:
- 需要标准行动 (Standards Track RFC)
- 由 IESG 批准
- 需要充分的技术理由和社区支持
7.8. 注册表访问
IANA 注册表位置:
主页: https://www.iana.org/
TCP 参数: https://www.iana.org/assignments/tcp-parameters/
端口号: https://www.iana.org/assignments/service-names-port-numbers/
注意: 本节基于 RFC 9293 第 7 节的内容. 最新的注册表信息请访问 IANA 官方网站.