1 Note 8: Packet Switching Networks Routing in Packet Networks.

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Ch. 12 Routing in Switched Networks Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the.
Data and Computer Communications
Jaringan Komputer Lanjut Packet Switching Network.
CS4550: Computer Networks II network layer basics 3 routing & congestion control.
Computer Networks with Internet Technology William Stallings
Courtesy: Nick McKeown, Stanford
© 2007 Cisco Systems, Inc. All rights reserved.ICND2 v1.0—3-1 Medium-Sized Routed Network Construction Reviewing Routing Operations.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
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.
1 ENTS689L: Packet Processing and Switching Introduction Introduction Vahid Tabatabaee Fall 2007.
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
1 ELEN 602 Lecture 19 Routing. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing table –routing:
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 21 Introduction to Computer Networks.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
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)
Computer Networks Layering and Routing Dina Katabi
Delivery, Forwarding and
Data Communications & Computer Networks
Routing Algorithms (Ch5 of Computer Network by A. Tanenbaum)
Routing Concepts Warren Toomey GCIT. Introduction Switches need to know the link address and location of every station. Doesn't scale well, e.g. to several.
1 Pertemuan 20 Teknik Routing Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
Distributed Asynchronous Bellman-Ford Algorithm
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
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.
Computer Networking Packet Switching Networks Dr Sandra I. Woolley.
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.
Network Layer Routing in Packet Networks Shortest Path Routing Topic 6: Routing (Network Layer) Reference A. Leon-Garcia and I. Widjaja, Communication.
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.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
The Network Layer & Routing
CSCI 465 D ata Communications and Networks Lecture 15 Martin van Bommel CSCI 465 Data Communications & Networks 1.
The Network Layer.
Data Communications and Networking Chapter 11 Routing in Switched Networks References: Book Chapters 12.1, 12.3 Data and Computer Communications, 8th edition.
Distance Vector Local Signpost Direction Distance Routing Table For each destination list: Next Node Distance Table Synthesis Neighbors exchange table.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
Routing and Routing Protocols
Chapter 7 Packet-Switching Networks Network Services and Internal Network Operation Datagrams and Virtual Circuits Routing in Packet Networks Shortest.
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.
Routing Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific Institute of Information.
Routing protocols. Static Routing Routes to destinations are set up manually Route may be up or down but static routes will remain in the routing tables.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
Routing Algorithms and IP Addressing Routing Algorithms must be ▪ Correctness ▪ Simplicity ▪ Robustness ▪ Stability ▪ Fairness ▪ Optimality.
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
Lecture 7. Building Forwarding Tables There are several methods Static Method Dynamic Methods Centralized Distributed Distance Vector Link State.
Distance Vector Routing
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
4. Interconnecting Networks: Routers. © Tallal Elshabrawy 2 Bridges Vs Routers BRIDGES DO WELL IN SMALL (FEW HUNDRED HOSTS) WHILE ROUTERS USED IN LARGE.
Chapter 7 Packet-Switching Networks Shortest Path Routing.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
Centralized vs Distributed Routing
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Routing in Packet Networks Shortest Path Routing
Intradomain Routing Outline Introduction to Routing
Chapter 7 Packet-Switching Networks
Communication Networks NETW 501
Communication Networks
EE 122: Intra-domain routing: Distance Vector
Presentation transcript:

1 Note 8: Packet Switching Networks Routing in Packet Networks

Node (switch or router) Routing in Packet Networks Three possible (loopfree) routes from 1 to 6: –1-3-6, , Which is “best”? –Min delay? Min hop? Max bandwidth? Min cost? Max reliability?

3 Creating the Routing Tables Need information on state of links –Link up/down; congested; delay or other metrics Need to distribute link state information using a routing protocol –What information is exchanged? How often? –Exchange with neighbors; Broadcast or flood Need to compute routes based on information –Single metric; multiple metrics –Single route; alternate routes

4 Routing Algorithms A routing algorithm: a decision algorithm of finding a path from a source to destination to efficiently deliver packets Multiple paths: there may be many paths from a source to a destination, a routing algorithm is to find the BEST one! Optimality: one ’ s meat is another ’ s poison! a criterion must be set before we talk about optimality

5 An example An NJIT student –walk: does not cost anything but time (with additional benefit: exercise) –use a bike: you have to buy a bike –take a bus: cost a little (NJIT students get free ride?) but less convenient –drive: need to buy/rent a car, PARKING –take a taxi: cost a lot but less time Which “ path ” is optimal? Solution? Depends: need to consider money, time, convenience etc

6 Routing Algorithm Evaluation Correctness: loop-free and deadlock-free Simplicity: the simpler, the better Robustness or Adaptability: cope with changes of topology and traffic and with failures Stability: a stable path may be better Fairness: fair to all packets/users/paths/routers Optimality: in terms of indices according to network design objective Efficiency: the less overhead, the better (information vs. overhead/control messages)

7 Algorithm vs Protocol An algorithm is the method finding a path An protocol is the implementation of a routing algorithm, may involve interface designs, information collection, route maintenance/route repair, reaction to various changes etc Interchangeably used in some literature

8 Algorithm Classification Depending on where and when an algorithm is executed, may have many types of algorithms Static (fixed) vs. dynamic (adaptive) Centralized vs. distributed

9 Static Routing –Routing paths are precomputed offline by a dedicated server based on network topology, link capacities and other information –Routing paths are loaded to nodes and remain fixed for a relatively long period –Works when traffic predictable & network is small and simple –React slowly to network failures, traffic load & network topology changes Dynamic Routing –Each node calculates routes dynamically based on received updated network state information –Adapt quickly to changes in network conditions –Increased complexity in each node

10 Centralized vs Distributed Routing Centralized Routing –All routes determined by a central node –All state information sent to central node –Problems adapting to frequent topology changes –Does not scale well Distributed Routing –Routes determined by routers using distributed algorithm –State information exchanged by nodes –Adapts to topology and other changes –Better scalability –Inconsistent paths calculated by different nodes may lead to routing loops

A B C D Switch or router Host VCI Routing in Virtual-Circuit Packet Networks Route determined during connection setup Tables in switches implement forwarding that realizes selected route

12 Incoming Outgoing Node VCI A A A A 5 Incoming Outgoing Node VCI Incoming Outgoing Node VCI 3 7 B B 5 B B Incoming Outgoing Node VCI C C 6 Incoming Outgoing Node VCI Incoming Outgoing Node VCI 4 5 D 2 D Node 1 Node 2 Node 3 Node 4 Node 6 Node 5 Routing Tables in VC Packet Networks Example: VCI from A to D –From A & VCI 5 → 3 & VCI 3 → 4 & VCI 4 –→ 5 & VCI 5 → D & VCI 2

Node 1 Node 2 Node 3 Node 4 Node 6 Node Destination Next node Destination Next node Routing Tables in Datagram Packet Networks

14 Flat vs Hierarchical Routing Flat Routing –All routers are peers –Does not scale Hierarchical Routing –Partitioning: Domains, autonomous systems, areas... –Some routers are part of routing backbone –Some routers only communicate within an area –Efficient because it matches typical traffic flow patterns –Scales

R1R … … … … R2R2 Non-Hierarchical Addresses and Routing No relationship between addresses & routing proximity Routing tables require 16 entries each

R1R1 R2R Hierarchical Addresses and Routing Prefix indicates network where host is attached Routing tables require 4 entries each

17 Specialized Routing Flooding –Useful in starting up network –Useful in propagating information to all nodes Deflection Routing –Fixed, preset routing procedure –No route synthesis

18 Flooding Send a packet to all nodes in a network No routing tables available Need to broadcast packet to all nodes (e.g. to propagate link state information) Approach Send packet on all ports except one where it arrived Exponential growth in packet transmissions

Flooding is initiated from Node 1: Hop 1 transmissions

Flooding is initiated from Node 1: Hop 2 transmissions

Flooding is initiated from Node 1: Hop 3 transmissions

22 Limited Flooding Time-to-Live field in each packet limits number of hops to certain diameter Each switch adds its ID before flooding; discards repeats Source puts sequence number in each packet; switches records source address and sequence number and discards repeats

23 Deflection Routing Network nodes forward packets to preferred port If preferred port busy, deflect packet to another port Works well with regular topologies –Manhattan street network –Rectangular array of nodes –Nodes designated (i,j) –Rows alternate as one-way streets –Columns alternate as one-way avenues Bufferless operation is possible –Proposed for optical packet networks –All-optical buffering currently not viable

24 0,00,10,20,3 1,01,11,21,3 2,02,12,22,3 3,03,13,23,3 Tunnel from last column to first column or vice versa

25 0,00,10,20,3 1,01,11,21,3 2,02,12,22,3 3,03,13,23,3 busy Example: Node (0,2) → (1,0)

26 Note 8: Packet Switching Networks Shortest Path Routing

27 Shortest Paths & Routing Many possible paths connect any given source and to any given destination Routing involves the selection of the path to be used to accomplish a given transfer Typically it is possible to attach a cost or distance to a link connecting two nodes Routing can then be posed as a shortest path problem

28 Routing Metrics Means for measuring desirability of a path Path Length = sum of costs or distances Possible metrics –Hop count: rough measure of resources used –Delay: sum of delays along path; complex & dynamic –Cost: $$$ –Reliability: link availability; BER (how?)

29 Shortest Path Approaches Distance Vector Protocols Neighbors exchange list of distances to destinations Best next-hop determined for each destination Bellman-Ford (distributed) shortest path algorithm Link State Protocols Link state information flooded to all routers Routers have complete topology information Shortest path (& hence next hop) calculated Dijkstra (centralized) shortest path algorithm

30 Bellman-Ford Algorithm (1957,1962) The basic idea: if you could find a shorter path through your neighbor, use it! –If each neighbor of node A knows the shortest path to node Z, then node A can determine its shortest path to node Z by calculating the cost/distance to Z through each of its neighbors and picking the minimum Also called Ford-Fulkerson algorithm Notation: (n,D(v)): D(v) is the current path cost from v to the destination, n is the next node label along the currently computed path

31 Bellman-Ford Algorithm Consider computations for one destination d Initialization –Each node table has 1 row for destination d –Distance of node d to itself is zero: D d =0 –Distance of other node j to d is infinite: D j = , for j  d –Next node n j = -1 to indicate not yet defined for j  d (in (n, D(v))) Send Step –Send the new distance vector to immediate neighbors across local link Receive Step –At node i, find the next hop that gives the minimum distance to d, è Min j { C ij + D j } è Replace old (n i,D i (d)) by new (n i *, D i *(d)) if new next node or distance –Go to send step

32 Bellman-Ford Algorithm Now consider parallel computations for all destinations d Initialization –Each node has 1 row for each destination d –Distance of node d to itself is zero: D d (d)=0 –Distance of other node j to d is infinite: D j (d)= , for j  d –Next node n j = -1 since not yet defined Send Step –Send new distance vectors to immediate neighbors across local link Receive Step –For each destination d, find the next hop that gives the minimum distance to d, è Min j { C ij + D j (d) } è Replace old (n i,D i (d)) by new (n i *, D i *(d)) if new next node or distance –Go to send step

33 IterationNode 1Node 2Node 3Node 4Node 5 Initial (-1,  ) San Jose Table node 1 for dest SJ Table node 3 for dest SJ

34 IterationNode 1Node 2Node 3Node 4Node 5 Initial (-1,  ) 1 (6,1) (-1,  ) (6,2) 2 3 San Jose D 6 =0 D 3 =D 6 +1 n 3 = D 6 =0 D 5 =D 6 +2 n 5 =

35 IterationNode 1Node 2Node 3Node 4Node 5 Initial (-1,  ) 1 (6, 1) (-1,  ) (6,2) 2(3,3)(5,6)(6, 1)(3,3)(6,2) 3 San Jose

36 IterationNode 1Node 2Node 3Node 4Node 5 Initial (-1,  ) 1 (6, 1) (-1,  ) (6,2) 2(3,3)(5,6)(6, 1)(3,3)(6,2) 3(3,3)(4,4)(6, 1)(3,3)(6,2) San Jose

37 IterationNode 1Node 2Node 3Node 4Node 5 Initial(3,3)(4,4)(6, 1)(3,3)(6,2) 1(3,3)(4,4)(4, 5)(3,3)(6,2) 2 3 San Jose Network disconnected; Loop created between nodes 3 and 4 5

38 IterationNode 1Node 2Node 3Node 4Node 5 Initial(3,3)(4,4)(6, 1)(3,3)(6,2) 1(3,3)(4,4)(4, 5)(3,3)(6,2) 2(3,7)(4,4)(4, 5)(5,5)(6,2) 3 San Jose Node 4 could have chosen 2 as next node because of tie

39 IterationNode 1Node 2Node 3Node 4Node 5 Initial(3,3)(4,4)(6, 1)(3,3)(6,2) 1(3,3)(4,4)(4, 5)(3,3)(6,2) 2(3,7)(4,4)(4, 5)(5,5)(6,2) 3(3,7)(4,6)(4, 7)(5,5)(6,2) San Jose Node 2 could have chosen 5 as next node because of tie

IterationNode 1Node 2Node 3Node 4Node 5 1(3,3)(4,4)(4, 5)(3,3)(6,2) 2(3,7)(4,4)(4, 5)(2,5)(6,2) 3(3,7)(4,6)(4, 7)(5,5)(6,2) 4(2,9)(4,6)(4, 7)(5,5)(6,2) San Jose Node 1 could have chose 3 as next node because of tie

X (a) (b) UpdateNode 1Node 2Node 3 Before break (2,3)(3,2)(4, 1) After break (2,3)(3,2)(2,3) 1 (3,4)(2,3) 2(2,5)(3,4)(2,5) 3 (3,6)(2,5) 4(2,7)(3,6)(2,7) 5 (3,8)(2,7) ………… Counting to Infinity Problem Nodes believe best path is through each other (Destination is node 4)

42 Problem: Bad News Travels Slowly Remedies (but neither works for all situations) Split Horizon –Do not report route to a destination to the neighbor from which route was learned, i.e., if X thinks that the best route to Y is via Z, then X should not send the corresponding minimum cost to Z. Split Horizon with Poisoned Reverse –Report route to a destination to the neighbor from which route was learned, but with infinite distance, i.e., if X thinks that the best route to Y is via Z, then X should set the corresponding minimum cost to infinity before sending to Z. –Breaks erroneous direct loops immediately –Does not work on some indirect loops

X (a) (b) Split Horizon with Poison Reverse Nodes believe best path is through each other UpdateNode 1Node 2Node 3 Before break(2, 3)(3, 2)(4, 1) After break(2, 3)(3, 2) (-1,  ) Node 2 advertizes its route to 4 to node 3 as having distance infinity; node 3 finds there is no route to 4 1(2, 3) (-1,  ) Node 1 advertizes its route to 4 to node 2 as having distance infinity; node 2 finds there is no route to 4 2 (-1,  ) Node 1 finds there is no route to 4

44 Link-State Algorithm Basic idea: two step procedure –Each source node gets a map of all nodes and link metrics (link state) of the entire network –Find the shortest path on the map from the source node to all destination nodes Flooding of link-state information –Every node i in the network floods to every other node in the network:  ID’s of its neighbors: N i =set of neighbors of i è Distances to its neighbors: {C ij | j  N i }

45 Dijkstra Algorithm: Finding shortest paths in order sww"w' Closest node to s is 1 hop away w"xx' 2 nd closest node to s is 1 hop away from s or w” xzz' 3rd closest node to s is 1 hop away from s, w”, or x w' Find shortest paths from sources to all other destinations

46 Dijkstra’s Algorithm Basic idea –Assume that link costs are nonnegative –Find the shortest paths in order of increasing path length –The shortest of the shortest paths to node S must be the single-link path from the closest neighbor of node S, since any multiple-link path cannot be shorter than the first link length –The next shortest of the shortest paths must be either the single-link path from the next closest neighbor of S or the shortest two-link path through the previously chosen node, and so on

47 Dijkstra’s algorithm N: set of nodes for which shortest path already found Initialization: (Start with source node s) –N = {s}, D s = 0, “s is distance zero from itself” –D j =C sj for all j  s, distances of directly-connected neighbors Step A: (Find next closest node i) –Find i  N such that –D i = min D j for j  N –Add i to N –If N contains all the nodes, stop Step B: (update minimum costs) –For each node j  N –D j = min (D j, D i +C ij ) –Go to Step A Minimum distance from s to j through node i in N

48 Execution of Dijkstra’s algorithm IterationND2D2 D3D3 D4D4 D5D5 D6D6 Initial{1}325  1{1,3}324  3 2{1,2,3} {1,2,3,6} {1,2,3,4,6} {1,2,3,4,5,6}

49 Shortest Paths in Dijkstra’s Algorithm

50 Reaction to Failure If a link fails, –Router sets link distance to infinity & floods the network with an update packet –All routers immediately update their link database & recalculate their shortest paths –Recovery very quick But watch out for old update messages –Add time stamp or sequence # to each update message –Check whether each received update message is new –If new, add it to database and broadcast –If older, send update message on arriving link

51 Why is Link State Better? Fast, loopless convergence Support for precise metrics, and multiple metrics if necessary (throughput, delay, cost, reliability) Support for multiple paths to a destination –algorithm can be modified to find best two paths

52 Source Routing Source host selects path that is to be followed by a packet –Strict: sequence of nodes in path inserted into header –Loose: subsequence of nodes in path specified Intermediate switches read next-hop address and remove address Source host needs link state information or access to a route server Source routing allows the host to control the paths that its information traverses in the network Potentially the means for customers to select what service providers they use

A B Source host Destination host 1,3,6,B 3,6,B 6,B B Example

54 Further Reading 7.1, 7.2, 7.3, 7.4, 7.5