Metarouting and Network Optimization
description
Transcript of Metarouting and Network Optimization
![Page 1: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/1.jpg)
Metarouting and Network Optimization
CISS 2006
(work in progress)
![Page 2: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/2.jpg)
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
![Page 3: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/3.jpg)
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
![Page 4: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/4.jpg)
Generalized Routing Algebras(Gurney & Griffin, ongoing work)
),,( LSA),( S ),( L
)()( 2121
is a semi-group action on
A semi-groupThis is a pre-order
![Page 5: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/5.jpg)
Big Picture
Path Algebras
Generalized Routing Algebras
Routing Algebras
![Page 6: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/6.jpg)
“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
![Page 7: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/7.jpg)
Weighted Graph, solution
}|)({min),( svPwsv P
):,,( EwEVG
ssw )(),(),(),,( vwvuvuw
sPPw )()(
![Page 8: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/8.jpg)
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
![Page 9: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/9.jpg)
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
![Page 10: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/10.jpg)
Some Important Properties
Monotonicity (M) :
Strict monotonicity (SM) : )0(
Isotonicity (I) :
Strict isotonicity (SI) :
![Page 11: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/11.jpg)
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
![Page 12: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/12.jpg)
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
![Page 13: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/13.jpg)
Direct Product ),,(),,(),,( BABABABBBAAA LLSSLSLS
)()(),(),( 21212211 BA
),( ),( BBAA ),( BA
![Page 14: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/14.jpg)
Direct Product ),,(),,(),,( BABABABBBAAA LLSSLSLS
BAA BMSMMSM
MMSMSM
MMMSM
BAA BISIISI
IISISI
IIISI
)()(),(),( 21212211 BA
![Page 15: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/15.jpg)
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
![Page 16: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/16.jpg)
Lexicographic Product
),,(),,(),,( BABAAABBBAAA LLSSLSLS
))()(()(),(),( 2121212211 BAA
![Page 17: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/17.jpg)
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
![Page 18: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/18.jpg)
Local Preference, Origin Preference)),,(),,(( AAAAAAA LSA
)),,(,()( lAA LSALP
l
)),},({,()( rA LSAOP
r
(Always M)
![Page 19: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/19.jpg)
Disjoint Union
),,(),,(),,( BABABBAA LLSLSLS
AA )( Aleft
)( Bright BB
![Page 20: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/20.jpg)
Disjoint Union : Property Preservation
BAA BMSMMSM
MMSMSM
MMMSM
BAA BISIISI
IISISI
IIISI
![Page 21: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/21.jpg)
Scoped Product
))(())(( BAOPBLPABA
),( ),( AA ),( A
),( B ),( BB Q : What is a good mathematical framework for the analysis of routing algebra metalanguages?
A : CATEGORY THEORY!
![Page 22: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/22.jpg)
Scoped ProductBA
GPIBEBGPBGP
![Page 23: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/23.jpg)
Scoped Product : Monotonicity Preservation
BAA BSMSM
MSM
MSM
![Page 24: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/24.jpg)
Dependent Lexicographic Product
iAniA :},,1,0{
),),,(( iiiii LA
)),,(),,(( A
)},{(},,1,0{
iiAni
))()(()(),(),( ijijiji
jijii
ji i
0),(
),(),(
)},{(},,1,0{
iini
![Page 25: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/25.jpg)
An application…
iAniA :},,1,0{
This can be viewed as an instance of
![Page 26: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/26.jpg)
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
![Page 27: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/27.jpg)
…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 ….
![Page 28: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/28.jpg)
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
![Page 29: Metarouting and Network Optimization](https://reader034.fdocuments.net/reader034/viewer/2022042704/56815d93550346895dcbaca8/html5/thumbnails/29.jpg)
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?