draft-wang-lsr-flex-algo-link-loss-01.txt | draft-wang-lsr-flex-algo-link-loss-02.txt | |||
---|---|---|---|---|
Network Working Group Y. Wang | Network Working Group Y. Wang | |||
Internet-Draft G. Xu | Internet-Draft G. Xu | |||
Intended status: Standards Track X. Geng | Intended status: Standards Track X. Geng | |||
Expires: 23 August 2024 J. Dong | Expires: 23 August 2024 J. Dong | |||
Huawei | Huawei | |||
20 February 2024 | 20 February 2024 | |||
IGP Flexible Algorithm with Link Loss | IGP Flexible Algorithm with Link Loss | |||
draft-wang-lsr-flex-algo-link-loss-01 | draft-wang-lsr-flex-algo-link-loss-02 | |||
Abstract | Abstract | |||
IGP Flexible Algorithms allow IGPs to compute constraint-based paths. | IGP Flexible Algorithms allow IGPs to compute constraint-based paths. | |||
Since link packet loss rate plays an important role in network | Since link packet loss rate plays an important role in network | |||
evaluation, links with high packet loss rate should be bypassed | evaluation, links with high packet loss rate should be bypassed | |||
during forwarding. This draft proposes a path computation method | during forwarding. This draft proposes a path computation method | |||
based on a maximum link loss constraint to prune unsatisfied links in | based on a maximum link loss constraint to prune unsatisfied links in | |||
Flexible Algorithms. | Flexible Algorithms. | |||
skipping to change at page 2, line 22 ¶ | skipping to change at page 2, line 22 ¶ | |||
license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
extracted from this document must include Revised BSD License text as | extracted from this document must include Revised BSD License text as | |||
described in Section 4.e of the Trust Legal Provisions and are | described in Section 4.e of the Trust Legal Provisions and are | |||
provided without warranty as described in the Revised BSD License. | provided without warranty as described in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Exclude Maximum Link Loss Sub-TLV . . . . . . . . . . . . . . 4 | 2. Exclude Maximum Link Loss Sub-TLV . . . . . . . . . . . . . . 3 | |||
2.1. IS-IS Exclude Maximum Link Loss Sub-TLV . . . . . . . . . 4 | 2.1. IS-IS Exclude Maximum Link Loss Sub-TLV . . . . . . . . . 4 | |||
2.2. OSPF Exclude Maximum Link Loss Sub-TLV . . . . . . . . . 5 | 2.2. OSPF Exclude Maximum Link Loss Sub-TLV . . . . . . . . . 5 | |||
3. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 6 | 3. Calculation of Flexible Algorithm Paths . . . . . . . . . . . 5 | |||
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 4. Operational Considerations . . . . . . . . . . . . . . . . . 6 | |||
4.1. IS-IS Sub-Sub-TLVs for Flexible Algorithm Definition | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
5.1. IS-IS Sub-Sub-TLVs for Flexible Algorithm Definition | ||||
Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 6 | Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.2. OSPF Sub-Sub-TLVs for Flexible Algorithm Definition | 5.2. OSPF Sub-Sub-TLVs for Flexible Algorithm Definition | |||
Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 6 | Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
5.1. Normative References . . . . . . . . . . . . . . . . . . 6 | 6.1. Normative References . . . . . . . . . . . . . . . . . . 6 | |||
5.2. Informative References . . . . . . . . . . . . . . . . . 7 | 6.2. Informative References . . . . . . . . . . . . . . . . . 7 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
1. Introduction | 1. Introduction | |||
Link packet loss rate (link loss) is a measure of the percentage of | Link packet loss rate (link loss) is a measure of the percentage of | |||
data packets that are lost during transmission over a network. It is | data packets that are lost during transmission over a network. It is | |||
an important performance metric that directly impacts the quality of | an important performance metric that directly impacts the quality of | |||
service, network congestion, security, and overall network | service, network congestion, security, and overall network | |||
efficiency. Ensuring a low packet loss rate is essential for | efficiency. Ensuring a low packet loss rate is essential for | |||
maintaining efficient and secure network operations. Consequently, | maintaining efficient and secure network operations. Consequently, | |||
skipping to change at page 3, line 10 ¶ | skipping to change at page 3, line 4 ¶ | |||
efficiency. Ensuring a low packet loss rate is essential for | efficiency. Ensuring a low packet loss rate is essential for | |||
maintaining efficient and secure network operations. Consequently, | maintaining efficient and secure network operations. Consequently, | |||
It is necessary to avoid passing through links with a high packet | It is necessary to avoid passing through links with a high packet | |||
loss rate during forwarding. | loss rate during forwarding. | |||
The link loss is advertised by the Unidirectional Link Loss Sub-TLV | The link loss is advertised by the Unidirectional Link Loss Sub-TLV | |||
defined in [RFC8570] by IS-IS and [RFC7471] by OSPF, which describes | defined in [RFC8570] by IS-IS and [RFC7471] by OSPF, which describes | |||
the loss (as a packet percentage) between two directly connected IS- | the loss (as a packet percentage) between two directly connected IS- | |||
IS neighbors. This Sub-TLV is carried in the Application-Specific | IS neighbors. This Sub-TLV is carried in the Application-Specific | |||
Link Attributes Sub-TLV advertised by IS-IS [RFC9479] or OSPF | Link Attributes Sub-TLV advertised by IS-IS [RFC9479] or OSPF | |||
[RFC9492]. The link packet loss rate can be measured by methods such | [RFC9492]. The link packet loss rate can be measured by methods such | |||
as TWAMP [RFC5357] and STAMP [RFC8762], which is beyond the scope of | as TWAMP [RFC5357] and STAMP [RFC8762], which is beyond the scope of | |||
this draft. | this document. | |||
IGP Flexible Algorithms allow IGPs to compute constraint-based paths | IGP Flexible Algorithms allow IGPs to compute constraint-based paths | |||
[RFC9350]. Current path computation methods are based on calculating | [RFC9350]. Current path computation methods are based on calculating | |||
the minimum cost of the path from the source to the destination. | the minimum cost of the path from the source to the destination. | |||
Flex-Algorithm has already supported path computation with the IGP | Flex-Algorithm has already supported path computation with the IGP | |||
cost, the minimum link delay and the traffic-engineering metric. | cost, the minimum link delay and the traffic-engineering metric. | |||
[I-D.ietf-lsr-flex-algo-bw-con] defines a family of generic metrics | [I-D.ietf-lsr-flex-algo-bw-con] defines a family of generic metrics | |||
(e.g. bandwidth based metric type) and bandwidth related constraints | (e.g. bandwidth based metric type) and bandwidth related constraints | |||
to support path computation based on bandwidth. However, current | to support path computation based on bandwidth. However, current | |||
calculation types and metric types cannot support path computation | calculation types and metric types cannot support path computation | |||
based on link loss, since the cost of the path should be defined as | based on link loss, since the cost of the path should be defined as | |||
the maximum/minimum value among all passing links. | the maximum/minimum value among all passing links. | |||
To overcome the above issue, there are two solutions. First, new | To overcome the above issue, there are two solutions. First, new | |||
operators like maximum value operator can be defined, which works as | operators like maximum value operator can be defined, which works as | |||
a step function. When the link loss exceeds a threshold, the cost of | a step function. When the link loss exceeds a threshold, the cost of | |||
the link is set to the maximum. Second, new Flexible Algorithm | the link is set to the maximum. Second, new Flexible Algorithm | |||
Definition (FAD) constraints can be defined to exclude links that do | Definition (FAD) constraints can be defined to exclude links that do | |||
not meet the link loss requirements during path calculation. The | not meet the link loss requirements during path calculation. The | |||
second method is specifically demonstrated in this draft. The | second method is specifically demonstrated in this document. The | |||
general ideas are as below. | general ideas are as below. | |||
1. The link loss is used as a link constraint for path | 1. The link loss is used as a link constraint for path | |||
computation. That is, the link whose loss rate is greater than | computation. That is, the link whose loss rate is greater than | |||
the specified value is excluded. | the specified value is excluded. | |||
2. Metric-type remains unchanged: igp, te, and delay. | 2. Metric-type remains unchanged: igp, te, and delay. | |||
With a new FAD constraint Sub-TLV advertised by IGP, links with low | With a new FAD constraint Sub-TLV advertised by IGP, links with low | |||
packet loss rate will be selected for path computation. The new | packet loss rate will be selected for path computation. The new | |||
Exclude Maximum Link Loss Sub-TLVs are defined in Section 2. The | Exclude Maximum Link Loss Sub-TLVs are defined in Section 2. The | |||
Flex-Algorithm calculation method based on link loss is presented in | Flex-Algorithm calculation method based on link loss is presented in | |||
Section 3. | Section 3. Link packet loss rate is obtained from the existing | |||
Unidirectional Link Loss Sub-TLV defined in RFC9479 and RFC9492. | ||||
2. Exclude Maximum Link Loss Sub-TLV | 2. Exclude Maximum Link Loss Sub-TLV | |||
A new Exclude Maximum Link Loss Sub-TLV is defined as a sub-TLV of | A new Exclude Maximum Link Loss Sub-TLV is defined as a sub-TLV of | |||
the FAD TLV. To guarantee loop free forwarding, all routers that | the FAD TLV. To guarantee loop free forwarding, all routers that | |||
participate in a Flex-Algorithm MUST agree on the FAD. Selected | participate in a Flex-Algorithm MUST agree on the FAD. Selected | |||
nodes within the IGP domain MUST advertise FADs as described in | nodes within the IGP domain MUST advertise FADs as described in | |||
Sections 5, 6, and 7 of [RFC9350]. | Sections 5, 6, and 7 of [RFC9350]. | |||
The Exclude Maximum Link Loss Sub-TLV is proposed to specify the | The Exclude Maximum Link Loss Sub-TLV is proposed to specify the | |||
skipping to change at page 4, line 25 ¶ | skipping to change at page 4, line 17 ¶ | |||
TLV, all links with packet loss rate larger than the defined maximum | TLV, all links with packet loss rate larger than the defined maximum | |||
link loss value will be excluded from the Flex-Algorithm topology. | link loss value will be excluded from the Flex-Algorithm topology. | |||
2.1. IS-IS Exclude Maximum Link Loss Sub-TLV | 2.1. IS-IS Exclude Maximum Link Loss Sub-TLV | |||
IS-IS Flex-Algorithm Exclude Maximum Link Loss Sub-TLV (FAEML) is a | IS-IS Flex-Algorithm Exclude Maximum Link Loss Sub-TLV (FAEML) is a | |||
sub-TLV of the IS-IS FAD sub-TLV. It has the following format: | sub-TLV of the IS-IS FAD sub-TLV. It has the following format: | |||
0 1 2 3 | 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 | 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 | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Max Link Loss | | | Max Link Loss | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type: 252(TBA) | Type: 252(TBA) | |||
Length: 3 octets | Length: 3 octets | |||
Max Link Loss: This 24-bit field carries link packet loss as a | Max Link Loss: This 24-bit field carries link packet loss as a | |||
percentage of the total traffic sent over a configurable interval. | percentage of the total traffic sent over a configurable interval. | |||
The basic unit is 0.000003%, where (2^24 - 2) is 50.331642%. This | The basic unit is 0.000003%, where (2^24 - 2) is 50.331642%. This | |||
value is the highest packet-loss percentage that can be expressed. | value is the highest packet-loss percentage that can be expressed. | |||
Therefore, measured values that are larger than the field maximum | Therefore, measured values that are larger than the field maximum | |||
skipping to change at page 5, line 25 ¶ | skipping to change at page 5, line 12 ¶ | |||
FAD contains the FAEML sub-TLV, then it MUST NOT be excluded from the | FAD contains the FAEML sub-TLV, then it MUST NOT be excluded from the | |||
Flex-Algorithm topology. | Flex-Algorithm topology. | |||
2.2. OSPF Exclude Maximum Link Loss Sub-TLV | 2.2. OSPF Exclude Maximum Link Loss Sub-TLV | |||
OSPF Flex-Algorithm Exclude Maximum Link Loss Sub-TLV (FAEML) is a | OSPF Flex-Algorithm Exclude Maximum Link Loss Sub-TLV (FAEML) is a | |||
sub-TLV of the OSPF FAD sub-TLV. It has the following format: | sub-TLV of the OSPF FAD sub-TLV. It has the following format: | |||
0 1 2 3 | 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 | 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 | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Max Link Loss | | | Max Link Loss | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type: 252(TBA) | Type: 252(TBA) | |||
Length: 3 octets | Length: 3 octets | |||
Max Link Loss: This 24-bit field carries link packet loss as a | Max Link Loss: This 24-bit field carries link packet loss as a | |||
percentage of the total traffic sent over a configurable interval. | percentage of the total traffic sent over a configurable interval. | |||
The basic unit is 0.000003%, where (2^24 - 2) is 50.331642%. This | The basic unit is 0.000003%, where (2^24 - 2) is 50.331642%. This | |||
value is the highest packet-loss percentage that can be expressed. | value is the highest packet-loss percentage that can be expressed. | |||
Therefore, measured values that are larger than the field maximum | Therefore, measured values that are larger than the field maximum | |||
skipping to change at page 6, line 22 ¶ | skipping to change at page 6, line 10 ¶ | |||
A new rule is added to the rules used to prune links from the | A new rule is added to the rules used to prune links from the | |||
topology during the Flex-Algorithm computation in Section 13 of | topology during the Flex-Algorithm computation in Section 13 of | |||
[RFC9350]. | [RFC9350]. | |||
1. Check if any exclude FAEML rule is part of the Flex-Algorithm | 1. Check if any exclude FAEML rule is part of the Flex-Algorithm | |||
definition. If such exclude rule exists and the link has link | definition. If such exclude rule exists and the link has link | |||
loss advertised, check if the link satisfies the FAEML rule. If | loss advertised, check if the link satisfies the FAEML rule. If | |||
not, the link MUST be pruned from the computation. | not, the link MUST be pruned from the computation. | |||
4. IANA Considerations | 4. Operational Considerations | |||
4.1. IS-IS Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV | In some scenarios, the link packet loss rate may fluctuate around the | |||
threshold value. Consequently, the link status can be frequently | ||||
changed between available and unavailable, which could lead to | ||||
frequent flex-algo calculation. To solve this problem, a suppression | ||||
mechanism can be developed. When the packet loss rate is detected on | ||||
a frequent change, a timer can be set to delay the update process. | ||||
5. IANA Considerations | ||||
5.1. IS-IS Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV | ||||
Type: 252(TBA) | Type: 252(TBA) | |||
Description: IS-IS Exclude Maximum Link Loss Sub-TLV | Description: IS-IS Exclude Maximum Link Loss Sub-TLV | |||
Reference: This document Section 2.1 | Reference: This document Section 2.1 | |||
4.2. OSPF Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV | 5.2. OSPF Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV | |||
Type: 252(TBA) | Type: 252(TBA) | |||
Description: OSPF Exclude Maximum Link Loss Sub-TLV | Description: OSPF Exclude Maximum Link Loss Sub-TLV | |||
Reference: This document Section 2.2 | Reference: This document Section 2.2 | |||
5. References | 6. References | |||
5.1. Normative References | 6.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic | [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic | |||
Engineering", RFC 5305, DOI 10.17487/RFC5305, October | Engineering", RFC 5305, DOI 10.17487/RFC5305, October | |||
2008, <https://www.rfc-editor.org/info/rfc5305>. | 2008, <https://www.rfc-editor.org/info/rfc5305>. | |||
skipping to change at page 7, line 34 ¶ | skipping to change at page 7, line 34 ¶ | |||
[RFC9479] Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and | [RFC9479] Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and | |||
J. Drake, "IS-IS Application-Specific Link Attributes", | J. Drake, "IS-IS Application-Specific Link Attributes", | |||
RFC 9479, DOI 10.17487/RFC9479, October 2023, | RFC 9479, DOI 10.17487/RFC9479, October 2023, | |||
<https://www.rfc-editor.org/info/rfc9479>. | <https://www.rfc-editor.org/info/rfc9479>. | |||
[RFC9492] Psenak, P., Ed., Ginsberg, L., Henderickx, W., Tantsura, | [RFC9492] Psenak, P., Ed., Ginsberg, L., Henderickx, W., Tantsura, | |||
J., and J. Drake, "OSPF Application-Specific Link | J., and J. Drake, "OSPF Application-Specific Link | |||
Attributes", RFC 9492, DOI 10.17487/RFC9492, October 2023, | Attributes", RFC 9492, DOI 10.17487/RFC9492, October 2023, | |||
<https://www.rfc-editor.org/info/rfc9492>. | <https://www.rfc-editor.org/info/rfc9492>. | |||
5.2. Informative References | 6.2. Informative References | |||
[I-D.ietf-lsr-flex-algo-bw-con] | [I-D.ietf-lsr-flex-algo-bw-con] | |||
Hegde, S., Britto, W., Shetty, R., Decraene, B., Psenak, | Hegde, S., Britto, W., Shetty, R., Decraene, B., Psenak, | |||
P., and T. Li, "Flexible Algorithms: Bandwidth, Delay, | P., and T. Li, "Flexible Algorithms: Bandwidth, Delay, | |||
Metrics and Constraints", Work in Progress, Internet- | Metrics and Constraints", Work in Progress, Internet- | |||
Draft, draft-ietf-lsr-flex-algo-bw-con-07, 26 September | Draft, draft-ietf-lsr-flex-algo-bw-con-07, 26 September | |||
2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | 2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | |||
lsr-flex-algo-bw-con-07>. | lsr-flex-algo-bw-con-07>. | |||
[RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. | [RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. | |||
End of changes. 17 change blocks. | ||||
28 lines changed or deleted | 40 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |