Multiplexed Application Substrate over QUIC Encryption M. Ihlar Internet-Draft M. Kühlewind Intended status: Standards Track Ericsson Expires: 12 August 2024 9 February 2024 MASQUE extension for signaling media bitrate draft-ihlar-masque-sconepro-mediabitrate-00 Abstract This document specifies a new Capsule (RFC9297) that can be used with CONNECT-UDP (RFC9298), CONNECT-IP (RFC9484), or other future CONNECT extensions to signal the available bitrate for media traffic that is proxied through an HTTP server. This information can be used by a media application to regulate its media bitrate in accordance with a network policy, as an alternative to in-network traffic shaping. About This Document This note is to be removed before publishing as an RFC. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-ihlar-masque-sconepro- mediabitrate/. Discussion of this document takes place on the Multiplexed Application Substrate over QUIC Encryption Working Group mailing list (mailto:masque@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/masque/. Subscribe at https://www.ietf.org/mailman/listinfo/masque/. Source for this draft and an issue tracker can be found at https://github.com/mirjak/draft-masque-mediabitrate. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Ihlar & Kühlewind Expires 12 August 2024 [Page 1] Internet-Draft MASQUE media bitrate capsule February 2024 Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 12 August 2024. Copyright Notice Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions and Definitions . . . . . . . . . . . . . . . . . 3 3. Indicating Support for Media Bitrate Signaling . . . . . . . 3 4. MEDIA_BITRATE Capsule Type Format . . . . . . . . . . . . . . 3 5. Client Behaviour . . . . . . . . . . . . . . . . . . . . . . 4 6. Proxy Behaviour . . . . . . . . . . . . . . . . . . . . . . . 4 7. Performance Considerations . . . . . . . . . . . . . . . . . 4 8. Security Considerations . . . . . . . . . . . . . . . . . . . 4 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 9.1. Capsule types . . . . . . . . . . . . . . . . . . . . . . 4 9.2. HTTP headers . . . . . . . . . . . . . . . . . . . . . . 5 10. Normative References . . . . . . . . . . . . . . . . . . . . 5 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 5 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 1. Introduction This document specifies a new Capsule (RFC9297) that can be used with CONNECT-UDP (RFC9298), CONNECT-IP (RFC9484), or other future CONNECT extensions to signal the available bitrate for media traffic that is proxied through an HTTP server. This information can be used by a media application to regulate its media bitrate in accordance with a network policy, as an alternative to in-network traffic shaping. Ihlar & Kühlewind Expires 12 August 2024 [Page 2] Internet-Draft MASQUE media bitrate capsule February 2024 The extension can be used with the HTTP CONNECT method when the :protocol pseudo header is equal to "connect-udp" or "connect-ip" and with future CONNECT protocols that use the Capsule Protocol. 2. Conventions and Definitions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Indicating Support for Media Bitrate Signaling A client who wishes to receive media bitrate capsules can indicate support by sending a request header with the boolean-valued Item Structured Field "Media-Bitrate: ?1". The HTTP proxy indicates support by sending a response header with the boolean-valued Item Structured Field "Media-Bitrate: ?1" See Section 3.3.6 of [RFC8941] for information about the boolean format. Once support has been established, a proxy MAY send MEDIA_BITRATE capsules at any time during the lifetime of the stream that originated the request. 4. MEDIA_BITRATE Capsule Type Format The MEDIA_BITRATE Capsule has the following format: MEDIA_BITRATE Capsule { Type (i) = MEDIA_BITRATE, Length (i) Media Bitrate (i) [Average Window (i)] } The capsule has the following fields: Media Bitrate: Indicates the average bitrate that is supported by the network without traffic shaping. Average Window: Indicates the duration over which the bitrate is enforced. The largest allowed burst is given by Media Bitrate * Average window. This field is optional. Ihlar & Kühlewind Expires 12 August 2024 [Page 3] Internet-Draft MASQUE media bitrate capsule February 2024 5. Client Behaviour A client that receives media bitrate capsules needs to make the information available to a media application, this is implementation specific and out of scope for this document. A media application can use the information to select a media track that conforms with the specified bitrate. How this is done and whether an application client needs to explicitly coordinate with an application server is out of scope for this document. 6. Proxy Behaviour A proxy that sends media bitrate capsules needs to be tightly integrated with the access network infrastructure and policy framework. A proxy that sends media bitrate capsules does so as an alternative to traffic shaping, the policies that govern shaping behaviour can be used to determine the values sent with media bitrate capsules. A proxy might still apply shaping or policing to traffic that is breaching the policy in order to ensure that the bitrate policy is respected. In this case, it is RECOMMENDED that the proxy uses an averaging window that is sufficiently long to allow data transmission bursts that make full use of the available network capacity. A proxy can SHOULD the Average Window field in the media bitrate capsule to inform the client about how it enforces bitrates. 7. Performance Considerations This protocol is intended to provide policy indications to applications traversing a network. Using HTTP proxying for this purpose does add overhead in terms of CPU, memory and MTU. It is RECOMMENDED that this solution is used together with QUIC-Aware proxying [I-D.ietf-masque-quic-proxy] whenever possible. 8. Security Considerations TODO Security 9. IANA Considerations 9.1. Capsule types This document adds following entries to the "HTTP Capsule Types" registry: Ihlar & Kühlewind Expires 12 August 2024 [Page 4] Internet-Draft MASQUE media bitrate capsule February 2024 +===============+=======+=================+ | Capsule Type | Value | Specification | +===============+=======+=================+ | MEDIA-BITRATE | TBD | (This document) | +---------------+-------+-----------------+ Table 1: New Capsule Type to register 9.2. HTTP headers This document adds following entry to the "Hypertext Transfer Protocol (HTTP) Field Name Registry": +===============+==========+===========+=================+==========+ | Field Name | Template | Status | Reference | Comments | +===============+==========+===========+=================+==========+ | Media-Bitrate | | permanent | (This | | | | | | document) | | +---------------+----------+-----------+-----------------+----------+ Table 2: HTTP Field Name to register 10. Normative References [I-D.ietf-masque-quic-proxy] Pauly, T., Rosenberg, E., and D. Schinazi, "QUIC-Aware Proxying Using HTTP", Work in Progress, Internet-Draft, draft-ietf-masque-quic-proxy-00, 17 August 2023, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8941] Nottingham, M. and P. Kamp, "Structured Field Values for HTTP", RFC 8941, DOI 10.17487/RFC8941, February 2021, . Acknowledgments TODO acknowledge. Ihlar & Kühlewind Expires 12 August 2024 [Page 5] Internet-Draft MASQUE media bitrate capsule February 2024 Authors' Addresses Marcus Ihlar Ericsson Email: marcus.ihlar@ericsson.com Mirja Kühlewind Ericsson Email: mirja.kuehlewind@ericsson.com Ihlar & Kühlewind Expires 12 August 2024 [Page 6]