270 likes | 296 Views
This research presents an efficient network routing algorithm that minimizes updates by selectively propagating critical information, ensuring automated scope limitation, loop-free routing, and optimal destination reachability. Applying selective update rules and propagation strategies significantly reduces update frequency and ensures network stability. Simulation results demonstrate improved network performance in various scenarios and compatibility with existing protocols like OSPF.
E N D
XL: An Efficient NetworkRouting Algorithm • Kirill Levchenko • Geoffrey M. Voelker, Ramamohan Paturi, and Stefan Savage • University of California San Diego presented by Pierre-Élie Fauché 1
Routing • Getting from point A to point B • Need to know some state of the network • Today we do this by flooding 2
link changes here everyone gets update anyway does notneed toknow Flooding 3
Flooding • Number of updates per node grows with the number of links • Slowest link or node effectively limits sustainable size of an AS network • Is flooding inherent to routing? 4
Outline • Selective flooding • XL update propagation rules • Simulation results • Conclusion 5
Selective FloodingIdea A: Artificial Hierarchy • Manually restrict scope of updates • Example: OSPF areas • “Considered harmful” • Results in sub-optimal routing • Hard to adapt to growth 6
Reducing UpdatesIdea B: Bound Radius • Idea: limit update scope by distance • Drawback: not always correct • Distant links may be important • Greatly delays convergence 7
Goals • Automatically limit update scope • Formal correctness • Loop-free routing • All destinations reachable • Bounded stretch 8
Reducing UpdatesIdea XL: Selective Updates • Idea: Link state with selective update propagation • Need to know which updates are necessary and which can be suppressed 9
Propagation Rules • Always propagate a link cost increase. • Neighbor should know best cost to destination if it is the next hop. • Ensures distance estimate decreases along forwarding path • Path cost finite → no long-term loops 10
Propagation Rules • Propagate update if it significantly improves some route. • Guarantees all connected nodes are reachable and stretch is bounded • Bonus: stretch can be set per-destination or in response to network load • Under “normal” conditions set stretch to 1.0 (optimal) 11
Applying the Rules • Different link state tables (external views) for each neighbor • Internal view consists of most recent information from neighbors’ external views 12
Applying the Rules • Compute forwarding table using internal view 13
Applying the Rules • Propagate update to neighbor’s view if: • The link cost increases • Link cost decreased and neighbor is next hop to link • Cost decreased and new route much better 14
Examplestretch 1.5 Rule S1 (link increase must be propagated) {CD: 1 → ∞} 15
☺ Examplestretch 1.5 No rules apply: update suppressed Rule C1 (significant improvement) {CD: ∞ → 1} A-B-C-D: 3 (actual path) 16
Goals • Loop-free routing • All destinations reachable • Bounded stretch 17
Simulation Model • No traffic or propagation delays • Poisson failure model • 1 day mean time to failure • 1 hour mean time to recovery • Flapping failure model • 2 days mean time to failure • High probability of repeat failure 18
Simulation Networks • Crown64 — crown-like ring (192 nodes) • H. 16 × 16 — honeycomb grid (289 nodes) • Q. 16 × 16 — square grid (576 nodes) • Abilene — Abilene backbone (11 nodes) • AS 1221 — Telstra (104 nodes) • AS 1239 — Sprint (315 nodes) 19
Simulated Algorithms • Distance Vector (e.g. RIP) • Link State (e.g. OSPF) • Distance Vector with Parent Pointer • fixes “counting-to-infinity” by sending shortest-path tree in addition to distances • Link Vector • SPT-based like Distance Vector with Parent Pointer 20
Updates per DayPoisson failure model □ Relative to Link State Crown64 H. 16 × 16 Q. 16 × 16 Abilene AS 1221 AS 1239 21
Updates per DayFlapping failure model □ Relative to Link State 10x Crown64 H. 16 × 16 Q. 16 × 16 Abilene AS 1221 AS 1239 22
Transient Loop DurationPoisson failure model □ Relative to Link State Crown64 H. 16 × 16 Q. 16 × 16 Abilene AS 1221 AS 1239 23
Time to Find New PathPoisson failure model □ Relative to Link State Crown64 H. 16 × 16 Q. 16 × 16 Abilene AS 1221 AS 1239 24
Actual Stretch Poisson link failure model Average (over all pairs of nodes) Maximum (over all pairs of nodes) Crown64 H. 16 × 16 median 1.0 Q. 16 × 16 Abilene AS 1221 AS 1239 1.0 1.5 25
OSPF Compatibility • Observation: classic link state algorithm is a “special case” of the XL algorithm • OSPF satisfies the XL rules • XL could be mixed with OSPF for incremental deployment 26
Conclusion • Provable correctness • Bounded (user-specified) stretch • Up to 3-10x fewer updates • Compatible with the favorite link-state protocol — OSPF 27