COS 561: Advanced Computer Networks

Slides:



Advertisements
Similar presentations
Path Splicing with Network Slicing
Advertisements

CS4550: Computer Networks II network layer basics 3 routing & congestion control.
Internet Routing (COS 598A) Today: Interdomain Routing Convergence Jennifer Rexford Tuesdays/Thursdays.
BGP Convergence Jennifer Rexford. Outline Border Gateway Protocol (BGP) –Prefix-based routing at the AS level –Policy-based path-vector protocol –Incremental.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
Does BGP Solve the Shortest Paths Problem? Timothy G. Griffin Joint work with Bruce Shepherd and Gordon Wilfong Bell Laboratories, Lucent Technologies.
Part IV BGP Modeling. 2 BGP Is Not Guaranteed to Converge!  BGP is not guaranteed to converge to a stable routing. Policy inconsistencies can lead to.
Fundamentals of Computer Networks ECE 478/578 Lecture #18: Policy-Based Routing Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
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 Tutorial 5 Safe “Peering Backup” Routing With BGP Based on:
CSE331: Introduction to Networks and Security Lecture 9 Fall 2002.
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.
New Routing Architectures Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Unicast Routing Protocols: RIP, OSPF, and BGP
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
Link-State Routing Reading: Sections 4.2 and COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Michael Freedman
Routing.
1 Interdomain Routing Policy Reading: Sections plus optional reading COS 461: Computer Networks Spring 2008 (MW 1:30-2:50 in COS 105) Jennifer Rexford.
Interdomain Routing and the Border Gateway Protocol (BGP) Reading: Section COS 461: Computer Networks Spring 2011 Mike Freedman
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
ROUTING PROTOCOLS Rizwan Rehman. Static routing  each router manually configured with a list of destinations and the next hop to reach those destinations.
Computer Networks Layering and Routing Dina Katabi
Delivery, Forwarding and
Routing Algorithms (Ch5 of Computer Network by A. Tanenbaum)
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking BGP, Flooding, Multicast routing.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
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.
Intradomain Traffic Engineering By Behzad Akbari These slides are based in part upon slides of J. Rexford (Princeton university)
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
An internet is a combination of networks connected by routers. When a datagram goes from a source to a destination, it will probably pass through many.
Mike Freedman Fall 2012 COS 561: Advanced Computer Networks Traffic Engineering.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
CSci5221: BGP Policies1 Inter-Domain Routing: BGP, Routing Policies, etc. BGP Path Selection and Policy Routing Stable Path Problem and Policy Conflicts.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
Single Area OSPF Module 2, Review How routing information is maintained Link-state routers apply the Dijkstra shortest path first algorithm against.
Distance Vector and Link State Routing Pragyaditya Das.
Routing Semester 2, Chapter 11. Routing Routing Basics Distance Vector Routing Link-State Routing Comparisons of Routing Protocols.
1 Internet Routing: BGP Routing Convergence Jennifer Rexford Princeton University
The network layer: routing
Routing Jennifer Rexford.
COS 561: Advanced Computer Networks
CS 457 – Lecture 12 Routing Spring 2012.
Introduction to Internet Routing
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing.
COS 561: Advanced Computer Networks
CS 3700 Networks and Distributed Systems
Dynamic Routing and OSPF
COS 561: Advanced Computer Networks
COS 561: Advanced Computer Networks
CS 3700 Networks and Distributed Systems
COS 561: Advanced Computer Networks
COS 561: Advanced Computer Networks
BGP Policies Jennifer Rexford
COS 461: Computer Networks Spring 2014
Delivery, Forwarding, and Routing
BGP Interactions Jennifer Rexford
COS 461: Computer Networks
COS 561: Advanced Computer Networks
BGP Instability Jennifer Rexford
Computer Networks Protocols
Routing.
Presentation transcript:

COS 561: Advanced Computer Networks Routing Convergence Jennifer Rexford Fall 2010 (TTh 1:30-2:50 in COS 302) COS 561: Advanced Computer Networks http://www.cs.princeton.edu/courses/archive/fall10/cos561/

Intradomain Routing

Convergence Getting consistent routing information to all nodes E.g., all nodes having the same link-state database Consistent forwarding after convergence All nodes have the same link-state database All nodes forward packets on shortest paths The next router on the path forwards to the next hop 2 1 3 1 4 2 1 5 4 3

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 Or link media that can detect “loss of light” 2 1 3 1 4 2 1 5 4 3

Transient Disruptions Inconsistent link-state database Some routers know about failure before others The shortest paths are no longer consistent Can cause transient forwarding loops 2 2 1 1 3 3 1 1 4 4 2 2 1 1 5 4 3 4 3

Convergence Delay Sources of convergence delay Detection latency Flooding of link-state information Shortest-path computation Creating the forwarding table Performance during convergence period Lost packets due to blackholes and TTL expiry Looping packets consuming resources Out-of-order packets reaching the destination Very bad for VoIP, online gaming, and video

Reducing Convergence Delay Faster detection Smaller hello timers Link-layer technologies that can detect failures Faster flooding Flooding immediately Sending link-state packets with high-priority Faster computation Faster processors on the routers Incremental Dijkstra’s algorithm Faster forwarding-table update Data structures supporting incremental updates

Reducing Convergence Delay Weight tuning for planned maintenance Gradually increase link weight Before taking down the link MPLS fast-reroute Backup paths to use when the primary path fails Local protection to circumvent a failed link 2 1 3 1 4 2 1 5 4 3

Interdomain Routing

Causes of BGP Routing Changes Topology changes Equipment going up or down Deployment of new routers or sessions BGP session failures Due to equipment failures, maintenance, etc. Or, due to congestion on the physical path Changes in routing policy Changes in preferences in the routes Changes in whether the route is exported Persistent protocol oscillation Conflicts between policies in different ASes

BGP Session Failure BGP runs over TCP AS1 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 the neighbor Send new updates for any routes that change AS1 AS2

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

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 situation Destination 0 is alive All ASes use direct path When destination dies All ASes lose direct path All switch to longer paths Eventually withdrawn E.g., AS 2 (2,0)  (2,1,0) (2,1,0)  (2,3,0) (2,3,0)  (2,1,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 the highest-ranked path that is still available Fortunately, in practice Most popular destinations have very stable BGP routes And most instability lies in a few unpopular destinations Still, lower BGP convergence delay is a goal Can be tens of seconds to a few minutes High for important interactive applications … or even conventional application, like Web browsing

Beyond Faster Convergence

Research Ideas Modeling of routing convergence Bounds for BGP as function of topology and policy Impact on timer configurations on convergence Much smaller timers for faster convergence Understand trade-off between convergence time and protocol overhead Distributed coordination of routing changes Avoid loops and blackholes during convergence Failure carrying packets Faster detection by piggybacking on data packets

Research Ideas Temporary backup routes in BGP Have an alternate path through another AS Multipath routing to survive failures Multiple paths, possibly computed in advance Load balancing over the currently-working paths Error-correction codes on multiple paths Spreading redundant traffic over multiple paths Reconstructing the traffic at the receiver

BGP Instability

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

A Solution to a Stable Paths Problem 2 Solution Path assignment per node Can be the “null” path If node u has path uwP {u,w} is an edge in the graph Node w is assigned path wP Each node is assigned The highest ranked path consistent with assignment of its neighbors 2 1 0 2 0 5 5 2 1 0 2 4 2 0 4 3 0 4 1 3 3 0 1 3 0 1 0 1 A solution need not represent a shortest path tree, or a spanning tree.

An SPP May Have Multiple Solutions 1 2 0 1 0 1 2 0 1 0 1 2 0 1 0 1 1 1 2 2 2 2 1 0 2 0 2 1 0 2 0 2 1 0 2 0 First solution Second solution

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

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 Prefer paths through customers Don’t provide transit service to peers and providers No cycles of provider-customer relationship Getting rid of BGP 