TCP Traffic and Congestion Control in ATM Networks

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Joining LANs - Bridges. Connecting LANs 4 Repeater –Operates at the Physical layer no decision making, processing signal boosting only 4 Bridges –operates.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
William Stallings Data and Computer Communications 7 th Edition Chapter 12 Routing.
Data and Computer Communications Ninth Edition by William Stallings Chapter 12 – Routing in Switched Data Networks Data and Computer Communications, Ninth.
Routing Basics What’s going on the back … Faisal Karim Shaikh DEWSNet Group Dependable Embedded Wired/Wireless Networks.
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
Data Structures Using C++
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
CMPS 2433 Discrete Structures Chapter 5 - Trees R. HALVERSON – MIDWESTERN STATE UNIVERSITY.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Applied Discrete Mathematics Week 12: Trees
1 Routing Lesson 10 NETS2150/2850 School of Information Technologies.
CS 311 Graph Algorithms. Definitions A Graph G = (V, E) where V is a set of vertices and E is a set of edges, An edge is a pair (u,v) where u,v  V. If.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Computer Networks The Data Link / Network Layer Functions: Routing
Introduction to Graphs
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Spring 2010CS 2251 Graphs Chapter 10. Spring 2010CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
TCOM 501: Networking Theory & Fundamentals
Fall 2007CS 2251 Graphs Chapter 12. Fall 2007CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs To.
William Stallings Data and Computer Communications 7th Edition (Selected slides used for lectures at Bina Nusantara University) Routing.
Discrete Mathematics Lecture 9 Alexander Bukharovich New York University.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
C o n f i d e n t i a l HOME NEXT Subject Name: Data Structure Using C Unit Title: Graphs.
Data Structures Using C++ 2E
Copyright © Cengage Learning. All rights reserved.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Graph Theoretic Concepts. What is a graph? A set of vertices (or nodes) linked by edges Mathematically, we often write G = (V,E)  V: set of vertices,
Chapter 2 Graph Algorithms.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
COSC 2007 Data Structures II Chapter 14 Graphs III.
May 1, 2002Applied Discrete Mathematics Week 13: Graphs and Trees 1News CSEMS Scholarships for CS and Math students (US citizens only) $3,125 per year.
Introduction to Graphs. Introduction Graphs are a generalization of trees –Nodes or verticies –Edges or arcs Two kinds of graphs –Directed –Undirected.
Data Communications and Networking Chapter 11 Routing in Switched Networks References: Book Chapters 12.1, 12.3 Data and Computer Communications, 8th edition.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
COSC 2007 Data Structures II Chapter 14 Graphs I.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
William Stallings Data and Computer Communications 7th Edition
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
© 2006 Pearson Addison-Wesley. All rights reserved 14 A-1 Chapter 14 Graphs.
Graphs Upon completion you will be able to:
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Chapter 9: Graphs.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Chapter 05 Introduction to Graph And Search Algorithms.
Data Structures and Algorithm Analysis Graph Algorithms Lecturer: Jing Liu Homepage:
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
ROUTING ON THE INTERNET COSC Jun-16. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
1 GRAPHS – Definitions A graph G = (V, E) consists of –a set of vertices, V, and –a set of edges, E, where each edge is a pair (v,w) s.t. v,w  V Vertices.
1 Data Structures and Algorithms Graphs. 2 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms:
Dijkstra’s shortest path Algorithm
Agenda Lecture Content: Introduction to Graph Path and Cycle
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
Graphs Chapter 11 Objectives Upon completion you will be able to:
Chapter 11 Graphs.
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
Text Book: Introduction to algorithms By C L R S
CSCI 465 Data Communications and Networks Lecture 16
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

TCP Traffic and Congestion Control in ATM Networks Chapter 14 Overview of Graph Theory and Least-Cost Paths Chapter 14 Overview of Graph Theory and Least-Cost Paths Chapter 13

Introduction Comms networks can be represented by graphs Switches & routers are vertices Comms lines are edges Routing protocols use shortest path algorithms This chapter is background to chapters on routing Chapter 14 Overview of Graph Theory and Least-Cost Paths

Elementary Concepts Graph G(V,E) is two sets of objects Vertices (or nodes) , set V Edges, set E Defined as an unordered pair of vertices Shown as dots or circles (vertices) joined by lines (edges) Vertex i is adjacent to vertex j if (i,j)  E Magnitude of graph G characterised by number of vertices |V| (called the order of G) and number of edges |E|, size of G Running time of algorithm measured in terms of order and size Chapter 14 Overview of Graph Theory and Least-Cost Paths

Example Graph Chapter 14 Overview of Graph Theory and Least-Cost Paths

Adjacent Matrix Used to represent graph Number vertices Arbitrary 1,2,3,…,|V| The |V| x |V| adjacent matrix A=(ai,j) defined by: ai,j = 1 if (i,j)  E 0 otherwise Matrix symmetrical about upper left to lower right diagonal Because edge defined as unordered pair Chapter 14 Overview of Graph Theory and Least-Cost Paths

Adjacent Matrix Example Chapter 14 Overview of Graph Theory and Least-Cost Paths

Terminology Two edges incident on same pair of vertices are parallel Edge incident on single vertex is a loop Graph with neither parallel edges nor loos is simple Path from vertex i to vertex j is: Alternating sequence of vertices and edge Starting at i and ending at j Each edge joins vertices immediately before and after it Simple path – no vertex nor edge appears more than once In simple graph, simple path may be defined by sequence of vertices Each vertex adjacent to preceding and following vertices No vertex repeated Chapter 14 Overview of Graph Theory and Least-Cost Paths

Simple Paths (1) From V1 to V6 (incomplete list) V1,V2,V3,V4,V5,V6 V1,V2,V3,V5,V6 V1,V2,V3,V6 V1,V2,V4,V3,V5,V6 V1,V2,V4,V5,V6 V1,V3,V2,V4,V5,V6 V1,V3,V6 V1,V4,V3,V6 Total of 14 paths (Work out the rest yourself) Chapter 14 Overview of Graph Theory and Least-Cost Paths

Simple Paths (2) V1,V3,V6 is shortest Distance between vertices is minimum number of edges on all paths Cycle is path staring and ending on same vertex E.g. V1,V3,V4,V1 Chapter 14 Overview of Graph Theory and Least-Cost Paths

Digraphs Directed graph G(V,E) with each edge defined by ordered pair of vertices Lines, representing edges, have arrow head to indicate direction Parallel edges allowed if in opposite directions Good for representing comms networks Each directed edge represents data flow in one direction Still use adjacent matrix Not symmetrical unless each pair of adjacent vertices connected by parallel edges Chapter 14 Overview of Graph Theory and Least-Cost Paths

Weighted Graph Or weighted digraph Number associated with each edge Used to illustrate routing algorithms Adjacent matrix defined as ai,j = wi,j if (i,j)  E 0 otherwise Where wi,j is weight associated with edge (i,j) Length of path is sum of weights Shortest-distance path not necessarily shortest-length (see next two slides) Chapter 14 Overview of Graph Theory and Least-Cost Paths

Weighted Graph and Adjacent Matrix Chapter 14 Overview of Graph Theory and Least-Cost Paths

Path Distances and Lengths V1 to V6 Path Distance Length V1,V2,V3,V4,V5,V6 5 11 V1,V2,V3,V5,V6 4 8 V1,V2,V3,V6 3 10 V1,V2,V4,V3,V5,V6 5 10 V1,V2,V4,V5,V6 4 7 V1,V3,V2,V4,V5,V6 5 16 V1,V3,V6 2 10 V1,V4,V5,V6 3 4 Chapter 14 Overview of Graph Theory and Least-Cost Paths

Trees Subset of graphs Equivalent definitions: Simple graph such that if i and j vertices in T, there is a unique simple path from i to j Simple graph of N vertices is tree if it has N-1 edges and no cycles Simple graph of N vertices is tree if it has N-1 edges and is connected One vertex may be designated root Root drawn at top Vertices adjacent to root drawn at next level Can reach root on path distance 1 Chapter 14 Overview of Graph Theory and Least-Cost Paths

Family Tree Each vertex (except root) has one parent vertex Adjacent vertex closer to root Each vertex has zero or more child vertices Adjacent vertices further from root Vertex without children is called a leaf Root assigned level 1 Vertices immediately under root level 1 Children of vertices on level 1 are on level 2 Chapter 14 Overview of Graph Theory and Least-Cost Paths

E.g. Tree Chapter 14 Overview of Graph Theory and Least-Cost Paths

Subgraph Subgraph of graph G obtained by selecting number of edges and vertices from G For each edge, the two vertices incident on that edge must be selected Give graph G(E,V), graph G’(E’,V’) is a subgraph of G iff V’  V and E’  E and  e’  E’, if e’ incident on v’ and w’ then v’, w’  V’ Chapter 14 Overview of Graph Theory and Least-Cost Paths

Spanning Tree Subgraph T of graph G is a spanning tree if T is a tree T includes all vertices of G In other words remove edges from G such that: Remove all cycles Maintain connectivity Not usually unique Chapter 14 Overview of Graph Theory and Least-Cost Paths

E.g. Spanning Trees For Previous Graph Also previous tree example (slide 16) Chapter 14 Overview of Graph Theory and Least-Cost Paths

Breadth First Search (BFS) for Spanning Tree Partition vertices of graph into sets at various levels Process all vertices on given level before proceeding to next level Start at any vertex, x Assign it level 0 All adjacent vertices are at level 1 Let Vi1, Vi2, Vi3,… Vij, be vertices at level i Consider all vertices adjacent Vi1 not at level 1,2,…,i Assign these level (i+1) Consider all vertices adjacent Vi2 not at level 1,2,3,…,i, (i+1) Assign these also level (i+1) Until all vertices processed Chapter 14 Overview of Graph Theory and Least-Cost Paths

E.g. Using Previous Graph Choose order Obvious one is V1,V2,V3,V4,V5,V6 Select root Again, obvious one is V1 Let tree T consist of single vertex V1 with no edges Add to T each edge (V1,x) and vertex x Such that no cycle is produced Gives edges (V1,V2), (V1,V3), (V1,V4) and vertices V1,V2, V3 This is first level Repeat for all level 1 vertices to give level 2 All vertices now added If not repeat for level 2 to give level 3 … Chapter 14 Overview of Graph Theory and Least-Cost Paths

BFS of Previous Graph Chapter 14 Overview of Graph Theory and Least-Cost Paths

Shortest Path Distance BFS finds shortest path distance from given source vertex to all other vertices Minimum number of edges in any path from s to v, δ(s,v) Chapter 14 Overview of Graph Theory and Least-Cost Paths

Estimated Running Time After initialization each vertex is used exactly once as a starting point for adding the next layer Time take is order of |V| Each edge already in tree is rejected if examined again Each edge not in tree is checked to see if it produces a cycle If not it is included Bulk of edge processing is once per edge Time take is order of |E| Total time taken is linear with |V| and |E| Chapter 14 Overview of Graph Theory and Least-Cost Paths

Shorted Path Length Determination Packet switching, frame relay or ATM network can be viewed as digraph Each node is a vertex Each link is a pair of parallel edges For an internet (Internet or intranet) Each router is vertex If routers directly connected (e.g. LAN or WAN) two way connection corresponds to pair of parallel edges If more than two routers, network represented by multiple pairs of parallel edges One pair connecting each pair of routers In both cases, routing decision needed to pass packet from source to destination Equivalent to finding path through a graph Chapter 14 Overview of Graph Theory and Least-Cost Paths

Routing Decisions Based on least cost Minimum number of hops Each edge (hop) has weight 1 Corresponds to minimum path distance Or, cost associated with each hop (next slide) Cost of path is sum of costs of links in path Want least cost path Corresponds to minimum path length in weighted digraph Chapter 14 Overview of Graph Theory and Least-Cost Paths

Cost of a Hop Inversely proportional to path capacity Proportional to current load Monetary cost of link etc. Combination May be different in different directions Chapter 14 Overview of Graph Theory and Least-Cost Paths

Dijkstra’s Algorithm (1) – Definitions N = set of vertices in network s = source vertex (starting point) T = set of vertices so far incorporated Tree = spanning tree for vertices in T including edges on least-cost path from s to each vertex in T w(i,j) = link cost from vertex i to vertex j w(i,i) = 0 w(i,j) =  if i, j not directly connected by a single edge w(i,j)  0 of i,j directly connected by single edge L(n) = cost of least cost path from s to n currently known At termination, this is least cost path from s to n Chapter 14 Overview of Graph Theory and Least-Cost Paths

Dijkstra’s Algorithm (2) – Steps Initialization T = Tree = {s} - only source is so far incorporated L(n) = w(s,n) for n  s - initial path cost to neighbors are link costs Get next vertex Find x  T such that L(x) = min L(j), j  T Add x to T and Tree Add edge to T incident on x and has least cost Last hop in path Update least cost paths L(n) = min[L(n), L(x) + w(x,n)]  n  T If latter term is minimum, path from s to n is now path from s to x concatenated with edge from x to n Chapter 14 Overview of Graph Theory and Least-Cost Paths

Dijkstra’s Algorithm (3) – Notes Terminate when all vertices added to T Requires |V| iterations At termination L(x) associated with each vertex is cost of least cost path from s to x Tree is a spanning tree Defines least cost path from s to each other vertex One step adds one vertex to T and defines least cost path from s to that vertex Running time order of |V|2 Chapter 14 Overview of Graph Theory and Least-Cost Paths

Dijkstra’s Algorithm on Example Graph Chapter 14 Overview of Graph Theory and Least-Cost Paths

Bellman-Ford Algorithm (1) – Definitions s = source vertex (starting point) w(i,j) = link cost from vertex i to vertex j w(i,i) = 0 w(i,j) =  if i, j not directly connected by a single edge w(i,j)  0 of i,j directly connected by single edge h = max number of links in path at current stage Lh(n) = cost of least cost path from s to n such that no more than h links Chapter 14 Overview of Graph Theory and Least-Cost Paths

Bellman-Ford Algorithm (2) – Steps Initialization L0(n) =   n  s Lh(s) = 0  h Update For each successive h  0 For each n  s, compute: Lh+1+(n) = min[Lh(j)+ w(j,n)],  j Connect n with predecessor vertex j that achieves minimum Eliminate any connection of n with different predecessor vertex from previous iteration Path from s to n terminates with link from j to n Chapter 14 Overview of Graph Theory and Least-Cost Paths

Bellman-Ford Algorithm (3) – Notes Results agree with Dijkstra Running time order of |V| x |E| Chapter 14 Overview of Graph Theory and Least-Cost Paths

Bellman-Ford Algorithm on Example Graph Chapter 14 Overview of Graph Theory and Least-Cost Paths

Results of Dijkstra and Bellman-Ford Chapter 14 Overview of Graph Theory and Least-Cost Paths

Comparison of Information Needed – Bellman-Ford Calculation for vertex n involves knowledge of link cost to all neighbors of n plus total path cost to each from source Each vertex can keep set of costs and paths for every other vertex in network Exchange information with direct neighbors Each vertex can use use Bellman-Ford step 2 based on information from neighbors and knowledge of link costs to update its costs and paths Chapter 14 Overview of Graph Theory and Least-Cost Paths

Comparison of Information Needed – Dijkstra Step 3 requires each vertex must have complete topology Must know link costs of all links in network Information must be exchanged between all other vertices Evaluation must also consider calculation time Chapter 14 Overview of Graph Theory and Least-Cost Paths

Other Notes Both Algorithms converge under static conditions of topology and link cost Give to same solution If link costs change, algorithms will attempt to catch up If link costs depend on traffic, which depends on routes chosen: Feedback condition exists Instability may result Chapter 14 Overview of Graph Theory and Least-Cost Paths