metarouting and network optimization
DESCRIPTION
[email protected]. Metarouting and Network Optimization. (work in progress). [email protected]. CISS 2006. The Current Situation. IP Connectivity is implemented with dynamic routing protocols These protocols are few in number - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/1.jpg)
Metarouting and Network Optimization
CISS 2006
(work in progress)
![Page 2: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/5.jpg)
Big Picture
Path Algebras
Generalized Routing Algebras
Routing Algebras
![Page 6: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/7.jpg)
Weighted Graph, solution
}|)({min),( svPwsv P
):,,( EwEVG
ssw )(),(),(),,( vwvuvuw
sPPw )()(
![Page 8: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/13.jpg)
Direct Product ),,(),,(),,( BABABABBBAAA LLSSLSLS
)()(),(),( 21212211 BA
),( ),( BBAA ),( BA
![Page 14: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/14.jpg)
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
![Page 15: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/15.jpg)
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
![Page 16: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/16.jpg)
Lexicographic Product
),,(),,(),,( BABAAABBBAAA LLSSLSLS
))()(()(),(),( 2121212211 BAA
![Page 17: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/17.jpg)
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
![Page 18: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/19.jpg)
Disjoint Union
),,(),,(),,( BABABBAA LLSLSLS
AA )( Aleft
)( Bright BB
![Page 20: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/20.jpg)
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
![Page 21: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/22.jpg)
Scoped ProductBA
GPIBEBGPBGP
![Page 23: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/23.jpg)
Scoped Product : Monotonicity Preservation
BAA BSM
SM
M
SM
M
SM
![Page 24: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/24.jpg)
Dependent Lexicographic Product
iAniA :},,1,0{
),),,(( iiiii LA
)),,(),,(( A
)},{(},,1,0{
iiAni
))()(()(),(),( ijijiji
ji
jiiji i
0
),(),(),(
)},{(},,1,0{
iini
![Page 25: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/25.jpg)
An application…
iAniA :},,1,0{
This can be viewed as an instance of
![Page 26: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/html5/thumbnails/26.jpg)
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
![Page 27: Metarouting and Network Optimization](https://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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://reader035.vdocument.in/reader035/viewer/2022062517/5681329a550346895d9934fd/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?