RFC 6412

Terminology for Benchmarking Link-State IGP Data-Plane Route Convergence

๐Ÿ“… published November 2011, from ietf

Okay bestie, let's start with the header stuff ๐ŸŽ€. This is RFC 6412, published by the IETF (Internet Engineering Task Force) in November 2011. The authors are S. Poretsky (Allot Communications), B. Imhoff (F5 Networks), and K. Michielsen (Cisco Systems). It's classed as Informational ๐Ÿ“–, which means it's published for information and is not a Standards Track spec. The ISSN is 2070-1721. Its header doesn't list any RFCs it obsoletes or updates, so no drama there ๐Ÿ’œ.

Abstract โœจ

This doc is all about the vocab for benchmarking how fast a link-state Interior Gateway Protocol (IGP) gets its routes converged ๐Ÿš€. The whole point is to measure IGP convergence time from the outside, using black-box data-plane measurements, so you're watching the traffic and not peeking inside the box. The terms work for any link-state IGP, and the examples given are IS-IS and OSPF ๐ŸŒˆ.

Status of This Memo ๐Ÿ“œ

First things first: this is not an Internet Standards Track spec ๐Ÿ™ˆ. It's published for information only.

It's still an IETF product, though, and it reflects the consensus of the IETF community. It went through public review and was approved by the Internet Engineering Steering Group (IESG). Not everything the IESG approves is eligible for any level of Internet Standard, so check Section 2 of RFC 5741 if you're curious about that ๐Ÿง.

For the current status, errata, and a way to send feedback, head to http://www.rfc-editor.org/info/rfc6412 ๐Ÿ”—.

Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved ๐Ÿ’–.

This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info), as in effect on the publication date. Please actually read those, because they spell out your rights and restrictions. Code Components pulled out of this document must include the Simplified BSD License text described in Section 4.e of the Trust Legal Provisions, and they come with no warranty, per the Simplified BSD License ๐Ÿ“.

This document may include material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The people who control the copyright in some of that material may not have given the IETF Trust permission to allow modifications outside the IETF Standards Process. Unless you've got an adequate license from those copyright holders, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process. The exceptions are formatting it for publication as an RFC or translating it into languages other than English ๐ŸŒ.

Table of Contents ๐ŸŒธ

1.  Introduction and Scope . . . . . . . . . . . . . . . . . . . .  4
2.  Existing Definitions . . . . . . . . . . . . . . . . . . . . .  4
3.  Term Definitions . . . . . . . . . . . . . . . . . . . . . . .  5
  3.1.  Convergence Types  . . . . . . . . . . . . . . . . . . . .  5
    3.1.1.  Route Convergence  . . . . . . . . . . . . . . . . . .  5
    3.1.2.  Full Convergence . . . . . . . . . . . . . . . . . . .  5
  3.2.  Instants . . . . . . . . . . . . . . . . . . . . . . . . .  6
    3.2.1.  Traffic Start Instant  . . . . . . . . . . . . . . . .  6
    3.2.2.  Convergence Event Instant  . . . . . . . . . . . . . .  6
    3.2.3.  Convergence Recovery Instant . . . . . . . . . . . . .  7
    3.2.4.  First Route Convergence Instant  . . . . . . . . . . .  8
  3.3.  Transitions  . . . . . . . . . . . . . . . . . . . . . . .  8
    3.3.1.  Convergence Event Transition . . . . . . . . . . . . .  8
    3.3.2.  Convergence Recovery Transition  . . . . . . . . . . .  9
  3.4.  Interfaces . . . . . . . . . . . . . . . . . . . . . . . . 10
    3.4.1.  Local Interface  . . . . . . . . . . . . . . . . . . . 10
    3.4.2.  Remote Interface . . . . . . . . . . . . . . . . . . . 10
    3.4.3.  Preferred Egress Interface . . . . . . . . . . . . . . 10
    3.4.4.  Next-Best Egress Interface . . . . . . . . . . . . . . 11
  3.5.  Benchmarking Methods . . . . . . . . . . . . . . . . . . . 11
    3.5.1.  Rate-Derived Method  . . . . . . . . . . . . . . . . . 11
    3.5.2.  Loss-Derived Method  . . . . . . . . . . . . . . . . . 14
    3.5.3.  Route-Specific Loss-Derived Method . . . . . . . . . . 15
  3.6.  Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . 17
    3.6.1.  Full Convergence Time  . . . . . . . . . . . . . . . . 17
    3.6.2.  First Route Convergence Time . . . . . . . . . . . . . 18
    3.6.3.  Route-Specific Convergence Time  . . . . . . . . . . . 18
    3.6.4.  Loss-Derived Convergence Time  . . . . . . . . . . . . 20
    3.6.5.  Route Loss of Connectivity Period  . . . . . . . . . . 21
    3.6.6.  Loss-Derived Loss of Connectivity Period . . . . . . . 22
  3.7.  Measurement Terms  . . . . . . . . . . . . . . . . . . . . 23
    3.7.1.  Convergence Event  . . . . . . . . . . . . . . . . . . 23
    3.7.2.  Convergence Packet Loss  . . . . . . . . . . . . . . . 23
    3.7.3.  Connectivity Packet Loss . . . . . . . . . . . . . . . 24
    3.7.4.  Packet Sampling Interval . . . . . . . . . . . . . . . 24
    3.7.5.  Sustained Convergence Validation Time  . . . . . . . . 25
    3.7.6.  Forwarding Delay Threshold . . . . . . . . . . . . . . 26
  3.8.  Miscellaneous Terms  . . . . . . . . . . . . . . . . . . . 26
    3.8.1.  Impaired Packet  . . . . . . . . . . . . . . . . . . . 26
4.  Security Considerations  . . . . . . . . . . . . . . . . . . . 27
5.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 27
6.  Normative References . . . . . . . . . . . . . . . . . . . . . 27

1. Introduction and Scope ๐Ÿงš

This doc is a companion to [Po11m], which holds the methodology for benchmarking link-state Interior Gateway Protocol (IGP) convergence by watching the data plane ๐Ÿ‘€. This one's job is to introduce the new terms you need to actually run the Link-State IGP Data-Plane Route Convergence methodology [Po11m] ๐Ÿ’….

IGP convergence time gets measured by observing the data plane through the Device Under Test (DUT) at the Tester ๐Ÿงช. The methodology and terminology can be applied to IPv4 and IPv6 traffic, and to link-state IGPs like Intermediate System to Intermediate System (IS-IS) [Ca90][Ho08], Open Shortest Path First (OSPF) [Mo98] [Co08], and others ๐ŸŒ.

2. Existing Definitions ๐Ÿ’…

This doc borrows terms that are already defined in other IETF documents. Here are some examples, though the list isn't limited to these ๐Ÿ“š:

       Throughput                       [Br91], Section 3.17
       Offered Load                     [Ma98], Section 3.5.2
       Forwarding Rate                  [Ma98], Section 3.6.1
       Device Under Test (DUT)          [Ma98], Section 3.1.1
       System Under Test (SUT)          [Ma98], Section 3.1.2
       Out-of-Order Packet              [Po06], Section 3.3.4
       Duplicate Packet                 [Po06], Section 3.3.5
       Stream                           [Po06], Section 3.3.2
       Forwarding Delay                 [Po06], Section 3.2.4
       IP Packet Delay Variation (IPDV) [De02], Section 1.2
       Loss Period                      [Ko02], Section 4

Now the keyword rule ๐Ÿ”‘. The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [Br97]. RFC 2119 defines how these keywords are used to make the intent of Standards Track documents as clear as possible. This document uses them too, but it is not a Standards Track document ๐Ÿง.

3. Term Definitions ๐Ÿ‘‘

3.1. Convergence Types ๐ŸŒˆ

3.1.1. Route Convergence ๐Ÿ›ฃ๏ธ

Definition: The process of updating all components of the router, including the Routing Information Base (RIB) and Forwarding Information Base (FIB), along with software and hardware tables, with the most recent route change(s) so that forwarding for a route entry works on the Next-Best Egress Interface (Section 3.4.4) โœจ.

Discussion: Generally, IGP convergence doesn't have to change forwarding. But the test cases in [Po11m] are set up so that IGP convergence does change the egress interface for the measurement data-plane traffic ๐Ÿ”. Because of that property, Route Convergence can be seen from the outside, as the measurement traffic gets rerouted to the Next-Best Egress Interface (Section 3.4.4) ๐Ÿฆ‹.

Measurement Units: N/A

See Also: Next-Best Egress Interface, Full Convergence

3.1.2. Full Convergence ๐Ÿ’–

Definition: Route Convergence for all routes in the Forwarding Information Base (FIB) ๐Ÿซถ.

Discussion: Generally, IGP convergence doesn't have to change forwarding. But the test cases in [Po11m] are set up so that IGP convergence does change the egress interface for the measurement data-plane traffic ๐Ÿ”. Because of that property of the test case specifications, Full Convergence can be seen from the outside, as the measurement traffic gets rerouted to the Next-Best Egress Interface (Section 3.4.4) ๐ŸŒธ.

Measurement Units: N/A

See Also: Next-Best Egress Interface, Route Convergence

3.2. Instants โฐ

3.2.1. Traffic Start Instant ๐Ÿšฆ

Definition: The time instant the Tester sends out the first data packet to the DUT ๐Ÿ“ค.

Discussion: If you're benchmarking IGP convergence time with the Loss-Derived Method (Section 3.5.2) or the Route-Specific Loss-Derived Method (Section 3.5.3), and the Convergence Event (Section 3.7.1) you applied doesn't cause instant traffic loss for all routes at the Convergence Event Instant (Section 3.2.2), then the Tester SHOULD collect a timestamp at the Traffic Start Instant ๐Ÿ•ฐ๏ธ. That lets you measure the time between the Traffic Start Instant and the Convergence Event Instant ๐Ÿงฎ.

Measurement Units: seconds (and fractions), reported with resolution sufficient to distinguish between different instants

See Also: Loss-Derived Method, Route-Specific Loss-Derived Method, Convergence Event, Convergence Event Instant

3.2.2. Convergence Event Instant ๐Ÿ’ฅ

Definition: The time instant that a Convergence Event (Section 3.7.1) occurs ๐ŸŽฏ.

Discussion: If the Convergence Event (Section 3.7.1) causes instant traffic loss on the Preferred Egress Interface (Section 3.4.3), the Convergence Event Instant can be observed in the data plane as the moment no more packets arrive on the Preferred Egress Interface ๐Ÿ“‰.

If the Convergence Event does not cause instant traffic loss on the Preferred Egress Interface (Section 3.4.3), the Tester SHOULD collect a timestamp at the Convergence Event Instant ๐Ÿซง.

Measurement Units: seconds (and fractions), reported with resolution sufficient to distinguish between different instants

See Also: Convergence Event, Preferred Egress Interface

3.2.3. Convergence Recovery Instant ๐Ÿฆ‹

Definition:

The time instant that Full Convergence (Section 3.1.2) has completed. โœจ

Discussion:

okay so the Full Convergence completed state MUST be held for a stretch of time equal to the Sustained Convergence Validation Time (Section 3.7.5) ๐Ÿซถ that's how you validate the Convergence Recovery Instant. no skipping this part bestie ๐Ÿ˜ญ

the Convergence Recovery Instant is visible from the data plane: it's the moment the DUT is forwarding traffic to every destination over the Next-Best Egress Interface (Section 3.4.4) with no impairments. iconic, ngl ๐Ÿ’…

Measurement Units:

seconds (and fractions), reported with resolution sufficient to distinguish between different instants ๐ŸŒธ

See Also:

Sustained Convergence Validation Time, Full Convergence, Next-Best Egress Interface

3.2.4. First Route Convergence Instant ๐Ÿงš

Definition:

The time instant the first route entry completes Route Convergence (Section 3.1.1). ๐Ÿ‘‘

Discussion:

any route can be the first one to finish Route Convergence, so it's kind of a race ๐Ÿƒโ€โ™€๏ธ The First Route Convergence Instant is visible from the data plane as the instant the first packet that is not an Impaired Packet (Section 3.8.1) comes in from the Next-Best Egress Interface (Section 3.4.4). BUT, for the test cases with Equal Cost Multi-Path (ECMP) or Parallel Links, it's instead the instant the Forwarding Rate on the Next-Best Egress Interface (Section 3.4.4) starts to go up. two ways to spot it, both slay ๐Ÿ”ฅ

Measurement Units:

seconds (and fractions), reported with resolution sufficient to distinguish between different instants โญ

See Also:

Route Convergence, Impaired Packet, Next-Best Egress Interface


3.3. Transitions ๐ŸŒˆ

3.3.1. Convergence Event Transition ๐Ÿ’œ

Definition:

A time interval following a Convergence Event (Section 3.7.1) in which the Forwarding Rate on the Preferred Egress Interface (Section 3.4.3) gradually drops to zero. ๐Ÿ“‰

Discussion:

the Forwarding Rate during a Convergence Event Transition may or may not decrease linearly. it's giving unpredictable ๐Ÿ™ˆ

the Forwarding Rate observed on the DUT egress interface(s) may or may not decrease to zero. same energy, no promises ๐Ÿ’€

the Offered Load, the number of routes, and the Packet Sampling Interval (Section 3.7.4) all influence what you see during the Convergence Event Transition when you use the Rate-Derived Method (Section 3.5.1). so many moving parts ๐Ÿ˜ญ๐Ÿซถ

Measurement Units:

seconds (and fractions) โฑ๏ธ

See Also:

Convergence Event, Preferred Egress Interface, Packet Sampling Interval, Rate-Derived Method

3.3.2. Convergence Recovery Transition ๐Ÿ“

Definition:

A time interval following the First Route Convergence Instant (Section 3.4.4) in which the Forwarding Rate on the DUT egress interface(s) gradually climbs up to equal the Offered Load. ๐Ÿ“ˆ

Discussion:

the Forwarding Rate observed during a Convergence Recovery Transition may or may not increase linearly. again, not guaranteed, bestie ๐Ÿฆ‹

the Offered Load, the number of routes, and the Packet Sampling Interval (Section 3.7.4) influence what you observe during the Convergence Recovery Transition when you use the Rate-Derived Method (Section 3.5.1). it's the same crew of factors, just in reverse vibes ๐Ÿ”„

Measurement Units:

seconds (and fractions) โฑ๏ธ

See Also:

First Route Convergence Instant, Packet Sampling Interval, Rate-Derived Method


3.4. Interfaces ๐ŸŽ€

3.4.1. Local Interface ๐Ÿ 

Definition:

An interface on the DUT. ๐Ÿ’–

Discussion:

a failure of a Local Interface tells you the failure happened directly on the DUT. that's the culprit, no cap ๐Ÿซต

Measurement Units:

N/A

See Also:

Remote Interface

3.4.2. Remote Interface ๐ŸŒ

Definition:

An interface on a neighboring router that is not directly connected to any interface on the DUT. ๐Ÿ‘€

Discussion:

a failure of a Remote Interface tells you the failure happened on a neighbor router's interface that isn't directly connected to the DUT. not the DUT's fault, lowkey a relief ๐Ÿ˜Œ

Measurement Units:

N/A

See Also:

Local Interface

3.4.3. Preferred Egress Interface โญ

Definition:

The outbound interface from the DUT for traffic routed to the preferred next-hop. ๐Ÿšช

Discussion:

the Preferred Egress Interface is the egress interface you're using before a Convergence Event (Section 3.7.1). it's the old favorite, the main character ๐Ÿ‘‘

Measurement Units:

N/A

See Also:

Convergence Event, Next-Best Egress Interface

3.4.4. Next-Best Egress Interface ๐Ÿฅˆ

Definition:

The outbound interface or set of outbound interfaces in an Equal Cost Multipath (ECMP) set or parallel link set of the Device Under Test (DUT) for traffic routed to the second-best next-hop. ๐Ÿฆข

Discussion:

the Next-Best Egress Interface becomes the egress interface after a Convergence Event (Section 3.4.4). the backup queen steps up ๐Ÿ‘ธ

for the test cases in [Po11m] that use test topologies with an ECMP set or parallel link set, the term Preferred Egress Interface refers to all members of the link set. so the whole squad counts together ๐Ÿซถ

Measurement Units:

N/A

See Also:

Convergence Event, Preferred Egress Interface


3.5. Benchmarking Methods ๐Ÿง

3.5.1. Rate-Derived Method ๐Ÿ“Š

Definition:

The method for calculating convergence time benchmarks by observing the Forwarding Rate each Packet Sampling Interval (Section 3.7.4). ๐Ÿงฎ

Discussion:

Figure 1 shows an example of how the Forwarding Rate changes over time during convergence when you're using the Rate-Derived Method. the graph is giving drama ๐ŸŽญ

           ^         Traffic                      Convergence
      Fwd  |         Start                        Recovery
      Rate |         Instant                      Instant
           | Offered  ^                             ^
           | Load --> ----------\                   /-----------
           |                     \                 /<--- Convergence
           |                      \     Packet    /      Recovery
           |       Convergence --->\     Loss    /       Transition
           |       Event            \           /
           |       Transition        \---------/ <-- Max Packet Loss
           |
           +--------------------------------------------------------->
                           ^                   ^                 time
                      Convergence         First Route
                      Event Instant       Convergence Instant

                   Figure 1: Rate-Derived Convergence Graph

to collect statistics on Out-of-Order Packets per flow (see [Th00], Section 3), the Offered Load SHOULD consist of multiple Streams [Po06], and each Stream SHOULD consist of a single flow . if you're sending multiple Streams, the measured traffic statistics for all Streams MUST be added together. adding it all up, periodt ๐Ÿงพ

the destination addresses for the Offered Load MUST be spread out so that all routes, or a statistically representative subset of all routes, get matched, and each of those routes gets an equal share of the Offered Load. fair is fair ๐Ÿค It is RECOMMENDED to send traffic to all routes, but a statistically representative subset of all routes can be used if required. ๐ŸŒŸ

at least one packet per route for all routes matched in the Offered Load MUST be offered to the DUT within each Packet Sampling Interval. for maximum accuracy, the Packet Sampling Interval SHOULD be as small as possible, but IP Packet Delay Variation (IPDV) [De02] may mean you need a larger Packet Sampling Interval. the IPDV struggle is real ๐Ÿ˜ฉ

the Offered Load, IPDV, the number of routes, and the Packet Sampling Interval all influence the observations for the Rate-Derived Method. it can be hard to pick out the different convergence time instants on the Rate-Derived Convergence Graph. for example, a Convergence Event might make the Forwarding Rate drop to zero, but you might not see that in the Forwarding Rate measurements if the Packet Sampling Interval is too large. sneaky, right? ๐Ÿ•ต๏ธโ€โ™€๏ธ

IPDV causes the number of received packets to fluctuate during each Packet Sampling Interval. to account for IPDV when deciding whether a convergence instant has been reached, Forwarding Delay SHOULD be observed during each Packet Sampling Interval. the minimum and maximum number of packets expected in a Packet Sampling Interval in the presence of IPDV can be calculated with Equation 1. โœจ

    number of packets expected in a Packet Sampling Interval
      in presence of IP Packet Delay Variation
        = expected number of packets without IP Packet Delay Variation
          +/-( (maxDelay - minDelay) * Offered Load)
    where minDelay and maxDelay indicate (respectively) the minimum and
    maximum Forwarding Delay of packets received during the Packet
    Sampling Interval

                                Equation 1

to decide whether a convergence instant has been reached, compare the number of packets received in a Packet Sampling Interval with the range of expected packets calculated in Equation 1. math but make it cute ๐ŸŽ€

if packets are going over multiple ECMP members and one or more of those members has failed, the number of received packets during each Packet Sampling Interval may vary, even without IPDV. to stop the count from bouncing around for this reason, the Packet Sampling Interval duration SHOULD be a whole multiple of the time between two consecutive packets sent to the same destination. ๐Ÿ”

metrics measured at the Packet Sampling Interval MUST include Forwarding Rate and Impaired Packet count. no skipping these, bestie ๐Ÿ’…

to measure convergence time benchmarks for Convergence Events (Section 3.7.1) that do not cause instantaneous traffic loss for all routes at the Convergence Event Instant, the Tester SHOULD collect a timestamp of the Convergence Event Instant (Section 3.2.2), and the Tester SHOULD observe Forwarding Rate separately on the Next-Best Egress Interface. โฐ two timestamps, double the receipts ๐Ÿงพ

since the Rate-Derived Method does not tell individual traffic destinations apart, it SHOULD NOT be used for any route specific measurements. so the Rate-Derived Method SHOULD NOT be used to benchmark Route Loss of Connectivity Period (Section 3.6.5). not for that one, babe ๐Ÿ™…โ€โ™€๏ธ

Measurement Units:

N/A

See Also:

Packet Sampling Interval, Convergence Event, Convergence Event Instant, Next-Best Egress Interface, Route Loss of Connectivity Period

3.5.2. Loss-Derived Method โœจ

Definition:

The method to calculate the Loss-Derived Convergence Time (Section 3.6.4) and Loss-Derived Loss of Connectivity Period (Section 3.6.6) benchmarks from the amount of Impaired Packets (Section 3.8.1). ๐Ÿ’–

Discussion:

Okay so, to collect stats on Out-of-Order Packets per flow (see [Th00], Section 3), the Offered Load SHOULD consist of multiple Streams [Po06], and each Stream SHOULD consist of a single flow . ๐Ÿงš If you're sending multiple Streams, the measured traffic statistics for all Streams MUST be added together. No skipping that part, bestie! ๐Ÿซถ

The destination addresses for the Offered Load MUST be spread out so that all routes, or a statistically representative subset of all routes, get matched, and each of those routes gets an equal share of the Offered Load. โœจ It is RECOMMENDED to send traffic to all routes, but a statistically representative subset of all routes can be used if required. ๐ŸŒธ

The Loss-Derived Method SHOULD always be paired with the Rate-Derived Method so you can see Full Convergence completion. ๐Ÿ”ฅ The total amount of Convergence Packet Loss gets collected after Full Convergence completion.

Now for convergence time and loss of connectivity benchmarks on Convergence Events that cause instantaneous traffic loss for all routes at the Convergence Event Instant: the Tester SHOULD observe the Impaired Packet count on all DUT egress interfaces (see Connectivity Packet Loss (Section 3.7.3)). ๐Ÿ‘‘

And for convergence time benchmarks on Convergence Events that do not cause instantaneous traffic loss for all routes at the Convergence Event Instant, the Tester SHOULD collect timestamps of the Start Traffic Instant and of the Convergence Event Instant, and the Tester SHOULD observe the Impaired Packet count separately on the Next-Best Egress Interface (see Convergence Packet Loss (Section 3.7.2)). ๐Ÿฆ‹

Since the Loss-Derived Method doesn't distinguish between traffic destinations, and the Impaired Packet stats are only collected after Full Convergence completion, this method can only measure average values over all routes. ๐Ÿ’… That's why the Loss-Derived Method can only be used to benchmark Loss-Derived Convergence Time (Section 3.6.4) and Loss-Derived Loss of Connectivity Period (Section 3.6.6). Main character energy for averages, but no per-route tea here. ๐Ÿ“

Note that the Loss-Derived Method measures an average over all routes, including the routes that may not be impacted by the Convergence Event, such as routes via non-impacted members of ECMP or parallel links. ๐Ÿ™ˆ

Measurement Units:

N/A

See Also:

Loss-Derived Convergence Time, Loss-Derived Loss of Connectivity Period, Connectivity Packet Loss, Convergence Packet Loss


3.5.3. Route-Specific Loss-Derived Method ๐ŸŽ€

Definition:

The method to calculate the Route-Specific Convergence Time (Section 3.6.3) benchmark from the amount of Impaired Packets (Section 3.8.1) during convergence for a specific route entry. ๐ŸŒˆ

Discussion:

To benchmark Route-Specific Convergence Time, the Tester provides an Offered Load that consists of multiple Streams [Po06]. Each Stream has a single destination address matching a different route entry, for all routes or a statistically representative subset of all routes. ๐Ÿ’œ Each Stream SHOULD consist of a single flow (see [Th00], Section 3). Convergence Packet Loss is measured for each Stream separately. It's giving organized. โœจ

The Route-Specific Loss-Derived Method SHOULD always be combined with the Rate-Derived Method in order to observe Full Convergence completion. ๐Ÿ”ฅ The total amount of Convergence Packet Loss (Section 3.7.2) for each Stream is collected after Full Convergence completion.

The Route-Specific Loss-Derived Method is the RECOMMENDED method to measure convergence time benchmarks. ๐Ÿ‘‘๐Ÿซถ Literally the one to pick!

For convergence time and loss of connectivity benchmarks on Convergence Events that cause instantaneous traffic loss for all routes at the Convergence Event Instant, the Tester SHOULD observe the Impaired Packet count on all DUT egress interfaces (see Connectivity Packet Loss (Section 3.7.3)). ๐Ÿ’–

For convergence time benchmarks on Convergence Events that do not cause instantaneous traffic loss for all routes at the Convergence Event Instant, the Tester SHOULD collect timestamps of the Start Traffic Instant and of the Convergence Event Instant, and the Tester SHOULD observe packet loss separately on the Next-Best Egress Interface (see Convergence Packet Loss (Section 3.7.2)). ๐Ÿฆ‹

Since the Route-Specific Loss-Derived Method uses traffic streams to individual routes, it observes the Impaired Packet count the way a network user would actually experience it. ๐Ÿฅน That's why the Route-Specific Loss-Derived Method is RECOMMENDED to measure Route-Specific Convergence Time benchmarks and Route Loss of Connectivity Period benchmarks. Iconic. ๐Ÿ’…

Measurement Units:

N/A

See Also:

Route-Specific Convergence Time, Route Loss of Connectivity Period, Connectivity Packet Loss, Convergence Packet Loss


3.6. Benchmarks ๐Ÿฐ

3.6.1. Full Convergence Time โฑ๏ธ

Definition:

The time duration of the period between the Convergence Event Instant and the Convergence Recovery Instant as observed using the Rate-Derived Method. ๐ŸŒธ

Discussion:

Using the Rate-Derived Method, Full Convergence Time can be calculated as the time difference between the Convergence Event Instant and the Convergence Recovery Instant, as shown in Equation 2. ๐Ÿงฎ

  Full Convergence Time =
      Convergence Recovery Instant - Convergence Event Instant

                          Equation 2

The Convergence Event Instant can be derived from the Forwarding Rate observation or from a timestamp collected by the Tester. ๐Ÿซง

For the test cases described in [Po11m], it is expected that Full Convergence Time equals the maximum Route-Specific Convergence Time when benchmarking all routes in the FIB using the Route-Specific Loss-Derived Method. ๐Ÿ’œ

It is not possible to measure Full Convergence Time using the Loss-Derived Method. Sorry, bestie! ๐Ÿ˜ญ

Measurement Units:

seconds (and fractions)

See Also:

Full Convergence, Rate-Derived Method, Route-Specific Loss-Derived Method, Convergence Event Instant, Convergence Recovery Instant


3.6.2. First Route Convergence Time ๐Ÿƒโ€โ™€๏ธ๐Ÿ’จ

Definition:

The duration of the period between the Convergence Event Instant and the First Route Convergence Instant as observed using the Rate-Derived Method. ๐Ÿฆ‹

Discussion:

Using the Rate-Derived Method, First Route Convergence Time can be calculated as the time difference between the Convergence Event Instant and the First Route Convergence Instant, as shown with Equation 3. โœจ

  First Route Convergence Time =
      First Route Convergence Instant - Convergence Event Instant

                          Equation 3

The Convergence Event Instant can be derived from the Forwarding Rate observation or from a timestamp collected by the Tester. ๐ŸŒท

For the test cases described in [Po11m], it is expected that First Route Convergence Time equals the minimum Route-Specific Convergence Time when benchmarking all routes in the FIB using the Route-Specific Loss-Derived Method. ๐ŸŽ€

It is not possible to measure First Route Convergence Time using the Loss-Derived Method. ๐Ÿ™ˆ

Measurement Units:

seconds (and fractions)

See Also:

Rate-Derived Method, Route-Specific Loss-Derived Method, Convergence Event Instant, First Route Convergence Instant


3.6.3. Route-Specific Convergence Time ๐ŸŒˆ

Definition:

The amount of time it takes for Route Convergence to be completed for a specific route, as calculated from the amount of Impaired Packets (Section 3.8.1) during convergence for a single route entry. ๐Ÿง

Discussion:

Route-Specific Convergence Time can only be measured using the Route-Specific Loss-Derived Method. ๐ŸŒŸ

If the applied Convergence Event causes instantaneous traffic loss for all routes at the Convergence Event Instant, Connectivity Packet Loss should be observed. ๐Ÿ‘€ Connectivity Packet Loss is the combined Impaired Packet count observed on the Preferred Egress Interface and the Next-Best Egress Interface. When benchmarking Route-Specific Convergence Time, Connectivity Packet Loss is measured, and Equation 4 is applied for each measured route. The calculation is equal to Equation 8 in Section 3.6.5. ๐Ÿง 

  Route-Specific Convergence Time =
   Connectivity Packet Loss for specific route / Offered Load per route

                          Equation 4

If the applied Convergence Event does not cause instantaneous traffic loss for all routes at the Convergence Event Instant, then the Tester SHOULD collect timestamps of the Traffic Start Instant and of the Convergence Event Instant, and the Tester SHOULD observe Convergence Packet Loss separately on the Next-Best Egress Interface. When benchmarking Route-Specific Convergence Time, Convergence Packet Loss is measured, and Equation 5 is applied for each measured route. ๐ŸŒŠ

  Route-Specific Convergence Time =
    Convergence Packet Loss for specific route / Offered Load per route
    - (Convergence Event Instant - Traffic Start Instant)

                          Equation 5

The Route-Specific Convergence Time benchmarks enable minimum, maximum, average, and median convergence time measurements to be reported by comparing the results for the different route entries. ๐Ÿ“Š It also enables benchmarking of convergence time when configuring a priority value for the route entry or entries. Since multiple Route-Specific Convergence Times can be measured, it is possible to have an array of results. ๐ŸŒบ The format for reporting Route-Specific Convergence Time is provided in [Po11m]. ๐Ÿ“

Measurement Units:

seconds (and fractions)

See Also:

Route-Specific Loss-Derived Method, Convergence Event, Convergence Event Instant, Convergence Packet Loss, Connectivity Packet Loss, Route Convergence ๐Ÿฆ‹โœจ

3.6.4. Loss-Derived Convergence Time โœจ

Definition:

The average Route Convergence time for all routes in the Forwarding Information Base (FIB), calculated from the number of Impaired Packets (Section 3.8.1) seen during convergence. ๐ŸŽ€

Discussion:

Loss-Derived Convergence Time is measured with the Loss-Derived Method. ๐Ÿ’…

Okay so, if the Convergence Event causes instant traffic loss for all routes at the Convergence Event Instant, you should see Connectivity Packet Loss (Section 3.7.3) โœจ. Connectivity Packet Loss is the combined Impaired Packet count from the Preferred Egress Interface and the Next-Best Egress Interface. When you benchmark Loss-Derived Convergence Time, you measure Connectivity Packet Loss and apply Equation 6. ๐Ÿฆ‹

                Loss-Derived Convergence Time =
                    Connectivity Packet Loss / Offered Load

                                Equation 6

But if the Convergence Event does not cause instant traffic loss for all routes at the Convergence Event Instant, the Tester SHOULD collect timestamps of the Start Traffic Instant and the Convergence Event Instant ๐Ÿ•. The Tester SHOULD also observe Convergence Packet Loss (Section 3.7.2) separately on the Next-Best Egress Interface ๐Ÿ’œ. When you benchmark Loss-Derived Convergence Time in this case, you measure Convergence Packet Loss and apply Equation 7. It's giving careful bookkeeping ๐Ÿ“๐ŸŒธ

         Loss-Derived Convergence Time =
             Convergence Packet Loss / Offered Load
             - (Convergence Event Instant - Traffic Start Instant)

                                Equation 7

Measurement Units:

seconds (and fractions) โฑ๏ธ

See Also:

Convergence Packet Loss, Connectivity Packet Loss, Route Convergence, Loss-Derived Method ๐Ÿงš


3.6.5. Route Loss of Connectivity Period ๐Ÿฆ‹

Definition:

The time duration of packet impairments for one specific route entry after a Convergence Event, until Full Convergence is complete, as observed with the Route-Specific Loss-Derived Method. ๐ŸŒˆ

Discussion:

Generally, the Route Loss of Connectivity Period is not equal to the Route-Specific Convergence Time, bestie ๐Ÿ™ˆ. If the DUT keeps forwarding traffic to the Preferred Egress Interface after the Convergence Event is applied, then the Route Loss of Connectivity Period will be smaller than the Route-Specific Convergence Time. This is also specifically the case after reversing a failure event. ๐Ÿ”„

The Route Loss of Connectivity Period may be equal to the Route-Specific Convergence Time if, as a characteristic of the Convergence Event, traffic for all routes starts dropping instantly at the Convergence Event Instant. See the discussion in [Po11m] ๐Ÿ“–.

For the test cases described in [Po11m], the Route Loss of Connectivity Period is expected to be a single Loss Period [Ko02] ๐Ÿ’–.

When you benchmark the Route Loss of Connectivity Period, you measure Connectivity Packet Loss for each route and apply Equation 8 to each measured route entry. The calculation is equal to Equation 4 in Section 3.6.3 ๐Ÿงฎ.

   Route Loss of Connectivity Period =
    Connectivity Packet Loss for specific route / Offered Load per route

                                Equation 8

The Route Loss of Connectivity Period SHOULD be measured using the Route-Specific Loss-Derived Method ๐ŸŽฏ.

Measurement Units:

seconds (and fractions) โฑ๏ธ

See Also:

Route-Specific Convergence Time, Route-Specific Loss-Derived Method, Connectivity Packet Loss


3.6.6. Loss-Derived Loss of Connectivity Period ๐ŸŒธ

Definition:

The average time duration of packet impairments for all routes following a Convergence Event, until Full Convergence is complete, as observed with the Loss-Derived Method. ๐Ÿ’œ

Discussion:

Generally, the Loss-Derived Loss of Connectivity Period is not equal to the Loss-Derived Convergence Time ๐Ÿ™ƒ. If the DUT keeps forwarding traffic to the Preferred Egress Interface after the Convergence Event is applied, then the Loss-Derived Loss of Connectivity Period will be smaller than the Loss-Derived Convergence Time. This is also specifically the case after reversing a failure event. ๐Ÿ”

The Loss-Derived Loss of Connectivity Period may be equal to the Loss-Derived Convergence Time if, as a characteristic of the Convergence Event, traffic for all routes starts dropping instantly at the Convergence Event Instant. See the discussion in [Po11m] ๐Ÿ‘€.

For the test cases described in [Po11m], each route's Route Loss of Connectivity Period is expected to be a single Loss Period [Ko02] โœจ.

When you benchmark the Loss-Derived Loss of Connectivity Period, you measure Connectivity Packet Loss for all routes and apply Equation 9. The calculation is equal to Equation 6 in Section 3.6.4 ๐Ÿง.

         Loss-Derived Loss of Connectivity Period =
            Connectivity Packet Loss for all routes / Offered Load

                                Equation 9

The Loss-Derived Loss of Connectivity Period SHOULD be measured using the Loss-Derived Method ๐Ÿ’….

Measurement Units:

seconds (and fractions) โฑ๏ธ

See Also:

Loss-Derived Convergence Time, Loss-Derived Method, Connectivity Packet Loss


3.7. Measurement Terms ๐ŸŽ€

3.7.1. Convergence Event ๐Ÿ’ฅ

Definition:

Something happens in the network that changes the DUT's egress interface for routed packets. โšก

Discussion:

Every test case in [Po11m] is set up so that a Convergence Event results in the DUT changing its egress interface ๐Ÿ™Œ. Local or remote triggers that cause a route calculation without changing forwarding do not count, sorry not sorry ๐Ÿ™…โ€โ™€๏ธ.

Measurement Units:

N/A

See Also:

Convergence Event Instant

3.7.2. Convergence Packet Loss ๐Ÿ“‰

Definition:

The number of Impaired Packets (Section 3.8.1) seen on the DUT's Next-Best Egress Interface during convergence. ๐Ÿฆ‹

Discussion:

An Impaired Packet counts as a lost packet. No exceptions, no drama ๐Ÿ’€.

Measurement Units:

number of packets ๐Ÿ“ฆ

See Also:

Connectivity Packet Loss

3.7.3. Connectivity Packet Loss ๐ŸŒ

Definition:

The number of Impaired Packets seen on all of the DUT's egress interfaces during convergence. ๐Ÿงš

Discussion:

An Impaired Packet counts as a lost packet. Connectivity Packet Loss is equal to Convergence Packet Loss if the Convergence Event causes instant traffic loss on every DUT egress interface except the Next-Best Egress Interface ๐ŸŽฏ.

Measurement Units:

number of packets ๐Ÿ“ฆ

See Also:

Convergence Packet Loss

3.7.4. Packet Sampling Interval โณ

Definition:

The interval at which the Tester (the test equipment) polls to measure arriving packets. ๐Ÿ“ก

Discussion:

At least one packet per route, for all routes matched in the Offered Load, MUST be offered to the DUT within the Packet Sampling Interval ๐Ÿงƒ. Metrics measured at the Packet Sampling Interval MUST include Forwarding Rate and received packets ๐Ÿ“Š.

The Packet Sampling Interval can change how the convergence graph looks with the Rate-Derived Method ๐Ÿ“ˆ. This is especially true when implementations finish Full Convergence in less time than the Packet Sampling Interval. In that case, the Convergence Event Instant and First Route Convergence Instant may be hard to spot, and the Rate-Derived Method may give a convergence time that is larger than the actual one ๐Ÿ˜ญ.

Using a small Packet Sampling Interval with IPDV [De02] can make the Forwarding Rate observations jump around and can stop you from seeing the different convergence time instants properly ๐ŸŒŠ.

The value of the Packet Sampling Interval only affects the measurement accuracy of the Rate-Derived Method ๐Ÿ”. For maximum accuracy, the Packet Sampling Interval SHOULD be as small as possible, though the presence of IPDV may force a larger Packet Sampling Interval ๐Ÿซถ.

Measurement Units:

seconds (and fractions)

See Also:

Rate-Derived Method

3.7.5. Sustained Convergence Validation Time ๐Ÿ›ก๏ธ

Definition:

The amount of time during which the completion of Full Convergence is maintained, with no additional Impaired Packets observed ๐Ÿ™Œ.

Discussion:

The whole point of the Sustained Convergence Validation Time is to make convergence benchmarks that are protected against Forwarding Rate fluctuations after Full Convergence is observed to be complete ๐Ÿ’–. The RECOMMENDED Sustained Convergence Validation Time is the time it takes to send 5 consecutive packets to each destination, with a minimum of 5 seconds โฐ. The Benchmarking Methodology Working Group (BMWG) picked 5 seconds based on [Br99], which suggests waiting 2 seconds for residual frames to arrive (this is the Forwarding Delay Threshold for the last packet sent) and 5 seconds for the DUT to restabilize ๐Ÿง˜โ€โ™€๏ธ.

Measurement Units:

seconds (and fractions)

See Also:

Full Convergence, Convergence Recovery Instant

3.7.6. Forwarding Delay Threshold ๐Ÿšฆ

Definition:

The maximum waiting time used to tell apart packets with a super long delay from lost packets that will never arrive ๐Ÿ•ฐ๏ธ.

Discussion:

A Forwarding Delay Threshold lets packets with too much Forwarding Delay count as lost, which some applications need (for example voice, video, and so on) ๐Ÿ“ž. The Forwarding Delay Threshold is a parameter of the methodology, and it MUST be reported ๐Ÿ“. [Br99] recommends waiting 2 seconds for residual frames to arrive.

Measurement Units:

seconds (and fractions)

See Also:

Convergence Packet Loss, Connectivity Packet Loss


3.8. Miscellaneous Terms ๐ŸŒˆ

3.8.1. Impaired Packet ๐Ÿฉน

Definition:

A packet that experienced at least one of these impairments: loss, excessive Forwarding Delay, corruption, duplication, or reordering. ๐ŸŒ€

Discussion:

A lost packet, a packet whose Forwarding Delay goes over the Forwarding Delay Threshold, a corrupted packet, a Duplicate Packet [Po06], and an Out-of-Order Packet [Po06] are all Impaired Packets ๐Ÿ™‹โ€โ™€๏ธ.

Packet ordering is observed for each individual flow (see [Th00], Section 3) of the Offered Load ๐Ÿงต.

Measurement Units:

N/A

See Also:

Forwarding Delay Threshold


4. Security Considerations ๐Ÿ”๐Ÿ˜ฑ

Benchmarking activities in this memo are limited to technology characterization using controlled stimuli in a lab environment, with dedicated address space and the constraints from the sections above ๐Ÿงช. Lab only, babe!

The benchmarking network topology will be an independent test setup and MUST NOT be connected to devices that might forward the test traffic into a production network or misroute traffic to the test management network ๐Ÿšจ. Keep that lab separate or things get messy fast ๐Ÿ’€.

Also, benchmarking is done on a "black-box" basis, relying only on measurements you can observe from outside the DUT/SUT ๐Ÿ–ค.

Special capabilities SHOULD NOT exist in the DUT/SUT just for benchmarking purposes ๐Ÿ™…โ€โ™€๏ธ. Any implications for network security coming from the DUT/SUT SHOULD be identical in the lab and in production networks ๐Ÿ”’. No cheating allowed, no cap ๐Ÿ‘‘.

5. Acknowledgements ๐Ÿ’–

Huge shoutout to Sue Hares, Al Morton, Kevin Dubray, Ron Bonica, David Ward, Peter De Vriendt, Anuj Dewagan, Adrian Farrel, Stewart Bryant, Francis Dupont, and the Benchmarking Methodology Working Group for helping make this happen ๐Ÿซถโœจ

6. Normative References ๐Ÿ“š

Here are the references this doc leans on, the ones you need to actually read to get the full picture ๐Ÿค“

  • [Br91] Bradner, S., "Benchmarking terminology for network interconnection devices", RFC 1242, July 1991.
  • [Br97] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
  • [Br99] Bradner, S. and J. McQuaid, "Benchmarking Methodology for Network Interconnect Devices", RFC 2544, March 1999.
  • [Ca90] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, December 1990.
  • [Co08] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, July 2008.
  • [De02] Demichelis, C. and P. Chimento, "IP Packet Delay Variation Metric for IP Performance Metrics (IPPM)", RFC 3393, November 2002.
  • [Ho08] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, October 2008.
  • [Ko02] Koodli, R. and R. Ravikanth, "One-way Loss Pattern Sample Metrics", RFC 3357, August 2002.
  • [Ma98] Mandeville, R., "Benchmarking Terminology for LAN Switching Devices", RFC 2285, February 1998.
  • [Mo98] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.
  • [Po06] Poretsky, S., Perser, J., Erramilli, S., and S. Khurana, "Terminology for Benchmarking Network-layer Traffic Control Mechanisms", RFC 4689, October 2006.
  • [Po11m] Poretsky, S., Imhoff, B., and K. Michielsen, "Benchmarking Methodology for Link-State IGP Data-Plane Route Convergence", RFC 6413, November 2011.
  • [Th00] Thaler, D. and C. Hopps, "Multipath Issues in Unicast and Multicast Next-Hop Selection", RFC 2991, November 2000.

Authors' Addresses ๐Ÿฆ‹

The people behind this doc, so you know who to slide into the DMs with questions ๐Ÿ’Œ

Scott Poretsky
Allot Communications
300 TradeCenter
Woburn, MA  01801
USA

Phone: + 1 508 309 2179
EMail: sporetsky@allot.com


Brent Imhoff
F5 Networks
401 Elliott Avenue West
Seattle, WA  98119
USA

Phone: + 1 314 378 2571
EMail: bimhoff@planetspork.com


Kris Michielsen
Cisco Systems
6A De Kleetlaan
Diegem, BRABANT  1831
Belgium

EMail: kmichiel@cisco.com
๐Ÿ“ฆ where this page comes from