跳到主要内容

7. IANA 考虑 (IANA Considerations)

本节描述与 TCP 相关的 IANA (Internet Assigned Numbers Authority) 注册表和管理事项.

7.1. TCP Header Flags 注册表

IANA 维护 "TCP Header Flags" 注册表, 用于管理 TCP 头部中的控制位分配.

当前已分配的标志:

位 (Bit)名称 (Name)引用 (Reference)描述 (Description)
0FINRFC 9293Finish - 发送方没有更多数据
1SYNRFC 9293同步序列号
2RSTRFC 9293重置连接
3PSHRFC 9293Push 功能
4ACKRFC 9293确认字段有效
5URGRFC 9293紧急指针字段有效
6ECERFC 3168ECN-Echo
7CWRRFC 3168Congestion Window Reduced

保留位:

  • Bits 8-11: 保留供将来使用, 当前必须设置为零.

注册流程:

  • 分配新的 TCP 头部标志需要 Standards Action.
  • 分配由 IESG 批准.

7.2. TCP Option Kind Numbers 注册表

IANA 维护 "TCP Option Kind Numbers" 注册表.

重要的已分配选项:

Kind长度 (Length)名称 (Name)引用 (Reference)
0-End of Option ListRFC 9293
1-No-OperationRFC 9293
24Maximum Segment SizeRFC 9293
33Window ScaleRFC 7323
42SACK PermittedRFC 2018
5NSACKRFC 2018
810TimestampsRFC 7323
1918TCP-MD5 SignatureRFC 2385
284User Timeout OptionRFC 5482
29NTCP-AORFC 5925
34NTCP Fast OpenRFC 7413
253NRFC3692-style Experiment 1RFC 4727
254NRFC3692-style Experiment 2RFC 4727

注册流程:

  • TCP option numbers 0-255 由 IANA 管理.
  • 新选项的分配通常需要 IETF Review 或 RFC 发布.

7.3. TCP Port Number 注册表

IANA 维护 "Service Name and Transport Protocol Port Number Registry".

端口范围:

  • 0-1023: System Ports / Well-Known Ports.
    • 需要 IETF Review 或 IESG 批准.
    • 用于标准服务, 例如 HTTP:80, HTTPS:443, SSH:22.
  • 1024-49151: User Ports / Registered Ports.
    • 通过 Expert Review 分配.
    • 用于特定应用和服务.
  • 49152-65535: Dynamic Ports / Private Ports.
    • 不分配, 用作临时端口.
    • 也称为 Ephemeral Ports.

7.4. 更新和修改 (Updates and Modifications)

RFC 9293 对 IANA 注册表的更新:

  1. TCP Header Flags 注册表更新:

    • 澄清保留位的状态.
    • 确认来自 RFC 3168 的 CWR 和 ECE 标志.
    • 更新注册流程说明.
  2. TCP Option 注册表维护:

    • 确认强制选项 0, 1, 2.
    • 引用实验性选项 253, 254 的用法.
  3. 文档引用更新:

    • 将引用从 RFC 793 更新为 RFC 9293.

7.5. 实验性值 (Experimental Values)

RFC 4727 实验性选项:

  • Option kinds 253 和 254 保留用于实验.
  • RFC 6994 描述实验性选项共享使用的机制.
  • 实验性选项不应在生产环境中使用.

其他相关 IANA 注册表:

  • TCP Parameters - 顶层注册表.
  • TCP Alternate Checksum Numbers - 备用校验和算法.
  • TCP Urgent Pointer - 紧急指针语义.
  • TCP Timestamp Option - 时间戳选项参数.

7.7. 注册请求 (Registration Requests)

如何请求新的 TCP 参数:

  1. 端口号请求:

    • 访问 IANA 端口号分配页面.
    • 填写服务名, 端口号, 传输协议和描述.
    • 提供联系信息和参考文档.
  2. Option Kind 请求:

    • 通常通过 RFC 发布流程进行.
    • 需要 IETF 工作组讨论和共识.
    • RFC 草案中必须包含 IANA Considerations 章节.
  3. 头部标志请求:

    • 需要 Standards Track RFC.
    • 由 IESG 批准.
    • 需要充分的技术理由和社区支持.

7.8. 注册表访问 (Registry Access)

IANA 注册表位置:

Homepage: https://www.iana.org/
TCP Parameters: https://www.iana.org/assignments/tcp-parameters/
Port Numbers: https://www.iana.org/assignments/service-names-port-numbers/

注册表中的实时分配状态由 IANA 维护. 实现者在依赖端口号, TCP 选项或头部标志分配时, 应核对相应 IANA 注册表.