Internet-Draft IGP TL January 2024
Chen, et al. Expires 3 August 2024 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-chen-lsr-tl-01
Published:
Intended Status:
Standards Track
Expires:
Authors:
H. Chen
Futurewei
A. Wang
China Telecom
G. Mishra
Verizon
Z. Li
China Mobile
Y. Fan
Casa Systems
X. Liu
Alef Edge
L. Liu
Fujitsu

IGP for Temporal Links

Abstract

This document specifies extensions to OSPF and IS-IS for temporal links whose costs are functions of time.

Requirements Language

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.

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 3 August 2024.

1. Introduction

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.

  Link Cost
    ^
    |
    |                                C3___________
    |        C1__________
    |
  C0|__________                                   C4_________
    |                  C2________________
    |
   -+-------------------------------------------------------> Time
    |T0        T1        T2              T3         T4
Figure 2: Link Cost of Temporal Link

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.

2.1. Example Network with Temporal Links

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.

                   \               \
                    \               \
       - - - - - - [ Sa ]----------[ S1 ]  - - - - - - - - - -
      /               \               \                       \
     /                 \               \                       \
    /                   \               \                       \
 [ A ] - - - - - - - - [ Sb ]----------[ S2 ]  - - - - - - - - [ B ]
    \                     \               \                     /
     \                     \               \                   /
      \                     \               \                 /
       -  -  - - - - - - - [ Sc ]----------[ S3 ]  - - - - - -
                              \               \
                               \               \
Figure 3: Network with Temporal Links

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.

2.2. Periodic Cost Function

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.

  Link Cost
    ^
    |                                                 C1 = Infinity
    |    C1_____________     C1_____________     C1_____________
    |
    |
  C0|______            C0______            C0______
    |
    |
   -+---------------------------------------------------------->Time
    |T0    T1           T2     T3           T4     T5
    | 400s |<- 5,300s ->| 400s |<- 5,300s ->| 400s |<- 5,300s ->|
    |<-- 95m(5,700s) -->|<-- 95m(5,700s) -->|<-- 95m(5,700s) -->|
Figure 4: Periodic Temporal Link Cost Function

2.3. Change in Given Periods

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).

  Link Cost
    ^
    |                                              C1 = Infinity
    |    C1__ ...        C1___________     C1___________
    |
    |
    |             C0'______         C0'______
  C0|______ ...                                         C0______
    |
   -+----------------------------------------------------------->Time
    |T0              T0'   T1'         T2'   T3'         T4     T5
    |                | 400s |<-5,300s->| 400s |<-5,300s->| 400s |
    |                |<--95m(5,700s)-->|<--95m(5,700s)-->|
Figure 5: Periodic Link Cost with C0' in Given Periods

2.4. Change in Given Interval

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').

Link Cost
  ^
  |                                              C1 = Infinity
  |    C1___________        C1___________     C1___________
  |
  |                 Ca____
  |
C0|______                 ____C0        C0______
  |            |<-5,000s->|
 -+--------------------------------------------------------->Time
  |T0    T1    T0'    T2 T1' T3           T4     T5
  | 400s |            | 400s |            | 400s |          |
  |<-- 95m(5,700s) -->|<-- 95m(5,700s) -->|<--95m(5,700s)-->|
Figure 6: Periodic Link Cost with Ca in Given Interval

3. Extensions to IGP

This section defines cost function Sub-TLVs for representing a cost function of a temporal link and describes procedures for handling temporal links.

3.1. Cost Function Sub-TLVs

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.

 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 (TBD1)           |              Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Start-time                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Interval-length                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            Period                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Recurrent Time Interval Sub-TLV

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.

 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 (TBD2)         |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Start-time                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Interval-length                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            Period                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Number-periods        |             Cost              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 8: Limited Recurrent Time Interval Sub-TLV

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.

 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 (TBD3)          |         Length                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Start-time                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Interval-length                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Cost                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9: Fixed Time Interval Sub-TLV

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).

3.2. Procedures

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.

6. References

6.1. Normative References

[ISO10589]
ISO, "Information technology -- Telecommunications and information exchange between systems -- Intermediate System to Intermediate System intra-domain routing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode network service (ISO 8473)", ISO/IEC 10589:2002, Second Edition, .
[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>.
[RFC5305]
Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, DOI 10.17487/RFC5305, , <https://www.rfc-editor.org/info/rfc5305>.
[RFC7684]
Psenak, P., Gredler, H., Shakir, R., Henderickx, W., Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute Advertisement", RFC 7684, DOI 10.17487/RFC7684, , <https://www.rfc-editor.org/info/rfc7684>.
[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>.
[RFC8362]
Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and F. Baker, "OSPFv3 Link State Advertisement (LSA) Extensibility", RFC 8362, DOI 10.17487/RFC8362, , <https://www.rfc-editor.org/info/rfc8362>.

6.2. Informative References

[RFC7356]
Ginsberg, L., Previdi, S., and Y. Yang, "IS-IS Flooding Scope Link State PDUs (LSPs)", RFC 7356, DOI 10.17487/RFC7356, , <https://www.rfc-editor.org/info/rfc7356>.

Acknowledgments

The authors would like to thank Bruno Decraene, and Donald E. Eastlake for the valuable comments and suggestions on this draft.

Authors' Addresses

Huaimo Chen
Futurewei
Boston, MA,
United States of America
Aijun Wang
China Telecom
Beiqijia Town, Changping District
Beijing
102209
China
Gyan S. Mishra
Verizon
13101 Columbia Pike
Silver Spring, MD 20904
United States of America
Phone: 301 502-1347
Zhenqiang Li
China Mobile
No.32 Xuanwumenxi Ave., Xicheng District
Beijing
100032
P.R. China
Yanhe Fan
Casa Systems
United States of America
Xufeng Liu
Alef Edge
United States of America
Lei Liu
Fujitsu
United States of America