bgp the protocol that holds the internet together
play

BGP: The protocol that holds the Internet together Dr. Nils - PowerPoint PPT Presentation

Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU Mnchen BGP: The protocol that holds the Internet together Dr. Nils Kammenhuber Chair for Network Architectures and Services Institut fr


  1. Chair for Network Architectures and Services – Prof. Carle Department for Computer Science TU München BGP: The protocol that holds the Internet together Dr. Nils Kammenhuber Chair for Network Architectures and Services Institut für Informatik Technische Universität München http://www.net.in.tum.de 1 1 Network Security, WS 2008/09, Chapter 9 IN2097 — Master Course Computer Networks, WS 2011/2012

  2. Short note on pronunciation of the word “routing”  [‘ru:t ŋ ɪ ] /r-oo-ting/ = British English  [‘ra d ŋ ʊ ɪ ] /r-ow-ding/ = American English  Both are correct! 2 2 Network Security, WS 2008/09, Chapter 9 IN2097 — Master Course Computer Networks, WS 2011/2012

  3. Chapter outline: Routing  Routing and forwarding  Routing algorithms recapitulated  Distance Vector  Path Vector  Hierarchical routing  BGP  Business considerations  Policy routing  Traffic engineering  Routing security 3 3 Network Security, WS 2008/09, Chapter 9 IN2097 — Master Course Computer Networks, WS 2011/2012

  4. Routing ≠ Forwarding  Routing:  The process of determining the best path for a specific type of packets (usually: all packets with the same destination) through the network  Performed jointly by the routers of a network by exchanging many messages  Analogy: Read street map, plan journey  Forwarding:  The process where a router relays a packet to a neighbouring router. Selection of the neighbouring router depends on the previous routing protocol calculations  Performed by one router on one packet  Analogy: Read a street sign and determine if we should take the next exit  In practice, this distinction is often ignored  “If router A routes packet X, then …”  Actually, it doesn‘t – it forwards X. 4 4 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

  5. Signalling plane and data plane routing algorithm Routing = signalling plane = local forwarding table offline header value output link 0100 3 0101 2 0111 2 1001 1 value in arriving packet’s header 1 0111 2 3 Forwarding = data plane = online 5 5 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

  6. Graph abstraction: costs • c(x,x’) =: cost of link (x,x’) e.g.: c(w,z) = 5 5 • cost could always be 1, 3 v w 5 2 • or inversely related to u z 2 1 bandwidth, 3 1 2 • or inversely related to x y 1 congestion Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Question: What’s the least-cost path between u and z ? Routing algorithm: algorithm that finds least-cost path 6 6 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

  7. A broader routing classification  Type of algorithm: Link State, Distance Vector, Path Vector, …  Scope:  Intradomain  Interdomain  Special purpose (e.g., sensor network)  Type of traffic: Unicast vs. multicast  Type of reaction: “Static” vs. Dynamic/adaptive  Warning: “Dynamic routing” is a fuzzy term: a) Dynamic ≔ reacts to topology changes (state of the art) b) Dynamic ≔ reacts to traffic changes (even better, but most protocols don’t do that!)  Trigger type:  Permanent routing (standard)  On-demand routing: only start routing algorithm if there is traffic to be forwarded (e.g., some wireless ad-hoc networks) 7 7 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

  8. Distance Vector Algorithm  No node knows entire topology  Nodes only communicate with neighbours (i.e., no broadcasts)  Nodes jointly calculate shortest paths  Iterative process  Algorithm == protocol  Distributed application of Bellman-Ford algorithm  refer to any algorithms&data structures lecture/textbook 8 8 Network Security, WS 2008/09, Chapter 9 IN2097 — Master Course Computer Networks, WS 2011/2012

  9. Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Let  c( x , y ) ≔ cost of edge from x to y  d x ( y ) ≔ cost of least-cost path from x to y  Set to ∞ if no path / no edge available Then d x ( y ) = min {c( x , v ) + d v ( y ) } where min is taken over all neighbours v of x 9 9 Network Security, WS 2008/09, Chapter 9 IN2097 — Master Course Computer Networks, WS 2011/2012

  10. Bellman-Ford example We can see that 5 dv(z) = 5, dx(z) = 3, dw(z) = 3 3 v w 5 2 B-F equation says: u z 2 1 3 1 du(z) = min { c(u,v) + dv(z), 2 x y c(u,x) + dx(z), 1 c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 Node that calculated minimum is next hop in shortest path → forwarding table 10 10 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

  11. Distance Vector Algorithm 11 11 Network Security, WS 2008/09, Chapter 9 IN2097 — Master Course Computer Networks, WS 2011/2012

  12. Distance vector algorithm (4) Basic idea:  From time to time, each node sends its own distance vector estimate D to its neighbours  Asynchronously  When a node x receives new DV estimate from neighbour, it updates its own DV using B-F equation: D x ( y ) ← min v {c( x , v ) + D v ( y )} for each node y ∈ N  Under minor, natural conditions, these estimates D x ( y ) converge to the actual least cost dx(y) 12 12 Network Security, WS 2008/09, Chapter 9 IN2097 — Master Course Computer Networks, WS 2011/2012

  13. Distance Vector Algorithm (5) Iterative, asynchronous: Each node: Each local iteration caused by: Forever:  Local link cost change  DV update message from wait for (change in local link neighbour cost or message arriving from Distributed: neighbour)  Each node notifies neighbours only when its DV changes  neighbours then notify their recompute estimates neighbours if this caused their DV to change  etc. Usually some waiting delay if (DV to any destination has between consecutive updates changed) { notify neighbours } 13 13 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

  14. Distance Vector Algorithm (6) node x table cost to cost to Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 x y z x y z x 0 2 7 x 0 2 3 from from Dx(z) = min{ c(x,y) + y y 2 0 1 ∞ ∞ ∞ Dy(z), c(x,z) + Dz(z) } z z 7 1 0 ∞ ∞ ∞ = min{2+1 , 7+0} = 3 node y table cost to y x y z 2 1 x ∞ ∞ ∞ z x y 7 from 2 0 1 z ∞ ∞ ∞ node z table cost to x y z x ∞ ∞ ∞ from y ∞ ∞ ∞ z 7 1 0 time 14 14 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

  15. Dx(z) = min{ c(x,y) + Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} Dy(z), c(x,z) + Dz(z) } = min{2+0 , 7+1} = 2 = min{2+1 , 7+0} = 3 node x table cost to cost to cost to x y z x y z x y z x 0 2 7 x 0 2 3 x 0 2 3 from from y y from 2 0 1 ∞ ∞ ∞ y 2 0 1 z z 7 1 0 ∞ ∞ ∞ z 3 1 0 node y table cost to cost to cost to y x y z x y z x y z 2 1 x ∞ ∞ x 0 2 7 ∞ x 0 2 3 z x from y y 7 from from 2 0 1 2 0 1 y 2 0 1 z z ∞ ∞ ∞ 7 1 0 z 3 1 0 node z table cost to cost to cost to x y z x y z x y z x 0 2 7 x 0 2 3 x ∞ ∞ ∞ from from y y 2 0 1 from y 2 0 1 ∞ ∞ ∞ z z z 3 1 0 3 1 0 7 1 0 time 15 15 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

  16. Distance Vector: link cost changes (1) Link cost changes: 1  Node detects local link cost change y 4 1  Updates routing info, recalculates x z distance vector 50  If DV changes, notify neighbours At time t0 , y detects the link-cost change, updates its “good DV, and informs its neighbours. news At time t1 , z receives the update from y and updates its travels table. It computes a new least cost to x and sends its fast” neighbours its new DV. At time t2 , y receives z ’s update and updates its distance table. y ’s least costs do not change and hence y does not send any message to z . 16 16 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

  17. Distance Vector: link cost changes (2) But: bad news travels slow  In example: Many iterations before algorithm stabilizes!  1. Cost increase for y→r : r  y consults DV, ∞  y selects “cheaper” route via z (i.e., link down) 1 (cost 2+1 = 3), y  Sends update to z and x 4 1 (cost to r now 3 instead of 1) x z 50 2. z detects cost increase for path to r :  was 1+1, is now 3+1  Sends update to y and x (cost to r now 4 instead of 2) 3. y detects cost increase, sends update to z 4. z detects cost increase, sends update to y 5. …. Symptom: “count to infinity” problem  17 17 IN2097 — Master Course Computer Networks, WS 2011/2012 Network Security, WS 2008/09, Chapter 9

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend