Download
an adaptive policy management approach to bgp convergence n.
Skip this Video
Loading SlideShow in 5 Seconds..
An Adaptive Policy Management Approach to BGP Convergence PowerPoint Presentation
Download Presentation
An Adaptive Policy Management Approach to BGP Convergence

An Adaptive Policy Management Approach to BGP Convergence

219 Views Download Presentation
Download Presentation

An Adaptive Policy Management Approach to BGP Convergence

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. An Adaptive Policy Management Approach to BGP Convergence by Selma Yilmaz PhD Examining Committee: Prof. Ibrahim Matta, First Reader (Major Advisor) Prof. John Byers, Second Reader Prof. Assaf Kfoury, Third Reader Prof. Azer Bestavros, Committee Chair Prof. Richard West

  2. Border Gateway Protocol (BGP) • Is the de facto inter-domain routing protocol of today’s global Internet • Is a policy-based routing protocol • allows ASes to share reachability information according to policies Export policy Always share routes with AS1 Import policy Accept routes from AS2 for destination A

  3. AS1 AS2 AS4 AS3 AS5 Border Gateway Protocol (BGP) • BGP does not necessarily solve shortest path routing problem • Best path is the path with the highest local preference value • assigned by locally defined policies May assign higher preference value to path (AS3 AS2 AS1) than path (AS4 AS1)

  4. BGP Decision Process Apply Import Policies Send BGP UPDATEs to peers BGP UPDATEs from peers Apply Export Policies accept, reject, set local preferences forward, not forward select best path Open-ended programming Update IP Forwarding Table (FIB) BGP Routing Process • Allows to select the routes based on any desired criteria • Makes it easier to realize commercial relationships between ASes • Ex: Forward data only for paying customers • Filter out the paths passing through AS x

  5. Problems with Policy-based Routing • Collection of locally well-configured policies may cause global conflicts: • It may not be possible to satisfy conflicting policies simultaneously • Causes BGP to diverge • ASes exchange routing messages indefinitely • First shown by Varadhan et al. [USC Technical Report 1996] • Statically checking for BGP convergence property is an NP-complete problem [Griffin et al. Sigcomm 1999] • Many solutions proposed to detect and prevent policy conflicts

  6. Why is this problem important? BGP is widely deployed in today’s Internet • Persistent oscillations leads to • repeated advertising and withdrawing of routes • higher processing load • re-running BGP decision process to select the best path • updating routing and forwarding tables • endangered scalability • routers may experience severe CPU load, and memory problems • makes traffic engineering through an AS very difficult • Convergence of BGP must be guaranteed independent of locally selected policies

  7. Thesis Contributions • A generalized control theoretical framework for BGP convergence is developed • The framework is instantiated for recently proposed algorithms • Deficiencies of previous solutions are exposed • A new dynamic algorithm called “Adaptive Policy Management Scheme (APMS)” is proposed • Correctness and convergence analysis of the algorithm is presented • APMS implemented in the SSF network simulator, and its performance is compared against other solutions

  8. Abstract Model of BGP [Griffin Infocom 2000] Stable Paths Problem (SPP) represents the static semantics of BGP Simple Path Vector Protocol (SPVP) represents the dynamic semantics of BGP is a distributed algorithm solving SPP An SPP is called safe if SPVP always converges

  9. Stable Paths Problem (SPP) • Network is represented as a simple, undirected graph • Nodes represent BGP routers, edges represent BGP sessions • Node 0 represents destination • For each node v, there is a set of permitted paths, Pv • For each node v, there is a ranking function, λv • Empty path, ε, is a permitted path at each node, and has the lowest rank • Paths are simple, i.e. no repeated nodes Example of an SPP instance: 210 20 2 420 430 4 0 Most preferred 130 10 30 Least preferred 1 3

  10. 210 20 2 420 430 4 0 130 10 Safe 30 1 3 A Solution to a Stable Paths Problem (SPP) A solution is an assignment of permitted paths to each node such that • node u’s assigned path is either of the following • ε • max (λu((u w)Pw)) among the advertised path Pw by w є peers(u) An SPP instance may have • multiple solutions • SPVPmay diverge • no solution • SPVPdiverges • a unique solution • does not mean that SPVP converges to that solution • solvability does not imply safety What is the sufficient condition that will guarantee safety of an SPP specification?

  11. u1 Rk R1 uk u2 Q1 Qk Q2 d Qi+1 Qi ui+1 Ri ui Dispute Wheel [GW ICNP 99] spokes A wheel of size k For each 1 ≤ i ≤ k: Ri is a path from ui to ui+1 (u1=uk+1) Qi is a permitted path ui RiQi+1 is a permitted path at ui (Q1=Qk+1) Qi is less (or equally) preferred than RiQi+1 at node ui Properties of dispute wheels assuming S is an SPP instance: If S has no DW, then S is safe and robust Lack of DW implies a solution Presence of DW does not imply divergence Divergence due to lack of solution implies DW Divergence due to multiple solutions implies DW Route preferences of these nodes cause dispute wheel

  12. 130 10 210 20 1 2 0 0 1 2 3 4 120 10 210 20 3420 30 420 430 4310 453120 43120 120 10 1 4 0 4 3 2 210 20 6 5 5310 563120 53120 6310 643120 63120 5 6 Examples of Stable Paths Problem No Solution Multiple Solutions 1 1 0 0 2 3 2 Solutions: (10)(210) and (20)(210) 4 Unique Solution, May Not Converge Safe, Not Robust 1 130 10 210 20 1 1 2 0 4 If the link (40) fails, new SPP has “no solution” 310 3120 2 0 2 40 420 430 312 3 4 0 3420 30 312 312 Stabilizes on (130)(30)(20)(40)

  13. Control Mechanism Best Path Network Feedback Monitor Update Messages Router u Generalized Control Theoretical Framework Feedback Monitor: Update AdjRibIn Check path for AS loops (path vector property) Apply import policies to decide permitted paths Control Mechanism: Apply import policies to assign Local Preferences Choose best path Check for an indication of divergence If YES, change best path Update locRIB, and export to peers

  14. Details of Control Theoretical Framework Control Best Path Selection Change Ranking Function Restrict Usage of Some Paths Re-Compute best path Update localRIB and export best(u) Node u Control Mechanism yes no Check for an Indication of Divergence Compute best path, best(u) Apply import policies to assign Local Preferences Apply import policies to see if the path P is permitted at node u Feedback Monitor Update AdjRibIn(w) Check the path P for loops: If P contains “u” UPDATE message from peer w with path P

  15. Related Work and Instantiations in the Control Theoretical Framework

  16. Gao&Rexford Algorithm [Infocom01] Provides guidelinesthat guarantees safety of BGP • Use hierarchical structure of the Internet and commercial relationships between ASes to specify local policies • Provider-to-customer graph should be acyclic • Paths are classified as provider/customer/peer according to next-hop AS • Each AS must prefer customer paths more than provider/peer paths • Route Registry database keeps relationships and verify that guidelines are followed Disadvantages • Static solution • Requires Route Registry • Disallows many paths

  17. 130 10 1 0 210 20 320 30 2 3 1 0 2 3 Gao&Rexford Algorithm [Infocom01] Ex: Assume following provider-to-customer graph: Cycle involving 1,2,3 will be detected by Route Registry and ASes will be advised to use their shortest AS paths: (10),(20),(30)

  18. Griffin&Wilfong Algorithm [Infocom00] • Proposes carrying dynamically computed history of path change events with Update messages, history • Path change event is computed as follows: If node u changes its current path from Pold to Pnew • Pnew is more preferred than Pold, e=(+, Pnew) • Pold is more preferred than Pnew, e=(-, Pold) • History explains the exact sequence of events leading to the adoption of the current path • Cycles in the history corresponds exactly to dispute wheels • The path whose adoption creates a cycle is suppressed • Disadvantages • History may get very long, may reveal preferences • Cycle in the history is necessary but not sufficient condition • Cannot distinguish temporary and persistent oscillations

  19. Griffin&Wilfong with Control Theoretical Framework Control Best Path Selection add bestB(u) to bad paths set, B(u) Check for an Indication of Divergence Compute path change event, p p=(+, bestB(u)) if λu(bestB(u))> λu(current best path) p=(-, current best path) if λu(bestB(u))< λu(current best path) Check updated history for loops Update localRIB and export bestB(u) Re-compute best path, bestB(u), excluding the paths in bad path set Update history yes Node u Control Mechanism no Compute best path, bestB(u), excluding the paths in bad path set Apply import policies to assign Local Preferences Apply import policies to see if the path is permitted at node u Feedback Monitor Update AdjRibIn(w) Check the path P for loops: If the AS path contains “u” UPDATE message from peer w with path P and history h

  20. Griffin&Wilfong Periodic Reset Update localRIB and export bestB(u) Compute Path Change Event, p p=(+, bestB(u)) if λu(bestB(u))> λu(current best path) p=(-, current best path) if λu(bestB(u))< λu(current best path) Set history of bestB(u) to p Control Mechanism Node u Compute best path, bestB(u), excluding the paths in bad path set Apply import policies to assign Local Preferences Update each path stored in AdjRibIn by resetting history Feedback Monitor Purge bad paths set, B(u) Periodic Reset

  21. 130 10 1 0 210 20 320 30 2 3 1 0 2 3 Griffin&Wilfong [Infocom00] May Griffin&Wilfong lead to simultaneous path eliminations? step node best path path assignment 0 1 (10) (+10) 2 (20) (+20) 3 (30) (+30) 1 1 (130) (+130)(+30) 2 (210) (+210)(+10) 3 (320) (+320)(+20) 2 1 (10) (-130)(+320)(+20) 2 (20) (-210)(+130)(+30) 3 (30) (-320)(+210)(+10) 3 1 (130) (+130)(-320)(+210)(+10) 2 (210) (+210)(-130)(+320)(+20) 3 (320) (+320)(-210)(+130)(+30) 4 1 (10) (-130)(+320)(-210)(+130)(+30) 2 (20) (-210)(+130)(-320)(+210)(+10) 3 (30) (-320) (+210)(-130)(+320)(+20) 5 1 epsilon 2 epsilon 3 epsilon Stabilizes to unreachable destination for all nodes

  22. Cobb&Musunuri [Globecomm04] • Assigns integer costs to the nodes • Monotonically increases the cost whenever the new path of a node has lower rank then its previous path • If there is divergence, costs grow • Costs are included in Update messages • Whenever a node has option to improve its current path by choosing a better alternative path P • Checks first if the cost of the next-hop node along P is lower than a threshold • Otherwise, keeps the current path • Disadvantages • Aggregates paths through the same node • May lead to simultaneous path rejections • Lowering costs are hard • Lowering costs are suggested to be done periodically without taking any precaution to prevent re-introducing the resolved conflicts

  23. Cobb&Musunuri with Control Theoretical Framework Restrict Usage of Some Paths if (current path is not epsilon) and (cost(next(best(u))) ≥ threshold) do not adopt best(u) Check for an Indication of Divergence (λu(best(u)) > λu(current path)) and (cost(next(best(u))) ≥ threshold and current path is not epsilon) Update localRIB and export best(u) along with cost of u Update Cost of Node u if ((λu(current path)> λu(best(u)) if nextHop(current path)!=nextHop(best(u)) cost(u)=cost(u)+1 if nextHop(current path)==nextHop(best(u)) cost(u)=cost(nextHop(current path(u)) else cost(u)=cost(nextHop(current path(u)) Node u Control Mechanism yes no Compute best path, best(u) Apply import policies to assign Local Preferences Apply import policies to see if the path is permitted at node u Feedback Monitor Update AdjRibIn(w) Check the path P for loops: If the AS path contains “u” UPDATE message from peer w with path P and cost c

  24. Cobb&Musunuri Periodic Reset Update localRIB and export best(u) along with cost of u Update Cost of Node u if ((λu(current path)> λu(best(u)) if nextHop(current path)!=nextHop(best(u)) cost(u)=cost(u)+1 if nextHop(current path)==nextHop(best(u)) cost(u)=cost(nextHop(current path(u)) else cost(u)=cost(nextHop(current path(u)) Node u Control Mechanism Compute best path, best(u) Apply import policies to assign Local Preferences Feedback Monitor cost(u)=0 A command received to reset the cost of node u to 0

  25. 130 10 1 0 210 20 320 30 2 3 1 0 2 3 Cobb&Musunuri [Globecomm04] May lead to unnecessary path eliminations? • step node count best path • 0 1 0 (10) • 2 0 (20) • 3 0 (30) • 1 1 0 (130) • 2 0 (210) • 3 0 (320) • 2 1 1 (10) • 2 1 (20) • 3 1 (30) • 3 1 1 (130) • 2 1 (210) • 3 1 (320) • 4 1 2 (10) • 2 2 (20) • 3 2 (30) • 1 won’t use (130) since count(3) ≥ 2 • 2 won’t use (210) since count(2) ≥ 2 • 3 won’t use (130) since count(3) ≥ 2 Assume threshold=2 All nodes stabilize to their lowest preferred paths

  26. Motivation for APMS • Detect persistent oscillations dynamically • For better scalability • Detect paths involved in a policy conflict using only local info • Resolve conflicts locally • Each node involved in a conflict observes route flaps • Constantly adopting a path and later abandoning it • Not every advertisement received is changing • Safe path • There must be more preferred path(s) than the safe path • Make the safe path highest ranked path to stop oscillation • Each node needs to keep local history to detect the flapping paths • Count is associated with the paths in the local history • increased with every flap of the path • Distributed algorithm • There may be synchronous detection and path rank change • Perform rank change probabilistically

  27. Adaptive Policy Management Scheme • max_threshold • Due to probabilistic adjustment of path preferences, the conflict may remain unresolved • If count> max_threshold, suppress the path. • min_threshold • To distinguish between temporary and persistent oscillations • Each node independently classifies the state of the network by comparing count values against max_threshold and min_threshold count max_threshold min_threshold time Policy conflict control phase Policy conflict free phase Policy conflict avoidance phase

  28. Adaptive Policy Management Scheme State of the system: • Path ordering at each node • (Path, Count) pairs in localHistory • Count value denotes how many times a path is adopted and later abandoned • Bad path set keeps suppressed paths • peerStability value associated with each peer • How many times the path advertised by a peer has changed • The peers with peerStability=1 are stable peers • The paths advertised by stable peers are safe • keepAliveCount associated with each peer • Used as an indication of stability • If keepAliveCount ≥ ka_threshold for each peer • Node concludes that the system is stabilized • Probabilistically restore local preference values

  29. APMS Feedback Monitor (When an Update is Received) CONTROL MECHANISM Apply import policies to see if the path is permitted at node u Node u Update AdjRibIn(w) Check the path for loops: If the AS path contains “u” peerStability(w)++ keepAliveCount=0 UPDATE message from peer w

  30. Control Best Path Selection: Policy Conflict Avoidance Phase Change ranking with probability ½ rank(Psafe)=1 where Psafe is the most preferred safe path bestB(u)=Psafe reset some states: count(P) for each P in localHistory peerStability(w) for each peer w Control Best Path Selection: Policy Conflict Control Phase Restrict usage of the path badPaths(u)= badPaths(u) U bestB(u) re-compute best path, bestB(u) reset some states: count(P) for each P in localHistory peerStability(w) for each peer w APMS Control Mechanism (When an Update is Received) Update localRIB and export bestB(u) yes no count(bestB(u))>min_threshold Node u yes no count(bestB(u))>max_threshold If bestB(u) is different from the current best path, count(bestB(u))++ Compute best path, bestB(u), excluding the paths in bad path set Apply import policies to assign Local Preferences

  31. APMS Path Rank Restoration • When the system stabilizes, there may be some path rank changes that are not contributing to the current state of stability • Policies are placed for a purpose such as traffic engineering, cost, security • Must keep them untouched unless they are conflicting • Must adapt to every state of the network • conflict free as well as potentially conflicting • When the system stabilizes, peers exchange only keepAlive messages • Nodes may use this as an indication of convergence • Probe the state for improvement, i.e. restoration, in their current policies • Probabilistically restore local preference values • May introduce instability back to system • Use smaller probability, 1/4

  32. APMS Path Rank Restoration (When a KeepAlive is Received) Update localRIB and export bestB(u) Compute best path, bestB(u), excluding the paths in bad path set for each peer v of node u for path P in AdjRibIn(v) with probability 1/4 if P was suppressed, remove it from bad paths set if P’s preference has been changed, reset its original local preference reset some states: count(P) for path P in localHistory peerStability(v) keepAliveCount(v) Control Mechanism Node u yes Stability Check keepAliveCount(v) ≥ ka_threshold for each peer v of u Feedback Monitor keepAliveCount(w)++ KeepAlive message from peer w

  33. Handling Transient Oscillations due to Topology Changes If there is a topology change such as link/node failure/recovery • Resulting flaps may interfere with diagnosing conflicts • May lead to false positives • The system before and after the change have different policy dynamics • New state may be conflict free, local states must be reset • Suggest that the node next to the topology change includes extra-information in the resulting Update message • topologyChange helps to • reset local state • temporarily turn policy conflict detection process off • originator is a list of nodes who adapted to the new topology • helps to turn policy conflict detection process on

  34. Convergence Analysis of APMS • Different path orderings at the nodes specify different states of the network and define different policies • Goal: Show that starting with an arbitrary state of the system, the APMS converges to a stable state within a finite number of steps. • Use substability property of chosen paths

  35. Definitions • Conflict free node is a node whose policies are not conflicting with any other node • Nonflapping (stable) path P=(v,..,destination) is the best path of a conflict free node, which does not change over time • Safe path (u,v)P is a permitted path at node u, where v is a peer of u, and v is a conflict free node and advertising nonflapping path P • Conflicting safe alternative node is involved ina policy conflict and has a safe path • Conflicting node is involved ina policy conflict, and does not have a safe path

  36. Convergence Analysis of APMS 2150 250 1350 150 1 2 50 5 0 3 4 4250 4350 34250 350 Example: Conflicting safe-alternative nodes can stabilize by holding onto their safe paths • realize through rank change Node 1 is a conflicting safe-alternative node with safe path (150) Node 2 is a conflicting safe-alternative node with safe path (250) Node 3 is a conflicting safe-alternative node with safe path (350) Node 4 is a conflicting node Node 5 is a conflict free node with stable path (50) If node 2 changes its path preference to prefer (250) more than (2150): node 2 becomes conflict free node path (250) becomes stable path path (4250) becomes safe path at node 4 …..

  37. Convergence Analysis of APMS may be involved in conflict Ci+1 may be involved in conflict Ck-1 u1 u2 0 ui+1 uk-1 uk ui-1 Path P= ui conflict free nodes involved in conflict Ci Ci is the innermost conflict along P Observable Safe Path Path P=(u,v,..,0) is an observable safe path at a conflicting safe alternative node u if none of the nodes along this path observes route flaps due to other conflicts. Innermost Conflict

  38. Convergence Analysis of APMS 4 7 1 4 0 0 0 7 6 9 3 5 8 2 3 conflicts with intervening safe paths 560 520 5 2370 20 120 140 1 2 Conflict I 4 4520 40 0 6 640 60 780 70 2 7 Conflict II Conflict III 3 3140 370 (60) is observable safe path at node 6 (370) is not an observable safe path Innermost conflict along (370) is Conflict II 8 9 970 90 890 80

  39. Convergence Analysis of APMS Theorem: During the execution of the APMS, the size of the set of nodes that are conflict free increases monotonically. Proof: S=set of conflict free nodes S forms a routing tree rooted at the destination, and grows as the nodes in S advertise their chosen paths. By induction show that S grows monotonically: Basis: At the beginning, S={}. Destination is added. Hypothesis: At step k of the execution, assume the size of S is n, and up to this point S grew monotonically. Induction Step: Show that at step (k+1), the size of S will be greater than n.

  40. Convergence Analysis of APMS S with n nodes already stabilized to their paths v advertises Pv to u pv 0 v 1 u 0 3 2 4210 4 Node 2 advertises (20) to node 4 130 10 210 20 S 1 2 0 2 3 4 0 1 320 30 3 At step (k+1): Case I: (u v)Pv is not permitted, then the size of S will stay the same. Ex:

  41. Convergence Analysis of APMS S with n nodes already stabilized to their paths v advertises Pv to u pv 0 v 1 u 0 3 2 420 4 Node 2 advertises (20) to node 4 130 10 210 20 S 1 2 0 2 3 4 0 1 320 30 3 At step (k+1): • Case II: u stabilizes on path (u v)Pvand then added to S • u is a conflict free node • its path to destination may have node(s) involved in conflict(s) Ex:

  42. Convergence Analysis of APMS S with n nodes already stabilized to their paths v advertises Pv to u pv 0 v 1 u 0 3 2 At step (k+1): • Case II: u stabilizes on path (u v)Pv, and then added to S • b) u is a conflicting node, and path (u v)Pv is node u’s • most preferred path Ex: 420 430 4 Node 2 advertises (20) to node 4 210 20 S 3420 30 2 3 0 2 4 1 0 3 4 130 10 1

  43. Convergence Analysis of APMS 1 5 0 0 6 3 2 4 Node 2 advertises (20) to node 4 S 0 2 3 4 1 S with n nodes already stabilized to their paths At step (k+1): v advertises Pv to u pv 0 v u • Case III: (u v)Pv is permitted at u, but u does not stabilize on this path • - (u v)Pv is a safe path at node u • - u must be conflicting safe alternative node • - u performs rank change and stabilizes on (u v)Pv • - for each conflict there are at least 2 safe alternative nodes, • this is the step where they are breaking the conflict 560 50 Ex: 5 6420 60 450 420 4 6 130 10 2 210 20 1 2 0 320 30 3

  44. Convergence Analysis of APMS • For cases II and III, size of S increases monotonically. What about case I? • If for each node u outside of S, the paths (u v)Pv advertised by peers v in S are not permitted, then node u converges to epsilon. • Then all the nodes outside of S will converge to epsilon at this point. • APMS returns with a stable routing tree. • After finite number of steps, all nodes will be in S and APMS converges.

  45. Advantages of APMS over Related Work 1) Gao&Rexford Algorithm [Infocom01] 2) Griffin&Wilfong Algorithm [Infocom00] 3) Cobb&Musunuri Algorithm [Globecomm04]

  46. APMS • Dynamic solution • Distributed computation • Allows ASes to adopt to the current state: conflict free or potentially conflicting • Path elimination is not the primary means of removing conflicts • Paths are eliminated only during the policy conflict control phase • Helps to limit the number of paths eliminated • For the stabilized system, there will be as many paths as possible • better connectivity • more flexibility in path selection • Both stability and limiting the number of path eliminations are concerns of algorithm Gao&Rexford • Static solution • Requires a global database to keep relationships between ASes • Global authority checks periodically for conformance with guidelines • Eliminates lots of paths from the beginning • too restrictive • Path elimination is the only means of resolving conflicts • Stability of the system is the only goal

  47. APMS • Dynamic solution • No communication overhead unless there is a topology change • No privacy concerns • There may be false positives due to local solution • Paths are not eliminated immediately • Eliminated paths may be reused after the system stabilizes • Goal is both stability and limiting the number of path eliminations • Changing policies is the primary means of resolving conflicts • Eliminated paths can be used later • Adapts to every state of the network • Topology change • Differentiate between persistent and transient oscillations due to topology change • More effective mechanism for this purpose • Helps to minimize false positives • If transient oscillation is not because of topology change cannot distinguish • Uses min_treshold for this purpose • bigger values lead to longer convergence • smaller values lead to more rank change • Simultaneous rank changes are minimized via probabilistic approach Griffin&Wilfong • Dynamic solution • “History” carried with each Update message • Potentially very long messages • High communication overhead • History may reveal preferences of other ASes • Cycle in the history is necessary but not sufficient condition for divergence • There may be false positives • Stability is the only goal • Path elimination is the only means of resolving conflicts • Eliminated paths cannot be used later under any condition • Cannot differentiate between persistent and transient oscillations • Suggests observing the same loop for a number of times in history • bigger values increase communication overhead even more • smaller values lead to false positives • Simultaneous path eliminations are possible even when single path elimination is sufficient

  48. APMS • Dynamic solution • Costs are associated with paths • Can exactly pinpoint the paths causing problems • Leads to less preference change and/or path suppression • Costs of the nodes involved in the same conflict grows in tandem • Due to probabilistic approach, nodes do not react simultaneously • Leads to less preference change and/or path suppression • Path elimination is the not the primary means of solving conflicts • Easily adapt to the dynamics of the system: conflict free or potentially conflicting • Potentially larger local state at each node Cobb&Musunuri • Dynamic solution • Costs are associated with nodes, not paths • Aggregates paths through the same node • One flapping path may cause all the alternatives to be rejected • Costs of the nodes involved in the same conflict grows in tandem • Simultaneous path eliminations • Solves conflicts through path elimination • Hard to adapt to the dynamics of the system after conflicts disappear • Suggests resetting costs via diffusing computations periodically • Has to keep min-hop spanning tree for each destination • Cannot be done very often, expensive • Blindly resetting the costs introduces the resolved conflicts back to the system • Weekly or monthly resets are suggested hoping that conflicts resolved by themselves in the meantime! • Local state at each node • node count per destination • (id of the parent on the min-hop spanning tree, hop count to the destination) per dest

  49. Simulation Results

  50. Performance Metrics • Average percentage of paths that are eliminated per node among the permitted paths to provide stability • Smaller values indicate better performance • Eliminating permitted paths may • strain reachability • force router to use less preferred path • Average percentage of the paths whose rank has been changed per node • Smaller values indicate better performance • higher number of rank changes mess with the policies placed for specific purposes • Average of the percentage of the preference loss per node • Preference loss of a path is the difference between its original local preference value and its current local preference value • If a path is in bad path set, its preference loss is its original preference value • Helps quantify the total effect of both path elimination and rank change • Smaller values indicate better performance