William Stallings Data and Computer Communications 7 th Edition. Chapter 12 Routing

Similar documents
Alternate Routing Diagram

Chapter 12. Routing and Routing Protocols 12-1

Lecture 4 Wide Area Networks - Routing

Data and Computer Communications. Chapter 12 Routing in Switched Networks

William Stallings Data and Computer Communications. Chapter 10 Packet Switching

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS

Routing in packet-switching networks

Routing Strategies. Fixed Routing. Fixed Flooding Random Adaptive

This Lecture. BUS Computer Facilities Network Management. Switching Network. Simple Switching Network

Computer Networks. Wenzhong Li. Nanjing University

Routing in Switched Networks

Lecture (08, 09) Routing in Switched Networks

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

Routing in Switched Data Networks

Fairness Example: high priority for nearby stations Optimality Efficiency overhead

ETSF05/ETSF10 Internet Protocols Routing on the Internet

5.2 Routing Algorithms

Routing Algorithms. CS158a Chris Pollett Apr 4, 2007.

Routing. 4. Mar INF-3190: Switching and Routing

ROUTING IN SWITCHED NETWORKS

ECE 333: Introduction to Communication Networks Fall 2001

CEN445 Network Protocols and Algorithms. Chapter 2. Routing Algorithms. Dr. Ridha Ouni

Course Routing Classification Properties Routing Protocols 1/39

UNIT 2 ROUTING ALGORITHMS

Routing. Advanced Computer Networks: Routing 1

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

CS644 Advanced Networks

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

C13b: Routing Problem and Algorithms

Packet Switching. Raj Jain. Professor of CIS. The Ohio State University

Routing Protocols. The routers in an internet are responsible for receiving and. forwarding IP datagrams through the interconnected set of

ECE 435 Network Engineering Lecture 11

Redes de Computadores. Shortest Paths in Networks

Layer 3: Network Layer. 9. Mar INF-3190: Switching and Routing

IP Routing. Bharat S. Chaudhari International Institute of Information Technology Pune, India

Module 8. Routing. Version 2 ECE, IIT Kharagpur

CIS 632 / EEC 687 Mobile Computing

Chapter 5 (Week 9) The Network Layer ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP BLM431 Computer Networks Dr.

CSC 401 Data and Computer Communications Networks

Routing, Routing Algorithms & Protocols

Wide area networks: packet switching and congestion

To contain/reduce broadcast traffic, we need to reduce the size of the network (i.e., LAN).

Routing. Information Networks p.1/35

The Network Layer. Network Layer Design Objectives

ECE 435 Network Engineering Lecture 11

CSC 4900 Computer Networks: Routing Algorithms

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 13

Routing Basics. What is Routing? Routing Components. Path Determination CHAPTER

Routing. Routing. Overview. Overview. Routing vs. Forwarding. Why Routing

Routing Algorithms : Fundamentals of Computer Networks Bill Nace

CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL

DATA COMMUNICATOIN NETWORKING

Routing Algorithms. Daniel Zappala. CS 460 Computer Networking Brigham Young University

VI. ROUTING. - "routing protocol" nodes exchange information to ensure consistent understanding of paths

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

How Routing Algorithms Work

CSE 461 Routing. Routing. Focus: Distance-vector and link-state Shortest path routing Key properties of schemes

CS 457 Networking and the Internet. What is Routing. Forwarding versus Routing 9/27/16. Fall 2016 Indrajit Ray. A famous quotation from RFC 791

Internet Architecture. Network Layer Overview. Fundamental Network Layer Function. Protocol Layering and Data. Computer Networks 9/23/2009

Distributed Routing. EECS 228 Abhay Parekh

EITF25 Internet Routing. Jens A Andersson

Multiplexing From one channel to multiple channels

Intra-domain Routing

Chapter 4 Network Layer. Network Layer 4-1

Missing Pieces of the Puzzle

Outline EEC-682/782 Computer Networks I. Midterm 1 Statistics. Midterm 1 Statistics. High 99, Low 34, Average 66

Lecture 4. The Network Layer (cont d)

Unit 2 Packet Switching Networks - II

ICMP, ARP, RARP, IGMP

What is Routing? EE 122: Shortest Path Routing. Example. Internet Routing. Ion Stoica TAs: Junda Liu, DK Moon, David Zats

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

CS 457 Networking and the Internet. Shortest-Path Problem. Dijkstra s Shortest-Path Algorithm 9/29/16. Fall 2016

Link-State Routing OSPF

Course 6. Internetworking Routing 1/33

Exercise 3. RIP and OSPF

A Fuzzy System for Adaptive Network Routing

CMPE 150: Introduction to Computer Networks

6.02 Fall 2014! Lecture #21. Failures in routing Routing loops Counting to infinity

EE 122: Intra-domain routing

The Open System Interconnect model

Announcement. Project 2 extended to 2/20 midnight Project 3 available this weekend Homework 3 available today, will put it online

Reinforcement learning algorithms for non-stationary environments. Devika Subramanian Rice University

Routing in a network

Lesson 5-2: Open Shortest Path First Protocol

We will discuss about three different static routing algorithms 1. Shortest Path Routing 2. Flooding 3. Flow Based Routing

COM-208: Computer Networks - Homework 6

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

Lecture on Computer Networks

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks

Internetworking Terms. Internet Structure. Internet Structure. Chapter 15&16 Internetworking. Internetwork Structure & Terms

Introduction to Internet Routing

Confidence Based Dual Reinforcement Q-Routing: An adaptive online network routing algorithm

Data Communication Networks Final

Network layer. Network Layer 4-1. application transport network data link physical. network data link physical. network data link physical

CSCE 463/612 Networks and Distributed Processing Spring 2017

UNIT 2 TRANSPORT LAYER

Chapter 4: Network Layer

Telecommunication Protocols Laboratory Course. Lecture 3

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013

Transcription:

William Stallings Data and Computer Communications 7 th Edition Chapter 12 Routing

Routing in Circuit Switched Network Many connections will need paths through more than one switch Need to find a route Efficiency Resilience Public telephone switches are a tree structure Static routing uses the same approach all the time Dynamic routing allows for changes in routing depending on traffic Uses a peer structure for nodes

Alternate Routing Possible routes between end offices predefined Originating switch selects appropriate route Routes listed in preference order Different sets of routes may be used at different times

Alternate Routing Diagram

Routing in Packet Switched Network Complex, crucial aspect of packet switched networks Characteristics required Correctness Simplicity Robustness Stability Fairness Optimality Efficiency

Performance Criteria Used for selection of route Minimum hop Least cost See Stallings appendix 10A for routing algorithms

Example Packet Switched Network

Decision Time and Place Time Packet or virtual circuit basis Place Distributed Made by each node Centralized Source

Network Information Source and Update Timing Routing decisions usually based on knowledge of network (not always) Distributed routing Nodes use local knowledge May collect info from adjacent nodes May collect info from all nodes on a potential route Central routing Collect info from all nodes Update timing When is network info held by nodes updated Fixed - never updated Adaptive - regular updates

Routing Strategies Fixed Flooding Random Adaptive

Fixed Routing Single permanent route for each source to destination pair Determine routes using a least cost algorithm (appendix 10A) Route fixed, at least until a change in network topology

Fixed Routing Tables

Flooding No network info required Packet sent by node to every neighbor Incoming packets retransmitted on every link except incoming link Eventually a number of copies will arrive at destination Each packet is uniquely numbered so duplicates can be discarded Nodes can remember packets already forwarded to keep network load in bounds Can include a hop count in packets

Flooding Example

Properties of Flooding All possible routes are tried Very robust At least one packet will have taken minimum hop count route Can be used to set up virtual circuit All nodes are visited Useful to distribute information (e.g. routing)

Random Routing Node selects one outgoing path for retransmission of incoming packet Selection can be random or round robin Can select outgoing path based on probability calculation No network info needed Route is typically not least cost nor minimum hop

Adaptive Routing Used by almost all packet switching networks Routing decisions change as conditions on the network change Failure Congestion Requires info about network Decisions more complex Tradeoff between quality of network info and overhead Reacting too quickly can cause oscillation Too slowly to be relevant

Adaptive Routing - Advantages Improved performance Aid congestion control (See chapter 13) Complex system May not realize theoretical benefits

Classification Based on information sources Local (isolated) Route to outgoing link with shortest queue Can include bias for each destination Rarely used - do not make use of easily available info Adjacent nodes All nodes

Isolated Adaptive Routing

ARPANET Routing Strategies(1) First Generation 1969 Distributed adaptive Estimated delay as performance criterion Bellman-Ford algorithm (appendix 10a) Node exchanges delay vector with neighbors Update routing table based on incoming info Doesn't consider line speed, just queue length Queue length not a good measurement of delay Responds slowly to congestion

ARPANET Routing Strategies(2) Second Generation 1979 Uses delay as performance criterion Delay measured directly Uses Dijkstra s algorithm (appendix 10a) Good under light and medium loads Under heavy loads, little correlation between reported delays and those experienced

ARPANET Routing Strategies(3) Third Generation 1987 Link cost calculations changed Measure average delay over last 10 seconds Normalize based on current value and previous results

Least Cost Algorithms Basis for routing decisions Can minimize hop with each link cost 1 Can have link value inversely proportional to capacity Given network of nodes connected by bi-directional links Each link has a cost in each direction Define cost of path between two nodes as sum of costs of links traversed For each pair of nodes, find a path with the least cost Link costs in different directions may be different E.g. length of packet queue

Dijkstra s Algorithm Definitions Find shortest paths from given source node to all other nodes, by developing paths in order of increasing path length N = set of nodes in the network s = source node T = set of nodes so far incorporated by the algorithm w(i, j) = link cost from node i to node j w(i, i) = 0 w(i, j) = if the two nodes are not directly connected w(i, j) 0 if the two nodes are directly connected L(n) = cost of least-cost path from node s to node n currently known At termination, L(n) is cost of least-cost path from s to n

Dijkstra s Algorithm Method Step 1 [Initialization] T = {s} Set of nodes so far incorporated consists of only source node L(n) = w(s, n) for n s Initial path costs to neighboring nodes are simply link costs Step 2 [Get Next Node] Find neighboring node not in T with least-cost path from s Incorporate node into T Also incorporate the edge that is incident on that node and a node in T that contributes to the path Step 3 [Update Least-Cost Paths] L(n) = min[l(n), L(x) + w(x, n)] for all n T If latter term is minimum, path from s to n is path from s to x concatenated with edge from x to n Algorithm terminates when all nodes have been added to T

Dijkstra s Algorithm Notes At termination, value L(x) associated with each node x is cost (length) of least-cost path from s to x. In addition, T defines least-cost path from s to each other node One iteration of steps 2 and 3 adds one new node to T Defines least cost path from s tothat node

Example of Dijkstra s Algorithm

Ite rat ion Results of Example Dijkstra s Algorithm T L(2) Path L(3) Path L(4) Path L(5) Path L(6 ) 1 {1} 2 1 2 5 1-3 1 1 4 - - Path 2 {1,4} 2 1 2 4 1-4-3 1 1 4 2 1-4 5-3 {1, 2, 4} 2 1 2 4 1-4-3 1 1 4 2 1-4 5-4 {1, 2, 4, 5} 2 1 2 3 1-4-5 3 1 1 4 2 1-4 5 4 1-4-5 6 5 {1, 2, 3, 4, 5} 2 1 2 3 1-4-5 3 1 1 4 2 1-4 5 4 1-4-5 6 6 {1, 2, 3, 4, 5, 6} 2 1-2 3 1-4-5-3 1 1-4 2 1-4 5 4 1-4-5-6

Bellman-Ford Algorithm Definitions Find shortest paths from given node subject to constraint that paths contain at most one link Find the shortest paths with a constraint of paths of at most two links And so on s = source node w(i, j) = link cost from node i to node j w(i, i) = 0 w(i, j) = if the two nodes are not directly connected w(i, j) 0 if the two nodes are directly connected h = maximum number of links in path at current stage of the algorithm L h (n) = cost of least-cost path from s to n under constraint of no more than h links

Bellman-Ford Algorithm Method Step 1 [Initialization] L 0 (n) =, for all n s L h (s) = 0, for all h Step 2 [Update] For each successive h 0 For each n s, compute L h+1 (n)= min j[l h (j)+w(j,n)] Connect n with predecessor node j that achieves minimum Eliminate any connection of n with different predecessor node formed during an earlier iteration Path from s to n terminates with link from j to n

Bellman-Ford Algorithm Notes For each iteration of step 2 with h=k and for each destination node n, algorithm compares paths from s to n of length K=1 with path from previous iteration If previous path shorter it is retained Otherwise new path is defined

Example of Bellman-Ford Algorithm

Results of Bellman-Ford Example h L h (2) Path L h (3) Path L h (4) Path L h (5) Path L h (6) Path 0 - - - - - 1 2 1-2 5 1-3 1 1-4 - - 2 2 1-2 4 1-4-3 1 1-4 2 1-4-5 10 1-3-6 3 2 1-2 3 1-4-5-3 1 1-4 2 1-4-5 4 1-4-5-6 4 2 1-2 3 1-4-5-3 1 1-4 2 1-4-5 4 1-4-5-6

Comparison Results from two algorithms agree Information gathered Bellman-Ford Calculation for node n involves knowledge of link cost to all neighboring nodes plus total cost to each neighbor from s Each node can maintain set of costs and paths for every other node Can exchange information with direct neighbors Can update costs and paths based on information from neighbors and knowledge of link costs Dijkstra Each node needs complete topology Must know link costs of all links in network Must exchange information with all other nodes

Evaluation Dependent on processing time of algorithms Dependent on amount of information required from other nodes Implementation specific Both converge under static topology and costs Converge to same solution If link costs change, algorithms will attempt to catch up If link costs depend on traffic, which depends on routes chosen, then feedback May result in instability

Required Reading Stalling Chapter 12 Routing information from Comer D. Internetworking with TCP/IP Volume 1, Prentice Hall, Upper Saddle River NJ.