Internet-Draft SRv6 Path CC July 2026
Liu, et al. Expires 20 January 2027 [Page]
Workgroup:
Fast Network Notifications
Internet-Draft:
draft-liu-fann-srv6-cc-00
Published:
Intended Status:
Standards Track
Expires:
Authors:
Y. Liu
China Mobile
J. Yao
Huawei
C. Lin
New H3C Technologies
M. Xiao
ZTE

Congestion Control Based on SRv6 Path

Abstract

This document describes a congestion control solution based on SRv6. It defines mechanisms for congestion notification and flow control within an SRv6-based network, optimizing congestion handling through hierarchical congestion control messages along SRv6 paths.

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

Table of Contents

1. Introduction

The SRv6 network needs a reliable and efficient mechanism for handling congestion across different segments. Current congestion control techniques lack the ability to handle congestion in a fine-grained, per-path manner. This draft proposes a solution that uses SRv6 path segments and slicing to notify upstream nodes and take actions to reduce congestion. The key idea is to notify upstream nodes about congestion and enable flow control based on SRv6 segments (SID lists). This process is integrated with the SRv6 network's slicing capabilities to provide fine-grained control over network traffic, ensuring lossless transmission of data across SRv6 network.

1.1. Requirements Language

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. Background and Motivation

Priority Flow Control (PFC) provides hop-by-hop, priority-based traffic control. Compared to the traditional Ethernet Pause mechanism, PFC enables more precise flow management by creating multiple virtual channels on a link, each of which can be paused or resumed independently, ensuring that traffic of different priorities does not interfere with one another.

With the growth of intelligent computing services, scenarios such as disaggregated computing and real-time inference require the lossless transmission of large volumes of bursty traffic. In interconnected wide-area networks (WANs), when network congestion occurs, the congestion status must be quickly propagated upstream to both head-end devices and edge devices, enabling hop-by-hop reduction of sending rates. These intelligent computing WANs typically use SRv6 Policies for transport. However, once traffic enters a policy, traditional PFC mechanisms face the following three major challenges:

3. SRv6 congestion notification Mechanism

+----------+                                        +----------+
|   Data   |                                        |   Data   |
| center A |                                        | center B |
+----------+                                        +----------+
     |                          Congestion Occurs        ^
     |                                      |            |
     v                                      v            |
   +----+  -->  +----+  -->  +----+  -->  +----+  -->  +----+
   | R1 |       | R2 |       | R3 |       | R4 |       | R5 |
   +----+       +----+       +----+       +----+       +----+
                                            |
      <-------------------------------------|
              Congestion  Notification
Figure 1: Congestion Notification in SRv6 Network

Consider two data centers, A and B, connected via an SRv6 path defined as R1 -> R2 -> R3 -> R4 -> R5, as shown in Figure 1. The process follows these steps:

4. Congestion Notification Message Format

The congestion notification message can be encapsulated in either ICMPv6 [RFC4443] or UDP [RFC768] messages. Regardless of the encapsulation format, they contains following fields:

4.1. ICMPv6 message format

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |      Code     |           Checksum            |
+---------------+---------------+-------------------------------+
|     Flags     |     Priority  |          Reserved             |
+---------------+---------------+-------------------------------+
|          Argument[0]          |          Argument[1]          |
+-------------------------------+-------------------------------+
|          Argument[2]          |          Argument[3]          |
+-------------------------------+-------------------------------+
|          Argument[4]          |          Argument[5]          |
+-------------------------------+-------------------------------+
|          Argument[6]          |          Argument[7]          |
+-------------------------------+-------------------------------+
|                       Target Bandwidth                        |
----------------------------------------------------------------+
|                            Slice ID                           |
+---------------------------------------------------------------+
Figure 2: Congestion Notification in ICMPv6

Where:

Type and Code: These fields indicate the specific congestion notification type and its sub-type, providing details about the kind of congestion event being reported.

4.2. UDP packet

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        UDP source port        |      UDP destination port     |
+-------------------------------+-------------------------------+
|          UDP length           |           UDP checksum        |
+---------------+---------------+-------------------------------+
|     Flags     |     Priority  |          Reserved             |
+---------------+---------------+-------------------------------+
|          Argument[0]          |          Argument[1]          |
+-------------------------------+-------------------------------+
|          Argument[2]          |          Argument[3]          |
+-------------------------------+-------------------------------+
|          Argument[4]          |          Argument[5]          |
+-------------------------------+-------------------------------+
|          Argument[6]          |          Argument[7]          |
+-------------------------------+-------------------------------+
|                        Target Bandwidth                       |
----------------------------------------------------------------+
|                            Slice ID                           |
+---------------------------------------------------------------+
Figure 3: Congestion Notification in UDP

Where:

UDP Destination port: A new port indicates the congestion notification packet.

5. SRv6 congestion notification running process

The SID configuration of each node in the figure is as follows: End.X SIDs of nodes R1 to R5 are A::1:1,A::2:1,A::3:1,A::4:1,A::5:1, and the slice ID corresponding to each SID is 1. The VPN SID of the R5 node is A::5:F.

The running process of each node is as follows:

6. Security Considerations

This document does not introduce any new security considerations.

7. IANA Considerations

This document requests IANA to allocate a new ICMP message type and UDP port.

8. Normative References

[RFC8754]
Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header (SRH)", RFC 8754, DOI 10.17487/RFC8754, , <https://www.rfc-editor.org/rfc/rfc8754>.
[RFC4443]
Conta, A., Deering, S., and M. Gupta, Ed., "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", STD 89, RFC 4443, DOI 10.17487/RFC4443, , <https://www.rfc-editor.org/rfc/rfc4443>.
[RFC768]
Postel, J., "User Datagram Protocol", STD 6, RFC 768, DOI 10.17487/RFC0768, , <https://www.rfc-editor.org/rfc/rfc768>.
[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>.

Authors' Addresses

Yisong Liu
China Mobile
Beijing
China
Junda Yao
Huawei
Beijing
China
Changwang Lin
New H3C Technologies
Beijing
China
Min Xiao
ZTE Corporation
Nanjing
China