跳到主要内容

RFC 9287 - 涂脂 QUIC 位 (Greasing the QUIC Bit)

  • 状态: Proposed Standard
  • 发布日期: August 2022
  • Stream: IETF
  • 勘误: 无勘误

摘要 (Abstract)​

本文档描述一种协商方法, 使端点可以在 QUIC 报文中为次高有效位发送任意值.

本备忘录状态 (Status of This Memo)​

这是一份 Internet Standards Track 文档.

本文档是互联网工程任务组 (Internet Engineering Task Force, IETF) 的产物. 它代表 IETF 社区的共识. 它已接受公开审阅, 并已获互联网工程指导组 (Internet Engineering Steering Group, IESG) 批准发布. 有关 Internet Standards 的更多信息, 见 RFC 7841 第 2 节.

有关本文档当前状态、任何勘误以及如何提供反馈的信息, 见 https://www.rfc-editor.org/info/rfc9287.

Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.

本文档受 BCP 78 以及 IETF Trust 关于 IETF 文档的法律条款 (https://trustee.ietf.org/license-info) 约束 (以本文档发布之日有效者为准). 请仔细审阅这些文件, 因为它们描述了您与本文档相关的权利与限制. 从本文档提取的代码组件必须包含 Trust Legal Provisions 第 4.e 节所述的 Revised BSD License 文本, 并按该许可证所述不提供保证.

目录 (Table of Contents)​

    1. 引言 (Introduction)
    1. 约定与定义 (Conventions and Definitions)
    1. Grease QUIC Bit 传输参数 (The Grease QUIC Bit Transport Parameter)
    1. 安全考虑 (Security Considerations)
    1. IANA 考虑 (IANA Considerations)
    1. 参考文献 (References)
  • 作者地址 (Author's Address)

1. 引言 (Introduction)​

QUIC 的版本无关定义 [QUIC-INVARIANTS] 有意只描述对端点以外实体可见的极窄字段集合. 除这些不变特征外, QUIC 的 "线镜像" (wire image) [RFC8546] 几乎不可见.

在 QUIC 版本 1 [QUIC] 中, 每个 QUIC 报文首字节的次高有效位被定义为固定值. 固定值的目的是让端点高效区分 QUIC 与其他协议; 见 [DEMUX] 中对可能使用该属性的系统的描述. 由于该位可将报文识别为 QUIC, 有时称为 "QUIC 位" (QUIC Bit).

当端点及其支持的中间盒不依赖 QUIC 位取固定值时, 在每个报文中发送相同值更多是负担而非资产. 若系统逐渐依赖固定值, 则将来为该位赋予语义的 QUIC 版本可能难以定义.

为保护该位的未来使用, 本文档定义一个 QUIC 传输参数, 指示端点愿意接收该位取任意值的 QUIC 报文. 通过为该位发送不同值, 期望该值在将来仍可被使用 [USE-IT].

2. 约定与定义 (Conventions and Definitions)​

关键词 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" 和 "OPTIONAL" 的解释见 BCP 14 [RFC2119] [RFC8174], 且仅当它们全部大写出现时适用.

本文档使用 [QUIC] 中的术语与记法约定.

3. Grease QUIC Bit 传输参数 (The Grease QUIC Bit Transport Parameter)​

grease_quic_bit 传输参数 (0x2ab2) 为 QUIC 版本 1 [QUIC] 定义. 该传输参数可由客户端与服务器发送. 传输参数以空值发送; 理解该传输参数的端点 MUST 将收到非空值视为类型为 TRANSPORT_PARAMETER_ERROR 的连接错误.

通告 grease_quic_bit 传输参数的端点 MUST 接受 QUIC 位设为 0 的报文. QUIC 位定义为 QUIC 报文首字节的次高有效位 (即值 0x40).

3.1. 清除 QUIC 位 (Clearing the QUIC Bit)​

从对等端收到 grease_quic_bit 传输参数的端点 SHOULD 将 QUIC 位设为不可预测的值, 除非另一扩展为该位的值赋予了特定语义.

端点可在接收并处理传输参数之后发送的所有报文上将 QUIC 位设为 0. 这可包括 Initial、Handshake 和 Retry 报文.

客户端 MAY 在从服务器接收传输参数之前发送的 Initial、Handshake 或 0-RTT 报文中也将 QUIC 位设为 0. 但是, 若客户端同时发送在 Retry 报文或 NEW_TOKEN 帧 (见 [QUIC] 第 19.7 节) 中提供的令牌, 则客户端 MUST NOT 将 QUIC 位设为 0.

3.2. 使用 QUIC 位 (Using the QUIC Bit)​

本文档描述的 QUIC 位用法与 [QUIC] 中的定义兼容.

4. 安全考虑 (Security Considerations)​

对 QUIC 位进行涂脂 (greasing) 旨在保护该位的未来使用. 它不提供任何安全属性.

5. IANA 考虑 (IANA Considerations)​

本文档在 [QUIC] 第 22.3 节建立的 "QUIC Transport Parameters" 注册表中注册 grease_quic_bit 传输参数.

注册字段如下:

  • Value: 0x2ab2
  • Parameter Name: grease_quic_bit
  • Status: Permanent
  • Specification: RFC 9287

6. 参考文献 (References)​

6.1. 规范性引用 (Normative References)​

[QUIC] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, https://www.rfc-editor.org/info/rfc9000.

[QUIC-INVARIANTS] Thomson, M., "Version-Independent Properties of QUIC", RFC 8999, DOI 10.17487/RFC8999, May 2021, https://www.rfc-editor.org/info/rfc8999.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, https://www.rfc-editor.org/info/rfc2119.

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, https://www.rfc-editor.org/info/rfc8174.

6.2. 资料性引用 (Informative References)​

[DEMUX] Kühlewind, M. and C. Huitema, "Multiplexing Scheme Updates for QUIC", Work in Progress, Internet-Draft, draft-ietf-quic-multiplexing-02, 22 October 2020, https://datatracker.ietf.org/doc/html/draft-ietf-quic-multiplexing-02.

[RFC8546] Trammell, B. and M. Kühlewind, "The Wire Image of a Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April 2019, https://www.rfc-editor.org/info/rfc8546.

[USE-IT] Thomson, M., "Use It or Lose It", RFC 9170, DOI 10.17487/RFC9170, December 2021, https://www.rfc-editor.org/info/rfc9170.

作者地址 (Author's Address)​

Martin Thomson Mozilla Email: [email protected]