Metarouting and Network Optimization

29
Metarouting and Network Optimization [email protected] .uk CISS 2006 [email protected] (work in progress)

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 Presentation

Transcript of Metarouting and Network Optimization

Page 1: Metarouting  and Network Optimization

Metarouting and Network Optimization

[email protected]

CISS 2006

[email protected]

(work in progress)

Page 2: Metarouting  and Network Optimization

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

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

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

Big Picture

Path Algebras

Generalized Routing Algebras

Routing Algebras

Page 6: Metarouting  and Network Optimization

“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

Weighted Graph, solution

}|)({min),( svPwsv P

):,,( EwEVG

ssw )(),(),(),,( vwvuvuw

sPPw )()(

Page 8: Metarouting  and Network Optimization

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

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

Some Important Properties

Monotonicity (M) :

Strict monotonicity (SM) : )0(

Isotonicity (I) :

Strict isotonicity (SI) :

Page 11: Metarouting  and Network Optimization

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

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

Direct Product ),,(),,(),,( BABABABBBAAA LLSSLSLS

)()(),(),( 21212211 BA

),( ),( BBAA ),( BA

Page 14: Metarouting  and Network Optimization

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

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

Lexicographic Product

),,(),,(),,( BABAAABBBAAA LLSSLSLS

))()(()(),(),( 2121212211 BAA

Page 17: Metarouting  and Network Optimization

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

Local Preference, Origin Preference

)),,(),,(( AAAAAAA LSA

)),,(,()( lAA LSALP

l

)),},({,()( rA LSAOP

r

(Always M)

Page 19: Metarouting  and Network Optimization

Disjoint Union

),,(),,(),,( BABABBAA LLSLSLS

AA )( Aleft

)( Bright BB

Page 20: Metarouting  and Network Optimization

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

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

Scoped ProductBA

GPIBEBGPBGP

Page 23: Metarouting  and Network Optimization

Scoped Product : Monotonicity Preservation

BAA BSM

SM

M

SM

M

SM

Page 24: Metarouting  and Network Optimization

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

An application…

iAniA :},,1,0{

This can be viewed as an instance of

Page 26: Metarouting  and Network Optimization

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

…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

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

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?