Internet DRAFT - draft-zzd-idr-flowspec-path-scheduling
draft-zzd-idr-flowspec-path-scheduling
IDR L. Zhang, Ed.
Internet-Draft T. Zhou
Intended status: Standards Track J. Dong
Expires: 9 May 2024 Huawei
6 November 2023
BGP Flow Specification Extensions for Path Scheduling
draft-zzd-idr-flowspec-path-scheduling-01
Abstract
Path scheduling is required in many network scenarios. For example,
some links or nodes will be shut down in the tidal network when the
traffic decreases, which may lead to the expiration of some routing
paths.
This document defines a new type of component for BGP Flow
Specification to identify the packets arrived at different time slot.
Based on that, the headend can steer packets into different paths at
different time.
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 9 May 2024.
Copyright Notice
Copyright (c) 2023 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
Zhang, et al. Expires 9 May 2024 [Page 1]
Internet-Draft BGP FlowSpec Path Scheduling November 2023
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
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Scheduling time information in FlowSpec . . . . . . . . . . . 3
3.1. Aperiodic Scheduling Time Information . . . . . . . . . . 4
3.2. Periodic Scheduling Time Information . . . . . . . . . . 5
4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1. Normative References . . . . . . . . . . . . . . . . . . 6
7.2. Informative References . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
[RFC8955] and [RFC8956] define the BGP [RFC4271] Flow Specification
(FlowSpec) that allows conveying flow specifications and traffic
Action/Rules associated. BGP Flow specifications are encoded within
the MP_REACH_NLRI and MP_UNREACH_NLRI attributes [RFC4760]. Rules
(Actions associated) are encoded in Extended Community attribute
[RFC4360].
The existing traffic filter rules and actions in FlowSpec are always
effective and will steer specific traffic into one path once been
delivered to the headend. However, there are many scenarios that
need to schedule routing paths in the network.
[I-D.zzd-tvr-use-case-tidal-network] introduces the tidal network, in
which the topology of the network will change periodically over time.
The topology change may cause some of the paths invalid, and lead to
path reselection or even recalculation. However, the reselection or
recalculation takes a period of time, which will affect packet
forwarding and cause problems such as packet disorder and packet
loss. On a network with predictable topology changes, the controller
knows future topology changes, it can deliver a FlowSpec to the
headend which can steers traffic to different paths in advance to
prevent packet forwarding from being affected by topology changes.
Zhang, et al. Expires 9 May 2024 [Page 2]
Internet-Draft BGP FlowSpec Path Scheduling November 2023
This document defines a new type of component for BGP Flow
Specification to identify the packets arrived at different time slot.
Based on that, the headend can steer packets into different paths at
different time.
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. Motivation
[I-D.zzd-tvr-use-case-tidal-network] introduces the time variant
routing scenario in the tidal network, in which the traffic volume
varies greatly at different time. In order to reduce the power
consumption, some of the links and nodes may be shut down when the
traffic is at a low level.
In this scenario, the controller can generate a FlowSpec with
shceduling time rule to identify the packets arrivaling time and
corresponding paths. The headend doesn’t need to wait for the
advertisement of topology change and just steer traffic in to
different pathes based on the flowSpec with scheduling time
information, the affection of topology change is minimized.
3. Scheduling time information in FlowSpec
[RFC8955] defines 12 Components to identify different traffics.
Based on [RFC8955], this document defines a new Component to identify
the arrival time of packets, so as to enable path scheduling.
Encoding: <type (1 octet), length (1 octet), scheduling time
information (variabile)]+>
Defines the time information that matches the arrival time of
packets. This component matches if either the arrival time of an IP
packet in the scope of scheduling time information.
The Scheduling time information has two formats according to the
change regularity of network topology. They are Aperiodic Scheduling
Time Information (ASTI) and Periodic Scheduling Time Information
(PSTI).
Zhang, et al. Expires 9 May 2024 [Page 3]
Internet-Draft BGP FlowSpec Path Scheduling November 2023
3.1. Aperiodic Scheduling Time Information
The ASTI indicates one or more group of matching time slot (each
includes the enable time and disable time) for the packets. The
format of ASTI 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Enable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Disable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
/ Variable /
| |
Figure 1: Format of ASTI
Type: used to identify the type of scheduling time information. The
value and corresponding types are shown as follows:
+=======+=======================================+
| Value | Type |
+=======+=======================================+
| 0x01 | Aperiodic Scheduling Time Information |
+-------+---------------------------------------+
| 0x02 | Periodic Scheduling Time Information |
+-------+---------------------------------------+
Table 1
Enable Time: the time in seconds indicates the start time when the
packets matching.
Disable Time: the time in seconds indicates the end time when the
packets matching.
Variable: one or more groups of time information (A information group
is composed of Enable Time and Disable time) may be included in one
ASTI.
Zhang, et al. Expires 9 May 2024 [Page 4]
Internet-Draft BGP FlowSpec Path Scheduling November 2023
3.2. Periodic Scheduling Time Information
The PSTI indicates one or more group of periodic matching time slot
(each includes period, enable time and disable time) for the packets.
The format of PSTI 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Period |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Enable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Disable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
/ Variable /
| |
Figure 2: Format of PSTI
Type: as defined in clause “Aperiodic Scheduling Time Information”
Length: the size of the value field in octets.
Period: the time in seconds between the enable time of one repetition
and the enable time of the next repetition.
Enable Time: the time in seconds indicates when the path(s) is(are)
enabled.
Disable Time: the time in seconds indicates when the path(s) is(are)
disabled
Variable: one or more groups of time information(A information group
is composed of Period, Enable Time and Disable time) may be included
in one PSTI.
4. Procedures
When the headend device (as a FlowSpec client) receives a instruction
with scheduling time information from a BGP FlowSpec Controller, it
will steer the traffic packets matching the time slot and other
conditions in the Flowspec instruction into a specific path.
Zhang, et al. Expires 9 May 2024 [Page 5]
Internet-Draft BGP FlowSpec Path Scheduling November 2023
5. Security Considerations
These extensions to BGP FlowSpec do not add any new security issues
to the existing protocol.
6. IANA Considerations
This document defines a new Component in the registry " Flow Spec
Component Types" to be assigned by IANA:
+=======+=============================+===============+
| Value | Description | Reference |
+=======+=============================+===============+
| TBD1 | Scheduling Time Information | This document |
+-------+-----------------------------+---------------+
Table 2
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, December 2020,
<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, December 2020,
<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, January 2007,
<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, March 1997,
<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,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
7.2. Informative References
Zhang, et al. Expires 9 May 2024 [Page 6]
Internet-Draft BGP FlowSpec Path Scheduling November 2023
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006,
<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,
February 2006, <https://www.rfc-editor.org/info/rfc4360>.
[I-D.zzd-tvr-use-case-tidal-network]
Zhang, L., Zhou, T., Dong, J., and N. Nzima, "Use Case of
Tidal Network", Work in Progress, Internet-Draft, draft-
zzd-tvr-use-case-tidal-network-02, 28 July 2023,
<https://datatracker.ietf.org/doc/html/draft-zzd-tvr-use-
case-tidal-network-02>.
Authors' Addresses
Li Zhang (editor)
Huawei
Beiqing Road
Beijing
China
Email: zhangli344@huawei.com
Tianran Zhou
Huawei
Email: zhoutianran@huawei.com
Jie Dong
Huawei
Email: jie.dong@huawei.com
Zhang, et al. Expires 9 May 2024 [Page 7]