Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach...

70
Network Layer 4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2009. A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we’d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR Modified by John Copeland Georgia Tech for use in ECE3600

Transcript of Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach...

Page 1: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-1

Chapter 4 Network Layer (4b - Routing)

Computer Networking: A Top Down Approach Featuring the Internet, 5th edition. Jim Kurose, Keith RossAddison-Wesley, July 2009.

A note on the use of these ppt slides:We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we’d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material.

Thanks and enjoy! JFK/KWR

All material copyright 1996-2006J.F Kurose and K.W. Ross, All Rights Reserved JAC 10-8-2013

Modified by John CopelandGeorgia Tech

for use in ECE3600

Page 2: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-2

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit

and datagram networks

4.3 What’s inside a router

4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state (OSPF) Distance Vector (RIP) Hierarchical routing (BGP)

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 3: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-3

IP Addressing: introduction (review)

IP address: 32-bit identifier for host, and router interface

interface: connection between host/router and physical link (sometimes called a "port"). router’s typically have

multiple interfaces host typically has one

interface IP addresses associated

with each interface

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 4: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-4

Subnets (review) IP address:

subnet part (high order bits)

host part (low order bits)

What’s a subnet ? device interfaces

with same subnet part of IP address

can physically reach each other without intervening router

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

network consisting of 3 subnets

subnet

Page 5: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-5

Subnets (review) 223.1.1.0/24223.1.2.0/24

223.1.3.0/24

Recipe To determine the

subnets, detach each interface from its gateway (default) router, creating islands of isolated networks. Each isolated network is called a subnet. Subnet mask: /24

Page 6: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-6

SubnetsHow many? 223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

Stub Subnet ->223.1.2.0/24

Transit Subnet ->223.1.9.0/28

Stub Subnet ->223.1.3.0/24

<-Transit Subnet 223.1.7.0/28

Stub Subnet ->223.1.1.0/24

223.1.8.0/28

Page 7: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-7

Stub Subnet223.1.2.0/24

Transit Subnet223.1.9.0/28

Stub Subnet223.1.3.0/24

Transit Subnet 223.1.7.0/28

Stub Subnet223.1.1.0/24

Transit Subnet223.1.8.0/28

A

C

B

Routers ("Nodes") designated by a letter: A, B, C, ... All subnets are either*: Transit Subnets ("Links" between nodes: A-B, B-C, A-C) or

Stub Subnets (connected to a single "gateway" router)designated by the same letter: A, B, C, ...

* simplifying assumption made here.

Simplified Network

A C

B

A-B

A-C

B-C

Page 8: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-8

1

23

223.1.3.123

Destination address (IPd) in arriving

packet’s IP header

routing algorithm

Interplay between routing, forwarding

AC

B

D

A-CA-D

A-B

Match row "i" if: IPd & Maski = NetAddri

Use match with largest Maski.

Page 9: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-9

u

yx

wv

z2

2

13

1

1

2

53

5

Graph: G = (N,E)

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

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

Graph abstraction

Remark: Graph abstraction is useful in other network contexts

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

"Cost" of Link

Page 10: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-10

Graph abstraction: costs

u

yx

wv

z2

2

13

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)

Question: What’s the least-cost path between u and z ?

Routing algorithm: algorithm that finds least-cost path

Page 11: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-11

Routing Algorithm classification

Global or decentralized information?

Global (e.g., OSPF): all routers have complete

topology, link cost info “link state” algorithmsDecentralized (e.g., RIP): router knows physically-

connected neighbors, link costs to neighbors

iterative process of computation, exchange of info with neighbors

“distance vector” algorithms

Static or dynamic?Static (Manual updates): routes change slowly

over timeDynamic (RIP, OSPF): routes change more

quickly periodic update in response to link

cost changes

Page 12: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-12

A Link-State Routing Algorithm (OSPF)

Dijkstra’s algorithm net topology, link costs

known to all nodes accomplished via “link

state broadcast” all nodes have same

info computes least cost paths

from one node (‘source”) to all other nodes gives forwarding table

for that node iterative: after k iterations,

know least cost path to k dest.’s

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

Page 13: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-13

Dijsktra’s Algorithm

1 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'

Page 14: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-14

Dijkstra’s algorithm: example (for "u") - 1

u

yx

wv

z2

2

13

1

1

2

53

5

Permanent Nodes: u (start with home node)Temporary Nodes: v(u,2), x(u,1), w(u,5) (linked to a permanent node, path cost in ()s)New Permanent Node: x(u,2) (lowest-cost path to u)

New Permanent Link: u-x Delete Links: (from new permanent node to any permanent node, other than the New Permanent Link)

Page 15: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-15

Dijkstra’s algorithm: example (for "u") - 2

u

yx

wv

z2

2

13

1

1

2

53

5

Permanent Nodes: u(0), x(2)Temporary Nodes: v(u,2 or x,3), y(x,2), w(x,4 or u,5)

New Permanent Node: v(u,2)New Permanent Link: v-u Delete Link: v-x

Note: You can wait to delete (all non-permanent) linksafter the tree is complete.

Page 16: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-16

Dijkstra’s algorithm: example (for "u") - 3

u

yx

wv

z2

2

13

1

1

2

53

5

Permanent Nodes: u, x(1), v(2)Temporary Nodes: y(x,2), w(y,3 or x,4 or v,5)

New Permanent Node: y(x,2) New Permanent Link: x-y Delete Link: none

Page 17: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-17

Dijkstra’s algorithm: example (for "u") - 4

u

yx

wv

z2

2

13

1

1

2

53

5

Permanent Nodes: u, x(1), v(2), y(2)Temporary Nodes: w(y,3 or x,4 or v,5 or u,5), z(y,4)

New Permanent Node: w(y,3)New Permanent Link: w-y Delete Links: w-x, w-v, w-u

Page 18: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-18

Dijkstra’s algorithm: example (for "u") - 5

u

yx

wv

z2

2

13

1

1

2

53

5

Permanent Nodes: u, x(1), v(2), y(2), w(3)Temporary Nodes: z(y,4 or w,8)

New Permanent Node: z(y,4)New Permanent Link: y-z Delete Link: z-w

This is called the "shortest-path tree", or "sink tree," for node u.

Page 19: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-19

Dijkstra’s algorithm: example (2)

u

yx

wv

z

Resulting shortest-path tree from u:

vx

y

w

z

(u,v)(u,x)

(u,x)

(u,x)

(u,x)

destination link

Resulting forwarding table in u:

Two-step process based on information received by broadcast OSPF messages from every router.

1.Construct a table of all advertised blocks and the edge router which connects to them.

2.Add link to forward on for each edge router, based on the routing algorithm.

Page 20: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-20

u

yx

wv

z

2

2

1

3

1

1

2

5

3

5 (link cost)

Graphical Method - Sink Tree for Node "U"

(animated - keep clicking)

2

1

3

5 (total cost)

4

2

5

4

83

Next Slide

Page 21: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-21

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit

and datagram networks

4.3 What’s inside a router

4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state (OSPF) Distance Vector (RIP) Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 22: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-22

Distance Vector Algorithm (RIP) Bellman-Ford Equation (dynamic

programming)Define dx(y) := cost of least-cost path from x to y

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

where min is taken over all neighbors v of x.

This is the distance to y advertised by x.x will forward datagrams for y to v.

v

Page 23: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-23

Bellman-Ford algorithm example

u

yx

wv

z2

2

13

1

1

2

53

5

Known:, 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 ( -> x)

B-F equation says:

Find forwarding link for u to z when the cost to neighbors is known, c(u,?), and thecost from neighbors to z, d?(z) is known.

u

x

wv

z2

13

5

3

5

The way u sees the network.

Node that provides minimum distance (node x) is nexthop in shortest path to z, ➜ forwarding table

Page 24: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-24

Distance Vector Algorithm

Dx(y) = estimate of least cost from x to y

Node x knows cost to each neighbor v: c(x,v)

Node x maintains distance vector Dx = [Dx(y): y є N ]

Node x also maintains its neighbors’ distance vectors For each neighbor v, x maintains

Dv = [Dv(y): y є N ]

Page 25: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-25

Distance vector algorithm (4)

Basic idea: Each node periodically sends its own distance

vector estimate to neighbors When a node x receives new DV estimate from

neighbor, it updates its own DV using B-F* equation:

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

Under minor changes, natural conditions, the estimated Dx(y) converges to the actual least cost dx(y)

*B-F is “Bellman-Ford”

Page 26: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-26

Distance Vector Algorithm (5)

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:

Page 27: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-27

x y z

xyz

0 2 7

∞ ∞ ∞∞ ∞ ∞

from

cost to

from

from

x y z

xyz

0 2 3

from

cost tox y z

xyz

0 2 3

from

cost to

x y z

xyz

∞ ∞

∞ ∞ ∞

cost tox y z

xyz

0 2 7

from

cost to

x y z

xyz

0 2 3

from

cost to

x y z

xyz

0 2 3

from

cost tox y z

xyz

0 2 7

from

cost to

x y z

xyz

∞∞ ∞7 1 0

cost to

∞2 0 1

∞ ∞ ∞

2 0 17 1 0

2 0 17 1 0

2 0 13 1 0

2 0 13 1 0

2 0 1

3 1 0

2 0 1

3 1 0

time

x z12

7

y

node x table

node y table

node z table

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3

+

Page 28: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-28

Distance Vector: link cost changes

Link cost changes: node detects local link cost

change updates routing info, recalculates

distance vector if DV changes, notify neighbors

“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 29: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-29

Distance Vector: link cost changes

Link cost changes: good news travels fast bad news travels slow -

“count to infinity” problem!

44 iterations before algorithm stabilizes: see text

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?

x z14

50

y60

Y advertises X in 4 hopsZ sends datagrams for X to YZ advertises "X in 5 hops".Y-X link cost goes to 60Y thinks Z can route in 5 hops, so Y advertises "X in 6", sends datagrams back to Z.Z sends datagrams back to Y, advertises "X in 7".Y sends datagrams back to Z, advertises "X in 8".

Page 30: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-30

RIP (Distance-Vector Algorithm)

A

B

CX

M

N P

Construct the Routing Table for Router X. Use "L" for the port to the local LAN.

Using Poison Reverse, construct the Updates sent from Router X to A, B, and C. (infinity -> 15).

128.230.0.0/16

“Poison Reverse” prevents “ping-pong” routes.

0

24.56.0.0/16

10 hops

209.196.0.0/16

130.207.0.0/16

5 hops

4 hops

Page 31: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-31

Comparison of LS (OSPF) and DV (RIP) algorithms

LS = Link State, DV = Distance Vector)Message complexity LS: with n nodes, E links,

O(nE) msgs sent DV: exchange between

neighbors only convergence time varies

Speed of Convergence LS: O(n2) algorithm requires

O(nE) msgs may have oscillations

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

Robustness: what happens if router malfunctions?

LS: node can advertise

incorrect link cost each node computes only

its own tableDV:

DV node can advertise incorrect path cost

each node’s table used by others

• errors propagate thru the network

Page 32: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-32

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit

and datagram networks

4.3 What’s inside a router

4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 33: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-33

Hierarchical Routing

scale: with 200 million destinations:

can’t store all dest’s 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

Our routing study thus far - idealization all routers identical network “flat”… not true in practice

Page 34: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-34

Hierarchical RoutingBGP - Border Gateway Protocol

aggregate routers into regions, “autonomous systems” (AS)

routers in same AS run same routing protocol [no, hierarchical architectures are possible]

“intra-AS” routing protocol

routers in different AS can run different intra-AS routing protocol

Gateway router Direct link to router

in another AS

Page 35: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-35

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

Intra-ASRouting algorithm

Inter-ASRouting algorithm

Forwardingtable

3c

Interconnected ASes

Forwarding table is 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

OSPF BGP

BGP for “which Internet gateway” (1b or 1c)

Page 36: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-36

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

3c

Inter-AS tasks Suppose router in AS1

receives datagram for which destination is outside of AS1 Router should forward

packet towards one of the gateway routers, but which one?

AS1 needs:1. to learn which dests

are reachable through AS2 and which through AS3

2. to propagate this reachability info to all routers in AS1

Job of inter-AS routing!

Page 37: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-37

Example: Setting forwarding table in router 1d

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

Inter-AS protocol propagates reachability info to all internal routers.

Router 1d determines from intra-AS routing info that its interface I is on the least cost path to 1c.

Puts in forwarding table entry (x,I).

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

3c

X

Page 38: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-38

Example: Choosing among multiple ASes

Now suppose AS1 learns from the inter-AS protocol that subnet x is reachable from AS3 and from AS2.

To configure forwarding table, router 1d must determine towards which gateway it should forward packets for dest x.

This is also the job on inter-AS routing protocol!

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

3c

X

Page 39: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-39

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

Example: Choosing among multiple ASes

Now suppose AS1 learns from the inter-AS protocol that subnet x is reachable from AS3 and from AS2.

To configure forwarding table, router 1d must determine towards which gateway it should forward packets for dest x.

This is also the job on inter-AS routing protocol! Hot potato routing: send packet towards closest

of two routers.

Page 40: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-40

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit

and datagram networks

4.3 What’s inside a router

4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 41: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-41

Intra-AS Routing

Also 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)

Page 42: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-42

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit

and datagram networks

4.3 What’s inside a router

4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP (Distance Vector) OSPF (Link State) BGP (Hierarchical)

4.7 Broadcast and multicast routing

Page 43: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-43

RIP ( Routing Information Protocol)

Distance vector algorithm Included in BSD-UNIX Distribution in 1982 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 subsets:

Page 44: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-44

RIP advertisements

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

* List of all subnets and their "distance" (cost: delay, hops, …).

Page 45: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-45

RIP: Example

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

y B 1 z B 7

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

w

x y z

A

C

D B

Routing table in D

6 hops

Page 46: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-46

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 - 1 x - 1 z B A 7 5 …. … ...

Routing Table for D

3 hops

6 hops

New Link

F

Page 47: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-47

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 quickly (?) propagates to entire

net poison reverse used to prevent ping-pong

loops (infinite distance = 15 hops)

Page 48: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-48

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 49: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-49

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit

and datagram networks

4.3 What’s inside a router

4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 50: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-50

OSPF (Open Shortest Path First)

“open”: publicly available Uses Link State algorithm

Link State packet dissemination Topology map at each node Route computation using Dijkstra’s algorithm

OSPF advertisement carries one entry per neighbor router (OSPF has it’s own Transport Layer Protocol)

Advertisements disseminated to entire AS (via flooding) [exception – Hierarchical Routing] Carried in OSPF messages directly over IP (rather than

TCP or UDP

Page 51: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-51

OSPF “advanced” features (not in RIP)

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 (MOSPF) uses same topology

data base as OSPF Hierarchical OSPF in large domains.

Page 52: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-52

Hierarchical OSPFBoundary routers can aggregate internal routes.

Page 53: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-53

Hierarchical OSPF

Two-level hierarchy: local area, backbone. Link-state advertisements only in area each nodes has detailed area topology; only know

direction (shortest path) 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’s.

Page 54: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-54

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit

and datagram networks

4.3 What’s inside a router

4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 55: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-55

Internet inter-AS routing: BGP

BGP (Border Gateway Protocol): the de facto standard

BGP provides each AS a means to:1. Obtain subnet reachability information from

neighboring ASs.2. Propagate reachability information to all AS-

internal routers.3. Determine “good” routes to subnets based

on reachability information and policy. allows subnet to advertise its existence

to rest of Internet: “I am here”

Page 56: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

4-56

GT-Fr.

GT-U.S.

Internet2www.sox.net

Hurricane Electric

Telesonera

Cogent Comm.

Hurricane Electric Internet Services http://bgp.he.net/

Page 57: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

4-57

Southern Crossroads (Internet2)

Page 58: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-58

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 is promising it will forward any datagrams destined to that prefix towards the prefix. AS2 can aggregate prefixes in its advertisement

3b

1d

3a

1c2aAS3

AS1

AS21a

2c

2b

1b

3c

eBGP session

iBGP session

Page 59: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-59

Path attributes & BGP routes

When advertising a prefix, advert includes BGP attributes.

prefix + attributes = “route”

When gateway router receives route advertisement, uses import policy to accept/decline.

Page 60: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-60

BGP route selection

Router may learn about more than 1 route to some prefix. Router must select route.

Elimination rules:1. Local preference value attribute: policy

decision2. Shortest AS-PATH 3. Closest NEXT-HOP router: hot potato

routing4. Additional criteria

Page 61: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-61

BGP routing policy

A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks

X does not want to route from B via X to C .. so X will not advertise to B a route to C

Page 62: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-62

BGP routing policy (2)

A advertises to B the path AW B advertises to X the path BAW Should B advertise to C the path BAW?

No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers

B wants to force C to route to w via A B wants to route only to/from its customers!

Page 63: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-63

Why different Intra- and Inter-AS routing ?

Policy: Inter-AS: admin wants control over how its traffic

routed, who routes through its net. Intra-AS: single admin, so no policy decisions

needed

Scale: hierarchical routing saves table size, reduced

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

Page 64: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

4-64

Area: Lab, Home Intra-AS (Ga. Tech)

Inter-AS

Routing Type: Distance Vector Link State Manual + Others

Example Protocol:

RIP OSPF, IGMP BGP

Routing Algorithm

Bellman-Ford, w Poison Reverse

Dijkstra Mixed

Cost Unit: Links Delay Dollars, Policy, Rules

Messaging: UDP/IP unicast OSPF/IP broadcast (flood)

TCP/IP unicast

Adjust to congestion:

No Yes Some places

Maximum Path: path: <15 links(nodes <25)

Large Large

Hierarchical: No Can be Yes (CIDR, AS Confederations)

Page 65: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-65

Chapter 4: Network Layer

4. 1 Introduction 4.2 Virtual circuit

and datagram networks

4.3 What’s inside a router

4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6

4.5 Routing algorithms Link state Distance Vector Hierarchical routing

4.6 Routing in the Internet RIP OSPF BGP

4.7 Broadcast and multicast routing

Page 66: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Uses for Broadcast and Multicast Routing

Network Layer 4-66

Broadcast – uses Network Broadcast Destination IP Address(and Link-Layer all-1’s broadcast address)

Router (firewall) should block incoming broadcasts)

Printer tells everyone on the subnet it’s IP address, type, name, etc.

Host starting-up wants some DCHP server to assign an IP address (initially uses 169.254.x.x random IP).

Multicast – service-specific destination IP in 224.0.0.0/4 (host using the service must open a listening socket)

224.0.0.5 OSPF Routers (OSPF Transmission-Layer Protocol)224.0.0.13 PIM (multicast program or data distribution)224.0.0.251 Multicast DNS (for hostname.local) (UDP port 5353)224.255.255.250 SSDP – Simple Service Discovery Protocol

used by UPnP – Universal Plug & PlanAT&T Uverse & Verizon FIOS TV programs (Channel No. -> IP Address)

Every host sees a Broadcast, hosts must subscribe to see a Multicast)

See http://en.wikipedia.org/wiki/Multicast-address

Page 67: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-67

R1

R2

R3 R4

sourceduplication

R1

R2

R3 R4

in-networkduplication

duplicatecreation/transmissionduplicate

duplicate

Broadcast Routing Deliver packets from source to all other nodes Source duplication is inefficient:

Source duplication: how does source determine recipient addresses?

Page 68: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-68

In-network duplication Flooding: when node receives brdcst pckt,

sends copy to all neighbors Problems: cycles & broadcast storm

Controlled flooding: node only broadcasts pkt if it hasn’t broadcast the same packet before Node keeps track of pckt ids already brdcsted Or reverse path forwarding (RPF): only forward

pckt if it arrived on shortest path between node and source

Spanning tree No redundant packets received by any node

Page 69: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Network Layer 4-69

A

B

G

DE

c

F

A

B

G

DE

c

F

(a) Broadcast initiated at A (b) Broadcast initiated at D

Spanning Tree

First construct a spanning tree Nodes forward copies only along

spanning tree

Page 70: Network Layer4-1 Chapter 4 Network Layer (4b - Routing) Computer Networking: A Top Down Approach Featuring the Internet, 5 th edition. Jim Kurose, Keith.

Multicast Routing: Problem Statement

Goal: find a tree (or trees) connecting routers having local multicast group members tree: not all paths between routers used source-based: different tree from each sender to rcvrs shared-tree: same tree used by all group members

Shared tree Source-based trees

The Internet Group Management Protocol (IGMP) is used by hosts and adjacent routers on IP networks to establish multicast group memberships.

Network Layer 4-70