Routing Algebras
What are routing algebras? • Created to study properties of routing protocols • Does the routing protocol converge? • Does the routing protocol compute optimal paths? • Separates the routing data & algorithm • Data à what routes are exchanged, how they are updated • Logic à how to compute paths (Dijkstra’s, Bellman Ford, …)
What are routing algebras? A = (R, F,⊕, 0, ∞) set of route edge route initial no routes transformers merging route route
Computing shortest paths 𝐞𝐟𝐠 ROUTING G, d : d 𝐠𝐩𝐬 each node v ∈ V 𝐞𝐩 dist v ← INT. MAX 0 𝐟𝐨𝐞 3 dist d ← INT. MIN 2 Q ← {d} 2 4 𝐱𝐢𝐣𝐦𝐟 Q ≠ ∅ 𝐞𝐩 u ← EXTRACT(Q) 1 𝐠𝐩𝐬 each node v ∈ N u 𝐞𝐩 3 1 dist v = min(dist v , dist u + weight u, v ) 𝐣𝐠 dist v changed 𝐞𝐩 7 Q ← Q ∪ v 𝐟𝐨𝐞 4 𝐟𝐨𝐞 𝐟𝐨𝐞 𝐟𝐨𝐞
Computing shortest paths 𝐞𝐟𝐠 ROUTING G, d : d 𝐠𝐩𝐬 each node v ∈ V 𝐞𝐩 dist v ← ∞ 0 𝐟𝐨𝐞 3 dist d ← 0 2 Q ← {d} 2 4 𝐱𝐢𝐣𝐦𝐟 Q ≠ ∅ 𝐞𝐩 u ← EXTRACT(Q) 1 𝐠𝐩𝐬 each node v ∈ N u 𝐞𝐩 3 1 dist v = dist v ⊕ f [,\ dist u 𝐣𝐠 dist v changed 𝐞𝐩 7 Q ← Q ∪ v 4 𝐟𝐨𝐞 𝐟𝐨𝐞 𝐟𝐨𝐞 𝐟𝐨𝐞
Shortest path algebra d R = natural numbers 0 f c x = x + weight(e) 3 2 x ⊕ y = min(x, y) 2 4 0 = 0 1 3 ∞ = ∞ 1 7 4 SP = (Nat, F _ , min, 0, ∞)
Other examples of algebras 𝑆 “Asynchronous Convergence of Policy Rich Distributed Bellman-Ford Routing Protocols”
Example: widest shortest paths R = (int, int) length width “Algebra and Algorithms for QoS Path Computation and Hop-by-Hop Routing in the Internet”
Properties of routing algebras 𝐭𝐟𝐦𝐟𝐝𝐮𝐣𝐰𝐣𝐮𝐳: a ⊕ b ∈ {a, b} we say a ≤ b ⇔ a ⊕ b = a 𝐧𝐩𝐨𝐩𝐮𝐩𝐨𝐣𝐝𝐣𝐮𝐳: a ≤ f a or 𝐭𝐮𝐬𝐣𝐝𝐮 𝐧𝐩𝐨𝐩𝐮𝐩𝐨𝐣𝐝𝐣𝐮𝐳 a < f a the cost of paths does not decrease or increases 𝐣𝐭𝐩𝐮𝐩𝐨𝐣𝐝𝐣𝐮𝐳: a ≤ b ⇒ f a ≤ f(b) relative cost of two paths will not rlip when extended
Results from routing algebras for path vector protocols: 1. always converge ⇔ the algebra is strictly monotone 2. always optimal ⇔ the algebra is strictly monotone & isotone
Convergence of protocols Protocol type SM I ⊕ assoc path vector link state with Dijkstra y s link state with LPVS “Metarouting, Timothy Griffin 2005”
Recommend
More recommend