Internet-Draft MASQUE media bitrate capsule February 2024
Ihlar & Kühlewind Expires 12 August 2024 [Page]
Workgroup:
Multiplexed Application Substrate over QUIC Encryption
Internet-Draft:
draft-ihlar-masque-sconepro-mediabitrate-00
Published:
Intended Status:
Standards Track
Expires:
Authors:
M. Ihlar
Ericsson
M. Kühlewind
Ericsson

MASQUE extension for signaling media bitrate

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/.

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.

Table of Contents

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.

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.

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:

Table 1: New Capsule Type to register
Capsule Type Value Specification
MEDIA-BITRATE TBD (This document)

9.2. HTTP headers

This document adds following entry to the "Hypertext Transfer Protocol (HTTP) Field Name Registry":

Table 2: HTTP Field Name to register
Field Name Template Status Reference Comments
Media-Bitrate   permanent (This document)  

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, , <https://datatracker.ietf.org/doc/html/draft-ietf-masque-quic-proxy-00>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.
[RFC8941]
Nottingham, M. and P. Kamp, "Structured Field Values for HTTP", RFC 8941, DOI 10.17487/RFC8941, , <https://www.rfc-editor.org/rfc/rfc8941>.

Acknowledgments

TODO acknowledge.

Authors' Addresses

Marcus Ihlar
Ericsson
Mirja Kühlewind
Ericsson