Courtesy: Nick McKeown, Stanford

Slides:



Advertisements
Similar presentations
CSCI-1680 Network Layer: Intra-domain Routing Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Advertisements

Computer Networks with Internet Technology William Stallings
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
TDC365 Spring 2001John Kristoff - DePaul University1 Interconnection Technologies Routing I.
Routing So how does the network layer do its business?
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
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
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 17/04/2007.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
Routing in Wired Nets CS 215 W 01 - Mario Gerla. Routing Principles Routing: delivering a packet to its destination on the best possible path Routing.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
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)
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Sirak Kaewjamnong Computer Network Tech and Security
Interior Gateway Protocols: RIP & OSPF
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Dynamic Routing Protocols  Function(s) of Dynamic Routing Protocols: – Dynamically share information between routers (Discover remote networks). – Automatically.
Routing/Routed Protocols. Remember: A Routed Protocol – defines logical addressing. Most notable example on the test – IP A Routing Protocol – fills the.
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
Packet-Switching Networks Routing in Packet Networks.
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
Routing and Routing Protocols Routing Protocols Overview.
M.Menelaou CCNA2 ROUTING. M.Menelaou ROUTING Routing is the process that a router uses to forward packets toward the destination network. A router makes.
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
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.
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.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
Routing and Routing Protocols
TCOM 515 Lecture 2. Lecture 2 Objectives Dynamic Routing Distance Vectore Routing Link State Routing Interior vs Exterior RIP - Routing Information Protocol.
ICS 156: Networking Lab Magda El Zarki Professor, ICS UC, Irvine.
Chapter 14 1 Unicast Routing Protocols There isn’t a person anywhere that isn’t capable of doing more than he thinks he can. - Henry Ford.
4: Network Layer4b-1 OSPF (Open Shortest Path First) r “open”: publicly available r Uses Link State algorithm m LS packet dissemination m Topology map.
Routing protocols. 1.Introduction A routing protocol is the communication used between routers. A routing protocol allows routers to share information.
Routing Algorithms and IP Addressing Routing Algorithms must be ▪ Correctness ▪ Simplicity ▪ Robustness ▪ Stability ▪ Fairness ▪ Optimality.
Routing Protocols Brandon Wagner.
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
Ch 22. Routing Direct and Indirect Delivery.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
CS440 Computer Networks 1 Link State Routing and OSPF Neil Tang 10/31/2008.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Inter-domain Routing Outline Border Gateway Protocol.
1. 2  An autonomous system is a region of the Internet that is administered by a single entity.  Examples of autonomous regions are:  UVA’s campus.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
+ Dynamic Routing Protocols 2 nd semester
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
CS 5565 Network Architecture and Protocols
: An Introduction to Computer Networks
Dynamic Routing Protocols II OSPF
CSE390 – Advanced Computer Networks
Network Layer Introduction Datagram networks IP: Internet Protocol
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Routing.
Chapter 5: Dynamic Routing
Dynamic Routing Protocols II OSPF
CS 4700 / CS 5700 Network Fundamentals
CS 3700 Networks and Distributed Systems
Intradomain Routing Outline Introduction to Routing
CS 3700 Networks and Distributed Systems
Computer Networking Lecture 10: Intra-Domain Routing
Communication Networks
EE 122: Intra-domain routing: Distance Vector
Communication Networks
Routing.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Presentation transcript:

Courtesy: Nick McKeown, Stanford Routing Algorithms Tahir Azim Courtesy: Nick McKeown, Stanford

Outline Overview of Routing in the Internet Algorithms Hierarchy and Autonomous Systems Algorithms Naïve: Flooding Distance vector: Distributed Bellman Ford Algorithm Link state: Dijkstra’s Shortest Path First-based Algorithm Interior and Exterior Routing Protocols Interior Routing Protocols: RIP, OSPF Exterior Routing Protocol: BGP Multicast Routing Routing is a very complex subject, and has many aspects. Here, we will concentrate on the basics. Courtesy: Nick McKeown, Stanford

Courtesy: Nick McKeown, Stanford The Problem “A” “B” R2 R1 R4 R3 How does R1 choose a next-hop on the path towards host B? Courtesy: Nick McKeown, Stanford

Courtesy: Nick McKeown, Stanford Routing Metrics Metrics Delay to send an average size packet (Make high speed links attractive, but closeness counts) Bandwidth Link utilization Stability: Is a link (or path) up or down? Today: about 1/3 of Internet routes are asymmetric Courtesy: Nick McKeown, Stanford

Example network Objective: Determine the route from A to B that minimizes the path cost. Examples of link cost: Distance, data rate, price, congestion/delay, … A R1 1 1 4 R2 R4 R6 2 3 2 2 R7 3 R5 2 R3 4 R8 B Courtesy: Nick McKeown, Stanford

Example network In this simple case, solution is clear from inspection 1 1 4 R2 R4 R6 2 3 2 2 R7 3 R5 2 R3 4 R8 B Courtesy: Nick McKeown, Stanford

So what about this network...!? The public Internet in 1999 Learn more at http://www.lumeta.com Courtesy: Nick McKeown, Stanford

Routing in the Internet The Internet uses hierarchical routing The Internet is split into Autonomous Systems (AS’s) Examples of AS’s: Stanford (32), HP (71), MCI Worldcom (17373) Try: whois –h whois.arin.net “MCI Worldcom” Within an AS, the administrator chooses an Interior Gateway Protocol (IGP) Examples of IGPs: RIP (rfc 1058), OSPF (rfc 1247). Between AS’s, the Internet uses an Exterior Gateway Protocol AS’s today use the Border Gateway Protocol, BGP-4 (rfc 1771) Courtesy: Nick McKeown, Stanford

Routing in the Internet AS ‘A’ AS ‘B’ AS ‘C’ BGP BGP Interior Gateway Protocol Interior Gateway Protocol Interior Gateway Protocol Stub AS Transit AS e.g. backbone service provider Stub AS Courtesy: Nick McKeown, Stanford

Courtesy: Nick McKeown, Stanford Routing Algorithms Courtesy: Nick McKeown, Stanford

Technique 1: Naïve Approach Flood! -- Routers forward packets to all ports except the ingress port. R1 Advantages: Simple. Every destination in the network is reachable. Disadvantages: Some routers receive a packet multiple times. Packets can go round in loops as long as TTL>0. Inefficient. Courtesy: Nick McKeown, Stanford

Spanning Trees Objective: Find the lowest cost route from each of (R1, …, R7) to R8. R1 1 1 4 R2 R4 R6 2 3 2 2 R7 3 R5 2 R3 4 R8 Courtesy: Nick McKeown, Stanford

Courtesy: Nick McKeown, Stanford A Spanning Tree 1 1 4 R1 R2 R4 R6 3 2 2 2 R7 R5 2 3 4 R3 R8 The solution is a spanning tree with R8 as the root of the tree. Tree: There are no loops. Spanning: All nodes included. We’ll see two algorithms that build spanning trees automatically: The distributed Bellman-Ford algorithm Dijkstra’s shortest path first algorithm Courtesy: Nick McKeown, Stanford

Technique 2: Distance Vector The Distributed Bellman-Ford Algorithm , for all i, to This is the “Distance vector”. Courtesy: Nick McKeown, Stanford

Bellman-Ford Algorithm Example R1 1 1 4 R2 R4 R6 2 3 2 2 R7 3 R5 2 R3 4 R8 R1 Inf R2 R3 4, R8 R4 R5 2, R8 R6 R7 3, R8 R2 R5 R7 R4 R6 R8 R3 R1 1 4 2 3 Courtesy: Nick McKeown, Stanford

Bellman-Ford Algorithm 6 4 6 2 1 1 4 R1 R2 R4 R6 3 2 3 2 2 2 R7 3 4 R5 2 4 R3 R8 R8 R6 R4 R2 R1 R3 R5 1 4 2 3 5 4 5 2 R7 Solution R1 5, R2 R2 4, R5 R3 4, R8 R4 R5 2, R8 R6 R7 3, R8 Courtesy: Nick McKeown, Stanford

Bellman-Ford Algorithm Questions: How long can the algorithm take to run? How do we know that the algorithm always converges? What happens when link costs change, or when routers/links fail? Topology changes make life hard for the Bellman-Ford algorithm… Courtesy: Nick McKeown, Stanford

A Problem with Bellman-Ford “Bad news travels slowly” 1 1 1 R1 R2 R3 R4 Consider the calculation of distances to R4: Time R1 R2 R3 3,R2 2,R3 1, R4 R3 R4 fails 1 3,R2 2,R3 3,R2 2 3,R2 4,R3 3,R2 3 5,R2 4,R3 5,R2 … “Counting to infinity” … … … Courtesy: Nick McKeown, Stanford

Counting to Infinity Problem Solutions Set infinity = “some small integer” (e.g. 16). Stop when count = 16. Split Horizon: Because R2 received lowest cost path from R3, it does not advertise cost to R3 Split-horizon with poison reverse: R2 advertises infinity to R3 There are many problems with (and fixes for) the Bellman-Ford algorithm. Courtesy: Nick McKeown, Stanford

Technique 3: Link State Dijkstra’s Shortest Path First Algorithm Routers send out update messages whenever the state of an incident link changes. Called “Link State Updates” Link State Updates are flooded throughout the network Based on all link state updates received each router calculates lowest cost path to all others, starting from itself. Use Dijkstra’s single-source shortest path algorithm Assume all updates are consistent At each step of the algorithm, router adds the next shortest (i.e. lowest-cost) path to the tree. Finds spanning tree rooted at the router. Courtesy: Nick McKeown, Stanford

Reliable Flooding of LSP The Link State Packet: The ID of the router that created the LSP List of directly connected neighbors and cost to each neighbor Sequence number TTL Reliable Flooding Resend LSP over all links other than incident link, if the sequence number is newer. Otherwise drop it. Link State Detection: Link layer failure Loss of “hello” packets Courtesy: Nick McKeown, Stanford

Example network (seen before) Objective: Determine the route from A to B that minimizes the path cost. A R1 1 1 4 R2 R4 R6 2 3 2 2 R7 3 R5 2 R3 4 R8 B Courtesy: Nick McKeown, Stanford

Dijkstra’s Shortest Path First Algorithm Example 2 R8 R6 2 R5 R8 2 R6 R7 2 3 R5 R8 2 Courtesy: Nick McKeown, Stanford

Dijkstra’s Shortest Path First Algorithm Example Courtesy: Nick McKeown, Stanford

Dijkstra’s SPF Algorithm 1 1 R1 R2 R4 R6 2 2 R7 3 R5 2 R8 R3 4 Courtesy: Nick McKeown, Stanford

Distance Vector vs Link State Messages Size: small with LS; potentially large with DV Exchange: LS  flood!; DV only to neighbors Space requirements LS maintains entire topology DV maintains only neighbor state Robustness: LS can broadcast incorrect/corrupted LSP Can be made robust since sources are aware of alternate paths DV can advertise incorrect paths to all destinations Incorrect calculation can spread to entire network Examples (coming up later): LS: OSPF DV: RIP, RIP2 Courtesy: Nick McKeown, Stanford