Metarouting and Network Optimization
-
Upload
stacy-crane -
Category
Documents
-
view
20 -
download
0
description
Transcript of Metarouting and Network Optimization
Metarouting and Network Optimization
CISS 2006
(work in progress)
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)
)0,,,( A
)1,0,,,( A
)0,,,,( A
2002: Algebra and Algorithms for QoS Path Computation and Hop-by-HopRouting in the Internet.
2003: Network Routing and Path VectorProtocols: Theory and Applications.
Routing Algebras
1970s 1980s: Path Algebra = Idempotent semiring. Carre’, Gondran & Minoux
Generalized Routing Algebras(Gurney & Griffin, ongoing work)
),,( LSA
),( S ),( L
)()( 2121
is a semi-group action on
A semi-groupThis is a pre-order
Big Picture
Path Algebras
Generalized Routing Algebras
Routing Algebras
“Best” Routes
}:|{)(min SSSSFor finite, non-empty
}{)min( S
jinS #},,,{)min( 21
jinS },,,{)min( 21
#::,)min( 21 jiin SSSSSSS
Total order
Partial order
Total pre-order
Pre-order
Weighted Graph, solution
}|)({min),( svPwsv P
):,,( EwEVG
ssw )(),(),(),,( vwvuvuw
sPPw )()(
Generalized Dijkstra
for all v in V: d[v] d[s] Q Vwhile 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];
s0
Generalized Bellman-Fordfor all v in V: d[v] d[s] Q Vfor 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 detectionfor (u, v) in E if d[v] > (w(u, v) d[u]) then: return false -- Found “neg-weight” cyclereturn true -- No “neg-weight” cycle
s0
Some Important Properties
Monotonicity (M) :
Strict monotonicity (SM) : )0(
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 ),,(),,(),,( BABABABBBAAA LLSSLSLS
)()(),(),( 21212211 BA
),( ),( BBAA ),( BA
Direct Product ),,(),,(),,( BABABABBBAAA LLSSLSLS
BAA BM
SM
M
SM
M
M
SM
SM
M
M
M
SM
BAA BI
SI
I
SI
I
I
SI
SI
I
I
I
SI
)()(),(),( 21212211 BA
Distance x Bandwidth
London Moscow Prague
RomeParis
(250, 90)
(311, 70)(100, 30)
(200, 30)(10, 80)
P = Rome Prague Moscow = (300, 30)
Q = Rome Paris London Moscow = (571, 70)
min {w(P), w(Q)} = {(300, 30), (571, 70)}
{(300, 30), (571, 70)} = (300, 70)glbThe corresponding path algebra gives
Lexicographic Product
),,(),,(),,( BABAAABBBAAA LLSSLSLS
))()(()(),(),( 2121212211 BAA
Property Preservation with Lex Product
BA
A BM
SM
M
M
SM
M
SM
SM
A BEQ,SI
EQ,SI
I I
SI
BA
nii AAAAA
121
A design pattern:
SI
EQ EQEQ
All at least M SM Don’t care!
SM
)( EQ
Local Preference, Origin Preference
)),,(),,(( AAAAAAA LSA
)),,(,()( lAA LSALP
l
)),},({,()( rA LSAOP
r
(Always M)
Disjoint Union
),,(),,(),,( BABABBAA LLSLSLS
AA )( Aleft
)( Bright BB
Disjoint Union : Property Preservation
BAA BM
SM
M
SM
M
M
SM
SM
M
M
M
SM
BAA BI
SI
I
SI
I
I
SI
SI
I
I
I
SI
Scoped Product
))(())(( BAOPBLPABA
),( ),( AA ),( A
),( B ),( BB Q : What is a good mathematical framework for the analysis of routing algebra metalanguages?
A : CATEGORY THEORY!
Scoped ProductBA
GPIBEBGPBGP
Scoped Product : Monotonicity Preservation
BAA BSM
SM
M
SM
M
SM
Dependent Lexicographic Product
iAniA :},,1,0{
),),,(( iiiii LA
)),,(),,(( A
)},{(},,1,0{
iiAni
))()(()(),(),( ijijiji
ji
jiiji i
0
),(),(),(
)},{(},,1,0{
iini
An application…
iAniA :},,1,0{
This can be viewed as an instance of
Operations at the Protocol Level
),(1 MBAP ),(),(),(2 BABA MMBAMBMAP
A
A
B
B
A
B
A
BBA
BA
BA
BA
BA
iAiAA :}1,0{10
…or ),(),(),( BABA MMBAMBMA
A
A
A
A
A
B
B
B
Adjacencies of Bsupported by connectivityof provided by A
Think of A = OSPF andB = IBGP ….
OSPF Revisited
),(),( DijkstraIntraAreabellmanAreas
Something like
iAi :}2,1,0{
where
SPA 0(...)1 OPA
(...)2 OPA
(shortest paths)
Something like
)))2(((})1,0(max{ Seqflat
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?