lecture 8 overview

42
Lecture 8 Overview

Upload: zamir

Post on 05-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Lecture 8 Overview. 5. 3. 5. 2. 2. 1. 3. 1. 2. 1. x. z. w. u. y. v. Graph abstraction. Graph: G = (N,E) N = set of routers = { u, v, w, x, y, z } E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lecture 8 Overview

Lecture 8 Overview

Page 2: Lecture 8 Overview

Graph abstraction

u

yx

wv

z2

21

3

1

1

2

53

5

Graph: G = (N,E)

N = set of routers = { u, v, w, x, y, z }

E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }

Graph abstraction is useful in other network contexts

Example: P2P, where N is set of peers and E is set of TCP connections

CPE 401/601 Lecture 8 : Routing Algorithms 2

Page 3: Lecture 8 Overview

Graph abstraction: costs

u

yx

wv

z2

21

3

1

1

2

53

5 • c(x,x’) = cost of link (x,x’)

- e.g., c(w,z) = 5

• cost could always be 1, or inversely related to bandwidth, or inversely related to congestion

Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

Routing algorithm: algorithm that finds least-cost path

CPE 401/601 Lecture 8 : Routing Algorithms 3

Page 4: Lecture 8 Overview

Routing Algorithm classification

• Global or decentralized information?• Global: link state algorithms– all routers have complete topology,

• link cost info

• Decentralized: distance vector algorithms– router knows physically-connected neighbors

• link costs to neighbors

– iterative process of computation,• exchange of info with neighbors

CPE 401/601 Lecture 8 : Routing Algorithms 4

Page 5: Lecture 8 Overview

Routing Algorithm classification

• Static or dynamic?

• Static: – routes change slowly over time

• Dynamic: – routes change more quickly

• periodic update• in response to link cost changes

CPE 401/601 Lecture 8 : Routing Algorithms 5

Page 6: Lecture 8 Overview

Dijkstra’s algorithm

• A Link-State Routing Algorithm– Topology, link costs known to all nodes– accomplished via “link state broadcast” – all nodes have same info

• Compute least cost paths from source node to all other nodes– produces forwarding table for that node

• Iterative: – after k iterations, know least cost path to k dests

CPE 401/601 Lecture 8 : Routing Algorithms 6

Page 7: Lecture 8 Overview

Dijkstra’s Algorithm

Notation:• c(x,y): link cost from node x to y;

– ∞ if not direct neighbors

• D(v): current value of cost of path from source to dest v

• p(v): predecessor node along path from source to v

• N': set of nodes whose least cost path definitively known

CPE 401/601 Lecture 8 : Routing Algorithms 7

Page 8: Lecture 8 Overview

Dijsktra’s Algorithm1 Initialization:

2 N' = {u}

3 for all nodes v

4 if v adjacent to u

5 then D(v) = c(u,v)

6 else D(v) = ∞

7

8 Loop

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

10 add w to N'

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

12 D(v) = min( D(v), D(w) + c(w,v) )

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

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

15 until all nodes in N‘

CPE 401/601 Lecture 8 : Routing Algorithms 8

Page 9: Lecture 8 Overview

• Oscillations possible:– e.g., link cost = amount of carried traffic

Dijkstra’s algorithm, discussion

A

D

C

B

1 1+e

e0

e

1 1

0 0

initially

A

D

C

B

2+e 0

001+e 1

… recomputerouting

A

D

C

B

0 2+e

1+e10 0

… recompute

A

D

C

B

2+e 0

e01+e 1

… recompute

CPE 401/601 Lecture 8 : Routing Algorithms 9

Page 10: Lecture 8 Overview

Distance Vector Algorithm

Bellman-Ford Equation • dynamic programmingDefine• dx(y) := cost of least-cost path from x to y

Then• dx (y) = minv {c(x,v) + dv(y) }

• where min is taken over all neighbors v of x

CPE 401/601 Lecture 8 : Routing Algorithms 10

Page 11: Lecture 8 Overview

Bellman-Ford example

u

yx

wv

z2

21

3

1

1

2

53

5Clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3

du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4

Node that achieves minimum is nexthop in shortest path ➜ forwarding table

B-F equation says:

CPE 401/601 Lecture 8 : Routing Algorithms 11

Page 12: Lecture 8 Overview

Distance vector algorithm

• Basic idea: – From time-to-time, each node sends its own

distance vector estimate to neighbors– Asynchronous

• When a node x receives new DV estimate from neighbor, it updates its own DV using B-F

• Under minor, natural conditions, the estimate Dx(y) converge to the actual least cost dx(y)

Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N

CPE 401/601 Lecture 8 : Routing Algorithms 12

Page 13: Lecture 8 Overview

Distance Vector Algorithm

• Iterative, asynchronous:– each local iteration caused by

• local link cost change • DV update message from

neighbor

• Distributed:– each node notifies neighbors

only when its DV changes– neighbors then notify their

neighbors if necessary

wait for (change in local link cost or msg from neighbor)

recompute estimates

if DV to any dest has

changed, notify neighbors

Each node:

CPE 401/601 Lecture 8 : Routing Algorithms 13

Page 14: Lecture 8 Overview

Link cost changes

• Link cost changes:– node detects local link cost change – updates routing info, recalculates

distance vector– if DV changes, notify neighbors

CPE 401/601 Lecture 8 : Routing Algorithms 14

“goodnews travelsfast”

x z14

50

y1

At time t0, y detects the link-cost change, updates its DV, and informs its neighbors.

At time t1, z receives the update from y and updates its table. It computes a new least cost to x and sends its neighbors its DV.At time t2, y receives z’s update and updates its distance table. y’s least costs do not change and hence y does not send any message to z.

Page 15: Lecture 8 Overview

Link cost changes

• Link cost changes:– good news travels fast – bad news travels slow

• “count to infinity” problem!

– 44 iterations before algorithm stabilizes

• Poisoned reverse: – If Z routes through Y to get to X :

• Z tells Y its (Z’s) distance to X is infinite– so Y won’t route to X via Z

– will this completely solve count to infinity problem?CPE 401/601 Lecture 8 : Routing Algorithms 15

x z14

50

y60

Page 16: Lecture 8 Overview

LS vs DV

• Message complexity– LS: with n nodes, E links, O(nE) msgs sent – DV: exchange between neighbors only

• Speed of Convergence– LS: O(n2) algorithm

• may have oscillations

– DV: convergence time varies• may be routing loops• count-to-infinity problem

CPE 401/601 Lecture 8 : Routing Algorithms 16

Page 17: Lecture 8 Overview

LS vs DV

• Robustness: what happens if router malfunctions?

• LS: – node can advertise incorrect link cost– each node computes only its own table

• DV:– DV node can advertise incorrect path cost– each node’s table used by others

• error propagate thru network

CPE 401/601 Lecture 8 : Routing Algorithms 17

Page 18: Lecture 8 Overview

Lecture 9

Routing in the Internet

CPE 401 / 601

Computer Network Systems

slides are modified from Dave Hollingerslides are modified from J. Kurose & K. Ross

Page 19: Lecture 8 Overview

Hierarchical Routing

• scale– with 200 million destinations– can’t store all dests in routing tables!– routing table exchange would swamp links!

• administrative autonomy– internet = network of networks– each network admin may want to control routing

in its own network

CPE 401/601 Lecture 9 : Routing in the Internet 19

Page 20: Lecture 8 Overview

Hierarchical Routing

• 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 router– Direct link to router in another AS

CPE 401/601 Lecture 9 : Routing in the Internet 20

Page 21: Lecture 8 Overview

• forwarding table configured by both intra- and inter-AS routing algorithm– intra-AS sets entries for internal dests– inter-AS & intra-As sets entries for external dests

Interconnected ASes

Intra-ASRouting algorithm

Inter-ASRouting algorithm

Forwardingtable

3b

1d

3a

1c2a

AS3

AS1

AS21a

2c

2b

1b

3c

CPE 401/601 Lecture 9 : Routing in the Internet 21

Page 22: Lecture 8 Overview

Inter-AS tasks• 1a in AS1 receives datagram destined outside of AS1

– should forward packet to gateway router, but which one?

• AS1 must:– learn which dests are reachable through AS2 and AS3– propagate this reachability info to all routers in AS1– Job of inter-AS routing!

3b

1d

3a

1c2a

AS3

AS1

AS21a

2c

2b

1b

3c

CPE 401/601 Lecture 9 : Routing in the Internet 22

Page 23: Lecture 8 Overview

Example: Forwarding table in 1d

• AS1 learns (via inter-AS protocol) that subnet x is reachable via AS3 (gateway 1c) but not via AS2

• inter-AS protocol propagates info to internal routers• router 1d determines from intra-AS routing info that

its interface i is on the least cost path to 1c.– installs forwarding table entry (x,i)

3b

1d

3a

1c

2aAS3

AS1

AS21a

2c

2b

1b

3cx…

CPE 401/601 Lecture 9 : Routing in the Internet 23

Page 24: Lecture 8 Overview

Example: Multiple ASes• now suppose AS1 learns from inter-AS protocol that

subnet x is reachable from both AS3 and AS2• to configure forwarding table, router 1d must

determine towards which gateway it should forward packets for dest x. – this is also job of inter-AS routing protocol!

3b

1d

3a

1c2a

AS3

AS1

AS21a

2c

2b

1b

3cx… …

CPE 401/601 Lecture 9 : Routing in the Internet 24

Page 25: Lecture 8 Overview

Example: Multiple ASes• now suppose AS1 learns from inter-AS protocol that

subnet x is reachable from both AS3 and AS2• to configure forwarding table, router 1d must

determine towards which gateway it should forward packets for dest x. – this is also job of inter-AS routing protocol!

• hot potato routing: send packet towards closest of two routers

Learn from inter-AS protocol that subnet x is reachable via multiple gateways

Use routing infofrom intra-AS

protocol to determine

costs of least-cost paths to each

of the gateways

Hot potato routing:Choose the

gatewaythat has the

smallest least cost

Determine fromforwarding table the Interface i that leads

to least-cost gateway. Enter (x,i) in

forwarding table

CPE 401/601 Lecture 9 : Routing in the Internet 25

Page 26: Lecture 8 Overview

Intra-AS Routing

Page 27: Lecture 8 Overview

Intra-AS Routing

• known as Interior Gateway Protocols (IGP)

• most common Intra-AS routing protocols:

– RIP: Routing Information Protocol

– OSPF: Open Shortest Path First

– IGRP: Interior Gateway Routing Protocol • Cisco proprietary

CPE 401/601 Lecture 9 : Routing in the Internet 27

Page 28: Lecture 8 Overview

Routing Information Protocol

• distance vector algorithm• distance metric: # of hops

– max = 15 hops

DC

BA

u v

w

x

yz

destination hops u 1 v 2 w 2 x 3 y 3 z 2

From router A to subnets:

CPE 401/601 Lecture 9 : Routing Information Protocol 28

Page 29: Lecture 8 Overview

RIP advertisements

• distance vectors: – exchanged among neighbors every 30 sec via

Response Message• also called advertisement

• each advertisement: – list of up to 25 destination subnets within AS

CPE 401/601 Lecture 9 : Routing Information Protocol 29

Page 30: Lecture 8 Overview

RIP: Example

Destination Network Next Router Number of hops to dest

w A 2y B 2

z B 7x -- 1…. …. ....

w x y

z

A

C

D B

Routing/Forwarding table in D

CPE 401/601 Lecture 9 : Routing Information Protocol 30

Page 31: Lecture 8 Overview

RIP: Example

Destination Network Next Router Num. of hops to dest.

w A 2y B 2

z B 7x -- 1…. …. ....

Routing/Forwarding table in D

w x y

z

A

C

D B

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

Advertisementfrom A to D

A 5

CPE 401/601 Lecture 9 : Routing Information Protocol 31

Page 32: Lecture 8 Overview

RIP: Link Failure and Recovery

• If no advertisement heard after 180 sec --> neighbor/link declared dead– routes via neighbor invalidated– new advertisements sent to neighbors– neighbors in turn send out new advertisements

• if tables changed

– link failure info propagates to entire net – poison reverse used to prevent ping-pong loops

• infinite distance = 16 hops

CPE 401/601 Lecture 9 : Routing Information Protocol 32

Page 33: Lecture 8 Overview

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

CPE 401/601 Lecture 9 : Routing Information Protocol 33

Page 34: Lecture 8 Overview

Open Shortest Path First (OSPF)

Page 35: Lecture 8 Overview

Open Shortest Path First

• uses Link State algorithm – LS packet dissemination– topology map at each node– route computation using Dijkstra’s algorithm

• OSPF advertisement carries one entry per neighbor router

• advertisements disseminated to entire AS– via flooding– carried in OSPF messages directly over IP

CPE 401/601 Lecture 9 : Open Shortest Path First 35

Page 36: Lecture 8 Overview

OSPF ‘advanced’ features• security: all OSPF messages authenticated

– to prevent malicious intrusion

• multiple same-cost paths allowed– only one path in RIP

• for each link, multiple cost metrics for different TOS– e.g., satellite link cost set “low” for best effort; high for real

time

• integrated uni- and multicast support: – Multicast OSPF uses same topology data base as OSPF

• hierarchical OSPF in large domains

CPE 401/601 Lecture 9 : Open Shortest Path First 36

Page 37: Lecture 8 Overview

Hierarchical OSPF

CPE 401/601 Lecture 9 : Open Shortest Path First 37

Page 38: Lecture 8 Overview

Hierarchical OSPF• two-level hierarchy: local area, backbone

– Link-state advertisements only in area • each nodes has detailed area topology• know only direction to nets in other areas

• area border routers: summarize distances to nets in own area– advertise to other Area Border routers

• backbone routers: run OSPF routing limited to backbone

• boundary routers: connect to other AS’sCPE 401/601 Lecture 9 : Open Shortest Path First 38

Page 39: Lecture 8 Overview

Border Gateway Protocol (BGP)

Page 40: Lecture 8 Overview

Border Gateway Protocol(BGP)• De facto standard for Internet inter-AS routing• allows subnet to advertise its existence to rest

of Internet: “I am here”• BGP provides each AS a means to:

– Obtain subnet reachability information from neighboring ASs

– Propagate reachability information to all AS-internal routers

– Determine “good” routes to subnets based on reachability information and policy

CPE 401/601 Lecture 9 : Border Gateway Protocol 40

Page 41: Lecture 8 Overview

BGP basics• Pairs of routers (BGP peers) exchange routing info

over semi-permanent TCP connections: BGP sessions– BGP sessions need not correspond to physical links

• when AS2 advertises a prefix to AS1:– AS2 promises it will forward datagrams towards that prefix– AS2 can aggregate prefixes in its advertisement

3b

1d

3a

1c2a

AS3

AS1

AS21a

2c

2b

1b

3ceBGP session

iBGP session

CPE 401/601 Lecture 9 : Border Gateway Protocol 41

Page 42: Lecture 8 Overview

Distributing reachability info

3b

1d

3a

1c2a

AS3

AS1

AS21a

2c

2b

1b

3ceBGP session

iBGP session

• using eBGP session between 3a and 1c, AS3 sends prefix reachability info to AS1– 1c can then use iBGP do distribute new prefix info to all

routers in AS1– 1b can then re-advertise new reachability info to AS2 over

1b-to-2a eBGP session

CPE 401/601 Lecture 9 : Border Gateway Protocol 42