Internet DRAFT - draft-dong-lsr-flex-algo-time-constraint
draft-dong-lsr-flex-algo-time-constraint
LSR J. Dong
Internet-Draft L. Zhang
Intended status: Standards Track Huawei Technologies
Expires: 21 August 2024 18 February 2024
IGP Flexible Algorithm with Time Constraint
draft-dong-lsr-flex-algo-time-constraint-00
Abstract
IGP Flexible Algorithm allows IGPs to compute constraint-based paths
over the network using different types of metrics or constraints.
This document defines a new type of constraint called "Time
Constraint", which can be used to control the time period during
which a Flex-Algorithm takes effect for constraint-based path
calculation. Such mechanism may be useful in network scenarios where
either the traffic demand or the characteristics of the network
varies as a function of time. The procedures of using Time
Constraint in Flexible Algorithm is also described.
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 21 August 2024.
Copyright Notice
Copyright (c) 2024 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
Dong & Zhang Expires 21 August 2024 [Page 1]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
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. Time Constraints of Flexible Algorithm . . . . . . . . . . . 3
2.1. Time Constraint Sub-TLV of IS-IS FAD TLV . . . . . . . . 3
2.2. Time Constraint Sub-TLV of OSPF FAD TLV . . . . . . . . . 5
3. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1. Time-Constrained Flex-Algorithm Definition
Advertisement . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Advertisement of Node Participation in Time-Constrained
Flex-Algorithm . . . . . . . . . . . . . . . . . . . . . 7
3.3. Time-Constrained Flex-Algorithm Path Calculation . . . . 7
3.4. Time-Constrained Flex-Algorithm and Packet Forwarding . . 8
3.5. Time-Constrained Flex-Algorithm Switching . . . . . . . . 8
4. Security Considerations . . . . . . . . . . . . . . . . . . . 9
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.1. Normative References . . . . . . . . . . . . . . . . . . 9
7.2. Informative References . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction
IGP Flexible Algorithm [RFC9350] allows IGPs to compute constraint-
based paths over the network using different types of metrics or
constraints.
In some network scenarios, the traffic demand varies as a function of
time, and in different time period, the network path for such traffic
can be computed using different set of constraints.
In some other network scenarios, the characteristics of the network
itself, such as the connectivity between nodes, the link attributes
or the node attributes may change as a function of time, the network
path meeting specific requirements may need to be recalculated at
specific time, and the calculation result can be used for a specific
time duration.
Dong & Zhang Expires 21 August 2024 [Page 2]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
[I-D.ietf-tvr-requirements] specifies that the schedule should be
considered for making forwarding decisions and calculating paths in
the distributed routing scenario. However, there are no detail
descriptions on how to calculate paths in a distributed manner and
forward packets based on schedule.
This document defines a new type of constraint called "Time
Constraint", which can be used to control the time period during
which a Flex-Algorithm takes effect for constraint-based path
calculation. The procedure of using Time Constraints in Flexible
Algorithm is also described.
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. Time Constraints of Flexible Algorithm
The Time Constraints of Flexible Algorithm are used to specify the
time when the Flexible Algorithm is in effect, and only the network
nodes and links that are operational and meet other constraints of
the Flexible Algorithm during the active period can be used for path
computation. It also indicates the time at which the constraint-
based path computation of this Flexible Algorithm should be
performed. Similar to other constraints of Flexible Algorithm, Time
Constraint is defined as one sub-TLV of the Flexible Algorithm
Definition (FAD). The Time Constraints sub-TLV specifies the flags,
initial time, end time, recurrence, slot number and the duration of
each time slot when the Flexible Algorithm takes effect (in this
document it is called the Flexible Algorithm is active). The
encoding of Time Constraint in IS-IS and OSPF are specified in below
subsections.
2.1. Time Constraint Sub-TLV of IS-IS FAD TLV
IS-IS Flex-Algo Time Constraint Sub-TLV is a sub-TLV of the IS-IS FAD
Sub-TLV. It has the following format:
Dong & Zhang Expires 21 August 2024 [Page 3]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
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 | Length | Flags | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Initial Time (64 bit) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| End Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Recurrence (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot #1 Enable Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot #1 Disable Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ ... ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot #n Enable Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot #n Disable Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Sub-TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Encoding of Time Constraint Sub-TLV of IS-IS FAD TLV
Type (8 bits): TBD1, used to identify the type of Time Constraint
Sub-TLV.
Length (8 bits): The size of the value field in octets.
Flags (8 bits): All flags are reserved for future use.
Reserved (8 bits): Reserved for future use. MUST be set to 0 on
transmission and ignored at reception.
Initial Time (64 bits): The number of seconds since the epoch. It is
the base timeline for the Flex-Algorithm’s time constraint.
End Time (32 bits): The number of seconds since the initial time. It
indicates the time when the Flex-Algorithm expires. When the end
time of a Flex-Algorithm arrives, the routing table of this Flex-
Algorithm should be deleted. When the End Time is set to 0, it
indicates the Flex-Algorithm never expires.
Dong & Zhang Expires 21 August 2024 [Page 4]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
Recurrence (32 bits): This is used to indicate the recurrence period
of all the time slots of the Flexible Algorithm in seconds. When the
recurrence is set to 0, it indicates the slots in the Flex-Algo are
not cyclic.
Slot Number (8 bits): It is used to indicate the number of time slot
in the following fields. Each time slot consists of enable time and
disable time. The time slots indicate the duration when the Flex-
Algorithm is considered active.
Slot# Enable Time (32 bits): The number of seconds since the initial
time. It is used to indicate when the Flex-Algorithm start to take
effect for a specific time slot.
Slot# Disable Time (32 bits): The number of seconds since the initial
time. It is used to indicate when the Flex-Algorithm becomes
ineffective.
Sub-TLVs: Optional sub-TLVs.
2.2. Time Constraint Sub-TLV of OSPF FAD TLV
OSPF Flex-Algo Time Constraint Sub-TLV is a sub-TLV of the OSPF FAD
TLV. It has the following format:
Dong & Zhang Expires 21 August 2024 [Page 5]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
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 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Initial Time (64 bit) ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| End Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Recurrence (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot #1 Enable Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot #1 Disable Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ ... ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot #n Enable Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot #n Disable Time (32 bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Sub-TLVs ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Encoding of Time Constraint Sub-TLV of OSPF FAD TLV
Type(16 bits): TBD2, used to identify the type of Time Constraint
Sub-TLV.
Length (16 bits): The size of the value field in octets.
The description, format, and meaning of the flags, Initial Time, End
time, Recurrence, Slot Number, Slot# Enable Time, Slot# Disable Time
fields remain the same as in the Time Constraint Sub-TLV of IS-IS FAD
TLV.
3. Procedures
The time constraint extension brings some updates to the Flex-
Algorithm mechanism. This section describes the updates to Flex-
Algorithm Definition advertisement, Flex-Algorithm path calculation,
Flex-Algorithm-based packet forwarding and traffic switching between
Flex-Algorithms.
Dong & Zhang Expires 21 August 2024 [Page 6]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
It should be noted that the process of how a node receive time
variable link-state information is out of scope of this document. It
is assumed that each node can obtain the time variable information of
the whole network by some means.
3.1. Time-Constrained Flex-Algorithm Definition Advertisement
The valid time slots and the recurrence of the Flex-Algorithm can be
determined according to the predicted change of the traffic or the
network. Multiple time-constrained Flex-Algorithms MAY be defined
and advertised for path calculation in different time ranges. In
this case there is usually no overlapping between different time-
constrained Flex-Algorithms. A time-constrained Flex-Algorithm also
includes with other constraints as defined in [RFC9350]. For
example, the Metric Type, the Admin Groups, etc. Only a subset of
the routers participating in the particular Flex-Algorithm needs to
advertise the definition of the time-constrained Flex-Algorithm, in
which the time constraints are encoded as one Sub-TLV of the FAD TLV
(OSPF) or FAD sub-TLV (IS-IS).
3.2. Advertisement of Node Participation in Time-Constrained Flex-
Algorithm
When a node is configured to participate in a time-constrained Flex-
Algorithm, the node MUST advertise the Flex-Algorithm participation
according to the data plane mechanism used with Flex-Algorithm. For
SR-MPLS data plane, the mechanisms defined in [RFC8665], [RFC8666],
[RFC8667] MUST be used, and for SRv6 data plane, the mechanisms
defined in [RFC9352], [RFC9513] MUST be used.
Based on the End Time of the Flex-Algorithm, nodes participating in
the Flex-Algorithm MAY withdraw the data plane identifiers it
advertised for the Flex-Algorithm (e.g. the Algorithm-specific SR
SIDs and SRv6 Locators).
3.3. Time-Constrained Flex-Algorithm Path Calculation
Constraint-based path computation of a time-constrained Flex-
Algorithm SHOULD be performed before the enable time of each valid
time slot of the Flex-Algorithm. A local timer MAY be used to
determine the time at which the calculation is performed, so that the
calculation is finished at the start time of the time slot. The
mechanism for calculating Flex-Algorithm paths as defined in section
13 of [RFC9350] still applies here. The path computation SHOULD be
based on the network topology at the moment of the start time,
possibly with predicted changes of the network topology and
attributes which may happen during the time slot. Only network nodes
and links that are fully operational during the period of the Flex-
Dong & Zhang Expires 21 August 2024 [Page 7]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
Algorithm time slot can used in Flex-Algorithm path computation of
that time slot. Topology changes which are received outside any time
slot of a Flex-Algorithm are stored only and will not trigger path
calculation of the Flex-Algorithm. This way, unnecessary constraint-
based path calculation can be avoided.
3.4. Time-Constrained Flex-Algorithm and Packet Forwarding
For a time-constrained Flex-Algorithm, the computed paths MUST be
installed in the forwarding plane of network nodes which participate
in the Flex-Algorithm before the enable time of each time slot of the
Flex-Algorithm. For SR-MPLS and SRv6 data plane, the mechanisms of
installing Flex-Algorithm-specific forwarding entries as described in
section 14 of [RFC9350] applies here.
When a packet arrives at the edge of the network, according to the
arrival time and local policy, the ingress edge node SHOULD determine
which in effect time-constrained Flex-Algorithm will be used for
forwarding the packet in the network, then the packet is encapsulated
with the Flex-Algorithm-specific SR-MPLS Prefix SID or SRv6 SID
corresponding to the selected Flex-Algorithm. The intermediate nodes
SHOULD forward the packet according to forwarding entries of the
Flex-Algorithm.
3.5. Time-Constrained Flex-Algorithm Switching
In order to adapt to the changes in network traffic or network
connectivity, multiple time-constrained Flex-Algorithms MAY be
provisioned, the effective time slots of which are complementary.
This can provide network paths to meet specific requirement at
different time period. At the moments when a Flex-Algorithm become
inactive (not in any of its valid time slot), traffic SHOULD be
switched over to paths calculated with another active time-
constrained Flex-Algorithm. Such switchover can be configured via
local policy.
When a time-constrained Flex-Algorithm become inactive, network edge
nodes MUST NOT use Flex-Algorithm-specific data plane encapsulation
for any packets received after the disable time of the Flex-
Algorithm. While the Flex-Algorithm-specific forwarding entries
installed in the forwarding plane SHOULD NOT be deleted, this is to
make sure that packets in-flight with Flex-Algorithm-specific data
plane encapsulation can be forwarded correctly if the path is still
available. Traffic SHOULD be switched to paths of other Flex-
Algorithms which can meet the requirement while have complementary
time slots.
Dong & Zhang Expires 21 August 2024 [Page 8]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
When a Flex-Algorithm expires (the end time of the Flex-Algorithm
arrives), the Flex-Algorithm-specific forwarding entries installed in
the forwarding plane SHOULD be deleted after a local configured time
period, so that the packets in-flight in the network can be forwarded
correctly if the path is still available.
By the above mechanisms, there is no packet loss during the
switchover of time-constrained Flex-Algorithms.
4. Security Considerations
This document introduces no additional security vulnerabilities in
addition to the ones as described in [RFC9350].
5. IANA Considerations
IANA is requested to assign a new code point for "Flexible Algorithm
Time Constraint Sub-TLV" under the "IS-IS Sub-Sub-TLVs for Flexible
Algorithm Definition Sub-TLV" Registry.
+======+====================================+===============+
| Type | Description | Reference |
+======+====================================+===============+
| TBD1 | Flexible Algorithm Time Constraint | This document |
+------+------------------------------------+---------------+
Table 1
IANA is requested to assign a new code point for "Flexible Algorithm
Time Constraint Sub-TLV" under the "OSPF Flexible Algorithm
Definition TLV Sub-TLV" Registry.
+======+====================================+===============+
| Type | Description | Reference |
+======+====================================+===============+
| TBD2 | Flexible Algorithm Time Constraint | This document |
+------+------------------------------------+---------------+
Table 2
6. Acknowledgments
The authors would like to thank XXX for the review and discussion of
this document.
7. References
7.1. Normative References
Dong & Zhang Expires 21 August 2024 [Page 9]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
[RFC9350] Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K.,
and A. Gulko, "IGP Flexible Algorithm", RFC 9350,
DOI 10.17487/RFC9350, February 2023,
<https://www.rfc-editor.org/info/rfc9350>.
[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>.
[RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler,
H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF
Extensions for Segment Routing", RFC 8665,
DOI 10.17487/RFC8665, December 2019,
<https://www.rfc-editor.org/info/rfc8665>.
[RFC8666] Psenak, P., Ed. and S. Previdi, Ed., "OSPFv3 Extensions
for Segment Routing", RFC 8666, DOI 10.17487/RFC8666,
December 2019, <https://www.rfc-editor.org/info/rfc8666>.
[RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C.,
Bashandy, A., Gredler, H., and B. Decraene, "IS-IS
Extensions for Segment Routing", RFC 8667,
DOI 10.17487/RFC8667, December 2019,
<https://www.rfc-editor.org/info/rfc8667>.
[RFC9352] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B.,
and Z. Hu, "IS-IS Extensions to Support Segment Routing
over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352,
February 2023, <https://www.rfc-editor.org/info/rfc9352>.
[RFC9513] Li, Z., Hu, Z., Talaulikar, K., Ed., and P. Psenak,
"OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)",
RFC 9513, DOI 10.17487/RFC9513, December 2023,
<https://www.rfc-editor.org/info/rfc9513>.
7.2. Informative References
[I-D.ietf-tvr-requirements]
King, D., Contreras, L. M., and B. Sipos, "TVR (Time-
Variant Routing) Requirements", Work in Progress,
Internet-Draft, draft-ietf-tvr-requirements-01, 23 October
2023, <https://datatracker.ietf.org/doc/html/draft-ietf-
tvr-requirements-01>.
Dong & Zhang Expires 21 August 2024 [Page 10]
Internet-Draft IGP Flex-Algo with Time Constraint February 2024
Authors' Addresses
Jie Dong
Huawei Technologies
No. 156 Beiqing Road
Beijing
China
Email: jie.dong@huawei.com
Li Zhang
Huawei Technologies
No. 156 Beiqing Road
Beijing
China
Email: zhangli344@huawei.com
Dong & Zhang Expires 21 August 2024 [Page 11]