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 Notice)
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)
-
- 引言 (Introduction)
-
- 约定与定义 (Conventions and Definitions)
-
- Grease QUIC Bit 传输参数 (The Grease QUIC Bit Transport Parameter)
-
- 安全考虑 (Security Considerations)
-
- IANA 考虑 (IANA Considerations)
-
- 参考文献 (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]