Routing & IP Routing Protocols

31
1 Routing & IP Routing Protocols

description

Routing & 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? - PowerPoint PPT Presentation

Transcript of Routing & IP Routing Protocols

Page 1: Routing & IP Routing Protocols

1

Routing & IP Routing Protocols

Page 2: Routing & IP Routing Protocols

2

Routing: Problem Definition• 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

A

ED

CB

F

2

2

13

1

1

2

53

5

Dest. Next Hop Cost B B 2 D D 1 C D 3 E D 2 F D 4

Forwarding Table in A

Page 3: Routing & IP Routing Protocols

3

End-to-End Path Determination: Routing principles

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)

Goal: determine “good” path

(sequence of routers) thru network from source to

dest.

Routing protocol

A

ED

CB

F

2

2

13

1

1

2

53

5

• “good” path:– typically means

minimum cost path

Page 4: Routing & IP Routing Protocols

4

Forwarding vs Routing• 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

A

ED

CB

F

2

2

13

1

1

2

53

5

Dest. Next Hop Cost

B B 2 D D 1 C D 3 E D 2 F D 4

Forwarding table in A

Page 5: Routing & IP Routing Protocols

5

Routing Algorithm classification

Global or decentralized information?Global:• all routers have complete topology, link cost info• “link state” algorithms

Decentralized: • router knows physically-connected neighbors, link

costs to neighbors• iterative process of computation, exchange of info

with neighbors• “distance vector” algorithms

Page 6: Routing & IP Routing Protocols

6

Link-State Algorithms: General Idea• 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

A

ED

CB

F

2

2

13

1

1

2

53

5

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

Page 7: Routing & IP Routing Protocols

7

Building the Network Topology• 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

A

ED

CB

F

2

2

13

1

1

2

53

5LSP 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)

Page 8: Routing & IP Routing Protocols

8

Reliable Flooding• 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

A

ED

CB

F

2

2

13

1

1

2

53

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

Page 9: Routing & IP Routing Protocols

9

Computing the Shortest Path: Dijkstra’s Algorithm

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

A

ED

CB

F

2

2

13

1

1

2

53

5

Page 10: Routing & IP Routing Protocols

10

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

Page 11: Routing & IP Routing Protocols

11

Dijkstra’s algorithm: example

Step012345

NAADADEADEBADEBCADEBCF

D(B),p(B)2,A2,A2,A

D(C),p(C)5,A4,D3,E3,E

D(D),p(D)1,A

D(E),p(E)infinity2,D

D(F),p(F)infinityinfinity4,E4,E4,E

A

ED

CB

F

2

2

13

1

1

2

53

5

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

Page 12: Routing & IP Routing Protocols

12

Distance Vector Algos: General Idea• 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

A

ED

CB

F

2

2

13

1

1

2

53

5Example

• 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

Page 13: Routing & IP Routing Protocols

13

Distance Vector Routing Algorithm

• 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

D (Y,Z)X

distance from X toY via Z as next hop

c(X,Z) + D (Z)Y

=

=

D (Y) X

min {D (Y,w)}X

w=

X Y ZC(X,Y)

D (Z)Y

T

C(X,T)

D (Z)T

Page 14: Routing & IP Routing Protocols

14

Distance Table StructureDistance 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:

A

E D

CB7

8

1

2

1

2

D ()

A

B

C

D

A

1

7

6

4

B

14

8

9

11

D

5

5

4

2

Ecost to destination via

dest

inat

ion

Page 15: Routing & IP Routing Protocols

15

Distance Table gives Forwarding Table

D ()

A

B

C

D

A

1

7

6

4

B

14

8

9

11

D

5

5

4

2

Ecost to destination via

dest

inat

ion

A

B

C

D

A,1

D,5

D,4

D,4

Outgoing link to use, cost

dest

inat

ion

Distance Table Forwarding (Routing) Table

Page 16: Routing & IP Routing Protocols

16

Distance Vector Routing: overviewEach node:

wait for (msg from neighbor)

recompute distance table

if least cost path to any dest

has changed, notify neighbors

Initialize the Distance Table Structure

Page 17: Routing & IP Routing Protocols

17

Initialization

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 */

XX

X

At all nodes, X:

Page 18: Routing & IP Routing Protocols

18

Distance Vector Algorithm: Example

X Z12

7

Y

This columnshows theInit. results

InitInfo sent

We need to adjustvalues

if necessary

Page 19: Routing & IP Routing Protocols

19

Distance Vector Algorithm (cont.):

8 loop 9 wait (until I receive update from neighbor V) 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

Page 20: Routing & IP Routing Protocols

20

X Z12

7

Y

D (Y,Z)X

c(X,Z) + D (Y)=

= 7+1 = 8

Z

D (Z,Y)X

c(X,Y) + D (Z)=

= 2+1 = 3

Y

Distance Vector Algorithm: Exampleinfo sent

Initial values

Adjusted new value

Page 21: Routing & IP Routing Protocols

21

Distance Vector Algorithm: Example

X Z12

7

Y

This columnShows theInit. results

InitInfo sent

Adjusted new

values

NewInfo sent

Adjustvalues

if necessar

y

Page 22: Routing & IP Routing Protocols

22

Hierarchical RoutingOur 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!

2. administrative autonomy– 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

Page 23: Routing & IP Routing Protocols

23

Hierarchical Routing

a

b

b

aaC

A

Bd

A.a

A.c

C.bB.a

cb

c

• 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

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

Page 24: Routing & IP Routing Protocols

24

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)

Page 25: Routing & IP Routing Protocols

25

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!

Page 26: Routing & IP Routing Protocols

26

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

Page 27: Routing & IP Routing Protocols

27

RIP: Example

Destination Network Next Router Num. of hops to dest. w A 2

y B 2 z B 7

x -- 1…. …. ....

w x y

z

A

C

D B

Routing table in D

Page 28: Routing & IP Routing Protocols

28

RIP: Example

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

w x y

z

A

C

D B

Dest Next hops w - - x - - z C 4 …. … ...

Advertisementfrom A to D

Page 29: Routing & IP Routing Protocols

29

RIP Table processing• RIP routing tables managed by application-level

process called route-d (daemon)• advertisements sent in UDP packets, periodically

repeated

physical

link

network forwarding (IP) table

Transprt (UDP)

routed

physical

link

network (IP)

Transprt (UDP)

routed

forwardingtable

Page 30: Routing & IP Routing Protocols

30

Inter-AS routing in the Internet: BGP

Figure 4.5.2-new2: BGP use for inter-domain routing

AS2 (OSPF

intra-AS routing)

AS1 (RI P intra-AS

routing) BGP

AS3 (OSPF intra-AS

routing)

BGP

R1 R2

R3

R4

R5

• 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

Page 31: Routing & IP Routing Protocols

31

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