RFC 5468

Performance Analysis of Inter-Domain Path Computation Methodologies

πŸ“… published April 2009, from ietf

RFC 5468: Performance Analysis of Inter-Domain Path Computation Methodologies πŸ’–

Okay bestie, so this one is from April 2009 and it's written by S. Dasgupta (Drexel University), J. de Oliveira (Drexel University), and JP. Vasseur (Cisco Systems) πŸŽ€. It's filed under the Informational category in the Network Working Group, which means it shares info with the Internet community but doesn't set an actual standard 🧚. The title block doesn't list anything it obsoletes or updates, so it's not replacing or changing any older RFC. Super chill 🌸

Status of This Memo

This memo is just providing info for the Internet community. It is NOT an Internet standard of any kind, and it's free to be shared without limits πŸ¦‹

Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved πŸ’…

This doc is covered by BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents, as they were on the day it was published. Read those carefully, because they explain your rights and restrictions for this document: http://trustee.ietf.org/license-info πŸ“œ

Abstract

Okay so this document basically compares two ways of computing paths: the per-domain path computation method and the Path Computation Element (PCE) Architecture-based Backward Recursive Path Computation (BRPC) procedure πŸ”₯ It figures out which metrics capture the important performance stuff, runs detailed simulations on realistic scenarios, and then does a full performance analysis for each path computation method. Iconic behavior honestly ✨

Table of Contents

   1. Introduction ....................................................2
   2. Terminology .....................................................3
   3. Evaluation Metrics ..............................................4
   4. Simulation Setup ................................................5
   5. Results and Analysis ............................................6
      5.1. Path Cost ..................................................7
      5.2. Crankback/Setup Delay ......................................7
      5.3. Signaling Failures .........................................8
      5.4. Failed TE-LSPs/Bandwidth on Link Failures ..................8
      5.5. TE LSP/Bandwidth Setup Capacity ............................8
   6. Security Considerations .........................................9
   7. Acknowledgment ..................................................9
   8. Informative References ..........................................9

1. Introduction 🧚

The IETF has specified two approaches for computing inter-domain (Generalized) Multi-Protocol Label Switching ((G)MPLS) Traffic Engineering (TE) Label Switched Paths (LSP) 🌈 The first is the per-domain path computation approach defined in [RFC5152], and the second is the PCE-based approach specified in [RFC4655]. The specific thing we study is the PCE-based path computation model that uses the BRPC method outlined in [RFC5441]. For the rest of the doc, we'll call the per-domain approach PD and the PCE approach PCE. Shorthand, bestie πŸ’–

With the per-domain approach, each path segment inside a domain gets computed during the signaling process by each entry node of that domain, all the way to the next-hop exit node of that same domain πŸ¦‹

The PCE-based approach is different, especially the BRPC method from [RFC5441]. It relies on a bunch of PCEs working together to find the shortest inter-domain path, and only after that path is worked out does the TE LSP actually get signaled πŸ”₯ The PCEs do the computation in a backward recursive way, going from the destination domain back to the source domain. This is where the Virtual Shortest Path Tree (VSPT) comes in. Each link of a VSPT is the shortest path that satisfies the set of required constraints between a domain's border nodes and the destination LSR. Each domain's VSPT is handed back by its PCE so that PCEs in other domains can build a new VSPT πŸ‘‘ [RFC5441] goes through the BRPC procedure in full detail, so go check that if you want the deep dive πŸ€“

This document shares simulation results and analysis to compare how these two inter-domain path computation approaches perform πŸ’… Two realistic topologies, each with its own traffic matrices, were used for the simulations ✨

Note that the simulation results in this document used inter-area networks, but they also apply to Inter-AS cases. Lowkey important to know 🫢

Disclaimer: even though simulations were run on different realistic topologies and showed consistent results, the metrics below may vary depending on the network topology πŸ™ˆ

Also, this document refers to multiple figures that are only available in the PDF version. Just so you know before you go hunting πŸ“„

2. Terminology πŸ“š

Here are the terms used in this document, bestie:

  • TE LSP: Traffic Engineered Label Switched Path.
  • CSPF: Constrained Shortest Path First.
  • PCE: Path Computation Element.
  • BRPC: Backward Recursive PCE-based Computation.
  • AS: Autonomous System.
  • ABR: Routers used to connect two IGP areas (areas in OSPF or levels in IS-IS).
  • ASBR: Routers used to connect together ASes of a different or the same Service Provider via one or more Inter-AS links.
  • Border LSR: A border LSR is either an ABR in the context of inter-area TE or an ASBR in the context of Inter-AS TE.
  • VSPT: Virtual Shortest Path Tree.
  • LSA: Link State Advertisement.
  • LSR: Label Switching Router.
  • IGP: Interior Gateway Protocol.
  • TED: Traffic Engineering Database.
  • PD: Per-Domain

3. Evaluation Metrics πŸ“Š

This section is where we talk about the metrics used to measure and compare how the two approaches perform πŸ’œ

  • Path Cost. The maximum and average path costs get observed for each TE LSP. Then the distributions for those maximum and average path costs get compared between the two path computation approaches πŸ“
  • Signaling Failures. Signaling failures can happen in a bunch of different situations πŸ™ˆ With PD, the head-end LSR picks the downstream border router (ABR, ASBR) based on some selection criteria (IGP shortest path, ....) using the info in its TED. That ABR then picks the next ABR using its own TED, and it keeps going until the destination is reached. At every step, the TED info could be out of date, which could cause a signaling failure during setup. With the BRPC procedure, the PCEs are the ABRs that work together to form the VSPT based on the info in their own TEDs. Just like with PD, the TED info could be out of date and cause signaling failures during setup. Also, only with PD is there one more way to get a signaling failure: when the selected exit ABR doesn't have any path that obeys the set of constraints toward a downstream exit node or the TE LSP destination. That situation doesn't happen with BRPC πŸ’€ This metric counts the total number of signaling failures that happen during the initial setup and during re-route (on link failure) of a TE LSP. The distribution of signaling failures across all TE LSPs then gets compared for PD and BRPC 🫢
  • Crankback Signaling. In this doc, we assumed that with PD, when an entry border node can't find a route in its domain, boundary re-routing crankback [RFC4920] signaling gets used ✨ A crankback signaling message travels to the entry border node of the domain, and a new exit border node gets picked. After that, path computation happens to find a path segment to a new entry border node of the next domain. This adds extra delay to the setup time 😭 This metric captures the distribution of the number of crankback signals and the matching setup time delay for a TE LSP when using PD. The total delay from crankback signaling is proportional to the costs of the links the signal travels over, which is the path set up from the entry border node of a domain to its exit border node (we assumed link metrics reflect propagation delays) πŸ¦‹ Just like the metrics above, the distribution of total crankback signaling and its proportional delay across all TE LSPs gets compared πŸ’…
  • TE LSPs/Bandwidth Setup Capacity. Because the two path computation techniques are so different, there's a big difference in how many TE LSPs and how much bandwidth can actually get set up πŸ”₯ This metric captures that difference for each technique. The traffic matrix gets scaled up continuously and stops when the first TE LSP can't be set up for both methods. The difference in the scaling factor tells you the extra bandwidth that the corresponding path computation technique can set up πŸ‘‘
  • Failed TE LSPs/Bandwidth on Link Failure. Link failures get induced in the network during the simulations 🌸 This metric counts the number of TE LSPs, and the bandwidth those TE LSPs need, that failed to find a route when one or more links on their path failed πŸ₯Ί

4. Simulation Setup ✨

okay so bestie, the team built a super detailed simulator to copy a real-life network as closely as possible πŸ§šπŸ’… here's the cast of characters and how they act πŸ’–

   +------------+-------+-------+--------+--------+---------+----------+
   |   Domain   |  # of |  # of |  OC48  |  OC192 |  [0,20) | [20,100] |
   |    Name    | nodes | links |  links |  links |   Mbps  |   Mbps   |
   +------------+-------+-------+--------+--------+---------+----------+
   |     D1     |   17  |   24  |   18   |    6   |   125   |    368   |
   |     D2     |   14  |   17  |   12   |    5   |    76   |    186   |
   |     D3     |   19  |   26  |   20   |    6   |    14   |    20    |
   |     D4     |   9   |   12  |    9   |    3   |    7    |    18    |
   |  MESH-CORE |   83  |  167  |   132  |   35   |    0    |     0    |
   | (backbone) |       |       |        |        |         |          |
   |  SYM-CORE  |   29  |  377  |   26   |   11   |    0    |     0    |
   | (backbone) |       |       |        |        |         |          |
   +------------+-------+-------+--------+--------+---------+----------+

           Table 1.  Domain Details and TE LSP Size Distribution
  • Topology Description. okay so to get results that actually matter for today's Service Provider networks 🌸, they ran simulations on two representative topologies. each one has a big backbone area with four smaller areas plugged into it πŸ¦‹ the first one, MESH-CORE, has a densely connected backbone pulled from RocketFuel [ROCKETFUEL] πŸ”₯ the second one, SYM-CORE, has a symmetrical backbone, and its four smaller areas come from [DEF-DES] ✨ the layout is in Table 1 and Figure 1 πŸ’… every TE LSP set up here has its source and destination in different areas, so they ALL have to cross the backbone 🫢 Table 1 also shows how many TE LSPs start in each area, plus their size distribution. no cap, it's giving organized πŸŽ€
  • Node Behavior. every node is a router that keeps state for every TE LSP going through it πŸ’œ each node in a domain is a source for TE LSPs heading to every node in the other domains. real routers boot up at random times, so the simulated nodes also start sending traffic on their TE LSPs at a random start time (to capture those different boot-up times) 🧚 everyone is up within an hour of the simulation starting ⭐ every node keeps a TED that gets updated with LSA updates, as outlined in [RFC3630] πŸ“ and the flooding scope of the Traffic Engineering IGP updates is limited to the domain they came from, in compliance with [RFC3630] and [RFC5305] πŸ™ˆ bestie, that's a whole rule and I'm obsessed 😭
  • TE LSP Setup. when a node boots up, it sets up all of its TE LSPs in descending order of size πŸ‘‘ the network is dimensioned so every TE LSP can find a path ✨ once they're up, they stay for the whole simulation UNLESS a link failure takes them out πŸ’€ even though the head-end router sets them up largest-first, from the network's point of view they show up in random order, since routers boot at random times πŸ¦‹ iconic chaos, honestly 🌈
  • Inducing Failures. for a thorough performance comparison, link failures are induced in all the areas πŸ”₯ each link in a domain can fail independently, with a mean failure time of 24 hours, and gets restored with a mean restore time of 15 minutes ⭐ both the inter-failure and inter-restore times are uniformly distributed πŸ’… when a link comes back, nobody tries to re-optimize the path of a TE LSP πŸ™ˆ and the links that join two domains never fail πŸ’œ this was on purpose, so the focus stays on how link failures inside domains affect performance 🫢

5. Results and Analysis πŸ“Š

okay the results, let's gooo πŸŽ€ both topologies got tested, and all the figures come from the PDF version of this document πŸ’– in the figures, "PD-Setup" and "PCE-Setup" mean the first TE LSP setup on an empty network using the per-domain approach and the PCE approach, respectively 🧚 "PD-Failure" and "PCE-Failure" are the same two approaches but with link failures happening πŸ¦‹ they simulated one week and collected results after the transient period 🌸 Figure 2 and Figure 3 show how the metrics behave for MESH-CORE and SYM-CORE, respectively ✨

5.1. Path Cost πŸ’…

Figures 2a and 3a show how the average path cost of TE LSPs is distributed for MESH-CORE and SYM-CORE πŸ’œ during the initial setup, roughly 40% of TE LSPs on MESH-CORE and 70% on SYM-CORE end up with a higher path cost under PD (PD-Setup) than under PCE (PCE-Setup) 😭 this happens because of how BRPC picks the inter-domain shortest constrained paths that meet the constraints πŸ”₯ the per-domain approach works in stages, where every entry border router to a domain computes the path in that domain, so the most optimal (shortest constrained inter-domain) route doesn't always get found πŸ™ˆ when failures start, TE LSPs get re-routed over different paths, so their costs change from the initial ones πŸ¦‹ PD-Failure and PCE-Failure in Figures 2a and 3a show the distribution of the average path costs over the simulation, with failures happening 🫢 again, PD averages are way higher than PCE when link failures occur πŸ’€ Figures 2b and 3b show similar trends, this time with the maximum path cost for a TE LSP on each topology 🌈 with per-domain computation, the maximum path costs are larger for 30% of TE LSPs on MESH-CORE and 100% on SYM-CORE πŸ‘‘

5.2. Crankback/Setup Delay ⏳

crankbacks in the per-domain approach make TE LSP setup time jump way up 😭 that could mean Quality-of-Service (QoS) requirements don't get met, especially during failures, when re-routing has to be quick to keep traffic disruption low (for example, when there's no local repair mechanism like the one defined in [RFC4090]) πŸ’– since crankbacks don't happen during path computation with a PCE, setup delays drop a lot 🧚 Figures 2c and 3c show how many crankbacks happened during setup for each TE LSP on MESH-CORE and SYM-CORE πŸ¦‹ all the crankbacks happened while failures were going on 🌸 Figures 2d and 3d show the "proportional" setup delays TE LSPs got from crankbacks on both topologies ✨ for a big chunk of TE LSPs, those crankback delays are HUGE, which could seriously hurt QoS πŸ’€ the big delays come from crankback signaling bouncing back and forth between a domain's exit border router and its entry border router πŸ”₯ SYM-CORE gets more crankbacks than MESH-CORE because it's a very "restricted" and "constrained" network connectivity-wise πŸ™ˆ that means not many routes exist, so it often takes several rounds of crankback signaling to find a constrained path 🫢

5.3. Signaling Failures 🚨

like we talked about before, signaling failures happen either because the TED is outdated or because no path can be found from the chosen entry border router πŸ’… Figures 2e and 3e show how many total signaling failures TE LSPs hit during setup πŸŽ€ about 38% of TE LSPs on MESH-CORE and 55% on SYM-CORE run into a signaling failure with per-domain computation when link failures are happening 😭 with PCE, only about 3% of TE LSPs get signaling failures 🧚 and the PCE failures are only due to the TEDs being out of date πŸ’œ

Figures 2f and 3f show how many TE LSPs, and how much bandwidth they need, fail to find a route while link failures happen 🌈 on MESH-CORE with per-domain, 395 TE LSPs failed to find a path, which is 1612 Mbps of bandwidth πŸ’€ with PCE, that drops to 374 TE LSPs, or 1546 Mbps 🫢 on SYM-CORE with per-domain, 434 TE LSPs fail to find a route, which is 1893 Mbps 😭 with PCE, only 192 TE LSPs fail, or 895 Mbps πŸ”₯ so yeah, PCE lets more TE LSPs find a route, which means better performance during link failures πŸ‘‘

5.5. TE LSP/Bandwidth Setup Capacity 🌸

PCE and per-domain computation differ in how path computation happens, so more bandwidth can be set up with PCE πŸ’– that's mostly down to how BRPC works 🧚 to see how much extra bandwidth fits in the network, they scaled up the traffic matrix and stopped scaling when the first TE LSP failed to set up with PCE ✨ like every other metric here, this one depends on the topology, which is why they picked two topologies πŸ¦‹ it shows PCE fits more bandwidth in the network πŸŽ€ on MESH-CORE, 1556 Mbps more could be set up with PCE πŸ”₯ on SYM-CORE, it's 986 Mbps πŸ’… the SYM-CORE number is smaller because of its restricted nature and limited capacity πŸ™ˆ

6. Security Considerations πŸ”

okay, this part is short and sweet πŸ’– this document does not raise any security issues 🫢

7. Acknowledgment πŸ™

the authors want to give a shoutout to Dimitri Papadimitriou for his helpful comments that clarified the text πŸ’œβœ¨

8. Informative References ✨

okay bestie, here's the reading list πŸ“š every single one of these is a source the doc leans on, so i kept the full details so you can go find them yourself πŸ”

[DEF-DES] J. Guichard, F. Le Faucheur, and J.-P. Vasseur, "Definitive MPLS Network Designs", Cisco Press, 2005. πŸ’œ

[RFC5152] Vasseur, JP., Ed., Ayyangar, A., Ed., and R. Zhang, "A Per-Domain Path Computation Method for Establishing Inter-Domain Traffic Engineering (TE) Label Switched Paths (LSPs)", RFC 5152, February 2008. πŸ¦‹

[RFC5441] Vasseur, JP., Zhang, R., Bitar, N., and JL. Le Roux, "A Backward Recursive PCE-Based Computation (BRPC) Procedure to Compute Shortest Constrained Inter-Domain Traffic Engineering Label Switched Paths", RFC 5441, April 2009. 🌸

[RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering (TE) Extensions to OSPF Version 2", RFC 3630, September 2003. πŸŽ€

[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, October 2008. 🧚

[RFC4090] Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, May 2005. ⭐

[RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, August 2006. πŸ“

[RFC4920] Farrel, A., Ed., Satyanarayana, A., Iwata, A., Fujita, N., and G. Ash, "Crankback Signaling Extensions for MPLS and GMPLS RSVP-TE", RFC 4920, July 2007. πŸ”₯

[ROCKETFUEL] N. Spring, R. Mahajan, and D. Wehterall, "Measuring ISP Topologies with Rocketfuel", Proceedings of ACM SIGCOMM, 2002. 🌈


Authors' Addresses πŸ’Œ

Sukrit Dasgupta Drexel University Dept of ECE, 3141 Chestnut Street Philadelphia, PA 19104 USA

Phone: 215-895-1862 EMail: sukrit@ece.drexel.edu URI: www.pages.drexel.edu/~sd88

Jaudelice C. de Oliveira Drexel University Dept. of ECE, 3141 Chestnut Street Philadelphia, PA 19104 USA

Phone: 215-895-2248 EMail: jau@ece.drexel.edu URI: www.ece.drexel.edu/faculty/deoliveira

JP Vasseur Cisco Systems 1414 Massachussetts Avenue Boxborough, MA 01719 USA

EMail: jpv@cisco.com

and that's the whole doc, bestie!! πŸ’– the authors did the hard maths and we get to read it with main character energy πŸ’…βœ¨

πŸ“¦ where this page comes from