290 likes | 371 Views
timothy.griffin@cl.cam.ac.uk. Metarouting and Network Optimization. (work in progress). alex.gurney@cl.cam.ac.uk. CISS 2006. The Current Situation. IP Connectivity is implemented with dynamic routing protocols These protocols are few in number
E N D
timothy.griffin@cl.cam.ac.uk Metarouting and Network Optimization (work in progress) alex.gurney@cl.cam.ac.uk CISS 2006
The Current Situation • IP Connectivity is implemented with dynamic routing protocols • These protocols are few in number • Existing protocols tend to get in the way of network optimization, network analysis
Routing Algebras(Sobrinho) 1970s 1980s: Path Algebra = Idempotent semiring. Carre’, Gondran & Minoux 2002: Algebra and Algorithms for QoS Path Computation and Hop-by-Hop Routing in the Internet. 2003: Network Routing and Path Vector Protocols: Theory and Applications. Routing Algebras
Generalized Routing Algebras(Gurney & Griffin, ongoing work) This is a pre-order A semi-group is a semi-group action on S
Big Picture Routing Algebras Path Algebras Generalized Routing Algebras
“Best” Routes For finite, non-empty Total order Partial order Total pre-order Pre-order
Generalized Dijkstra for all v in V: d[v] d[s] Q V while Q not empty: choose u in Q with d[u] in min{d[v] | v in Q}; Q Q - {u}; for all v in V with (u, v) in E: if d[v] > (w(u, v) d[u]) then: d[v] w(u, v) d[u];
Generalized Bellman-Ford for all v in V: d[v] d[s] Q V for i in {1, 2, ..., |V| - 1} for all (u, v) in E if d[v] > (w(u, v) d[u]]) then d[v] w(u, v) d[u] -- Negative weight cycle detection for (u, v) in E if d[v] > (w(u, v) d[u]) then: return false -- Found “neg-weight” cycle return true -- No “neg-weight” cycle
Some Important Properties Monotonicity (M) : Strict monotonicity (SM) : Isotonicity (I) : Strict isotonicity (SI) :
What makes these algorithms work (for bounded path algebras)? • Dijkstra • Correctness proof uses monotonicity and isotonicity, • Loop-freedom for hop-by-hop forwarding uses strict monontonicity. • Bellman-Ford • Correctness proof uses monotonicity, • Loop-freedom for hop-by-hop forwarding uses strict monotonicity
Metarouting(Griffin & Sobrinho 2005) • A meta-language for Routing Algebras • Base algebras • Constructors • Property Preservation Rules • Properties of base algebras known, • Preservation rules for each constructor • Can be implemented, standardized
Direct Product M M M I I I SM M M SI I I M SM M I SI I SM SM SM SI SI SI
The corresponding path algebra gives {(300, 30), (571, 70)} = (300, 70) Distance x Bandwidth Prague London Moscow (100, 30) (311, 70) (10, 80) (200, 30) Paris Rome (250, 90) P = Rome Prague Moscow = (300, 30) Q = Rome Paris London Moscow = (571, 70) min {w(P), w(Q)} = {(300, 30), (571, 70)}
Property Preservation with Lex Product M M M EQ,SI I I SM SM EQ,SI SI SI M SM SM EQ EQ EQ A design pattern: SM All at least M SM Don’t care!
Local Preference, Origin Preference (Always M)
Disjoint Union : Property Preservation M M M I I I SM M M SI I I M SM M I SI I SM SM SM SI SI SI
Scoped Product Q : What is a good mathematical framework for the analysis of routing algebra metalanguages? A : CATEGORY THEORY!
Scoped Product : Monotonicity Preservation SM M M SM SM SM
An application… This can be viewed as an instance of
Operations at the Protocol Level B A B A A B A B
…or B A B Adjacencies of B supported by connectivity of provided by A A A B A Think of A = OSPF and B = IBGP …. A
OSPF Revisited Something like Something like where (shortest paths)
Challenge • If you could “roll your own” routing protocols, what would you do? • How does this kind of flexibility change the way you might think about network optimization?