Distance Vector Routing

Slides:



Advertisements
Similar presentations
What is “Routing”? Routing algorithm that part of the network layer responsible for deciding on which output line to transmit an incoming packet Adaptive.
Advertisements

What is “Routing”? Routing algorithm that part of the network layer responsible for deciding on which output line to transmit an incoming packet Adaptive.
13 –Routing Protocols Network Layer4-1. Network Layer4-2 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd.
CS 577 Advanced Computer Networks
Routing - I Important concepts: link state based routing, distance vector based routing.
Computer Networks: Routing
Networks: Routing1 Network Layer Routing. Networks: Routing2 Network Layer Concerned with getting packets from source to destination Network layer must.
CIS 235: Networks Fall, 2007 Western State College Computer Networks Fall, 2007 Prof Peterson.
EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Advanced Computer Networks: Routing1 Routing. 2 R R R R S SS s s s s ss s ss s R s R Backbone To internet or wide area network Organization Servers Gateway.
1 Announcement r CTEC code for TA CS 340 Lin Code: 322.
Distance-Vector Routing COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Michael Freedman
Networks: Routing1 Network Layer Routing. Networks: Routing2 Network Layer Concerned with getting packets from source to destination. The network layer.
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Data Communication and Networks Lecture 7 Networks: Part 2 Routing Algorithms October 27, 2005.
Computer Networks: Routing1 Network Layer Routing.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 13.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Lecture 7 Overview. Two Key Network-Layer Functions forwarding: move packets from router’s input to appropriate router output routing: determine route.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 18.
Networks: Routing1 Network Layer Routing. Networks: Routing2 Network Layer Concerned with getting packets from source to destination. The network layer.
Computer Networking Intra-Domain Routing, Part I RIP (Routing Information Protocol)
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.
Routing Primer Advanced Computer Networks. Routing Outline  Overview of Point-to-Point Routing (WAN)  Routing Algorithm Classification  Distance Vector.
Introduction 1 Lecture 21 Network Layer (Routing Activity) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science &
Network Layer4-1 Chapter 4 Network Layer Part 3: Routing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved.
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.
EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
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)
1 Network Layer Lecture 13 Imran Ahmed University of Management & Technology.
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 1 Network Layer Network Layer goals:  understand principles behind network layer services:  routing (path selection)  how a router works  instantiation.
Introduction 1 Lecture 19 Network Layer (Routing Algorithms) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
Transport Layer 3-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Chapter4_3.
Routing Algorithms and IP Addressing Routing Algorithms must be ▪ Correctness ▪ Simplicity ▪ Robustness ▪ Stability ▪ Fairness ▪ Optimality.
Routing Primer Internet of Things Fall Internet of Things Routing Primer Routing Outline  Overview of Point-to-Point Routing (WAN)  Routing Algorithm.
1 © 2004, Cisco Systems, Inc. All rights reserved. CCNA 1 Module 10 Routing Fundamentals and Subnets.
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:
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
CSE 421 Computer Networks. Chapter 4 Network Layer Thanks to you All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer.
Application Layer 2-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
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.
Computer Networks: Routing1 Network Layer Routing.
Network Layer Routing Networks: Routing.
CS 5565 Network Architecture and Protocols
Network Layer Introduction Datagram networks IP: Internet Protocol
Routing: Distance Vector Algorithm
Distance Vector Routing: overview
Road Map I. Introduction II. IP Protocols III. Transport Layer
Lecture 10 Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CS3516: These slides are generated from.
EEC-484/584 Computer Networks
Routers Routing algorithms
ECE453 – Introduction to Computer Networks
Advanced Computer Networks
EEC-484/584 Computer Networks
Network Layer Routing Networks: Routing.
Chapter 4: Network Layer
Network Layer (contd.) Routing
EE 122: Intra-domain routing: Distance Vector
Chapter 4: Network Layer
Network Layer Routing.
Presentation transcript:

Distance Vector Routing Computer Networks A15

Computer Networks Distance Vector Routing DV Routing Outline Internet Context Network Layer Routing (**K&R slides) Quick Routing Overview Distance Vector Routing (my version) Adapted from Tanenbaum & Perlman Texts Distance Vector Routing (K&R version) Summary Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Internet Context Computer Networks Distance Vector Routing

Metropolitan Area Network (MAN) Gateway Organization Servers To the Internet or wide area network s s Backbone R R R S Departmental Server S S R R R s s s s s s s s s Leon-Garcia & Widjaja: Communication Networks Computer Networks Distance Vector Routing

Wide Area Network (WAN) Interdomain level Border routers Internet service provider Autonomous system or domain Border routers LAN level Intradomain level Leon-Garcia & Widjaja: Communication Networks Computer Networks Distance Vector Routing

Modern Internet Backbone National service provider A National service provider B NAP NAP National service provider C Network Access Point National Internet Service Providers Leon-Garcia & Widjaja: Communication Networks Computer Networks Distance Vector Routing

Network Access Point NAP RA RB Route server LAN RC Leon-Garcia & Widjaja: Communication Networks Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Network Layer Routing Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Network Layer transport segment from sending to receiving host. on sending side, encapsulates segments into datagram packets. on receiving side, delivers segments to transport layer. network layer protocols in every host and router. router examines header fields in all IP datagrams passing through it. application transport network data link physical network data link physical application transport network data link physical K & R Computer Networks Distance Vector Routing

Two Key Network Layer Functions forwarding: move packets from router’s input to appropriate router output. routing: determine route taken by packets from source to destination. analogy: routing: process of planning trip from source to destination forwarding: process of getting through single interchange Computer Networks Distance Vector Routing

Interplay between Routing and Forwarding 1 2 3 0111 value in arriving packet’s header routing algorithm local forwarding table header value output link 0100 0101 1001 Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Router Node node 15 packet packet 17 Incoming Link Outgoing Link Server Router Buffer Computer Networks Distance Vector Routing

The Internet Network Layer Host, router network layer functions: Transport Layer: TCP, UDP IP protocol addressing conventions datagram format packet handling conventions Routing protocols path selection RIP, OSPF, BGP Network Layer forwarding table ICMP protocol error reporting router “signaling” Data Link Layer Physical Layer Computer Networks Distance Vector Routing

Quick Routing Overview Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Routing algorithm:: that part of the Network Layer responsible for deciding on which output line to transmit an incoming packet. Remember: For virtual circuit subnets the routing decision is made ONLY at set up. Algorithm properties:: correctness, simplicity, robustness, stability, fairness, optimality, and scalability. Computer Networks Distance Vector Routing

Routing Classification Adaptive Routing based on current measurements of traffic and/or topology. 1. centralized 2. isolated 3. distributed Non-Adaptive Routing routing computed in advance and off-line 1. flooding 2. static routing using shortest path algorithms Computer Networks Distance Vector Routing

Internetwork Routing [Halsall] Adaptive Routing Centralized Distributed Isolated [RCC] [IGP] Intradomain routing Interdomain routing [EGP] [BGP,IDRP] Interior Gateway Protocols Exterior Gateway Protocols Distance Vector routing Link State routing [RIP] [OSPF,IS-IS,PNNI] Computer Networks Distance Vector Routing

Adaptive Routing Design Design Issues: How much overhead is incurred due to gathering the routing information and sending routing packets? What is the time frame (i.e, the frequency) for sending routing packets in support of adaptive routing? What is the complexity of the routing strategy? Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Adaptive Routing Basic functions: 1. Measurement of pertinent network data. 2. Forwarding of information to where the routing computation will be done. 3. Compute the routing tables. 4. Convert the routing table information into a routing decision and then dispatch the data packet. Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Centralized Routing A W RCC B Z Computer Networks Distance Vector Routing

Distance Vector Routing {Tanenbaum & Perlman version} Computer Networks Distance Vector Routing

Distance Vector Routing Historically known as the old ARPANET routing algorithm {or known as Bellman-Ford (BF) algorithm}. BF Basic idea: each router maintains a Distance Vector table containing the distance between itself and ALL possible destination nodes. Distances,based on a chosen metric, are computed using information from the neighbors’ distance vectors. Distance Metric: usually hops or delay Computer Networks Distance Vector Routing

Distance Vector Routing Information kept by DV router each router has an ID associated with each link connected to a router, there is a link cost (static or dynamic). Distance Vector Table Initialization Distance to itself = 0 Distance to ALL other routers = infinity number Computer Networks Distance Vector Routing

Distance Vector Algorithm [Perlman] A router transmits its distance vector to each of its neighbors in a routing packet. Each router receives and saves the most recently received distance vector from each of its neighbors. A router recalculates its distance vector when: It receives a distance vector from a neighbor containing different information than before. It discovers that a link to a neighbor has gone down (i.e., a topology change). The DV calculation is based on minimizing the cost to each destination. Computer Networks Distance Vector Routing

Distance Vector Example Figure 5-9.(a) A subnet. (b) Input from A, I, H, K, and the new routing table for J. Tanenbaum

Distance Vector Routing {Kurose & Ross version} Computer Networks Distance Vector Routing

Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define dx(y) := cost of least-cost path from x to y Then dx(y) = min {c(x,v) + dv (y)} where min is taken over all neighbors v of x. v Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Bellman-Ford Example u y x w v z 2 1 3 5 Clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3 B-F equation says: du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 The node that achieves minimum is next hop in shortest path ➜ forwarding table. Namely, packets from u destined for z are forwarded out link between u and x. Computer Networks Distance Vector Routing

Distance Vector Algorithm (3) Dx(y) = estimate of least cost from x to y Node x knows cost to each neighbor v: c(x,v) Node x maintains distance vector Dx = [Dx(y): y є N ] Node x also maintains its neighbors’ distance vectors For each neighbor v, x maintains Dv = [Dv(y): y є N ] Computer Networks Distance Vector Routing

Distance Vector Algorithm (4) DV Basic idea: From time-to-time, each node sends its own distance vector estimate to neighbors. Asynchronous When a node x receives a new DV estimate from any neighbor v, it saves v’s distance vector and it updates its own DV using B-F equation: Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N Under minor, natural conditions, the estimate Dx(y) converges to the actual least cost dx(y). Computer Networks Distance Vector Routing

Distance Vector Algorithm (5) Iterative, asynchronous: each local iteration caused by: local link cost change DV update message from neighbor Distributed: each node notifies neighbors only when its DV changes neighbors then notify their neighbors if necessary. Each node: wait for (change in local link cost or msg from neighbor) recompute estimates if DV to any destination has changed, notify neighbors Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 node x table x y z x y z 0 2 7 ∞ from cost to cost to x y z x 2 3 from y 2 0 1 z 7 1 0 node y table cost to x z 1 2 7 y x y z x ∞ ∞ ∞ 2 0 1 y from z ∞ ∞ ∞ node z table cost to x y z x ∞ ∞ ∞ from y ∞ ∞ ∞ z 7 1 time Computer Networks Distance Vector Routing

Computer Networks Distance Vector Routing Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 node x table x y z x y z 0 2 7 ∞ from cost to cost to cost to x y z x y z x 0 2 3 x 0 2 3 from y 2 0 1 from y 2 0 1 z 7 1 0 z 3 1 0 ∞ node y table cost to cost to cost to x z 1 2 7 y x y z x y z x y z x ∞ ∞ ∞ x 0 2 7 2 0 1 x 0 2 3 y from y from 2 0 1 from 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 y from y 2 0 1 from y 2 0 1 ∞ ∞ ∞ z z z 3 1 0 3 1 0 7 1 time Computer Networks Distance Vector Routing

Distance Vector: Link Cost Changes node detects local link cost change. updates routing info, recalculates distance vector. if DV changes, it notifies neighbors . x z 1 4 50 y At time t0, y detects the link-cost change, updates its DV, and informs its neighbors. “good news travels fast” At time t1, z receives the update from y and updates its table. It computes a new least cost to x and sends its neighbors its 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. Computer Networks Distance Vector Routing

Distance Vector: Link Cost Changes good news travels fast bad news travels slow - “count to infinity” problem! 44 iterations before algorithm stabilizes: see text! Poisoned 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) will this completely solve count to infinity problem? x z 1 4 50 y 60 Computer Networks Distance Vector Routing

Distance Vector Summary The Network Layer is responsible for routing and forwarding. The routing process is used to build forwarding lookup tables. Forwarding uses the lookup table to move an incoming packet to the correct outgoing link queue. Routing algorithms use link cost metrics such as hops or delay. Distance Vector (DV) is an intradomain adaptive routing algorithm that does not scale well. Computer Networks Distance Vector Routing

Distance Vector Summary DV (originally the old ARPA algorithm) employs the Bellman-Ford shortest path algorithm and currently is used in the RIP, RIP-2, BGP, ISO IDRP and Novell IPX protocols. DV routers: keep distances to ALL intranet routers in a distance vector which is periodically updated and transmitted to each of its neighbors. reacts to changes in its neighbors’ distance vectors and to topology changes (i.e., nodes and/or links coming up or going down). In distance vector routing “bad news travels slowly and good news travels quickly”. Computer Networks Distance Vector Routing