Internet-Draft BGP FlowSpec Scheduling October 2026
Zhang, et al. Expires 16 April 2027 [Page]
Workgroup:
IDR
Internet-Draft:
draft-zzd-idr-flowspec-scheduling-04
Published:
Intended Status:
Standards Track
Expires:
Authors:
L. Zhang, Ed.
Huawei
T. Zhou
Huawei
Z. Li
China Mobile
J. Dong
Huawei

BGP Flow Specification Extensions for Scheduling

Abstract

BGP Flow Specification allows conveying flow specifications and associated traffic actions/rules to perform different actions based on traffic characteristics. One use case is steering a specific flow onto a designated path. However, in some scenarios, operators wish to chnge traffic forwarding paths over time.

This document extends BGP Flow Specification with scheduling time information to match packets arriving within different time slots. With this extension, the headend can apply different actions to the same traffic at different times.

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 16 April 2027.

▲

Table of Contents

1. Introduction

[RFC8955] and [RFC8956] define BGP [RFC4271] Flow Specification (FlowSpec), which allows conveying flow specifications and associated traffic actions/rules. BGP FlowSpec rules are encoded within the MP_REACH_NLRI and MP_UNREACH_NLRI attributes [RFC4760]. Associated actions are encoded in Extended Community attributes [RFC4360].

Existing traffic filter rules and actions in FlowSpec remain effective perpetually; once delivered to the headend, they steer specific traffic onto a fixed path. However, many network scenarios require time-based scheduling of routing paths.

In tidal networks such as IP carrier backbone networks, traffic varies periodically. Traffic surges during daily rush hours (typically 20:00–22:00) may lead to congestion on certain links. To mitigate such peak-time congestion, operators wish to divert some traffic onto alternative paths or limit the bandwidth of selected flows, with these policies required to be automatically enabled and disabled at specified times.

This document extends BGP Flow Specification with a scheduling time component to match the arrival time of packets. Based on this component, the headend can perform different actions for identical traffic at different times (e.g., diverting traffic to different paths).

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. FlowSpecv1 Extensions for Scheduling

[RFC8955] defines 12 components to identify traffic. Building on [RFC8955], this document defines a new component named the scheduling time component to match packet arrival times and trigger corresponding actions.

Encoding: <type (1 octet, TBD1), length (1 octet), scheduling time information (variable)+>

This new component carries time information that matches the arrival time of IP packets. A packet matches this component if its arrival time falls within the scope defined by the scheduling time information.

3. FlowSpecv2 Extensions for Scheduling

[I-D.ietf-idr-fsv2-ip-basic] specifies BGP flow specification v2 to address issues encountered during deployment of BGP flow specification v1. In Section 3.1.1 of [I-D.ietf-idr-fsv2-ip-basic], it defines a list of FSv2 filter family types, including the value 200 assigned for the time filter family type. The format of time filter is shown below:

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FSv2 Filter Family type =200  |   Fsv2 filter Family length   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             FSv2 Filter Component TLVs (variable)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Format of time filter in FSv2

This document defines a new FSv2 filter component, the scheduling time component, for the FSv2 time filter family. It matches packet arrival times to trigger different actions.

The value 100 is recommended as the type value for the scheduling time component.

Encoding: <length (1 octet), scheduling time information (variable)+>

4. Format of Scheduling Time Information

The format of Scheduling time information is shown as follows:

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Schedule-id  |    Priority   |    Reserved   |   Flags   |P|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Start Time                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Start Time                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      End Time (Duration)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      End Time (Duration)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Frequency (Optional)                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Recurrence count(Optional)                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Schedule of SR Policy

5. Security Considerations

BGP Flow Specification inherits the security properties of BGP, including risks of route hijacking, malicious NLRI injection, and tampering of flow rules. The extensions defined in this document add time-based matching criteria to FlowSpec rules and do not introduce fundamentally new security classes of threats. Existing security best practices for BGP FlowSpec [RFC8955] and [I-D.ietf-idr-fsv2-ip-basic] remain fully applicable.

6. IANA Considerations

IANA is requested to allocate a new type value for the Scheduling Time Component in the "Flow Spec Component Types" registry:

Table 1
Type Description Reference
TBD1 Scheduling Time Component This document

IANA is requested to create a new registry named "Flow Specification v2 Time Component Types". Within this registry, IANA is requested to assign type value 100 for the Scheduling Time Component:

Table 2
Type Description Reference
0 Reserved This document
1-99 Unassigned This document
100 Scheduling Time Component This document

7. References

7.1. Normative References

[RFC8955]
Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M. Bacher, "Dissemination of Flow Specification Rules", RFC 8955, DOI 10.17487/RFC8955, , <https://www.rfc-editor.org/info/rfc8955>.
[RFC8956]
Loibl, C., Ed., Raszuk, R., Ed., and S. Hares, Ed., "Dissemination of Flow Specification Rules for IPv6", RFC 8956, DOI 10.17487/RFC8956, , <https://www.rfc-editor.org/info/rfc8956>.
[RFC4760]
Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, DOI 10.17487/RFC4760, , <https://www.rfc-editor.org/info/rfc4760>.
[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/info/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/info/rfc8174>.
[I-D.ietf-idr-fsv2-ip-basic]
Hares, S., Eastlake, D. E., Dong, J., Yadlapalli, C., Maduschke, S., and J. Haas, "BGP Flow Specification Version 2 - for Basic IP", Work in Progress, Internet-Draft, draft-ietf-idr-fsv2-ip-basic-08, , <https://datatracker.ietf.org/doc/html/draft-ietf-idr-fsv2-ip-basic-08>.

7.2. Informative References

[RFC4271]
Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, , <https://www.rfc-editor.org/info/rfc4271>.
[RFC4360]
Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, , <https://www.rfc-editor.org/info/rfc4360>.

Authors' Addresses

Li Zhang (editor)
Huawei
Beiqing Road
Beijing
China
Tianran Zhou
Huawei
Zhenqiang Li
China Mobile
Jie Dong
Huawei