Routing in Communication Networks Routing: Network layer protocol that guides information units to correct destinations. A complex collection of decision.

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Chapter 5: Tree Constructions
1 Routing Protocols I. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
Ch. 12 Routing in Switched Networks Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the.
Data and Computer Communications
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Multicast in Wireless Mesh Network Xuan (William) Zhang Xun Shi.
Jaringan Komputer Lanjut Packet Switching Network.
Data and Computer Communications Ninth Edition by William Stallings Chapter 12 – Routing in Switched Data Networks Data and Computer Communications, Ninth.
Computer Networks with Internet Technology William Stallings
Chapter 4: Network Layer
Routing Strategies Fixed Routing
Chapter 5 Routing Algorithm in Networks. How are message routed from origin to destination? 1) Circuit-Switching → telephone net. Dedicated bandwidth.
EE 4272Spring, 2003 Chapter 10 Packet Switching Packet Switching Principles  Switching Techniques  Packet Size  Comparison of Circuit Switching & Packet.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Wide Area Networks School of Business Eastern Illinois University © Abdou Illia, Spring 2007 (Week 11, Thursday 3/22/2007)
Computer Networks The Data Link / Network Layer Functions: Routing
Data Communications Packet Switching.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
TCOM 501: Networking Theory & Fundamentals
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
Intradomain Routing EECS 122: Lecture 10 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
Routing Protocol Pertemuan 21 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 21 Introduction to Computer Networks.
1 Shortest Path Algorithms. 2 Routing Algorithms Shortest path routing What is a shortest path? –Minimum number of hops? –Minimum distance? There is a.
EECC694 - Shaaban #1 lec #7 Spring The OSI Reference Model Network Layer.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Connecting LANs, Backbone Networks, and Virtual LANs
Flow Models and Optimal Routing. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and.
Data Communications & Computer Networks
Routing Algorithms (Ch5 of Computer Network by A. Tanenbaum)
SAvPS – úvod Genči 2009 (bsaed on Tanenbaum’s slides.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
1 Pertemuan 20 Teknik Routing Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
Chapter 12 Routing in Switched Networks. Routing in Packet Switched Network  key design issue for (packet) switched networks  select route across network.
Distributed Asynchronous Bellman-Ford Algorithm
Packet-Switching Networks Routing in Packet Networks.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
TCP Traffic and Congestion Control in ATM Networks
Network and Communications Ju Wang Chapter 5 Routing Algorithm Adopted from Choi’s notes Virginia Commonwealth University.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
Solution to HW1. Problem 1 Need to find shortest path from a single source s to a single destination d. Have a condition in the Dijkstra algo loop which.
CSCI 465 D ata Communications and Networks Lecture 15 Martin van Bommel CSCI 465 Data Communications & Networks 1.
CSC 311 CHAPTER TEN CONNECTING NETWORKS. CSC 311 We have looked at several different network topologies Why do we have different types of networks? Why.
Data Communications and Networking Chapter 11 Routing in Switched Networks References: Book Chapters 12.1, 12.3 Data and Computer Communications, 8th edition.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
TELE202 Lecture 6 Routing in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Packet switching in Wide Area Networks »Source: chapter 10 ¥This Lecture.
William Stallings Data and Computer Communications 7th Edition
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
2/14/2016  A. Orda, A. Segall, 1 Queueing Networks M nodes external arrival rate (Poisson) service rate in each node (exponential) upon service completion.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Graph Algorithms Why graph algorithms ? It is not a “graph theory” course! Many problems in networks can be modeled as graph problems. Note that -The topology.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Distance Vector Routing
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 11.
6/12/2016© 2010 Raymond P. Jefferis IIILect The Network Layer.
William Stallings Data and Computer Communications
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
Network Layer – Routing 1
Intra-Domain Routing Jacob Strauss September 14, 2006.
Chapter 5 Network Layer.
Routing in Packet Networks Shortest Path Routing
ECE453 – Introduction to Computer Networks
Minimum Spanning Tree Algorithms
Computer network technology
Presentation transcript:

Routing in Communication Networks Routing: Network layer protocol that guides information units to correct destinations. A complex collection of decision rules that work somewhat independently. - Determination of allowable path set for each origin - destination pair - Broadcast of routing related information to all network nodes - Determination of particular path per arrived call.

Routing Types Virtual circuit routing Datagram routing

Characteristics Performance indices Throughput Delay Under light load: throughput = offered load Under heavy load: throughput = offered load - rejected load

Routing interacts with flow control to maintain the performance Traffic experiences delay depending on routing Flow control rejects a portion of load depending on delay

Routing Types Revisited Virtual circuit vs. datagram Centralized vs. distributed Static vs. adaptive Hierarchical vs. non hierarchical

Broadcasting Send information from a node to all nodes in networks (e.g., announcing equipment and link failures) Send information from a node to some selected subset of nodes Examples of broadcasting method: Flooding A node send a packet to all of its neighbors. Each neighbor sends the received packet to its neighbors and so on. Loop back should be eliminated. Multiple transmissions must be eliminated. Not efficient.

Example: Spanning Tree Connected sub-graph of network including all nodes No cycles Packets transmitted over spanning tree More efficient than flooding Packets transmitted N-1 times (N = number of nodes)

Routing Examples Shortest path routing Each link has a link length (> 0). Path length is the sum of link lengths over the path. Shortest path routing routes each packet over a minimum length path (i.e.,a greedy algorithm). Minimum hop routing: If every link has a unit link cost. Optimal routing Routes are determined for all OD pairs simultaneously for the good of entire network. Can eliminate potential oscillations in the shortest path routing. Hot potato routing Minimize buffer requirements. Arrived packets are routed on an out-going link from the list of links. Packets may get out of sequence. Packets may experience long delay.

Cut-through routing Minimizes delay. Packets are allowed to go out on an out-going link as soon as initial few bits arrive. Error checking and ARQ cannot be done. Link reservation is needed while transmitting a packet. Speed mismatch among links can create overflows/congestions.

ARPANET routing Adaptive and distributed datagram routing Shortest path routing based on link delay as link length Shortest paths are calculated using Bellman-Ford algorithm. Link lengths are updated every 10 seconds. TYMNET routing Centralized and adaptive virtual circuit routing Supervisor determines the routing for all nodes. Shortest lath routing based on link load as link length SNA routing Network manager chooses virtual paths for each OD pair Circuit switched routing Like virtual circuit routing Typically implemented with hierarchy

Interconnected Network Routing Involves gateways, routers, and bridges between networks Non hierarchical routing Control becomes complex. Much information needs be stored at each node.

Hierarchical routing long distance routing Routing within sub-network Lower information storage at potentially lower performance

Graphical Model for Routing Use of Graph Theoretic Model Undirected graph G = (N, A) N = finite non empty set of nodes A = collection of pairs of distinct nodes from N called arc. N = {1,2,3,4} A = {(1,2), (2,3), (4,1), (2,4)} Note: No loop No multiple arcs between the same pair of nodes A node is also called a vertex. An arc is also called an edge, link, or branch

Definition: A walk is a sequence of nodes (n 1, n 2, n 3,…,n l ) such that (n 1, n 2 ) (n 2, n 3 ),…(n l-1, n l ) are each an arc in G. Definition: A path is a walk with no repeated node. Definition: A cycle is a path with no repeated node expect for n 1 = n l. 1, 4, 2, 1, 4, 1 walk 1, 4, 2, 3 path 1, 2, 4, 1 cycle

Definition A graph is connected if from each node i, there is a path to any other nodes j unconnected graph

Lemma: Let G = (N,A) is a graph. S  N and S  N. Then G is connected if for any such S there is at least one arc (i, j) with i  S and j  S. Definition: g= (n, a) is a sub-graph of G=(N,A) if g is a graph and n  N and a  A. Definition: A tree is a connected graph with no cycle. Definition: A spanning tree of a graph G is a sub-graph of G that is a tree and that includes all nodes of G. S i S c j G

Spanning Tree Tree Spanning Tree G = (N, A)

Using the lemma, we can find an algorithm for generating a spanning tree of a connected graph G = (N,A)

Proof (that the algorithm above gives a spanning tree.): Note: In each step, we add one node and one arc. Since we start with one node and no arc, the algorithm must end with |N| nodes and |N |-1 arcs. We can use this algorithm to show that if G = (N, A) is connected then |A|  |N|-1 and G is a tree if |A| = |N|-1.

Minimum Weight Spanning Tree (MST) For G = (N,A), let each arc (i, j) has some weight w ij. We want to find a spanning tree with the minimum sum of arc weights. Definition Any sub-tree of an MST is called a fragment. Definition An arc having one node in a fragment and the other one outside the fragment is called an outgoing arc. Fact Given a fragment F, let  =(i, j) be a minimum weight outgoing arc form F where i  F and j  F. The F extended by the arc  and node j is fragment. F MST j  i

Kruskal’s Algorithm Start with each node being a fragment. Order the arc weights in an ascending order w 1, w 2, w 3, …,w |A|.. At each iteration, add an arc that has the minimum weight out of all arcs that are outgoing from all of the fragments    Kruskal’s algorithm can be made distributed if MST is unique. (Each fragment adds the minimum weight outgoing arc and includes the fragment on the other side of that arc.) If MST is not unique, Kruskal’s algorithm cannot be made distributed.

Prim-Dijkstra Algorithm Start with a single node (which is a fragment)     The resulting MST may not be unique. It all arc weights are distinct, the MST is unique.

Directed Graph (Digraph) For a graph G = (N,A), let N be a finite non empty set of nodes and let A be a collection of ordered pairs of distinct nodes from N. (There is no loop as before.) Definition Given a digraph G = (N, A), a graph G´=(N´, A´) is (undirected) associated graph if N´= N and (i, j)  A´ if (i,j)  A or (j,i)  A. Definition Walk, path, cycle in a digraph are those of the associated graph. Definition (n 1, n 2, n 3, …, n l ) is a directed walk in G if (n i, n i+1 ) is a directed arc in A for i=1, 2, 3,…, l

Definition G= (N, A) is strongly connected if for each pair i  N and j  N, there is a directed path from i to j. Fact G is connected if the associated graph is connected. Definition For a given digraph G = (N, A), assign to each arc (i, j), some number d ij as the length of the arc. The length of a path is the sum of the lengths of the arcs that comprise the path. Problem Definition Shortest Path Problem is a problem that finds, for any two given nodes i and j, a path with the shortest path length.

Bellman – Ford Algorithm At each step, calculate the shortest path using h or less arcs. At the end of the first step, we have the shortest paths using one arcs. At the end of the second step, we have shortest paths using two or less arcs. And so on. Example:

Example G = (N, A)

A path can contain at most |N|-1 arcs. Thus is the shortest path length from 1 to i. If for all i, is the shortest path length and we can stop the algorithm. At step h, the algorithm finds the shortest (  h) walk from 1 to i subject to constraint that node 1 is not repeated in the walk. Other nodes can potentially be repeated, however. If there is a negative length cycle, the algorithm will not converge. (We can have negative length arcs, but cannot have negative length cycles.) To get the shortest path, solve Bellman – Ford equations:

Dijkstra’s Algorithm All arc lengths must be positive Dijkstra’s algorithm is less computationally intensive than Bellman – Ford

Example Initial : Find shortest path from node 1. At each step, we need to use

Floyd-Warshall Find shortest path between al pairs of nodes at the same time. Arc lengths can be negative. No negative length cycles allowed. Iterate on the number of intermediate nodes in a path:

Distributed Bellman - Ford Finds the shortest path to a given node (say node 1) from all other nodes. Bellman-Ford algorithm is given by Where N(i) is set of all neighbors of i. Note: An alternative (perhaps better known) version is to find shortest path fro node 1 to all other nodes. (1) can be implemented in distributed manner. 1. All nodes will execute (1) simultaneously. 2. Exchange the results of the computation with their neighbors. 3. Execute (1) again with index h incremented by 1. Initial condition:

Algorithm will end in N-1 steps. It is not easy to synchronize all the nodes. If the network changes (e.g., due to failures), re-synchronization is needed. Distributed version of Bellman-Ford.  Execute indefinitely the following : Where is the latest estimate received from node are the latest arc length.  More formal notation: At each time t, node i has

Main Components of Distributed Bellman-Ford

Main Assumptions for Proper Working of Distributed Bellman-Ford Algorithm Nodes never stop updating the own estimates and receiving messages from all their neighbors. All initial node estimates and are non negative. All estimates communicated to node before initial time and received after are non negative. Old distance information is eventually purged. With the assumptions above: Proposition : There is a time such that for all D i is the correct shortest distance.

Routing in ARPANET Original version (1969) Length of each link depends on the number of packets waiting in the link queue. Nodes exchange information on the shortest distance every 625 msec. Bellman-Ford algorithm is used for shortest paths. Prone to oscillation. Modified version (1979) Length of each link is proportional to the average delay. Link length is updated every 10 seconds. Nodes exchange information on the length of their outgoing links every 60 seconds. Shortest path is calculated by Dijkstra’s algorithm. Prone to oscillation.

Optimal Routing We want to quantify the traffic congestion in a network in terms of the arrival processes. One common performance measure is the sum of packet delays. Formal representation of network performance:

Notation

Optimal Routing Problem Minimize

Optimization Lemma Let f be differentiable convex function of the n- dimensional vector x={x 1, x 2, … x n ). Let. X be a convex set of vectors. Then x*  X is an optimal solution of the problem: Minimize : f(x) Subject to : x  X

Proof

Optimality Condition

Proof

Summery of Optimal Condition A set of path flows is optimal iff path flow is positive only on the paths with a minimum first derivative length. Also at the optimum path flow vector, the path along which the traffic r w is split must have equal length. Example: r x1x1 r x2x2 C2C2 C1C1

Example r r

r

Feasible Direction Methods In optimal routing, there is a positive flow only on those paths with minimum first derivative length (MFDL). A path flow vector x is strictly sub optimal if there is a positive flow on a non NFDL path. Given a sub optimal path flow vector, we can improve the routing by shifting flows from non MFDL paths to MFDL paths. A path flow vector x={x p } that satisfies the constrains Suppose we have a non MFDL path flow vector x which is feasible.

Constraint Set Feasible descent directions at x Surface of equal cost

Frank – Wolfe Method

Example r=1 r

Topological Design Design a data network at minimum cost while maintaining the performance requirements. Assumptions Locations of terminal are known. Traffic level between each OD pair is known. Selection Topology of a communication sub network meeting the traffic demand. Topology of local access network Objectives Satisfy the average delay per packet constraint for a given routing scheme. Satisfy the reliability constraint with respect to node and link failures. Minimize cost. TT TTN NN N C C Access Network Subnet

Subnet Design Given Location of nodes Traffic demand between nodes Selections Capacity of links Flow of links Simplifications No reliability consideration Linear cost

Local Access Design Problem 1 Sub network is available. Design a network that connects a set of terminals to