Internet-Draft | IGP TL | July 2023 |
Chen, et al. | Expires 11 January 2024 | [Page] |
This document specifies extensions to OSPF and IS-IS for temporal links whose costs are functions of time.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
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 11 January 2024.¶
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 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.¶
The cost of a link is normally a constant such as C forever (i.e., from current time to indefinite future, refer to Figure 1) when there is no change on the cost of the link.¶
However, there are some links in a network whose costs are functions of time (refer to Figure 2). These links are called temporal links.¶
This document proposes extensions to IGP (i.e., OSPF and IS-IS) for distributing cost functions of temporal links and handling temporal links. Every node in the network computes the shortest paths using the costs of temporal links based on the cost functions.¶
This section illustrates a few temporal link cost functions through an example.¶
Figure 3 shows an example network topology containing temporal links. Nodes Sa, Sb and Sc are satellites in a first orbit. Nodes S1, S2 and S3 are satellites in a second orbit, which is adjacent to the first orbit. Nodes A and B are the nodes on the earth each with a ground station seeing or connecting a satellite. A satellite has links from it to its adjacent satellites. These links are stable. The costs of these links are not changing typically. For example, node Sa has links from Sa to Sb and S1; node Sb has links from Sb to Sa, Sc and S2. These links are stable.¶
A satellite moves around the earth in its orbit. It moves around the earth once in a period. For example, a starlink satellite moves around the earth once every 95 minutes (i.e., 5,700 seconds). During this period, the satellite can see or have link from it to a node on the earth in a time interval. For example, the time interval is 398 seconds for a starlink satellite. During each period, a satellite can see or have a link from it to a node on the earth for a time interval. For example, when node Sa is a starlink satellite, node Sa has a link from Sa to A for a time interval such as 398 seconds every period such as 95 minutes (i.e., 5,700 seconds), node A has a link from A to Sa for the time interval such as 398 seconds every period such as 95 minutes (i.e., 5,700 seconds). Similarly, for the links between Sb and A, Sc and A, S1 and B, S2 and B, and S3 and B.¶
The link between a satellite node and a node on the earth is laser or microwave. The quality or cost of the link is affected by weather conditions. In a cloudy condition for a time interval, the link bandwidth is reduced. When Bw is the bandwidth of the link in an ideal weather condition, Bw is reduced to P*Bw in a cloudy condition, wherein P is a percentage such as 50 percents. When the cost of the link is C in the ideal condition and is calculated using a reference bandwidth, the cost of the link is increased to C/P in the cloudy condition in the time interval. When P = 50 percents, the cost of the link is increased to 2C (= C/0.5) in the time interval.¶
Figure 4 shows an example of a periodic temporal link cost function (or periodic cost function for short). The cost of a temporal link such as link from A to Sa is C0 for a time interval such as 400 seconds from a given time T0, in every time period such as 95 minutes (i.e., 5,700 seconds). When the given time T0 is now, the cost of the link is C0 for 400 seconds and then Infinity for 5,300 seconds in every 95 minutes (i.e., 5,700 seconds). That is that the cost of the link is C0 from now for 400 seconds, and then Infinity for 5,300 seconds (i.e., the rest of the first 95 minutes); C0 from 95 minutes later for 400 seconds and then Infinity for 5,300 seconds (i.e., the rest of the second 95 minutes); C0 from 2x95 minutes later for 400 seconds and then Infinity for 5,300 seconds (i.e., the rest of the third 95 minutes); and so on.¶
The cost of a temporal link is C0 for a time interval in every time period except for some given periods. In each of the given periods, the cost of the link is C0', for example, C0' = 2*C0.¶
When given periods are two periods from given time T0' as shown in Figure 5, for each of the two periods from time T0', the cost of the link is C0' for 400 seconds for the period (95 minutes from T0' or 95 minutes from T2') and then Infinity for the rest of the period. In the first given period (i.e., 95 minutes from T0'), the cost of the link is C0' from T0' for 400 seconds and then Infinity for 5,300 seconds (i.e., the rest of the first given period); in the second given period (i.e., 95 minutes from T2'), the cost of the link is C0' from T2' for 400 seconds and then Infinity for 5,300 seconds (i.e., the rest of the second given period).¶
The cost of a temporal link is C0 for a time interval in every time period except for a given time interval. In the given interval, the cost of the link is Ca, for example, Ca = 3*C0.¶
When the given interval is 5,000 seconds from given time T0' as shown in Figure 6, the cost of the link is Ca from T2 for (T1' - T2) seconds, C0 from T1' for (T3 - T1') seconds, and then Infinity for the rest of the period (95 minutes from T2 to T4). For the time period from T0' to T2, which overlaps with the time period from T1 to T2, the cost of the link is Infinity, which is the bigger cost (Infinity > Ca) in the overlapped period (i.e., from T0' to T2). For the time period from T2 to T1', which overlaps with the time period from T2 to T3, the cost of the link is Ca, which is the bigger cost (Ca > C0) in the overlapped period (i.e., from T2 to T1').¶
This section defines cost function Sub-TLVs for representing a cost function of a temporal link and describes procedures for handling temporal links.¶
Three link cost function Sub-TLVs are defined. They are Recurrent time interval Sub-TLV, Limited Recurrent time interval Sub-TLV and Fixed time interval Sub-TLV.¶
Recurrent time interval Sub-TLV is shown in Figure 7. Its value contains Start-time, Interval-length and Period. This Sub-TLV with Start-time = T0, Interval-length = 400 and Period = 5,700 represents a cost function similar to the one as shown in Figure 4. The cost of the link is normal link cost such as C0 from a time indicated by Start-time = T0 for a time interval indicated by Interval-length = 400 seconds in every period indicated by Period = 5,700 seconds, and Infinity for the rest of time in every period.¶
Limited Recurrent time interval Sub-TLV is shown in Figure 8. Its value contains Start-time, Interval-length, Period, Number-periods, and Cost. This Sub-TLV with Start-time = T0', Interval-length = 400, Period = 5,700, Number-periods = 2 and Cost = C0' represents a part of a cost function similar to the one as shown in Figure 5. The cost of the link is Cost = C0' from a time indicated by Start-time = T0' for a time interval indicated by Interval-length = 400 seconds in each period indicated by Period = 5,700 seconds for the number of periods indicated by Number-periods = 2 periods, and Infinity for the rest of time in each of these 2 periods.¶
This Sub-TLV with Start-time = T0', Interval-length = 400, Period = 5,700, Number-periods = 2 and Cost = C0' and Recurrent time interval Sub-TLV with Start-time = T0, Interval-length = 400 and Period = 5,700 represent a cost function similar to the one as shown in Figure 5.¶
Fixed time interval Sub-TLV is shown in Figure 9. Its value contains Start-time, Interval-length and Cost. This Sub-TLV with Start-time = T0', Interval-length = 5,000 and Cost = Ca represents a part of a cost function similar to the one as shown in Figure 6. The cost of the link is Cost = Ca from a time indicated by Start-time = T0' for a time interval indicated by Interval-length = 5,000 seconds.¶
This Sub-TLV with Start-time = T0', Interval-length = 5,000 and Cost = Ca and Recurrent time interval Sub-TLV with Start-time = T0, Interval-length = 400 and Period = 5,700 represent a cost function similar to the one as shown in Figure 6.¶
Every node distributes a cost function configured on each temporal link of the node to the other nodes in the network. For OSPFv2, the cost function Sub-TLVs for a cost function configured on a temporal link of the node is distributed in the OSPFv2 Extended Link TLV for the link in the OSPFv2 Extended Link Opaque LSA with LS Type 10 defined in [RFC7684].¶
For OSPFv3, the cost function Sub-TLVs for a cost function configured on a temporal link of the node is distributed in the Router-Link TLV for the link in the OSPFv3 E-Link-LSA defined in [RFC8362].¶
For IS-IS, the cost function Sub-TLVs for a cost function configured on a temporal link of the node is included in the Extended IS Reachability TLV of TLV type 22 for the link in a Link State Protocol data unit (PDU) (LSP).¶
Every node in a network maintains status of each of temporal links in its link state database (LSDB). The status includes cost function such as cost function Sub-TLVs for the link, the down or up state of the link. Every node also maintains the earliest link change time (ELCT) at which the cost of a temporal link will change from C (which is not Infinity) to Infinity or vice versa.¶
Every node computes the shortest paths using the costs of links at ELCT before ELCT and builds a next routing/forwarding table (NRT) based on the paths. When the time is ELCT, every node uses its NRT as its current routing/forwarding table, and then every node finds a new ELCT, computes the shortest paths using the costs of links at the new ELCT before the new ELCT and builds a new next routing/forwarding table (NRT) based on the paths. Note that the clocks on all the nodes in a network must be synchronized.¶
TBD.¶
The authors would like to thank Bruno Decraene, and Donald E. Eastlake for the valuable comments and suggestions on this draft.¶