Routing Basics What’s going on the back …

40
Routing Basics What’s going on the back … Faisal Karim Shaikh [email protected] DEWSNet Group Dependable Embedded Wired/Wireless Networks www.fkshaikh.com/dewsnet

description

Routing Basics What’s going on the back …. Faisal Karim Shaikh [email protected] DEWSNet Group Dependable Embedded Wired/Wireless Networks www.fkshaikh.com/dewsnet. Main function of Network Layer is ??????? In most cases packet requires multiple hops to make journey. - PowerPoint PPT Presentation

Transcript of Routing Basics What’s going on the back …

Page 1: Routing Basics What’s going on the back …

Routing Basics What’s going on the

back …

Faisal Karim [email protected]

DEWSNet GroupDependable Embedded Wired/Wireless Networks

www.fkshaikh.com/dewsnet

Page 2: Routing Basics What’s going on the back …

Local Area Networks 2

Main function of Network Layer is– ???????

In most cases packet requires multiple hops to make journey.

The algorithms that chooses the routes is major area of Network layer design.

Page 3: Routing Basics What’s going on the back …

Local Area Networks 3

Properties for desirable Routing Algorithms Correctness Simplicity Robustness Stability Fairness Optimality

Page 4: Routing Basics What’s going on the back …

Local Area Networks 4

Performance Criteria used for selection of route simplest is “minimum hop” can be generalized as “least cost”

Page 5: Routing Basics What’s going on the back …

Local Area Networks 5

Decision Time and Place time

packet or virtual circuit basis fixed or dynamically changing

place distributed - made by each node centralized source

Page 6: Routing Basics What’s going on the back …

Local Area Networks 6

Network Information Source and Update Timingrouting decisions usually based on

knowledge of network (not always) distributed routing

• using local knowledge, info from adjacent nodes, info from all nodes on a potential route

central routing• collect info from all nodes

issue of update timing when is network info held by nodes updated fixed - never updated adaptive - regular updates

Page 7: Routing Basics What’s going on the back …

Local Area Networks 7

Major Classes Nonadaptive Algorithms.

• Not based on measurement or estimate of current traffic and topology.• The choice of route is computed in advance.• called as Static Routing/Fixed Routing.

Adaptive Algorithms.• Change routing decisions to reflect change in topology, and traffic as

well.• They differ in where they get their information, and what metric is

used for optimization.

Page 8: Routing Basics What’s going on the back …

Local Area Networks 8

Nonadaptive Algorithms. Direct delivery Indirect delivery Static routing Default routing

Adaptive Algorithms Distance vector routing Link state routing

Page 9: Routing Basics What’s going on the back …

Local Area Networks 9

Shortest Path Routing The idea is to build graph of subnet

• Where each node rep: router and each arc communication link.

There are many ways of measuring path length• Number of hops.• Geographical distance.• Transmission delay.• Mean queuing.

Note: In general, the label on arcs could be computed as function of distance, average traffic, measured delay and other factors.

Page 10: Routing Basics What’s going on the back …

Local Area Networks 10

A D

H

F

CB

E

G

3

2

3

2

7

6

22

1

2

4

Dijkstra Algorithm

Page 11: Routing Basics What’s going on the back …

Local Area Networks 11

A

D (,-)

F (,-)

C(,-)B(2,A)

E (,-)

G (6,A) H (,-)

Page 12: Routing Basics What’s going on the back …

Local Area Networks 12

A

D (,-)

F (,-)

C(9,B)B(2,A)

E (4,B)

G (6,A) H (,-)

Page 13: Routing Basics What’s going on the back …

Local Area Networks 13

A

D (,-)

F (6,E)

C(9,B)B(2,A)

E (4,B)

G (5,E) H (,-)

Page 14: Routing Basics What’s going on the back …

Local Area Networks 14

A

D (,-)

F (6,E)

C(9,B)B(2,A)

E (4,B)

G (5,E) H (9,G)

Page 15: Routing Basics What’s going on the back …

Local Area Networks 15

A

D (,-)

F (6,E)

C(9,B)B(2,A)

E (4,B)

G (5,E) H (8,F)

Page 16: Routing Basics What’s going on the back …

Local Area Networks 16

Bellman-Ford Algorithm ???

Page 17: Routing Basics What’s going on the back …

Local Area Networks 17

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

Page 18: Routing Basics What’s going on the back …

Local Area Networks 18

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

Page 19: Routing Basics What’s going on the back …

Local Area Networks 19

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

Page 20: Routing Basics What’s going on the back …

Local Area Networks 20

Example of Dijkstra’s Algorithm

Page 21: Routing Basics What’s going on the back …

Local Area Networks 21

Results of Example Dijkstra’s Algorithm

Iteration

T L(2) Path L(3) Path L(4) Path L(5) Path L(6)

Path

1 {1} 2 1–2 5 1-3 1 1–4 - -

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

Page 22: Routing Basics What’s going on the back …

Local Area Networks 22

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

Lh(n) = cost of least-cost path from s to n under constraint of no more than h links

Page 23: Routing Basics What’s going on the back …

Local Area Networks 23

Bellman-Ford Algorithm Method Step 1 [Initialization]

L0(n) = , for all n s Lh(s) = 0, for all h

Step 2 [Update] For each successive h 0

For each n ≠ s, compute Lh+1(n)=min

j[Lh(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

Page 24: Routing Basics What’s going on the back …

Local Area Networks 24

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

Page 25: Routing Basics What’s going on the back …

Local Area Networks 25

Example of Bellman-Ford Algorithm

Page 26: Routing Basics What’s going on the back …

Local Area Networks 26

Results of Bellman-Ford Example

h Lh(2)

Path

Lh(3)

Path Lh(4)

Path

Lh(5)

Path Lh(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

Page 27: Routing Basics What’s going on the back …

Local Area Networks 27

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

Page 28: Routing Basics What’s going on the back …

Local Area Networks 28

Routing Strategies - Floodingpacket sent by node to every neighboreventually multiple copies arrive at

destinationno network info requiredeach packet is uniquely numbered so

duplicates can be discardedneed some way to limit incessant

retransmission nodes can remember packets already forwarded

to keep network load in bounds or include a hop count in packets

Page 29: Routing Basics What’s going on the back …

Local Area Networks 29

Flooding Example

Page 30: Routing Basics What’s going on the back …

Local Area Networks 30

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 (eg. routing)

disadvantage is high traffic load generated

Page 31: Routing Basics What’s going on the back …

Local Area Networks 31

Flow Based Routing The previous algorithms do not consider load.

A D

H

F

CB

E

G

Page 32: Routing Basics What’s going on the back …

Local Area Networks 32

Flow Based Routing (cont…) In some networks the mean data flow b/w pair of

nodes is stable and predictable.

Under these conditions, where average traffic b/w i and j is known in advance, and constant in time, it is possible to analyze flows.

Page 33: Routing Basics What’s going on the back …

Local Area Networks 33

Flow Based Routing (cont…) Basic idea behind analysis is

• For a given line if – Capacity– And average flow are known – It is possible to compute mean packet delay on that

line by queuing theory. The routing problem than reduces to finding the

routing algorithm that produces minimum average delay for subnet.

Page 34: Routing Basics What’s going on the back …

Local Area Networks 34

Flow Based Routing (cont…) Certain info must be known in advance.

• Subnet topology.• Traffic matrix Fi,j • Line Capacity Matrix Ci,j • Tentative Routing algorithm must be chosen.

Page 35: Routing Basics What’s going on the back …

Local Area Networks 35

Routing Strategies - Random Routing

simplicity of flooding with much less loadnode selects one outgoing path for

retransmission of incoming packetselection can be random or round robina refinement is to select outgoing path

based on probability calculationno network info neededbut a random route is typically neither

least cost nor minimum hop

Page 36: Routing Basics What’s going on the back …

Local Area Networks 36

Dynamic Routing Algorithms

Distance Vector Routing Link State Routing

Page 37: Routing Basics What’s going on the back …

Local Area Networks 37

Distance Vector RoutingAlso called as

• Distributed Bellman-Ford Algorithm.• Ford-Fulkerson Algorithm.

It operates by maintaining a table(vector), Giving best known distance to destination. Which line to use to get there.

These vectors are updated by exchanging information with neighbors.

Page 38: Routing Basics What’s going on the back …

Local Area Networks 38

Each router maintain the routing table indexed by, and containing one entry for each router in subnet.

Entry contain two parts: The preferred outgoing line. The estimate of metric to that destination.

The router is assumed to know the “distance” to each of its neighbors.

Example from Wikipedia …

Page 39: Routing Basics What’s going on the back …

Local Area Networks 39

Count-to-Infinity problem

Distance Vector routing works in theory. It has serious drawbacks. It reacts rapidly to good news. But leisurely to bad news.

Example ???

Page 40: Routing Basics What’s going on the back …

Local Area Networks 40

Link State Routing ????