CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13.

Slides:



Advertisements
Similar presentations
1 Aman Shaikh UCSC SHS IMW A Case-study of OSPF Behavior in a Large Enterprise Network Aman Shaikh, UCSC Chris Isett, Siemens Health Services Albert.
Advertisements

Courtesy: Nick McKeown, Stanford
Data Communication and Networks Lecture 11 Internet Routing Algorithms and Protocols December 5, 2002 Joseph Conron Computer Science Department New York.
Distance-Vector and Path-Vector Routing Sections , 4.3.2, COS 461: Computer Networks Spring 2011 Mike Freedman
Routing - I Important concepts: link state based routing, distance vector based routing.
CSE331: Introduction to Networks and Security Lecture 9 Fall 2002.
RD-CSY3021 Comparing Routing Protocols. RD-CSY3021 Criteria used to compare routing protocols includes  Time to convergence  Proprietary/open standards.
Chapter 4 Distance Vector Problems, and Link-State Routing Professor Rick Han University of Colorado at Boulder
Distance-Vector Routing COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Michael Freedman
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Link State and Distance Vector Routing Computer Science Division Department of Electrical.
Announcement r Project 2 extended to 2/20 midnight r Project 3 available this weekend r Homework 3 available today, will put it online.
1 EE 122: Shortest Path Routing Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern.
CSE 461: Distance Vector Routing. Next Topic  Focus  How do we calculate routes for packets?  Routing is a network layer function  Routing Algorithms.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
4: Network Layer4a-1 14: Intro to Routing Algorithms Last Modified: 7/12/ :17:44 AM.
Announcement r Project 2 Extension ? m Previous grade allocation: Projects 40% –Web client/server7% –TCP stack21% –IP routing12% Midterm 20% Final 20%
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
Computer Networking Intra-Domain Routing, Part I RIP (Routing Information Protocol)
CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13.
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
TDTS21: Advanced Networking Lecture 7: IP and Intra Domain Routing Based on slides from P. Gill and D. Choffnes Revised 2015 by N. Carlsson.
1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector.
Intra-Domain Routing D.Anderson, CMU Intra-Domain Routing RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)
Computer Networking Lecture 10: Intra-Domain Routing
Link-state routing  each node knows network topology and cost of each link  quasi-centralized: each router periodically broadcasts costs of attached.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
CS 3700 Networks and Distributed Systems Inter Domain Routing (It’s all about the Money) Revised 8/20/15.
TCOM 515 Lecture 2. Lecture 2 Objectives Dynamic Routing Distance Vector Routing Link State Routing Interior vs Exterior RIP - Routing Information Protocol.
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.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 11 Unicast Routing Protocols.
Network Layer4-1 Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define d x (y) := cost of least-cost path from x to y Then d x (y)
The Network Layer & Routing
1 Week 5 Lecture 2 IP Layer. 2 Network layer functions transport packet from sending to receiving hosts transport packet from sending to receiving hosts.
Routing 2 CS457 Fall 2010.
Overview of Internet Routing (I) Fall 2004 CS644 Advanced Topics in Networking Sue B. Moon Division of Computer Science Dept. of EECS KAIST.
Computer Networks Lecture 6: Network Layer – Part II Based on slides from D. Choffnes Northeastern U. and P. Gill from StonyBrook University Revised Autumn.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
Dynamic Routing Protocols II OSPF
Routing protocols. 1.Introduction A routing protocol is the communication used between routers. A routing protocol allows routers to share information.
Routing Protocols Brandon Wagner.
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:
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
Inter-domain Routing Outline Border Gateway Protocol.
R OUTING P ROTOCOLS 1. P LAN Aug 16 – Routing (CCNA2) Aug 23 – LAB Aug 30- Transport L. Sep 6– Application L. Sep 13 – Presentation Sep 20 – Packet Tracer.
Computer Networking Lecture 11: Intra-Domain Routing RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 10: Intra-domain routing Slides used with.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
CS 268: Lecture 9 Intra-domain Routing Protocols Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University.
CS 5565 Network Architecture and Protocols
Dynamic Routing Protocols II OSPF
CSE390 – Advanced Computer Networks
Introduction to Internet Routing
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Routing.
Distance Vector Routing: overview
Road Map I. Introduction II. IP Protocols III. Transport Layer
CS 4700 / CS 5700 Network Fundamentals
CS 268: Lecture 8 Intra-domain Routing Protocols
CS 3700 Networks and Distributed Systems
CS 3700 Networks and Distributed Systems
COMP/ELEC 429 Introduction to Computer Networks
Communication Networks
EE 122: Intra-domain routing: Distance Vector
Computer Networks Protocols
Routing.
EE 122: Intra-domain routing: Link State
Presentation transcript:

CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13

Network Layer, Control Plane 2  Function:  Set up routes within a single network  Key challenges:  Distributing and updating routes  Convergence time  Avoiding loops Application Presentation Session Transport Network Data Link Physical BGPRIPOSPF Control Plane Data Plane

Internet Routing  Internet organized as a two level hierarchy  First level – autonomous systems (AS’s)  AS – region of network under a single administrative domain  Examples: Comcast, AT&T, Verizon, Sprint, etc.  AS’s use intra-domain routing protocols internally  Distance Vector, e.g., Routing Information Protocol (RIP)  Link State, e.g., Open Shortest Path First (OSPF)  Connections between AS’s use inter-domain routing protocols  Border Gateway Routing (BGP)  De facto standard today, BGP-4 3

AS Example 4 AS-1 AS-2 AS-3 Interior Routers BGP Routers

Why Do We Need ASs? 5  Routing algorithms are not efficient enough to execute on the entire Internet topology  Different organizations may use different routing policies  Allows organizations to hide their internal network structure  Allows organizations to choose how to route across each other (BGP) Easier to compute routes Greater flexibility More autonomy/independence

Routing on a Graph  Goal: determine a “good” path through the network from source to destination  What is a good path?  Usually means the shortest path  Load balanced  Lowest $$$ cost  Network modeled as a graph  Routers  nodes  Link  edges Edge cost: delay, congestion level, etc. A BC D E F

Routing Problems  Assume  A network with N nodes  Each node only knows Its immediate neighbors The cost to reach each neighbor  How does each node learn the shortest path to every other node? A BC D E F

Intra-domain Routing Protocols  Distance vector  Routing Information Protocol (RIP), based on Bellman-Ford  Routers periodically exchange reachability information with neighbors  Link state  Open Shortest Path First (OSPF), based on Dijkstra  Each network periodically floods immediate reachability information to all other routers  Per router local computation to determine full routes 8 8

 Distance Vector Routing  RIP  Link State Routing  OSPF  IS-IS Outline 9

Distance Vector Routing 10  What is a distance vector?  Current best known cost to reach a destination  Idea: exchange vectors among neighbors to learn about lowest cost paths  Routing Information Protocol (RIP) DestinationCost A7 B1 D2 E5 F1 DV Table at Node C  No entry for C  Initially, only has info for immediate neighbors  Other destinations cost = ∞  Eventually, vector is filled

Distance Vector Routing Algorithm Wait for change in local link cost or message from neighbor 2. Recompute distance table 3. If least cost path to any destination has changed, notify neighbors

Distance Vector Initialization 12 Dest.CostNext B2B C7C D ∞ A B C D 1 7 Node A Dest.CostNext A2A C1C D3D Node B Dest.CostNext A7A B1B D1D Node C Dest.CostNext A ∞ B3B C1C Node D 1. Initialization: 2. for all neighbors V do 3. if V adjacent to A 4. D(A, V) = c(A,V); 5. else 6. D(A, V) = ∞; …

Distance Vector: 1 st Iteration 13 Dest.CostNext B2B C7C D ∞ A B C D 1 7 Node A Dest.CostNext A2A C1C D3D Node B Dest.CostNext A7A B1B D1D Node C Dest.CostNext A ∞ B3B C1C Node D … 7. loop: … 12. else if (update D(V, Y) received from V) 13. for all destinations Y do 14. if (destination Y through V) 15. D(A,Y) = D(A,V) + D(V, Y); 16. else 17. D(A, Y) = min(D(A, Y), D(A, V) + D(V, Y)); 18. if (there is a new min. for dest. Y) 19. send D(A, Y) to all neighbors 20. forever 8C D(A,D) = min(D(A,D), D(A,C)+D(C,D)) = min( ∞, 7 + 1) = 8 3B 5B D(A,C) = min(D(A,C), D(A,B)+D(B,C)) = min(7, 2 + 1) = 3 D(A,D) = min(D(A,D), D(A,B)+D(B,D)) = min(8, 2 + 3) = 5 2C 4B 3B

Distance Vector: End of 3 rd Iteration 14 Dest.CostNext B2B C3B D 4 B A B C D 1 7 Node A Dest.CostNext A2A C1C D2C Node B Dest.CostNext A3B B1B D1D Node C Dest.CostNext A 4 C B2C C1C Node D … 7. loop: … 12. else if (update D(V, Y) received from V) 13. for all destinations Y do 14. if (destination Y through V) 15. D(A,Y) = D(A,V) + D(V, Y); 16. else 17. D(A, Y) = min(D(A, Y), D(A, V) + D(V, Y)); 18. if (there is a new min. for dest. Y) 19. send D(A, Y) to all neighbors 20. forever Nothing changes, algorithm terminates Until something changes…

A B C loop: 8. wait (link cost update or update message) 9. if (c(A,V) changes by d) 10. for all destinations Y through V do 11. D(A,Y) = D(A,Y) + d 12. else if (update D(V, Y) received from V) 13. for all destinations Y do 14. if (destination Y through V) 15. D(A,Y) = D(A,V) + D(V, Y); 16. else 17. D(A, Y) = min(D(A, Y), D(A, V) + D(V, Y)); 18. if (there is a new minimum for destination Y) 19. send D(A, Y) to all neighbors 20. forever 1 Node B Node C Time DCN A4A C1B DCN A5B B1B DCN A1A C1B DCN A5B B1B DCN A1A C1B DCN A2B B1B DCN A1A C1B DCN A2B B1B Link Cost Changes, Algorithm Starts Algorithm Terminates Good news travels fast

Count to Infinity Problem A B C Node B Node C Time DCN A4A C1B DCN A5B B1B DCN A6C C1B DCN A5B B1B DCN A6C C1B DCN A7B B1B DCN A8C C1B DCN A7B B1B Node B knows D(C, A) = 5 However, B does not know the path is C  B  A Thus, D(B,A) = 6 ! Bad news travels slowly

Poisoned Reverse A B C Node B Node C Time DCN A4A C1B DCN A5B B1B DCN A60A C1B DCN A5B B1B DCN A A C1B DCN A50A B1B DCN A51C C1B DCN A50A B1B  If C routes through B to get to A  C tells B that D(C, A) = ∞  Thus, B won’t route to A via C Does this completely solve this count to infinity problem? NO Multipath loops can still trigger the issue

 Distance Vector Routing  RIP  Link State Routing  OSPF  IS-IS Outline 18

 Each node knows its connectivity and cost to direct neighbors  Each node tells every other node this information  Each node learns complete network topology  Use Dijkstra to compute shortest paths Link State Routing 19

Flooding Details 20  Each node periodically generates Link State Packet  ID of node generating the LSP  List of direct neighbors and costs  Sequence number (64-bit, assumed to never wrap)  Time to live  Flood is reliable (ack + retransmission)  Sequence number “versions” each LSP  Receivers flood LSPs to their own neighbors  Except whoever originated the LSP  LSPs also generated when link states change

Dijkstra’s Algorithm 21 StepStart S BB CC DD EE FF 0A2, A5, A1, A ∞∞ 1AD4, D2, D ∞ 2ADE3, E4, E 3ADEB 4ADEBC 5ADEBCF A BC D E F Initialization: 2. S = {A}; 3. for all nodes v 4. if v adjacent to A 5. then D(v) = c(A,v); 6. else D(v) = ∞ ; … 8. Loop 9. find w not in S s.t. D(w) is a minimum; 10. add w to S; 11. update D(v) for all v adjacent to w and not in S: 12. D(v) = min( D(v), D(w) + c(w,v) ); 13. until all nodes in S;

OSPF vs. IS-IS  Favored by companies, datacenters  More optional features  Built on top of IPv4  LSAs are sent via IPv4  OSPFv3 needed for IPv6  Favored by ISPs  Less “chatty”  Less network overhead  Supports more devices  Not tied to IP  Works with IPv4 or IPv6 22 OSPFIS-IS  Two different implementations of link-state routing

Different Organizational Structure 23 OSPFIS-IS Area 0 Area 1 Area 2 Area 3 Area 4  Organized around overlapping areas  Area 0 is the core network  Organized as a 2-level hierarchy  Level 2 is the backbone Level 2 Level 1 Level 1-2

Link State vs. Distance Vector 24 Link StateDistance Vector Message ComplexityO(n 2 *e)O(d*n*k) Time ComplexityO(n*log n)O(n) Convergence TimeO(1)O(k) Robustness Nodes may advertise incorrect link costs Each node computes their own table Nodes may advertise incorrect path cost Errors propagate due to sharing of DV tables n = number of nodes in the graph d = degree of a given node k = number of rounds Which is best? In practice, it depends. In general, link state is more popular.

 Distance Vector Routing  RIP  Link State Routing  OSPF  IS-IS Outline 25

OSPF Performance 26  OSPF processing has practical implications  Impacts route convergence  (In)stability of the network  Bulk of OSPF processing is due to LSAs  Uses network resources (e.g. duplicate LSAs are bad)  Triggers Dijkstra, consumes CPU  Models predict problems with OSPF processing  Example: synchronization  Question: what is the behavior of OSPF in reality?

Enterprise Network Case Study  OSPF network  15 areas, 500 routers This case study covers 8 areas, 250 routers One month: April 2002  Databases and applications live in area 0  Link-layer = Ethernet-based LANs  Customers are connected via leased lines  Customer routes are injected via EIGRP into OSPF The routes are propagated via external LSAs Quite reasonable for the enterprise network in question 27

Measurement Architecture 28 Area 1 Area 0 Area 2 LSAR 1 LSAR 2 LSAG Real-time Monitoring OSPFScan Offline Analysis Customer Routes Reflectors Listen to LSA advertisements Do not advertise new routes

Categorizing LSA Traffic 29  Refresh LSA  Periodic refresh of router soft-state (30 minute timer)  Forms baseline of LSA traffic  Question: does it synchronize, as predicted?  Change LSA  Triggered by changes in link state  May indicate an anomaly or problem  Duplicate LSA  Reliable flooding may results in duplicate LSAs  Wastes resources, should be minimized

30 Area 4 Days Area 3 Days Area 2 Days Area 0 Days Duplicate LSAs Change LSAs Refresh LSAs Why so many dups? Why so many changes? LSA Traffic in Different Areas 30 In theory, all regions are supposed to be homogeneous Why is there so much variation?

 Refresh LSA traffic is predictable  Derived from configuration file information  Important for workload modeling Area 2Area 3 Days Refresh LSAs 31

 No evidence of synchronization  Contrary to simulation-based study  Reasons  Changes in the topology help break synchronization  Drift in the refresh interval of different routers 32 Refresh is Not Synchronized 32 No clumping of LSAs

 Persistent problems lead to numerous change LSAs  Internal LSA spikes due to hardware router problems Identified a problem early and led to preventive maintenance  External LSA spikes due to customer route volatility Overload of an external link causes EIGRP session on that link to flap Causes of Change LSAs 33 Bizarre, temporal problems

 Why do some areas witness substantial duplicate LSA traffic?  Control plane asymmetry during LSA flooding  Some announcement patterns results in significant duplicates 34 Days Overhead from Duplicate LSAs 34

Summary of Results 35  Challenge assumptions about LSA synchronization  Refresh LSAs are bulk of traffic  Models predict synchronization  In practice, this problem doesn’t occur  Detect, diagnose, and act on anomalies  Existing, SNMP based measures are inadequate  Change LSAs indicate partial failure modes Essentially, an early warning system before total failure  Propose changes to improve performance  Simple configuration changes to reduce duplicate LSAs