Metarouting and Network Optimization [email protected] .uk CISS 2006 [email protected] (work in progress)
Mar 22, 2016
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 BMSMMSM
MMSMSM
MMMSM
BAA BISIISI
IISISI
IIISI
)()(),(),( 21212211 BA
Distance x BandwidthLondon 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 BMSMM
M
SM
MSMSM
A BEQ,SIEQ,SI
I ISI
BA
nii AAAAA
121
A design pattern:
SIEQ 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 BMSMMSM
MMSMSM
MMMSM
BAA BISIISI
IISISI
IIISI
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 BSMSM
MSM
MSM
Dependent Lexicographic Product
iAniA :},,1,0{
),),,(( iiiii LA
)),,(),,(( A
)},{(},,1,0{
iiAni
))()(()(),(),( ijijiji
jijii
ji 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
BABA
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?