Metarouting Timothy G. Griffin Joo Lus Sobrinho - - PowerPoint PPT Presentation

metarouting
SMART_READER_LITE
LIVE PREVIEW

Metarouting Timothy G. Griffin Joo Lus Sobrinho - - PowerPoint PPT Presentation

Metarouting Timothy G. Griffin Joo Lus Sobrinho Computer Laboratory Instituto deTelecomunicaes University of Cambridge Instituto Superior Tcnico Cambridge, UK Lisbon, Portugal SIGCOMM


slide-1
SLIDE 1

Metarouting

SIGCOMM August 23, 2005 Timothy G. Griffin João Luís Sobrinho Computer Laboratory Instituto deTelecomunicações University of Cambridge Instituto Superior Técnico Cambridge, UK Lisbon, Portugal

slide-2
SLIDE 2

Computer Science is Largely about Abstractions

Instances Capturing (almost) all instances

Parsers Yacc Data Management SQL-based systems Systems + application code Routing Protocols Metarouting (??)

slide-3
SLIDE 3

Why do this?

  • No one-size-fits-all IGP

– BGP is now a w idely used IGP!

  • Hard to define, standardize, and deploy

new routing protocols (or minor modifications to existing protocols)

– Just standardize Metarouting language and leave it up to operator community to standardize protocols using high-level specs…

  • It’s fun!
slide-4
SLIDE 4

Idea #1

Protocol = Mechanism + Policy + …. ??? …

Let’s try something radical -- keep these separate!

  • How are routing

messages exchanged and propagated? (example: Link- State, Path Vector)

  • How are

adjacencies established?

  • How are the

attributes of a route described?

  • How does

configuration attach path characteristics?

  • How are best

routes selected?

slide-5
SLIDE 5

Idea #2

  • Use “Routing Policy Algebras” as basis for Policy

Component

– “Netw ork Routing w ith Path Vector Protocols: Theory and Applications” João Sobrinho. SIGCOMM 2003 (to appear in ToN Oct. 2005)

λ σ λ σ m + n m n

λ σ

Generalize Shortest Paths

slide-6
SLIDE 6

Routing Policy Algebras

A = (Σ, <=, L, , O )

Σ

: path signatures

How paths are described and compared

+

L : link labels

Σ

L

Σ

:

How paths are transformed by application of labels

<= <= is a preference relation over Σ : (complete) x, y in (complete) x, y in Σ, x <= y or y <= x (or both) , x <= y or y <= x (or both) A subset of signatures that can be associated w ith originated routes. A (transitive) x, y, z in (transitive) x, y, z in Σ, if x <= y and y <= z , if x <= y and y <= z then x <= z then x <= z A

slide-7
SLIDE 7

Example --- Addition (ADD)

2 1 ADD(3, 6) φ φ φ φ 3 1 3 2 4 2 4 3 5 4 6 5 5 6 6 3 5 4 6 φ φ φ φ φ φ max signature max label

L

Σ

ADD(n, m) is SM if 0 < n <= m

slide-8
SLIDE 8

Guarantees?

We w ant protocols that are nice!

always converge, for every network state unique solution (perhaps modulo some ≅ class) no forwarding loops (after convergence)

slide-9
SLIDE 9

Correctness

Monotonicity (M): σ ε Σ/φ , λ ε L σ <= λ σ A Strict Monotonicity (SM): σ ε Σ/φ , λ ε L σ < λ σ A Isotonicity (I): σ,β ε Σ/φ , λ ε L σ <= β λ σ <= λ β A vectoring Link-state with generalized Dijkstra Link-state with local vector simulation SM I Assoc.

slide-10
SLIDE 10

An algebra for OSPF?

(1, λ) ε (1 (1, (1 (1, v), λ λ ε) ε) (1 (1, (2 (2, v), λ ε) ε) (1, ε , ε , , λ ε) (1, (1 (1, v), ), λ λ) (1, (2 (2, v), ), λ λ) (2, λ) (2, (1 (1, v), ), λ λ) (2, (2 (2, v), ), λ λ) (2 (2, (1 (1, v), λ λ ε) ε) (2 (2, (2 (2, v), λ ε) ε) (2, ε , ε , , λ ε) (1 (1, ε ε, σ) (1 (1, (1 (1, v), σ) σ) (1 (1, (2 (2, v), σ , σ) (1, ε , ε , , λ σ) (2, ε , ε , , λ σ) (2 (2, ε ε, σ) (2 (2, (1 (1, v), σ) σ) (2 (2, (2 (2, v), σ , σ) (2, ε , ε , , λ σ) φ (1 (1, (1 (1, v), λ λ σ σ) (1, (1, (2 (2, v), λ λ σ σ) (2, (2, (1 (1, v), λ λ σ σ) (2, (2, (2 (2, v), λ λ σ σ) (2 (2, (2 (2, v), λ λ σ σ) (2 (2, (1 (1, v), λ λ σ σ) φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ φ

<1, …> = intra-area route <2, …> = inter-area route <{1,2}, λ> = “normal” route <{1,2}, <1, v>, λ> = type I external <{1,2}, <2, v>, λ> = type II external (hand-coded from careful reading of RFC 2328)

slide-11
SLIDE 11

Routing Algebras are a good start, but…

  • The algebraic framew ork does

not, by itself, provide a w ay of constructing new and complex algebras.

– Algebra definition is hard… – Proofs are tedious… – Modifications to an algebra’s definitions are difficult to manage…

slide-12
SLIDE 12

Idea #3 Routing Algebra Meta-Language (RAML)

A ::= B

(base algebras)

| Op(A)

(unary operator)

| A Op A

(binary operators)

  • “Abstract syntax” for generating new Algebras
  • Goals

– Want to automatically derive properties (M, SM, …) of the algebra represented by an RAML expression from properties of base algebras and preservation properties of

  • perators

– Simplicity – Expressiveness

slide-13
SLIDE 13

Lexical Product

(λ1, λ2) (σ1, σ2) (λ1 σ1, λ2 σ2) A B (φ, _) = (_, φ) = φ (φ, _) = (_, φ) = φ A B A B M M M SM SM M SM SM Preservation properties This suggests a design pattern for SM:

A1 A2 … Ai A(i+1) … An

all M SM don’t care SM Preference is Lexical order

slide-14
SLIDE 14

Point-w ise application?

λ1 (σ1, σ2) (λ1 σ1, σ2) A B A B M M M SM SM M M SM M Preservation properties λ2 (σ1, λ2 σ2) SM M M A B λ σ1 λ1 σ1 κ σ1 κ(A) A M M SM M κ(A) A B = κ(A) κ(B)

slide-15
SLIDE 15

Scoped Product

(σ1, σ2) (λ1 σ1, σ3) A B A B A B SM SM SM Preservation properties λ2 (σ1, λ2 σ2) SM M M Can be used to implement IBGP/EBGP-like “information hiding” A B B B (λ1, σ3)

slide-16
SLIDE 16

Programmatic Labels

λ ::= λ ::= λ λ | λ1; λ2 | | λ1; λ2 | reject reject | | if if π π then then λ1 λ1 else else λ2 λ2

A M M SM SM prog prog(A)

(if (if π π then then λ1 λ1 else else λ2) λ2) σ λ1 λ1 σ σ if if π( π(σ) = λ2 λ2 σ σ o.w

  • .w .

A = (Σ, 8, L, ,0 ) prog(A) = (Σ, 8, L, ,0 ) λ σ λ σ = λ σ λ σ (λ1; λ2) (λ1; λ2) σ = λ1 (λ2 λ1 (λ2 σ) ) reject reject σ = φ

slide-17
SLIDE 17

MyFirstIGP

prog( distance : ADD(2000, 2000) router-path: SimpleSeq(1000, 30) bandwidth: WIDTH(10000) tags: TAGS(string[100])) This is SM

m et apol i cy M yI G P { pr ogr am at i c { l ex { at t r i but e di st ance { l abel l i nk- wei ght { m

  • de l ocal ;

def aul t : 1 } dat a { addi t i on 2000 2000 ; } } at t r i but e r out er - pat h { l abel r out er - i d { m

  • de l ocal nodal ;

} dat a { Sequence I Pv4; } } at t r i but e bandwi dt h { l abel l i nk- bandwi dt h { m

  • de l ocal ;

} dat a { W I DTH 1000; } } at t r i but e t ags { dat a { TAG S st r i ng[ 100] ; } } } } }

slide-18
SLIDE 18

Using MyIGP…

BG P- 17 { BG P- 17 { r out er - i d 10. 20. 20. 11; r out er - i d 10. 20. 20. 11; m echani sm l i nk- st at e har d- st at e m echani sm l i nk- st at e har d- st at e nei ghbor 10. 10. 10. 10 { nei ghbor 10. 10. 10. 10 { m et apol i cy m et apol i cy M yI G P; M yI G P; i m por t [ set l i nk- bandwi dt h O C- 12; i m por t [ set l i nk- bandwi dt h O C- 12; m y- i m por t ] ; m y- i m por t ] ; expor t m y- expor t ; expor t m y- expor t ; } } } pol i cy m y- i m por t { pol i cy m y- i m por t { m et apol i cy m et apol i cy M yI G P; M yI G P; i f ( “ dat a cent er ” i n t ags) { i f ( “ dat a cent er ” i n t ags) { i f ( bandwi dt h < O C- 12) { i f ( bandwi dt h < O C- 12) { set l i nk- wei ght 100; set l i nk- wei ght 100; } el se { } el se { set l i nk- wei ght 10 set l i nk- wei ght 10 } } } el se { } el se { set l i nk- wei ght 20; set l i nk- wei ght 20; } } } pol i cy m y- expor t { pol i cy m y- expor t { m et apol i cy m et apol i cy M yI G P; M yI G P; i f ( em pt y( r out er - pat h) ) { i f ( em pt y( r out er - pat h) ) { i nser t t ags “ sal es cent er NE” i nser t t ags “ sal es cent er NE” } }

slide-19
SLIDE 19

A Metarouting Specification,

RP = <E, M, LM>

An RAML expression A set of mechanisms that can be bound to adjacencies Label Modalities

slide-20
SLIDE 20

Ongoing, Future Work

  • RAML

– More operators…

  • At the “protocol level”
  • Inter-operation operators
  • Implementation

– Using XORP (w w w .xorp.org)

  • With Mark Handley (UCL) and others

– Hijack BGP – Routing Metaprotocol

slide-21
SLIDE 21

Disjuntion (“Injection”)

λ1 σ1 λ1 σ1 A B M M M SM SM SM M SM M Preservation properties λ2 λ2 σ2 SM M M A B σ2 ι φ φ φ τ(σ) τ(σ) τ A B τ

slide-22
SLIDE 22

… at the “protocol level” ?

<A, M1 M1, LM1> <B, M2 M2, LM2>

τ

=

A B τ

< , M1 + M2 M1 + M2, LM1 + LM2> Not sure what “+” means Nice way of thinking about “administrative distance” … Perhaps OSPF is really something like <AREAS, Path-Vector Path-Vector, LM1> <ADD, Link-State Link-State, LM2>

slide-23
SLIDE 23

Migration operators

A A A

A A A A A A

B B B

B B B B B B

A B A A

A A A A B A A

A B

A B

A B A B

A B A B A B A B A B

A B

A B

A B B

A B A B B A B B