COS 461: Computer Networks

Slides:



Advertisements
Similar presentations
BGP Convergence Jennifer Rexford. Outline Border Gateway Protocol (BGP) –Prefix-based routing at the AS level –Policy-based path-vector protocol –Incremental.
Advertisements

Fundamentals of Computer Networks ECE 478/578 Lecture #18: Policy-Based Routing Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
© 2007 Cisco Systems, Inc. All rights reserved.ICND2 v1.0—3-1 Medium-Sized Routed Network Construction Reviewing Routing Operations.
Distance-Vector and Path-Vector Routing Sections , 4.3.2, COS 461: Computer Networks Spring 2011 Mike Freedman
PATH VECTOR ROUTING AND THE BORDER GATEWAY PROTOCOL READING: SECTIONS PLUS OPTIONAL READING COS 461: Computer Networks Spring 2010 (MW 3:00-4:20.
1 Policy-Based Path-Vector Routing Reading: Sections COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching.
Inherently Safe Backup Routing with BGP Lixin Gao (U. Mass Amherst) Timothy Griffin (AT&T Research) Jennifer Rexford (AT&T Research)
Link-State Routing Reading: Sections 4.2 and COS 461: Computer Networks Spring 2011 Mike Freedman
Interdomain Routing and the Border Gateway Protocol (BGP) Reading: Section COS 461: Computer Networks Spring 2011 Mike Freedman
Computer Networks Layering and Routing Dina Katabi
Distance Vector Routing Protocols Distance Vector Routing.
Routing Algorithms (Ch5 of Computer Network by A. Tanenbaum)
Distance Vector Routing Protocols W.lilakiatsakun.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
PATH VECTOR ROUTING AND THE BORDER GATEWAY PROTOCOL 1.
Intradomain Routing What is Routing? A famous quotation from RFC 791 “A name indicates what we seek. An address indicates where it is. A route indicates.
Routing 2 CS457 Fall 2010.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
Routing protocols. Static Routing Routes to destinations are set up manually Route may be up or down but static routes will remain in the routing tables.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
4: Network Layer4a-1 Distance Vector Routing Algorithm iterative: r continues until no nodes exchange info. r self-terminating: no “signal” to stop asynchronous:
Distance Vector and Link State Routing Pragyaditya Das.
1 Internet Routing: BGP Routing Convergence Jennifer Rexford Princeton University
Network Layer4-1 Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol.
The network layer: routing
Chapter 4: Network Layer
CS 5565 Network Architecture and Protocols
Routing Jennifer Rexford.
(How the routers’ tables are filled in)
CSE390 – Advanced Computer Networks
Chapter 4: Network Layer
COMP 3270 Computer Networks
Rip Routing Protocol.
COS 561: Advanced Computer Networks
Distance-Vector Routing Protocols
CCNA 2 v3.1 Module 7 Distance Vector Routing Protocols
CS 457 – Lecture 12 Routing Spring 2012.
Introduction to Internet Routing
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Routing.
Distance Vector Routing: overview
Interdomain routing V. Arun
Dan LI CS Department, Tsinghua University
Dynamic Routing Protocols part2
Road Map I. Introduction II. IP Protocols III. Transport Layer
Can Economic Incentives Make the ‘Net Work?
CS 4700 / CS 5700 Network Fundamentals
Department of Computer and IT Engineering University of Kurdistan
COS 561: Advanced Computer Networks
CS 3700 Networks and Distributed Systems
CS 640: Introduction to Computer Networks
RFC 1058 & RFC 2453 Routing Information Protocol
COS 561: Advanced Computer Networks
Chapter 4: Network Layer
CS 3700 Networks and Distributed Systems
Chapter 4: Network Layer
COS 561: Advanced Computer Networks
Chapter 4: Network Layer
BGP Policies Jennifer Rexford
COS 461: Computer Networks Spring 2014
Communication Networks
Delivery, Forwarding, and Routing
Network Layer (contd.) Routing
COS 561: Advanced Computer Networks
EE 122: Intra-domain routing: Distance Vector
BGP Instability Jennifer Rexford
Computer Networks Protocols
Presentation transcript:

COS 461: Computer Networks peer advertisements traffic Routing Convergence Mike Freedman COS 461: Computer Networks http://www.cs.princeton.edu/courses/archive/spr14/cos461/

Routing Changes Topology changes: new route to the same place Host mobility: route to a different place

Topology Changes

Two Types of Topology Changes Planned Maintenance: shut down a node or link Energy savings: shut down a node or link Traffic engineering: change routing configuration Unplanned Failures Fiber cut, faulty equipment, power outage, software bugs, …

Detecting Topology Changes Beaconing Periodic “hello” messages in both directions Detect a failure after a few missed “hellos” Performance trade-offs Detection delay Overhead on link bandwidth and CPU Likelihood of false detection “hello”

Routing Convergence: Link-State Routing

Convergence Control plane Data plane All nodes have consistent information Data plane All nodes forward packets in a consistent way 3 2 1 4 5

Transient Disruptions Detection delay A node does not detect a failed link immediately … and forwards data packets into a “blackhole” Depends on timeout for detecting lost hellos 3 2 1 4 5

Transient Disruptions Inconsistent link-state database Some routers know about failure before others Inconsistent paths cause transient forwarding loops 3 2 1 4 5 3 2 1 4

Slow Convergence in Distance-Vector Routing

Distance Vector: Link Cost Changes X Z 1 4 50 Y Link cost decreases and recovery Node updates the distance table If cost change in least cost path, notify neighbors DY = Distances known to Y

Distance Vector: Link Cost Changes X Z 1 4 50 Y Link cost decreases and recovery Node updates the distance table If cost change in least cost path, notify neighbors DY = Distances known to Y

Distance Vector: Link Cost Changes X Z 1 4 50 Y Link cost decreases and recovery Node updates the distance table If cost change in least cost path, notify neighbors DY = Distances known to Y “good news travels fast”

Distance Vector: Link Cost Changes Link cost increases and failures Bad news travels slowly “Count to infinity” problem! X Z 1 4 50 Y 60

Distance Vector: Link Cost Changes Link cost increases and failures Bad news travels slowly “Count to infinity” problem! X Z 1 4 50 Y 60 algorithm continues on!

Distance Vector: Poison Reverse If Z routes through Y to get to X : Z tells Y its (Z’s) distance to X is infinite (so Y won’t route to X via Z) Still, can have problems in larger networks X Z 1 4 50 Y 60 algorithm terminates

Redefining Infinity Avoid “counting to infinity” By making “infinity” smaller! Routing Information Protocol (RIP) All links have cost 1 Valid path distances of 1 through 15 … with 16 representing infinity Used mainly in small networks

Reducing Convergence Time With Path-Vector Routing (e. g Reducing Convergence Time With Path-Vector Routing (e.g., Border Gateway Protocol)

Path-Vector Routing Extension of distance-vector routing Support flexible routing policies Avoid count-to-infinity problem Key idea: advertise the entire path Distance vector: send distance metric per dest d Path vector: send the entire path for each dest d “d: path (2,1)” “d: path (1)” 2 3 1 data traffic data traffic d

Faster Loop Detection Node can easily detect a loop Look for its own node identifier in the path E.g., node 1 sees itself in the path “3, 2, 1” Node can simply discard paths with loops E.g., node 1 simply discards the advertisement “d: path (2,1)” “d: path (1)” 2 3 1 “d: path (3,2,1)”

BGP Session Failure BGP runs over TCP Detecting a failure BGP only sends updates when changes occur TCP doesn’t detect lost connectivity on its own Detecting a failure Keep-alive: 60 seconds Hold timer: 180 seconds Reacting to a failure Discard all routes learned from neighbor Send new updates for any routes that change AS1 AS2

Routing Change: Before and After 1 2 3 (2,0) (1,2,0) (3,2,0) (1,0) (2,0) 1 2 (3,1,0) 3 24

Routing Change: Path Exploration AS 1 Delete the route (1,0) Switch to next route (1,2,0) Send route (1,2,0) to AS 3 AS 3 Sees (1,2,0) replace (1,0) Compares to route (2,0) Switches to using AS 2 (2,0) (1,2,0) 1 2 (3,2,0) 3

Routing Change: Path Exploration (2,0) (2,1,0) (2,3,0) (2,1,3,0) (1,0) (1,2,0) (1,3,0) Initial: All AS use direct Then destination 0 dies All ASes lose direct path All switch to longer paths Eventually withdrawn How many intermediate routes following (2,0) withdrawal until no route known to 2? (2,0)  (2,1,0)  (2,3,0)  (2,1,3,0)  null 1 2 3 (3,0) (3,1,0) (3,2,0)

BGP Converges Slowly Path vector avoids count-to-infinity But, ASes still must explore many alternate paths to find highest-ranked available path Fortunately, in practice Most popular destinations have stable BGP routes Most instability lies in a few unpopular destinations Still, lower BGP convergence delay is a goal Can be tens of seconds to tens of minutes 27

BGP Instability 28

Stable Paths Problem (SPP) Instance Node BGP-speaking router Node 0 is destination Edge BGP adjacency Permitted paths Set of routes to 0 at each node Ranking of the paths 2 1 0 2 0 2 5 5 2 1 0 2 4 2 0 4 3 0 4 1 3 3 0 1 1 3 0 1 0 most preferred … least preferred 29

Stable Paths Problem (SPP) Instance 1 will use a direct path to 0 (A) True (B) False 5 has a path to 0 2 1 0 2 0 2 5 5 2 1 0 2 4 2 0 4 3 0 4 1 3 3 0 1 1 3 0 1 0 most preferred … least preferred 31

Stable Paths Problem (SPP) Instance 2 1 0 2 0 2 5 5 2 1 0 2 4 2 0 4 3 0 4 1 3 3 0 1 1 3 0 1 0 most preferred … least preferred 32

An SPP May Have No Solution 2 1 0 2 0 2 4 3 2 0 3 0 1 3 0 1 0 1 3 3 34

Avoiding BGP Instability Detecting conflicting policies Computationally expensive Requires too much cooperation Detecting oscillations Observing the repetitive BGP routing messages Restricted routing policies and topologies Policies based on business relationships 35

AS (Autonomous System) Business Relationships 36

Customer-Provider Relationship Customer pays provider for access to Internet Provider exports its customer routes to everybody Customer exports provider routes only to its customers Traffic to customer Traffic from customer advertisements d provider traffic provider customer d customer 37

Peer-Peer Relationship Peers exchange traffic between their customers AS exports only customer routes to a peer AS exports a peer’s routes only to its customers Traffic to/from the peer and its customers advertisements peer peer traffic d 38

Hierarchical AS Relationships Provider-customer graph is directed and acyclic If u is a customer of v and v is a customer of w … then w is not a customer of u w v u 39

Valid and Invalid Paths Path 1 2d Path 7 d Path 5 8 d Path 6 4 3 d Path 8 5 d Path 6 5 d Path 1 4 3 d A) Valid B) Invalid 1 2 3 4 d 5 6 Provider-Customer Peer-Peer 7 8 40

Local Control, Global Stability: “Gao-Rexford Conditions” Route export Don’t export routes learned from a peer or provider to another peer or provider Global topology Provider-customer relationship graph is acyclic E.g., my customer’s customer is not my provider Route selection Prefer routes through customers over routes through peers and providers Guaranteed to converge to unique, stable solution 43

Conclusion The only constant is change Routing-protocol convergence Planned topology and configuration changes Unplanned failure and recovery Routing-protocol convergence Transient period of disagreement Blackholes, loops, and out-of-order packets Routing instability Permanent conflicts in routing policy Leading to bi-stability or oscillation 44