```
```USA

```
```Huaimo.chen@futurewei.com

```
```

```
```
China Telecom
Beiqijia Town, Changping District
Beijing
`102209`

China
wangaj3@chinatelecom.cn
Verizon
13101 Columbia Pike
Silver Spring
`MD 20904`

USA
301 502-1347
gyan.s.mishra@verizon.com
China Mobile
No.32 Xuanwumenxi Ave., Xicheng District
Beijing
`100032`

P.R. China
li_zhenqiang@hotmail.com
Casa Systems

USA
yfan@casa-systems.com
Alef Edge

USA
xufeng.liu.ietf@gmail.com
Fujitsu

USA
liulei.kddi@gmail.com
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
when, and only when, they appear in all capitals, as shown here.

```
```
The cost of a link is normally a constant such as C forever
(i.e., from current time to indefinite future,
refer to )
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 ).
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.
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.
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 ,
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 ,
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
.
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 .
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
.
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
.
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
.
Fixed time interval Sub-TLV is shown in
.
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
.
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
.
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
.
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
.
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.
TBD.
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)
International Organization for Standardization
Acknowledgments
The authors would like to thank Bruno Decraene, and Donald E. Eastlake
for the valuable comments and suggestions on this draft.

```
```