Internet-Draft Mobile L4S June 2026
Poreba, et al. Expires 1 January 2027 [Page]
Workgroup:
TSVWG Working Group
Internet-Draft:
draft-sporeba-mobile-l4s-00
Published:
Intended Status:
Best Current Practice
Expires:
Authors:
S. Poreba
Google LLC
L. Colitti
Google LLC
S. Irlanki
Samsung R&D

Best Practices for L4S implementation for Mobile Devices

Abstract

This document documents best practices for deployment of Low Latency, Low Loss, and Scalable Throughput (L4S) in mobile devices. It defines the responsibilities of the host operating system, the link-layer (modem and WiFi) subsystems to ensure successful end-to-end low-latency communication.

About This Document

This note is to be removed before publishing as an RFC.

The latest revision of this draft can be found at https://fridek.github.io/draft-sporeba-mobile-l4s/draft-sporeba-mobile-l4s.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-sporeba-mobile-l4s/.

Source for this draft and an issue tracker can be found at https://github.com/fridek/draft-sporeba-mobile-l4s.

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 1 January 2027.

Table of Contents

1. Introduction

L4S (Low Latency, Low Loss, Scalable Throughput) [RFC9330] offers a framework to significantly reduce queuing delay while maintaining high throughput. Mobile devices often have to react to quickly changing connectivity conditions and may be subject to variable throughput and connection quality. This can cause large variations in user-perceived latency and greater bufferbloat than in other devices. Deploying L4S in a mobile ecosystem requires co-operation across multiple layers: the network stack, the host operating system (OS), and link-layer drivers and firmware (e.g., Wi-Fi and cellular modem), and the network. This document outlines best current practices for each of these subsystems to achieve reliable, low-latency performance in the field.

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

2. Host Operating System Requirements

The host operating system controls application-level network access and hosts the primary TCP and UDP transport stacks.

2.1. Socket APIs for UDP

To enable UDP-based transport stacks (such as QUIC) to utilize L4S, the OS MUST provide APIs that allow applications to:

  1. Set the ECN codepoint [RFC9331] on outgoing packets.

  2. Read the ECN codepoints of incoming packets.

These capabilities MUST be exposed via standard socket APIs (e.g., IP_TOS and IPV6_TCLASS for setting, and IP_RECVTOS and IPV6_RECVTCLASS via ancillary data for reading) and MUST NOT be restricted by default security policies for standard application sockets. The APIs MUST allow reading the ECN codepoints on a per-packet basis. and MUST allow setting the ECN codepoints either on a per-socket or per-packet basis. The detailed explanation of configuring UDP sockets for ECN for common platforms is covered in [I-D.ietf-tsvwg-udp-ecn].

UDP-based transport stacks SHOULD mark L4S-capable traffic as ECT(1) and MUST NOT mark queue-building traffic (e.g., traffic using legacy congestion controls) as ECT(1). Link layers MUST respond to misbehaving stack as discussed in {#defense-against-misbehaving-traffic}.

2.2. TCP support detection and bootstrapping

To allow L4S-capable senders (e.g., Internet servers) to take advantage of L4S, host operating systems and link-layers must negotiate ECN support and verify path integrity as described in Section 1.4 and Section 3 of [RFC9768].

2.2.1. Per-network detection and latency mitigation

If misconfigured networks or servers drop ECN negotiation packets, and the client does not retry without ECN negotiation, TCP connections will fail. Therefore, clients MUST implement retry strategies that disable ECN negotiation, as described in Section 3.1.4 and Section 3.2.3.2.2 of [RFC9768]. Note that a server replying with Not-ECT is does not require any additional retries and is not considered a failure.

Latency is critical to mobile applications, and retry strategies dependent on retransmissions and timeouts can lead to a degraded user experience. To ensure that L4S can be safely enabled without degrading the user experience in the presence of networks or servers that drop ECN negotiations or Accurate ECN TCP options, the client SHOULD balance implementing the retry strategies in section 3 of [RFC9768] with mechanisms to reduce the latency impact of retransmissions. A possible strategy is to only attempt ECN negotiation on the first SYN to a new server. Additionally, the host MAY cache ECN negotiation timeouts on a per-host or per-IP-address, or other basis.

If a host is in a network that blocks all ECN negotiation regardless of destination, all TCP connections will suffer latency impact. This will degrade the user experience even if failures are cached, because any connection to a server that is not in the cache will suffer an additional round trip delay.

A host system that wants to be resilient to this MAY attempt a connectivity check to a known, L4S-supporting service. In case of check failure, the result can be used to turn off L4S negotiation attempts for a given network, represented by PLMN/APN (in carrier networks) or SSID/BSSID (in Wi-Fi networks).

When maintaining such lists, entries SHOULD be retired after a reasonable TTL (e.g. 7 days), and SHOULD prefer information from more frequently used destinations.

4. On-Path Node Requirements

On-Path Nodes MUST NOT perform network-based classification or rewrite ECN/DSCP markings based on traffic heuristics or DPI. In accordance with [I-D.livingood-low-latency-deployment], active classification decisions MUST be left to the application endpoints, and on-path devices MUST restrict their role to marking the ECN bits in the event of a queue forming.

4.1. ECN and AccECN Transparency

On-Path Nodes MUST NOT clear (bleach) ECN bits, in accordance with [RFC3168]. They MUST preserve ECT(0), ECT(1), and CE markings on all IP packets, except in the event of queue forming, where appropriate codepoints should be marked. Similarly, On-Path Nodes MUST NOT strip, modify, or drop packets containing TCP options 172 or 174.

Non-compliant behaviour can lead to timeouts and retransmits in the TCP handshake, and consequently to a degraded user experience.

4.2. Handshake Forwarding

On-Path Nodes MUST transparently forward SYN and SYN-ACK packets that negotiate ECN or AccECN. On-Path Nodes MUST NOT drop TCP handshake packets solely due to the presence of ECN negotiation flags or AccECN TCP options.

4.3. Mitigation Against Non-Compliant Prioritization

On-Path Nodes MUST NOT act on ECT(1) flags to prioritize traffic in alternative, non-compliant ways unless a valid end-to-end feedback loop is actively maintained—where the network nodes execute compliant congestion marking and the transport endpoints record and reflect those markings in line with the transport-specific requirements specified in Section 4.2 of [RFC9331].

Network deployments MUST NOT be marketed or operated as supporting L4S if they prioritize traffic via alternative heuristics (such as bandwidth allocation multipliers). The risk of such alternative mechanisms is incentivising marking ECT(1) codepoints in flows to be allocated into prioritised queues, without implementing full L4S congestion control as described in {#defense-against-misbehaving-traffic}. The convergence point of such behaviour would be a prevalence of ECT(1) marked traffic that does not respond to CE markings and congestion in the incorrectly prioritised queues.

5. Security Considerations

L4S introduces potential abuse vectors where applications mark queue-building traffic as low-latency. As described in {#defense-against-misbehaving-traffic}, the link-layer subsystem MUST deploy queue protection mechanisms to defend the low-latency queue from starvation and latency degradation.

6. IANA Considerations

This document has no IANA actions.

7. References

7.1. Normative References

[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>.
[RFC3168]
Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of Explicit Congestion Notification (ECN) to IP", RFC 3168, DOI 10.17487/RFC3168, , <https://www.rfc-editor.org/rfc/rfc3168>.
[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>.
[RFC8311]
Black, D., "Relaxing Restrictions on Explicit Congestion Notification (ECN) Experimentation", RFC 8311, DOI 10.17487/RFC8311, , <https://www.rfc-editor.org/rfc/rfc8311>.
[RFC9330]
Briscoe, B., Ed., De Schepper, K., Bagnulo, M., and G. White, "Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service: Architecture", RFC 9330, DOI 10.17487/RFC9330, , <https://www.rfc-editor.org/rfc/rfc9330>.
[RFC9331]
De Schepper, K. and B. Briscoe, Ed., "The Explicit Congestion Notification (ECN) Protocol for Low Latency, Low Loss, and Scalable Throughput (L4S)", RFC 9331, DOI 10.17487/RFC9331, , <https://www.rfc-editor.org/rfc/rfc9331>.
[RFC9768]
Briscoe, B., Kühlewind, M., and R. Scheffenegger, "More Accurate Explicit Congestion Notification (AccECN) Feedback in TCP", RFC 9768, DOI 10.17487/RFC9768, , <https://www.rfc-editor.org/rfc/rfc9768>.
[RFC9956]
White, G., Fossati, T., and R. Geib, "A Non-Queue-Building Per-Hop Behavior (NQB PHB) for Differentiated Services", RFC 9956, DOI 10.17487/RFC9956, , <https://www.rfc-editor.org/rfc/rfc9956>.

7.2. Informative References

[I-D.ietf-tsvwg-udp-ecn]
Duke, M., "Configuring UDP Sockets for ECN for Common Platforms", Work in Progress, Internet-Draft, draft-ietf-tsvwg-udp-ecn-08, , <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-udp-ecn-08>.
[I-D.livingood-low-latency-deployment]
Livingood, J., "ISP Dual Queue Networking Deployment Observations", Work in Progress, Internet-Draft, draft-livingood-low-latency-deployment-16, , <https://datatracker.ietf.org/doc/html/draft-livingood-low-latency-deployment-16>.

Authors' Addresses

Sebastian Poreba
Google LLC
Lorenzo Colitti
Google LLC
Sandeep Irlanki
Samsung R&D