Metarouting and Network Optimization

Post on 01-Jan-2016

20 views 0 download

description

timothy.griffin@cl.cam.ac.uk. Metarouting and Network Optimization. (work in progress). alex.gurney@cl.cam.ac.uk. 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

Metarouting and Network Optimization

timothy.griffin@cl.cam.ac.uk

CISS 2006

alex.gurney@cl.cam.ac.uk

(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?