Metarouting and Network Optimization

Post on 22-Mar-2016

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