Routing &amp; IP Routing Protocols

1 / 31

# Routing &amp; IP Routing Protocols - PowerPoint PPT Presentation

Routing &amp; IP Routing Protocols. You are a router in a packet switched network and you receive a packet destined to some remote node E.g., router A below receives a packet destined to node F Question: How does A know where to send this packet? Does A send it to B? C? or D?

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Routing &amp; IP Routing Protocols' - alton

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
You are a router in a packet switched network and you receive a packet destined to some remote node

E.g., router A below receives a packet destined to node F

Question: How does A know where to send this packet?

Does A send it to B? C? or D?

Answer: Recall from our earlier discussion in IP that router A consults a forwarding table to make this decision

Routing Problem: How does router A build this forwarding table?

Built by a routing algorithm (protocol): The job of the routing algorithm is to determine the next hop router for ALL destinations in the network

5

3

5

2

2

1

3

1

2

1

A

D

B

E

F

C

Forwarding Table in A

Dest. Next Hop Cost

B B 2

D D 1

C D 3

E D 2

F D 4

Routing: Problem Definition
Graph abstraction for routing algorithms:

graph nodes are routers

graph edges are physical links

link cost: delay, \$ cost, or congestion level (amount of traffic carried on the link)

5

3

5

2

2

1

3

1

2

1

A

D

E

B

F

C

Routing protocol

End-to-End Path Determination: Routing principles

Goal: determine “good” path

(sequence of routers) thru

network from source to dest.

• “good” path:
• typically means minimum cost path
Distinction between “Forwarding” and “Routing”

Forwarding consists of taking a packet, looking at its destination address, consulting the forwarding table, and sending the packet in a direction determined by the table

Very easy once the forwarding table has been built

Routing is the process by which the forwarding table is built

Need a routing protocol to dynamically build and maintain the table

5

3

5

2

2

1

3

1

2

1

Forwarding table in A

A

D

B

E

F

C

Dest. Next Hop Cost

B B 2

D D 1

C D 3

E D 2

F D 4

Forwarding vs Routing
Global or decentralized information?

Global:

all routers have complete topology, link cost info

Decentralized:

router knows physically-connected neighbors, link costs to neighbors

iterative process of computation, exchange of info with neighbors

“distance vector” algorithms

Routing Algorithm classification
Have each router build the complete topology of the network

Once the complete topology is built, have each router run an algorithm to compute the shortest path from itself to all other routers (nodes) in the network

5

3

5

2

2

1

3

1

2

1

A

D

B

E

F

C

Link-State Algorithms: General Idea

2 Issues

• How does a router build the complete topology of the network?
• How does a router compute the shortest path to all other nodes in the network using this topology information?
• Dijkstra’s Shortest Path Algorithm
At the heart of a link state algorithm is the discovery of a node’s links’ states

Each node is assumed to capable of finding out the state of the link to its neighbors (up or down) and the cost of each link

Each node creates an update packet, also called a link-state packet (LSP) and periodically sends this information to all of its neighbors

Node’s neighbors send the packet to their neighbors and so on until the LSP is received by all nodes in the network

5

3

5

2

2

1

3

1

2

1

A

D

B

E

F

C

Building the Network Topology

LSP Contents

• ID of the node -- A
• List of neighbors and the cost to each neighbor – (B, 2), (C, 5), (D, 1)
• A sequence number
• A time-to-live (TTL)
Reliable flooding is the process of making sure that all nodes get a copy of LSP from all other nodes in the network

When a node X receives a copy of an LSP that originated at some other node Y, it checks to see if it has already stored a copy of an LSP from Y.

If not, it stores the LSP.

If it already has a copy, it compares the SeqNos; if the new LSP has a larger SeqNo, it is assumed to be more recent, and the last LSP is stored replacing the old one. Otherwise the new LSP is discarded

5

3

5

2

2

1

3

1

2

1

A

D

B

E

F

C

Reliable Flooding
• The new LSP is then forwarded on all neighbors of X except the neighbor from which the LSP was just received
Notation:

Cost(i,j): link cost from node i to j.

Cost(A, B) = 2

Cost(A, C) = 5

Cost(A, F) = infinity

Distance(v): current value of cost of path from source to destination V

Distance(D) = 1

Pred(v): predecessor node of v along path from source to v

Pred(D) = A

N: set of nodes whose least cost path definitively known

5

3

5

2

2

1

3

1

2

1

A

D

B

E

F

C

Computing the Shortest Path: Dijkstra’s Algorithm
Dijsktra’s Algorithm – where A is the source node

1 Initialization:

2 N = {A}

3 for all nodes v

4 if v adjacent to A

5 then Distance (v) = cost(A,v)

6 else Distance (v) = infinity

7

8 Loop

9 find w not in N such that Distance(w) is a minimum

10 add w to N

11 update Distance(v) for all v adjacent to w and not in N:

12 Distance(v) = min( Distance(v), Distance(w) + cost(w,v) )

13 /* new distance to v is either old distance to v or known

14 shortest path distance to w plus cost from w to v */

15 until all nodes in N

A

D

B

E

F

C

Dijkstra’s algorithm: example

D(B),p(B)

2,A

2,A

2,A

D(D),p(D)

1,A

D(C),p(C)

5,A

4,D

3,E

3,E

D(E),p(E)

infinity

2,D

Step

0

1

2

3

4

5

N

A

D(F),p(F)

infinity

infinity

4,E

4,E

4,E

5

3

5

2

2

1

3

1

2

1

Algorithm complexity: n nodes

• each iteration: need to check all nodes, w, not in N
• n*(n+1)/2 comparisons: O(n2) – O(nlogn) algorithm possible
We do NOT need to know the complete topology of the network to build the forwarding table!

If a node X simply tells its neighbor Y the cost of reaching another node Z via itself (X), then

neighbor Y can compute the cost of reaching Z via X by simply adding the cost of reaching X from Y and the cost of reaching Z from X, which was advertised by X

5

3

5

2

2

1

3

1

2

1

A

D

B

E

F

C

Distance Vector Algos: General Idea

Example

• If D tells A that it can reach E with a cost of 1, then A knows it can reach E via D with a cost of 1+1 = 2
• If D tells A that it can reach F with a cost of 3, then A knows it can reach F via D with a cost of 1+3 = 4
Each node tells its neighbors the cost of reaching every other node via itself

A node computes its cost of reaching a destination via each of its neighbors and picks the best one

distributed:

each node communicates only with directly-attached neighbors

iterative:

continues until no nodes exchange new information

self-terminating: no “signal” to stop

distance from X to

Y via Z as next hop

=

Y

c(X,Z) + D (Z)

=

X

=

min {D (Y,w)}

T

Y

X

Z

T

Y

w

D (Z)

D (Z)

X

X

D (Y,Z)

D (Y)

Distance Vector Routing Algorithm

C(X,Y)

C(X,T)

Distance Table Data Structure

each node has its own distance table

row for each possible destination

column for each directly-attached neighbor to node

example: in node X, for dest. Y via neighbor Z:

cost to destination via

E

D ()

A

B

C

D

A

1

7

6

4

B

14

8

9

11

D

5

5

4

2

1

7

2

8

1

2

destination

A

D

E

B

C

Distance Table Structure

cost to destination via

E

D ()

A

B

C

D

A

1

7

6

4

B

14

8

9

11

D

5

5

4

2

destination

Distance Table gives Forwarding Table

to use, cost

A

B

C

D

A,1

D,5

D,4

D,4

destination

Forwarding (Routing) Table

Distance Table

Each node:

Initialize the Distance Table Structure

wait for (msg from neighbor)

recompute distance table

if least cost path to any dest has changed, notify neighbors

Distance Vector Routing: overview
Initialization

At all nodes, X:

1 Initialization:

2 for all adjacent nodes v:

3 D (*,v) = infinity /* the * operator means "for all rows" */

4 D (v,v) = c(X,v)

5 for all destinations, y

6 send D (y) to each neighbor /* Cost of reaching Y via X */

X

X

X

Distance Vector Algorithm: Example

Init

Info

sent

This column

shows the

Init. results

2

1

7

X

Z

Y

We need to adjust

values

if necessary

Distance Vector Algorithm (cont.):

8 loop

10 if (update received from neighbor V wrt destination Y)

11 /* shortest path from V to some Y has changed */

12 /* V has sent a new value for its DV(Y) */

13 /* call this received new value is "newval" */

14 for the single destination Y: D (Y,V) = c(X,V) + newval

15

16 if we have a new D (Y) for any destination Y

17 send new value of D (Y) to all neighbors

18

19 forever

X

X

X

2

1

7

Z

X

c(X,Z) + D (Y)

D (Y,Z)

=

=

7+1 = 8

X

Z

Y

X

Y

c(X,Y) + D (Z)

D (Z,Y)

=

=

2+1 = 3

Distance Vector Algorithm: Example

info

sent

Initial values

Distance Vector Algorithm: Example

2

1

7

X

Z

Y

values

if necessary

Init

Info

sent

This column

Shows the

Init. results

New

Info

sent

Hierarchical Routing

Our routing study thus far assumed

• all routers to be “identical” and the network to be “flat”
• 2 Problems exist with such a model:

1. scale: with 200 million destinations:

• can’t store all destinations in routing tables!
• routing table exchange would swamp links!

• Can’t assume that a network with the scale of Internet will be administered by a single authority
• Solution?
• Internet is NOT flat, but is a network of networks
• each network admin controls routing in its own network – next
• http://www.ilkertemir.com/backbone-map/
• Turkey’s past and current Internet backbone map

c

b

b

a

c

A.a

A.c

C.b

B.a

Hierarchical Routing

b

a

a

C

B

d

A

gateway routers

• special routers in AS
• run intra-AS routing protocol with all other routers in AS
• also responsible for routing to destinations outside AS
• run inter-AS routing protocol with other gateway routers
• aggregate routers into regions, “autonomous systems” (AS)
• routers in same AS run same routing protocol
• “intra-AS” routing protocol
• routers in different AS can run different intra-AS routing protocol
Intra-AS Routing
• Also known as Interior Gateway Protocols (IGP)
• Most common Intra-AS routing protocols:
• OSPF: Open Shortest Path First
• RIP: Routing Information Protocol
• IGRP: Interior Gateway Routing Protocol (Cisco proprietary)
OSPF (Open Shortest Path First)
• “open”: publicly available
• Uses Link State algorithm
• LS advertisement dissemination to entire AS via flooding
• Topology map at each node
• Route computation using Dijkstra’s algorithm
• Carried in OSPF messages directly over IP
• OSPF has its own network layer protocol number like IP!
RIP (Routing Information Protocol)
• Distance vector algorithm
• Included in BSD-UNIX Distribution in 1982
• Distance metric: # of hops (max = 15 hops)
• 16 is the infinity to eliminate routing loops
• Distance vectors: exchanged among neighbors every 30 sec via Response Message (also called advertisement)
• Each advertisement: list of up to 25 destination nets within AS
• If more destinations, send multiple advertisements
RIP: Example

z

w

x

y

A

D

B

C

Destination Network Next Router Num. of hops to dest.

w A 2

y B 2

z B 7

x -- 1

…. …. ....

Routing table in D

z

w

x

y

A

D

B

C

RIP: Example

Dest Next hops

w - -

x - -

z C 4

…. … ...

from A to D

Destination Network Next Router Num. of hops to dest.

w A 2

y B 2

z B A 7 5

x -- 1

…. …. ....

Routing table in D

routed

routed

RIP Table processing
• RIP routing tables managed by application-level process called route-d (daemon)
• advertisements sent in UDP packets, periodically repeated

Transprt

(UDP)

Transprt

(UDP)

network forwarding

(IP) table

network

(IP)

forwarding

table

physical

physical

Inter-AS routing in the Internet: BGP
• Each BGP router communicates only with its neighbors
• R1 with R2, R3 with R4
• Global info about routes to destination networks propagates in an AS-by-AS manner via the exchange of BGP messages
Why different Intra- and Inter-AS routing ?

Policy:

• Intra-AS: single admin, so no policy decisions needed
• Inter-AS: admin wants control over how its traffic routed, who routes through its net.

Performance:

• Intra-AS: can focus on performance
• Inter-AS: policy may dominate over performance