RFC 7471 PROPOSED STANDARD OSPF · TRAFFIC ENGINEERING · ROUTING

OSPF TE metrics: OSPF Traffic Engineering (TE) Metric Extensions

New OSPF sub-TLVs that let routers share how fast each link is, so paths can be chosen on speed as well as on hop count.

On rfc-editor.org ↗
PUBLISHED
March 2015
AUTHORS
S. Giacalone, D. Ward, J. Drake, A. Atlas, S. Previdi
STREAM
IETF
NEW SUB-TLV TYPES
27 to 33
DELAY FIELD WIDTH
24 bits, in microseconds
MAX DELAY VALUE
16,777,215 (16.777215 sec)
HIGHEST LOSS VALUE
50.331642%
DEFAULT MEASUREMENT INTERVAL
30 seconds
DEFAULT INTER-UPDATE TIMER
120 seconds
DOI
10.17487/RFC7471

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                      S. Giacalone
Request for Comments: 7471                                  Unaffiliated
Category: Standards Track                                        D. Ward
ISSN: 2070-1721                                            Cisco Systems
                                                                J. Drake
                                                                A. Atlas
                                                        Juniper Networks
                                                              S. Previdi
                                                           Cisco Systems
                                                              March 2015


            OSPF Traffic Engineering (TE) Metric Extensions

Abstract

   In certain networks, such as, but not limited to, financial
   information networks (e.g., stock market data providers), network
   performance information (e.g., link propagation delay) is becoming
   critical to data path selection.

   This document describes common extensions to RFC 3630 "Traffic
   Engineering (TE) Extensions to OSPF Version 2" and RFC 5329 "Traffic
   Engineering Extensions to OSPF Version 3" to enable network
   performance information to be distributed in a scalable fashion.  The
   information distributed using OSPF TE Metric Extensions can then be
   used to make path selection decisions based on network performance.

   Note that this document only covers the mechanisms by which network
   performance information is distributed.  The mechanisms for measuring
   network performance information or using that information, once
   distributed, are outside the scope of this document.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7471.

Copyright Notice

   Copyright (c) 2015 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
   (http://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 Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ....................................................3
   2. Conventions Used in This Document ...............................4
   3. TE Metric Extensions to OSPF TE .................................4
   4. Sub-TLV Details .................................................6
      4.1. Unidirectional Link Delay Sub-TLV ..........................6
           4.1.1. Type ................................................6
           4.1.2. Length ..............................................6
           4.1.3. Anomalous (A) Bit ...................................7
           4.1.4. Reserved ............................................7
           4.1.5. Delay Value .........................................7
      4.2. Min/Max Unidirectional Link Delay Sub-TLV ..................7
           4.2.1. Type ................................................7
           4.2.2. Length ..............................................7
           4.2.3. Anomalous (A) Bit ...................................8
           4.2.4. Reserved ............................................8
           4.2.5. Min Delay ...........................................8
           4.2.6. Reserved ............................................8
           4.2.7. Max Delay ...........................................8
      4.3. Unidirectional Delay Variation Sub-TLV .....................9
           4.3.1. Type ................................................9
           4.3.2. Length ..............................................9
           4.3.3. Reserved ............................................9
           4.3.4. Delay Variation .....................................9
      4.4. Unidirectional Link Loss Sub-TLV ...........................9
           4.4.1. Type ...............................................10
           4.4.2. Length .............................................10
           4.4.3. Anomalous (A) Bit ..................................10
           4.4.4. Reserved ...........................................10
           4.4.5. Link Loss ..........................................10

      4.5. Unidirectional Residual Bandwidth Sub-TLV .................10
           4.5.1. Type ...............................................11
           4.5.2. Length .............................................11
           4.5.3. Residual Bandwidth .................................11
      4.6. Unidirectional Available Bandwidth Sub-TLV ................11
           4.6.1. Type ...............................................12
           4.6.2. Length .............................................12
           4.6.3. Available Bandwidth ................................12
      4.7. Unidirectional Utilized Bandwidth Sub-TLV .................12
           4.7.1. Type ...............................................12
           4.7.2. Length .............................................13
           4.7.3. Utilized Bandwidth .................................13
   5. Announcement Thresholds and Filters ............................13
   6. Announcement Suppression .......................................14
   7. Network Stability and Announcement Periodicity .................14
   8. Enabling and Disabling Sub-TLVs ................................15
   9. Static Metric Override .........................................15
   10. Compatibility .................................................15
   11. Security Considerations .......................................15
   12. IANA Considerations ...........................................16
   13. References ....................................................16
      13.1. Normative References .....................................16
      13.2. Informative References ...................................17
   Acknowledgments ...................................................18
   Authors' Addresses ................................................19

1.  Introduction

   In certain networks, such as, but not limited to, financial
   information networks (e.g., stock market data providers), network
   performance information (e.g., link propagation delay) is becoming as
   critical to data path selection as other metrics.

   Because of this, using metrics such as hop count or cost as routing
   metrics is becoming only tangentially important.  Rather, it would be
   beneficial to be able to make path selection decisions based on
   network performance information (such as link propagation delay) in a
   cost-effective and scalable way.

   This document describes extensions to OSPFv2 and OSPFv3 TE (hereafter
   called "OSPF TE Metric Extensions"), that can be used to distribute
   network performance information (viz link propagation delay, delay
   variation, link loss, residual bandwidth, available bandwidth, and
   utilized bandwidth).

   The data distributed by OSPF TE Metric Extensions is meant to be used
   as part of the operation of the routing protocol (e.g., by replacing
   cost with link propagation delay or considering bandwidth as well as
   cost), by enhancing Constrained Shortest Path First (CSPF), or for
   use by a PCE [RFC4655] or an Application-Layer Traffic Optimization
   (ALTO) server [RFC7285].  With respect to CSPF, the data distributed
   by OSPF TE Metric Extensions can be used to set up, fail over, and
   fail back data paths using protocols such as RSVP-TE [RFC3209].

   Note that the mechanisms described in this document only distribute
   network performance information.  The methods for measuring that
   information or acting on it once it is distributed are outside the
   scope of this document.  A method for measuring loss and delay in an
   MPLS network is described in [RFC6374].

   While this document does not specify the method for measuring network
   performance information, any measurement of link propagation delay
   SHOULD NOT vary significantly based upon the offered traffic load
   and, hence, SHOULD NOT include queuing delays.  For a forwarding
   adjacency (FA) [RFC4206], care must be taken that measurement of the
   link propagation delay avoids significant queuing delay; this can be
   accomplished in a variety of ways, e.g., measuring with a traffic
   class that experiences minimal queuing or summing the measured link
   propagation delay of the links on the FA's path.

2.  Conventions Used in This Document

   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 RFC 2119 [RFC2119].

   In this document, these words should convey that interpretation only
   when in ALL CAPS.  Lowercase uses of these words are not to be
   interpreted as carrying this significance.

3.  TE Metric Extensions to OSPF TE

   This document defines new OSPF TE sub-TLVs that are used to
   distribute network performance information.  The extensions in this
   document build on the ones provided in OSPFv2 TE [RFC3630] and OSPFv3
   TE [RFC5329].

   OSPFv2 TE Link State Advertisements (LSAs) [RFC3630] are opaque LSAs
   [RFC5250] with area flooding scope while OSPFv3 Intra-Area-TE-LSAs
   have their own LSA type, also with area flooding scope; both consist
   of a single TLV with one or more nested sub-TLVs.  The Link TLV is
   common to both and describes the characteristics of a link between
   OSPF neighbors.

   This document defines several additional sub-TLVs for the Link TLV:

      Type  Length   Value

      27    4        Unidirectional Link Delay

      28    8        Min/Max Unidirectional Link Delay

      29    4        Unidirectional Delay Variation

      30    4        Unidirectional Link Loss

      31    4        Unidirectional Residual Bandwidth

      32    4        Unidirectional Available Bandwidth

      33    4        Unidirectional Utilized Bandwidth

   As can be seen in the list above, the sub-TLVs described in this
   document carry different types of network performance information.
   Many (but not all) of the sub-TLVs include a bit called the Anomalous
   (or A) bit.  When the A bit is clear (or when the sub-TLV does not
   include an A bit), the sub-TLV describes steady state link
   performance.  This information could conceivably be used to construct
   a steady state performance topology for initial tunnel path
   computation, or to verify alternative failover paths.

   When network performance violates configurable link-local thresholds
   a sub-TLV with the A bit set is advertised.  These sub-TLVs could be
   used by the receiving node to determine whether to move traffic to a
   backup path or whether to calculate an entirely new path.  From an
   MPLS perspective, the intent of the A bit is to permit LSP ingress
   nodes to:

   A) Determine whether the link referenced in the sub-TLV affects any
      of the LSPs for which it is ingress.  If there are, then:

   B) The node determines whether those LSPs still meet end-to-end
      performance objectives.  If not, then:

   C) The node could then conceivably move affected traffic to a pre-
      established protection LSP or establish a new LSP and place the
      traffic in it.

   If link performance then improves beyond a configurable minimum value
   (reuse threshold), that sub-TLV can be re-advertised with the
   Anomalous bit cleared.  In this case, a receiving node can
   conceivably do whatever re-optimization (or failback) it wishes
   (including nothing).

   The A bit was intentionally omitted from some sub-TLVs to help
   mitigate oscillations.  See Section 7.1 for more information.

   Link delay, delay variation, and link loss MUST be encoded as
   integers.  Consistent with existing OSPF TE specifications [RFC3630],
   residual, available, and utilized bandwidth MUST be encoded in IEEE
   single precision floating point [IEEE754].  Link delay and delay
   variation MUST be in units of microseconds, link loss MUST be a
   percentage, and bandwidth MUST be in units of bytes per second.  All
   values (except residual bandwidth) MUST be calculated as rolling
   averages where the averaging period MUST be a configurable period of
   time.  See Section 5 for more information.

4.  Sub-TLV Details

4.1.  Unidirectional Link Delay Sub-TLV

   This sub-TLV advertises the average link delay between two directly
   connected OSPF neighbors.  The delay advertised by this sub-TLV MUST
   be the delay from the advertising node to its neighbor (i.e., the
   forward path delay).  The format of this sub-TLV is shown in the
   following diagram:

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              27               |               4               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |A|  RESERVED   |                     Delay                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.1.1.  Type

   This sub-TLV has a type of 27.

4.1.2.  Length

   The length is 4.

4.1.3.  Anomalous (A) Bit

   This field represents the Anomalous (A) bit.  The A bit is set when
   the measured value of this parameter exceeds its configured maximum
   threshold.  The A bit is cleared when the measured value falls below
   its configured reuse threshold.  If the A bit is clear, the sub-TLV
   represents steady state link performance.

4.1.4.  Reserved

   This field is reserved for future use.  It MUST be set to 0 when sent
   and MUST be ignored when received.

4.1.5.  Delay Value

   This 24-bit field carries the average link delay over a configurable
   interval in microseconds, encoded as an integer value.  When set to
   the maximum value 16,777,215 (16.777215 sec), then the delay is at
   least that value, and it may be larger.

4.2.  Min/Max Unidirectional Link Delay Sub-TLV

   This sub-TLV advertises the minimum and maximum delay values between
   two directly connected OSPF neighbors.  The delay advertised by this
   sub-TLV MUST be the delay from the advertising node to its neighbor
   (i.e., the forward path delay).  The format of this sub-TLV is shown
   in the following diagram:

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              28               |               8               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |A|  RESERVED   |                   Min Delay                   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED    |                   Max Delay                   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.2.1.  Type

   This sub-TLV has a type of 28.

4.2.2.  Length

   The length is 8.

4.2.3.  Anomalous (A) Bit

   This field represents the Anomalous (A) bit.  The A bit is set when
   one or more measured values exceed a configured maximum threshold.
   The A bit is cleared when the measured value falls below its
   configured reuse threshold.  If the A bit is clear, the sub-TLV
   represents steady state link performance.

4.2.4.  Reserved

   This field is reserved for future use.  It MUST be set to 0 when sent
   and MUST be ignored when received.

4.2.5.  Min Delay

   This 24-bit field carries minimum measured link delay value (in
   microseconds) over a configurable interval, encoded as an integer
   value.

   Implementations MAY also permit the configuration of an offset value
   (in microseconds) to be added to the measured delay value to
   advertise operator specific delay constraints.

   When set to the maximum value 16,777,215 (16.777215 sec), then the
   delay is at least that value, and it may be larger.

4.2.6.  Reserved

   This field is reserved for future use.  It MUST be set to 0 when sent
   and MUST be ignored when received.

4.2.7.  Max Delay

   This 24-bit field carries the maximum measured link delay value (in
   microseconds) over a configurable interval, encoded as an integer
   value.

   Implementations may also permit the configuration of an offset value
   (in microseconds) to be added to the measured delay value to
   advertise operator specific delay constraints.

   It is possible for min delay and max delay to be the same value.

   When the delay value is set to the maximum value 16,777,215
   (16.777215 sec), then the delay is at least that value, and it may be
   larger.

4.3.  Unidirectional Delay Variation Sub-TLV

   This sub-TLV advertises the average link delay variation between two
   directly connected OSPF neighbors.  The delay variation advertised by
   this sub-TLV MUST be the delay from the advertising node to its
   neighbor (i.e., the forward path delay variation).  The format of
   this sub-TLV is shown in the following diagram:

      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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              29               |               4               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    RESERVED   |              Delay Variation                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.3.1.  Type

   This sub-TLV has a type of 29.

4.3.2.  Length

   The length is 4.

4.3.3.  Reserved

   This field is reserved for future use.  It MUST be set to 0 when sent
   and MUST be ignored when received.

4.3.4.  Delay Variation

   This 24-bit field carries the average link delay variation over a
   configurable interval in microseconds, encoded as an integer value.
   When set to 0, it has not been measured.  When set to the maximum
   value 16,777,215 (16.777215 sec), then the delay is at least that
   value, and it may be larger.

4.4.  Unidirectional Link Loss Sub-TLV

   This sub-TLV advertises the loss (as a packet percentage) between two
   directly connected OSPF neighbors.  The link loss advertised by this
   sub-TLV MUST be the packet loss from the advertising node to its
   neighbor (i.e., the forward path loss).  The format of this sub-TLV
   is shown in the following diagram:

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              30               |               4               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |A|  RESERVED   |                 Link Loss                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.4.1.  Type

   This sub-TLV has a type of 30

4.4.2.  Length

   The length is 4.

4.4.3.  Anomalous (A) Bit

   This field represents the Anomalous (A) bit.  The A bit is set when
   the measured value of this parameter exceeds its configured maximum
   threshold.  The A bit is cleared when the measured value falls below
   its configured reuse threshold.  If the A bit is clear, the sub-TLV
   represents steady state link performance.

4.4.4.  Reserved

   This field is reserved for future use.  It MUST be set to 0 when sent
   and MUST be ignored when received.

4.4.5.  Link Loss

   This 24-bit field carries link packet loss as a percentage of the
   total traffic sent over a configurable interval.  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 (the assumption being
   that precision is more important on high speed links than the ability
   to advertise loss rates greater than this, and that high speed links
   with over 50% loss are unusable).  Therefore, measured values that
   are larger than the field maximum SHOULD be encoded as the maximum
   value.

4.5.  Unidirectional Residual Bandwidth Sub-TLV

   This sub-TLV advertises the residual bandwidth between two directly
   connected OSPF neighbors.  The residual bandwidth advertised by this
   sub-TLV MUST be the residual bandwidth from the advertising node to
   its neighbor.

   The format of this sub-TLV is shown in the following diagram:

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              31               |               4               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Residual Bandwidth                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.5.1.  Type

   This sub-TLV has a type of 31.

4.5.2.  Length

   The length is 4.

4.5.3.  Residual Bandwidth

   This field carries the residual bandwidth on a link, forwarding
   adjacency [RFC4206], or bundled link in IEEE floating point format
   with units of bytes per second.  For a link or forwarding adjacency,
   residual bandwidth is defined to be Maximum Bandwidth [RFC3630] minus
   the bandwidth currently allocated to RSVP-TE LSPs.  For a bundled
   link, residual bandwidth is defined to be the sum of the component
   link residual bandwidths.

   The calculation of Residual Bandwidth is different than that of
   Unreserved Bandwidth [RFC3630].  Residual Bandwidth subtracts tunnel
   reservations from Maximum Bandwidth (i.e., the link capacity)
   [RFC3630] and provides an aggregated remainder across priorities.
   Unreserved Bandwidth, on the other hand, is subtracted from the
   Maximum Reservable Bandwidth (the bandwidth that can theoretically be
   reserved) and provides per priority remainders.  Residual Bandwidth
   and Unreserved Bandwidth [RFC3630] can be used concurrently, and each
   has a separate use case (e.g., the former can be used for
   applications like Weighted ECMP while the latter can be used for call
   admission control).

4.6.  Unidirectional Available Bandwidth Sub-TLV

   This sub-TLV advertises the available bandwidth between two directly
   connected OSPF neighbors.  The available bandwidth advertised by this
   sub-TLV MUST be the available bandwidth from the advertising node to
   its neighbor.  The format of this sub-TLV is shown in the following
   diagram:

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              32               |               4               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                      Available Bandwidth                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.6.1.  Type

   This sub-TLV has a type of 32.

4.6.2.  Length

   The length is 4.

4.6.3.  Available Bandwidth

   This field carries the available bandwidth on a link, forwarding
   adjacency, or bundled link in IEEE floating point format with units
   of bytes per second.  For a link or forwarding adjacency, available
   bandwidth is defined to be residual bandwidth (see Section 4.5) minus
   the measured bandwidth used for the actual forwarding of non-RSVP-TE
   LSP packets.  For a bundled link, available bandwidth is defined to
   be the sum of the component link available bandwidths.

4.7.  Unidirectional Utilized Bandwidth Sub-TLV

   This Sub-TLV advertises the bandwidth utilization between two
   directly connected OSPF neighbors.  The bandwidth utilization
   advertised by this sub-TLV MUST be the bandwidth from the advertising
   node to its neighbor.  The format of this Sub-TLV is shown in the
   following diagram:

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              33               |               4               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                      Utilized Bandwidth                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.7.1.  Type

   This sub-TLV has a type of 33.

4.7.2.  Length

   The length is 4.

4.7.3.  Utilized Bandwidth

   This field carries the bandwidth utilization on a link, forwarding
   adjacency, or bundled link in IEEE floating-point format with units
   of bytes per second.  For a link or forwarding adjacency, bandwidth
   utilization represents the actual utilization of the link (i.e., as
   measured by the advertising node).  For a bundled link, bandwidth
   utilization is defined to be the sum of the component link bandwidth
   utilizations.

5.  Announcement Thresholds and Filters

   The values advertised in all sub-TLVs (except min/max delay and
   residual bandwidth) MUST represent an average over a period or be
   obtained by a filter that is reasonably representative of an average.
   For example, a rolling average is one such filter.

   Min and max delay MAY be the lowest and/or highest measured value
   over a measurement interval or MAY make use of a filter, or other
   technique, to obtain a reasonable representation of a min and max
   value representative of the interval with compensation for outliers.

   The measurement interval, any filter coefficients, and any
   advertisement intervals MUST be configurable for each sub-TLV.

   In addition to the measurement intervals governing re-advertisement,
   implementations SHOULD provide for each sub-TLV configurable
   accelerated advertisement thresholds, such that:

   1. If the measured parameter falls outside a configured upper bound
      for all but the min delay metric (or lower bound for min delay
      metric only) and the advertised sub-TLV is not already outside
      that bound, or

   2. If the difference between the last advertised value and current
      measured value exceed a configured threshold, then

   3. The advertisement is made immediately.

   4. For sub-TLVs, which include an A bit (except min/max delay), an
      additional threshold SHOULD be included corresponding to the
      threshold for which the performance is considered anomalous (and
      sub-TLVs with the A bit are sent).  The A bit is cleared when the
      sub-TLV's performance has been below (or re-crosses) this
      threshold for an advertisement interval(s) to permit fail back.

   To prevent oscillations, only the high threshold or the low threshold
   (but not both) may be used to trigger any given sub-TLV that supports
   both.

   Additionally, once outside of the bounds of the threshold, any re-
   advertisement of a measurement within the bounds would remain
   governed solely by the measurement interval for that sub-TLV.

6.  Announcement Suppression

   When link performance values change by small amounts that fall under
   thresholds that would cause the announcement of a sub-TLV,
   implementations SHOULD suppress sub-TLV re-advertisement and/or
   lengthen the period within which they are refreshed.

   Only the accelerated advertisement threshold mechanism described in
   Section 5 may shorten the re-advertisement interval.

   All suppression and re-advertisement interval back-off timer features
   SHOULD be configurable.

7.  Network Stability and Announcement Periodicity

   Sections 5 and 6 provide configurable mechanisms to bound the number
   of re-advertisements.  Instability might occur in very large networks
   if measurement intervals are set low enough to overwhelm the
   processing of flooded information at some of the routers in the
   topology.  Therefore, care should be taken in setting these values.

   Additionally, the default measurement interval for all sub-TLVs
   should be 30 seconds.

   Announcements must also be able to be throttled using configurable
   inter-update throttle timers.  The minimum announcement periodicity
   is 1 announcement per second.  The default value should be set to 120
   seconds.

   Implementations should not permit the inter-update timer to be lower
   than the measurement interval.

   Furthermore, it is recommended that any underlying performance
   measurement mechanisms not include any significant buffer delay, any
   significant buffer induced delay variation, or any significant loss
   due to buffer overflow or due to active queue management.

8.  Enabling and Disabling Sub-TLVs

   Implementations MUST make it possible to individually enable or
   disable the advertisement of each sub-TLV.

9.  Static Metric Override

   Implementations SHOULD permit the static configuration and/or manual
   override of dynamic measurements for each sub-TLV in order to
   simplify migration and to mitigate scenarios where dynamic
   measurements are not possible.

10.  Compatibility

   As per [RFC3630], an unrecognized TLV should be silently ignored.
   That is, it should not be processed but it should be included in LSAs
   sent to OSPF neighbors.

11.  Security Considerations

   This document does not introduce security issues beyond those
   discussed in [RFC3630].  OSPFv2 HMAC-SHA [RFC5709] provides
   additional protection for OSPFv2.  OSPFv3 IPsec [RFC4552] and OSPFv3
   Authentication Trailer [RFC7166] provide additional protection for
   OSPFv3.

   OSPF Keying and Authentication for Routing Protocols (KARP) [RFC6863]
   provides an analysis of OSPFv2 and OSPFv3 routing security, and
   OSPFv2 Security Extensions [OSPFSEC] provides extensions designed to
   address the identified gaps in OSPFv2.

12.  IANA Considerations

   IANA maintains the registry for the Link TLV sub-TLVs.  For OSPF TE
   Metric Extensions, one new type code for each sub-TLV defined in this
   document has been registered, as follows:

   Value  Sub-TLV

     27   Unidirectional Link Delay

     28   Min/Max Unidirectional Link Delay

     29   Unidirectional Delay Variation

     30   Unidirectional Link Loss

     31   Unidirectional Residual Bandwidth

     32   Unidirectional Available Bandwidth

     33   Unidirectional Utilized Bandwidth

13.  References

13.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC3630]  Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
              (TE) Extensions to OSPF Version 2", RFC 3630, September
              2003, <http://www.rfc-editor.org/info/rfc3630>.

   [RFC5329]  Ishiguro, K., Manral, V., Davey, A., and A. Lindem, Ed.,
              "Traffic Engineering Extensions to OSPF Version 3", RFC
              5329, September 2008,
              <http://www.rfc-editor.org/info/rfc5329>.

   [IEEE754]  Institute of Electrical and Electronics Engineers,
              "Standard for Floating-Point Arithmetic", IEEE Standard
              754, August 2008.

13.2.  Informative References

   [RFC3209]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
              and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
              Tunnels", RFC 3209, December 2001,
              <http://www.rfc-editor.org/info/rfc3209>.

   [RFC4206]  Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP)
              Hierarchy with Generalized Multi-Protocol Label Switching
              (GMPLS) Traffic Engineering (TE)", RFC 4206, October 2005,
              <http://www.rfc-editor.org/info/rfc4206>.

   [RFC4552]  Gupta, M. and N. Melam, "Authentication/Confidentiality
              for OSPFv3", RFC 4552, June 2006,
              <http://www.rfc-editor.org/info/rfc4552>.

   [RFC4655]  Farrel, A., Vasseur, J.-P., and J. Ash, "A Path
              Computation Element (PCE)-Based Architecture", RFC 4655,
              August 2006, <http://www.rfc-editor.org/info/rfc4655>.

   [RFC5250]  Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The
              OSPF Opaque LSA Option", RFC 5250, July 2008,
              <http://www.rfc-editor.org/info/rfc5250>.

   [RFC5709]  Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M.,
              Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic
              Authentication", RFC 5709, October 2009,
              <http://www.rfc-editor.org/info/rfc5709>.

   [RFC6374]  Frost, D. and S. Bryant, "Packet Loss and Delay
              Measurement for MPLS Networks", RFC 6374, September 2011,
              <http://www.rfc-editor.org/info/rfc6374>.

   [RFC6863]  Hartman, S. and D. Zhang, "Analysis of OSPF Security
              According to the Keying and Authentication for Routing
              Protocols (KARP) Design Guide", RFC 6863, March 2013,
              <http://www.rfc-editor.org/info/rfc6863>.

   [RFC7166]  Bhatia, M., Manral, V., and A. Lindem, "Supporting
              Authentication Trailer for OSPFv3", RFC 7166, March 2014,
              <http://www.rfc-editor.org/info/rfc7166>.

   [RFC7285]  Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S.,
              Previdi, S., Roome, W., Shalunov, S., and R. Woundy,
              "Application-Layer Traffic Optimization (ALTO) Protocol",
              RFC 7285, September 2014,
              <http://www.rfc-editor.org/info/rfc7285>.

   [OSPFSEC]  Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed.,
              "Security Extension for OSPFv2 when Using Manual Key
              Management", Work in Progress, draft-ietf-ospf-security-
              extension-manual-keying, November 2014.

Acknowledgments

   The authors would like to recognize Nabil Bitar, Edward Crabbe, Don
   Fedyk, Acee Lindem, David McDysan, and Ayman Soliman for their
   contributions to this document.

   The authors would also like to acknowledge Curtis Villamizar for his
   significant comments and direct content collaboration.

Authors' Addresses

   Spencer Giacalone
   Unaffiliated

   EMail: spencer.giacalone@gmail.com


   Dave Ward
   Cisco Systems
   170 West Tasman Dr.
   San Jose, CA  95134
   United States

   EMail: dward@cisco.com


   John Drake
   Juniper Networks
   1194 N. Mathilda Ave.
   Sunnyvale, CA  94089
   United States

   EMail: jdrake@juniper.net


   Alia Atlas
   Juniper Networks
   1194 N. Mathilda Ave.
   Sunnyvale, CA  94089
   United States

   EMail: akatlas@juniper.net


   Stefano Previdi
   Cisco Systems
   Via Del Serafico 200
   00142 Rome
   Italy

   EMail: sprevidi@cisco.com

ISO Plain Language

On this page
PROBLEMIn some networks, such as financial information networks, link performance such as propagation delay matters as much to path selection as other metrics. OSPF TE had no scalable way to distribute it.
MECHANISMSeven new sub-TLVs of the OSPF TE Link TLV carry delay, min and max delay, delay variation, loss, and residual, available and utilized bandwidth. An Anomalous bit flags threshold violations, and thresholds and timers limit how often values are flooded.
WHY IT MATTERSOther components can use the distributed data for path selection. Measuring the values and acting on them are outside the scope of the RFC.

§1Introduction

In certain networks, such as, but not limited to, financial information networks such as stock market data providers, network performance information such as link propagation delay is becoming as critical to data path selection as other metrics. Using metrics such as hop count or cost as routing metrics is becoming only tangentially important. It would be beneficial to make path selection decisions based on network performance information in a cost-effective and scalable way.

This document describes extensions to OSPFv2 and OSPFv3 TE, called OSPF TE Metric Extensions, that can be used to distribute network performance information: link propagation delay, delay variation, link loss, residual bandwidth, available bandwidth and utilized bandwidth.

The data distributed by OSPF TE Metric Extensions is meant to be used as part of the operation of the routing protocol, for example by replacing cost with link propagation delay or considering bandwidth as well as cost, by enhancing Constrained Shortest Path First, or for use by a Path Computation Element or an Application-Layer Traffic Optimization server. With respect to constrained shortest path first, the data can be used to set up, fail over and fail back data paths using protocols such as RSVP-TE.

The mechanisms described in this document only distribute network performance information. The methods for measuring that information, or acting on it once it is distributed, are outside the scope of the document. Any measurement of link propagation delay SHOULD NOT vary significantly based upon the offered traffic load and so SHOULD NOT include queuing delays. For a forwarding adjacency, care must be taken that the measurement of link propagation delay avoids significant queuing delay, which can be accomplished in a variety of ways, for example measuring with a traffic class that experiences minimal queuing, or summing the measured link propagation delay of the links on the path.

Routers normally choose a path by counting hops. This document lets them publish how fast and how reliable each link is, so a path can be chosen on speed as well as on hop count.

§3The New Sub-TLVs

The document defines new OSPF TE sub-TLVs used to distribute network performance information, building on the extensions provided by OSPFv2 TE and OSPFv3 TE. OSPFv2 TE Link State Advertisements are opaque LSAs with area flooding scope, while OSPFv3 Intra-Area-TE-LSAs have their own LSA type, also with area flooding scope. Both consist of a single TLV with one or more nested sub-TLVs. The Link TLV is common to both and describes the characteristics of a link between OSPF neighbours.

Seven sub-TLVs are added to the Link TLV: type 27 for Unidirectional Link Delay, 28 for Min/Max Unidirectional Link Delay, 29 for Unidirectional Delay Variation, 30 for Unidirectional Link Loss, 31 for Unidirectional Residual Bandwidth, 32 for Unidirectional Available Bandwidth, and 33 for Unidirectional Utilized Bandwidth. IANA has registered one new type code for each.

Many, but not all, of the sub-TLVs include a bit called the Anomalous, or A, bit. When the A bit is clear, or when the sub-TLV has no A bit, the sub-TLV describes steady state link performance, which could be used to construct a steady state performance topology for initial tunnel path computation, or to verify alternative failover paths. When network performance violates configurable link-local thresholds, a sub-TLV with the A bit set is advertised, so the receiving node can decide whether to move traffic to a backup path or calculate an entirely new path. From an MPLS perspective, the intent of the A bit is to let an ingress node work out whether the link referenced in the sub-TLV affects any of its LSPs, then whether those LSPs still meet their end-to-end performance objectives, and then conceivably move the affected traffic to a pre-established protection LSP or establish a new one and place the traffic in it.

If link performance then improves beyond a configurable minimum value, the reuse threshold, that sub-TLV can be re-advertised with the Anomalous bit cleared, and the receiving node can then do whatever re-optimization or failback it wishes, including nothing. The A bit was intentionally omitted from some sub-TLVs to help mitigate oscillations.

Link delay, delay variation and link loss MUST be encoded as integers. Consistent with the existing OSPF TE specifications, residual, available and utilized bandwidth MUST be encoded in IEEE single precision floating point. Link delay and delay variation MUST be in units of microseconds, link loss MUST be a percentage, and bandwidth MUST be in units of bytes per second. All values, except residual bandwidth, MUST be calculated as rolling averages over a configurable period of time.

Each new field sits inside the part of the OSPF advertisement that describes one link. A single extra bit marks a link that is not behaving normally, so the receiver knows the number is an exception rather than the usual value.

THE SEVEN NEW LINK SUB-TLVs (RFC 7471, SECTION 3)
  • 27Unidirectional Link Delay — Average delay in microseconds. Length 4.
  • 28Min/Max Unidirectional Link Delay — Lowest and highest delay in microseconds. Length 8.
  • 29Unidirectional Delay Variation — Average delay variation in microseconds. Length 4.
  • 30Unidirectional Link Loss — Packet loss as a percentage. Length 4.
  • 31Unidirectional Residual Bandwidth — Bandwidth left after RSVP-TE reservations. Length 4.
  • 32Unidirectional Available Bandwidth — Residual bandwidth minus the traffic actually forwarded. Length 4.
  • 33Unidirectional Utilized Bandwidth — Actual measured utilization of the link. Length 4.

§4Delay, Variation and Loss Sub-TLVs

The Unidirectional Link Delay sub-TLV, type 27 with length 4, advertises the average link delay between two directly connected OSPF neighbours. The delay advertised MUST be the delay from the advertising node to its neighbour, that is, the forward path delay. The value part carries an Anomalous bit, a reserved field that MUST be set to 0 when sent and MUST be ignored when received, and a 24-bit Delay field holding the average link delay over a configurable interval in microseconds, encoded as an integer. The A bit is set when the measured value exceeds its configured maximum threshold and cleared when it falls below its configured reuse threshold. When the delay field is set to the maximum value 16,777,215, which is 16.777215 seconds, the delay is at least that value and it may be larger.

The Min/Max Unidirectional Link Delay sub-TLV, type 28 with length 8, advertises the minimum and maximum delay values between two directly connected OSPF neighbours, again the forward path delay. It carries an A bit, two reserved fields, and two 24-bit fields, Min Delay and Max Delay, each holding a measured value in microseconds over a configurable interval. The A bit is set when one or more measured values exceed a configured maximum threshold and cleared when the measured value falls below its configured reuse threshold. Implementations MAY also permit an offset value in microseconds to be added to the measured delay value, to advertise operator specific delay constraints. It is possible for the min delay and the max delay to be the same value.

The Unidirectional Delay Variation sub-TLV, type 29 with length 4, advertises the average link delay variation between two directly connected OSPF neighbours, again the forward path delay variation. It has a reserved field and a 24-bit Delay Variation field in microseconds. This sub-TLV has no A bit. A value of 0 means the variation has not been measured, and the maximum value 16,777,215 means the variation is at least that value.

The Unidirectional Link Loss sub-TLV, type 30 with length 4, advertises the loss as a packet percentage between two directly connected OSPF neighbours, again the forward path loss. Its 24-bit Link Loss field carries the packet loss as a percentage of the total traffic sent over a configurable interval. The basic unit is 0.000003%, so that the value 2^24 minus 2 is 50.331642%, the highest packet loss percentage that can be expressed. The assumption is that precision matters more on high speed links than the ability to advertise loss rates above this, and that high speed links with over 50% loss are unusable. Measured values larger than the field maximum SHOULD be encoded as the maximum value.

Delay, how much the delay varies, and what fraction of packets are lost each fit in 24 bits. The largest delay that can be written is 16.777215 seconds, and the largest loss is 50.331642%.

THE UNIDIRECTIONAL LINK DELAY SUB-TLV (RFC 7471, SECTION 4.1)
Unidirectional Link Delay sub-TLV
FieldNameSizeValueDescription
TYPEType2 bytes27Identifies the sub-TLV. This one has a type of 27.
LENGTHLength2 bytes4Length of the sub-TLV. This one has a length of 4.
A-BITA1 bitsThe Anomalous bit. Set when the measured value exceeds its configured maximum threshold.
RESERVEDReserved7 bitsReserved for future use. MUST be set to 0 when sent and ignored when received.
DELAYDelay3 bytesAverage link delay over a configurable interval, in microseconds, as an integer. The maximum value is 16,777,215.

§4.5Bandwidth Sub-TLVs

The Unidirectional Residual Bandwidth sub-TLV, type 31 with length 4, carries the residual bandwidth on a link, forwarding adjacency or bundled link in IEEE floating point format with units of bytes per second, and MUST be the residual bandwidth from the advertising node to its neighbour. For a link or forwarding adjacency, residual bandwidth is Maximum Bandwidth minus the bandwidth currently allocated to RSVP-TE LSPs. For a bundled link, it is the sum of the component link residual bandwidths. The calculation differs from Unreserved Bandwidth: residual bandwidth subtracts tunnel reservations from Maximum Bandwidth, the link capacity, and gives an aggregated remainder across priorities, while unreserved bandwidth is subtracted from the Maximum Reservable Bandwidth and gives per-priority remainders. The two can be used concurrently, each with its own use case, for example residual bandwidth for Weighted ECMP and unreserved bandwidth for call admission control.

The Unidirectional Available Bandwidth sub-TLV, type 32 with length 4, carries the available bandwidth on a link, forwarding adjacency or bundled link in IEEE floating point format with units of bytes per second. For a link or forwarding adjacency, available bandwidth is residual bandwidth minus the measured bandwidth used for the actual forwarding of non-RSVP-TE LSP packets. For a bundled link, it is the sum of the component link available bandwidths.

The Unidirectional Utilized Bandwidth sub-TLV, type 33 with length 4, carries the bandwidth utilization on a link, forwarding adjacency or bundled link in IEEE floating-point format with units of bytes per second. For a link or forwarding adjacency, it represents the actual utilization of the link as measured by the advertising node. For a bundled link, it is the sum of the component link bandwidth utilizations.

Three kinds of bandwidth are published: what is left after tunnel reservations, what is left after ordinary traffic is counted too, and how much the link is actually carrying right now.

THE THREE BANDWIDTH MEASURES (RFC 7471, SECTIONS 4.5 TO 4.7)
MeasureHow it is worked out
Residual bandwidth (31)Maximum Bandwidth minus the bandwidth currently allocated to RSVP-TE LSPs. For a bundled link, the sum of the component links.
Available bandwidth (32) THIS RFCResidual bandwidth minus the measured bandwidth used for forwarding non-RSVP-TE packets. For a bundled link, the sum of the component links.
Utilized bandwidth (33)The actual utilization of the link as measured by the advertising node. For a bundled link, the sum of the component links.

§5Announcement Thresholds and Filters

The values advertised in all sub-TLVs, except min/max delay and residual bandwidth, MUST represent an average over a period, or be obtained by a filter that is reasonably representative of an average; a rolling average is one such filter. Min and max delay MAY be the lowest and highest measured values over a measurement interval, or MAY use a filter or other technique to obtain a reasonable representation with compensation for outliers. The measurement interval, any filter coefficients and any advertisement intervals MUST be configurable for each sub-TLV.

Implementations SHOULD provide, for each sub-TLV, configurable accelerated advertisement thresholds. The advertisement is made immediately when the measured parameter falls outside a configured upper bound, or a lower bound for the min delay metric only, and the advertised sub-TLV is not already outside that bound, or when the difference between the last advertised value and the current measured value exceeds a configured threshold. For the sub-TLVs that include an A bit, except min/max delay, an additional threshold SHOULD be included corresponding to the threshold at which the performance is considered anomalous, and sub-TLVs with the A bit are sent. The A bit is cleared when the sub-TLV's performance has been below, or re-crosses, this threshold for an advertisement interval, to permit fail back.

To prevent oscillations, only the high threshold or the low threshold, but not both, may be used to trigger any given sub-TLV that supports both. Once outside the bounds of the threshold, any re-advertisement of a measurement within the bounds would remain governed solely by the measurement interval for that sub-TLV.

Publishing a new number on every small change would flood the network, so values are averaged and only re-sent when they change enough. Two thresholds are used, one to raise the alarm bit and one to clear it again.

THE RULES FOR WHEN A NEW VALUE IS ADVERTISED (RFC 7471, SECTION 5)
  • Average firstEvery value except min/max delay and residual bandwidth must be an average over a period, or a filter that stands in for one.
  • Advertise at onceThe advertisement is made immediately when the value leaves its bound, or when the change since the last advertised value exceeds a threshold.
  • Raise and clear the alarmFor the sub-TLVs with an A bit, an extra threshold marks the point at which performance counts as anomalous. The bit clears once the value stays below it for an advertisement interval.
  • One threshold onlyTo prevent oscillations, only the high threshold or the low threshold, but not both, may trigger a given sub-TLV.

§7Periodicity, Enabling and Compatibility

The configurable mechanisms bound the number of re-advertisements, but instability might occur in very large networks if measurement intervals are set low enough to overwhelm the processing of flooded information at some of the routers in the topology, so care should be taken in setting these values. The default measurement interval for all sub-TLVs should be 30 seconds. Announcements must also be able to be throttled using configurable inter-update throttle timers. The minimum announcement periodicity is 1 announcement per second, and the default value should be 120 seconds. Implementations should not permit the inter-update timer to be lower than the measurement interval.

It is recommended that any underlying performance measurement mechanisms not include significant buffer delay, significant buffer induced delay variation, or significant loss due to buffer overflow or due to active queue management. Implementations MUST make it possible to individually enable or disable the advertisement of each sub-TLV. Implementations SHOULD permit the static configuration or manual override of dynamic measurements for each sub-TLV, to simplify migration and to mitigate scenarios where dynamic measurements are not possible.

As in the OSPFv2 TE specification, an unrecognized TLV should be silently ignored: it should not be processed, but it should be included in LSAs sent to OSPF neighbours.

By default a router measures every 30 seconds and re-advertises every 120 seconds at most, and no more than once a second. Each field can be switched on or off separately, and a fixed value can be set by hand where measuring is not possible.

§11Security Considerations

The document does not introduce security issues beyond those discussed in the OSPFv2 TE specification. OSPFv2 HMAC-SHA provides additional protection for OSPFv2. OSPFv3 IPsec and the OSPFv3 Authentication Trailer provide additional protection for OSPFv3. OSPF Keying and Authentication for Routing Protocols provides an analysis of OSPFv2 and OSPFv3 routing security, and OSPFv2 Security Extensions provides extensions designed to address the identified gaps in OSPFv2.

The new fields carry no new risk beyond the rest of OSPF, so the usual OSPF authentication mechanisms apply.

§12IANA Considerations

IANA maintains the registry for the Link TLV sub-TLVs. For OSPF TE Metric Extensions, one new type code for each sub-TLV defined in this document has been registered: 27 for Unidirectional Link Delay, 28 for Min/Max Unidirectional Link Delay, 29 for Unidirectional Delay Variation, 30 for Unidirectional Link Loss, 31 for Unidirectional Residual Bandwidth, 32 for Unidirectional Available Bandwidth, and 33 for Unidirectional Utilized Bandwidth.

IANA assigned each of the seven new fields its own number, from 27 to 33.

§9References