metarouting
play

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


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

  2. Computer Science is Largely about Abstractions Capturing (almost) Instances all instances Parsers Yacc Data Management SQL-based systems Systems + application code Routing Protocols Metarouting (??)

  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!

  4. Idea #1 Let’s try something radical -- keep these separate! Protocol = Mechanism + Policy + …. ??? … • How are routing • How are the messages attributes of a exchanged and propagated? route (example: Link- described? State, Path Vector) • How does configuration • How are attach path adjacencies characteristics? established? • … • How are best routes selected? • …

  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 m + n n Generalize Shortest Paths λ σ λ σ λ σ

  6. Routing Policy Algebras How paths are transformed by application of labels L : link labels Σ Σ + L : A = ( Σ , <=, L, , O ) How paths are described and compared A subset of signatures that Σ : path signatures can be associated <= is a preference relation over Σ : <= w ith originated A (complete) x, y in Σ , x <= y or y <= x (or both) (complete) x, y in , x <= y or y <= x (or both) routes. A (transitive) x, y, z in Σ , if x <= y and y <= z (transitive) x, y, z in , if x <= y and y <= z then x <= z then x <= z

  7. Example --- Addition (ADD) max label max signature Σ ADD(3, 6) φ 1 2 3 4 5 6 φ φ 1 2 3 4 5 6 L φ 2 φ φ 3 4 5 6 3 φ φ φ φ 4 5 6 ADD(n, m) is SM if 0 < n <= m

  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)

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

  10. An algebra for OSPF? (hand-coded from careful reading of RFC 2328) ε (1 (1, ε ε, σ) (1, (1 (1 (1, v ), σ) σ) (1 (1, (2 (2, v) , σ , σ) (2 (2, ε ε, σ) (2, (1 (2 (1, v ), σ) σ) (2 (2, (2 (2, v) , σ , σ) (1, λ ) (1, ε , ε , , λ ε) (1, ε , ε , , λ σ) (1 (1, (1 (1, v ), λ λ σ σ) (1, (1, (2 (2, v ), λ λ σ σ) (2, ε , ε , , λ σ) (2, (2, (1 (1, v ), λ λ σ σ) (2, (2, (2 (2, v ), λ λ σ σ) (1 (1, (1 (1, v ), λ λ ε) ε) (1, (1 (1, v ), ), λ λ ) φ φ φ φ φ φ φ φ φ φ φ φ (1, (2 (2, v ), ), λ λ ) (1 (1, (2 (2, v) , λ ε) ε) φ φ φ φ φ φ φ φ φ φ φ φ (2, λ ) φ (2, ε , ε , , λ ε) (2, ε , ε , , λ σ) (2 (2, (1 (1, v ), λ λ σ σ) (2 (2, (2 (2, v ), λ λ σ σ) φ φ (2, (1 (1, v ), ), λ λ ) φ φ φ φ φ φ φ φ φ φ φ φ (2, (1 (2 (1, v ), λ λ ε) ε) (2, (2 (2 (2, v) , λ ε) ε) (2, (2 (2, v ), ), λ λ ) φ φ φ φ φ φ φ φ φ φ φ φ <{1,2}, λ > = “normal” route <1, …> = intra-area route <2, …> = inter-area route <{1,2}, <1, v>, λ > = type I external <{1,2}, <2, v>, λ > = type II external

  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…

  12. Idea #3 Routing Algebra Meta-Language (RAML) A ::= (base algebras) B | 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 operators – Simplicity – Expressiveness

  13. Lexical Product A B Preservation properties A B A B ( σ 1, σ 2) (λ1, λ2) ( λ 1 σ 1, λ 2 σ 2) M M M SM SM M SM SM (φ, _) = (_, φ) = φ (φ, _) = (_, φ) = φ Preference is Lexical order This suggests a design pattern for SM: A1 A2 … Ai A(i+1) … An all M SM don’t care SM

  14. Point-w ise application? Preservation properties A B A B A B ( σ 1, σ 2) SM SM M SM M M λ1 ( λ 1 σ 1, σ 2) M SM M λ2 ( σ1 , λ 2 σ 2) M M M κ (A) A κ (A) σ 1 A B = κ (A) κ (B) M M λ λ 1 σ 1 SM M κ σ1

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

  16. Programmatic Labels A = ( Σ , 8 , L, , 0 ) prog(A) = ( Σ , 8 , L, , 0 ) λ ::= λ λ ::= λ | λ1; λ2 | | λ1; λ2 | reject reject | | if if π π then then λ1 λ1 else else λ2 λ2 (if π π then then λ1 λ1 else else λ2) λ2) σ (if λ σ λ σ = λ σ λ σ (λ1; λ2) (λ1; λ2) σ = λ1 (λ2 λ1 (λ2 σ) ) λ1 λ1 σ if σ if π( π(σ) reject σ = φ = reject λ2 λ2 σ σ o.w o.w . A prog(A) prog M M SM SM

  17. MyFirstIGP m et apol i cy M yI G P { pr ogr am at i c { prog( distance : ADD(2000, 2000) l ex { at t r i but e di st ance { l abel l i nk- wei ght { m ode l ocal ; def aul t : 1 router-path: SimpleSeq(1000, 30) } dat a { addi t i on 2000 2000 ; } bandwidth: WIDTH(10000) } at t r i but e r out er - pat h { l abel r out er - i d { m ode l ocal nodal ; } tags: TAGS(string[100])) dat a { Sequence I Pv4; } } at t r i but e bandwi dt h { l abel l i nk- bandwi dt h { m ode l ocal ; This is SM } dat a { W I DTH 1000; } } at t r i but e t ags { dat a { TAG S st r i ng[ 100] ; } } } } }

  18. Using MyIGP… pol i cy m pol i cy m y- expor t { y- expor t { m m et apol i cy M et apol i cy M yI G yI G P; P; i f ( em i f ( em pt y( r out er - pat h) ) { 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” } } BG BG P- 17 { P- 17 { r out er - i d 10. 20. 20. 11; r out er - i d 10. 20. 20. 11; m m echani sm echani sm l i nk- st at e har d- st at e l i nk- st at e har d- st at e nei ghbor 10. 10. 10. 10 { nei ghbor 10. 10. 10. 10 { m m et apol i cy et apol i cy M M yI G yI G P; P; pol i cy m pol i cy m y- i m y- i m por t { por t { i m i m por t [ set l i nk- bandwi dt h O por t [ set l i nk- bandwi dt h O C- 12; C- 12; m m et apol i cy et apol i cy M M yI G yI G P; P; m m y- i m y- i m por t ] ; por t ] ; i f ( “ dat a cent er ” i n t ags) { i f ( “ dat a cent er ” i n t ags) { expor t m expor t m y- expor t ; y- expor t ; i f ( bandwi dt h < O i f ( bandwi dt h < O C- 12) { 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; } } }

  19. A Metarouting Specification, Label Modalities An RAML expression RP = <E, M , LM> A set of mechanisms that can be bound to adjacencies

  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

  21. Disjuntion (“Injection”) Preservation properties A B τ A B τ A B σ 1 σ 2 SM SM SM SM M M λ1 λ 1 σ 1 φ M SM M λ2 λ 2 σ 2 φ M M M ι τ(σ) τ(σ) φ

  22. … at the “protocol level” ? = <A, M1 M1 , LM1> <B, M2 M2 , LM2> < , M1 + M2 M1 + M2 , LM1 + LM2> A B τ τ 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>

More recommend