Top Banner
Introduction 1 Lecture 21 Network Layer (Routing Activity) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering Department Fall 2011 CPE 400 / 600 Computer Communication Networks
30

Lecture 21 Network Layer (Routing Activity)

Mar 23, 2016

Download

Documents

miach

University of Nevada – Reno Computer Science & Engineering Department Fall 2011 CPE 400 / 600 Computer Communication Networks. Lecture 21 Network Layer (Routing Activity). slides are modified from J. Kurose & K. Ross. Longest prefix matching. Prefix Match Link Interface - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture  21 Network Layer  (Routing Activity)

Introduction 1

Lecture 21Network Layer

(Routing Activity)

slides are modified from J. Kurose & K. Ross

University of Nevada – RenoComputer Science & Engineering Department

Fall 2011

CPE 400 / 600Computer Communication Networks

Page 2: Lecture  21 Network Layer  (Routing Activity)

Network Layer

DA: 11001000 00010111 00010110 10100001

4-2

Longest prefix matching

Prefix Match Link Interface 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 otherwise 3

DA: 11001000 00010111 00011000 10101010

Examples

Which interface?

Which interface?

Page 3: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-3

IP Addressing: introduction IP address: 32-bit

identifier for host, router interface

interface: connection between host/router and physical link 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: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-4

Subnets 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: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-5

IP addressing: CIDRCIDR: Classless InterDomain Routing

subnet portion of address of arbitrary length address format: a.b.c.d/x

• where x is # bits in subnet portion of address

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/23

Page 6: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-6

Hierarchical addressing: route aggregation & more specific routes

ISPs-R-Us has a more specific route to Organization 1

“Send me anythingwith addresses

beginning 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

Organization 0

Organization 7Internet

Organization 1

ISPs-R-Us “Send me anythingwith addresses

beginning 199.31.0.0/16or 200.23.18.0/23”

200.23.20.0/23Organization 2

...

...

Hierarchical addressing allows efficient advertisement of routing information:

Page 7: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-7

1

23

0111

value in arrivingpacket’s header

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

Interplay between routing, forwarding

Page 8: Lecture  21 Network Layer  (Routing Activity)

RIPDISTANCE VECTOR ALGORITHM

Transport Layer 8

Page 9: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-9

Distance Vector Algorithm Bellman-Ford Equation (dynamic

programming)Definedx(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

v

Page 10: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-10

Bellman-Ford example

u

yx

wv

z2

21

3

1

12

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} = 4Node that achieves minimum is next

hop in shortest path ➜ forwarding table

B-F equation says:

Page 11: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-11

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 12: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-12

Distance Vector AlgorithmIterative, 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 13: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-13

x y zxyz

0 2 7∞ ∞ ∞∞ ∞ ∞

from

cost to

from

from

x y zxyz

0 2 3

from

cost tox y z

xyz

0 2 3

from

cost to

x y zxyz

∞ ∞

∞ ∞ ∞

cost tox y z

xyz

0 2 7

from

cost tox y z

xyz

0 2 3

from

cost to

x y zxyz

0 2 3

from

cost tox y z

xyz

0 2 7

from

cost tox 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 02 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 14: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-14

RIP (Routing Information Protocol) distance metric: # of hops (max = 15 hops) 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

DC

BAu v

w

x

yz

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

From router A to subnets:

Page 15: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-15

RIP: Example

Destination Network Next Router Num. of hops to dest.

w A 2y B 2

z B A 7 5x -- 1…. …. ....Routing/Forwarding table in D

w x yz

A

C

D B

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

New Advertisementfrom A to D

Page 16: Lecture  21 Network Layer  (Routing Activity)

OSPFLINK STATE ROUTING ALGORITHM

Transport Layer 16

Page 17: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-17

A Link-State Routing AlgorithmDijkstra’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 18: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-18

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'

Page 19: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-19

Dijkstra’s algorithm: exampleStep

012345

N'u

uxuxy

uxyvuxyvw

uxyvwz

D(v),p(v)2,u2,u2,u

D(w),p(w)5,u4,x3,y3,y

D(x),p(x)1,u

D(y),p(y)∞

2,x

D(z),p(z)∞ ∞

4,y4,y4,y

u

yx

wv

z2

21

3

1

12

53

5

vxywz

(u,v)(u,x)(u,x)(u,x)(u,x)

destination link

Resulting forwarding table in u:

Page 20: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-20

OSPF (Open Shortest Path First) “open”: publicly available 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) OSPF messages directly over IP (rather than TCP or UDP)

Page 21: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-21

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 22: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-22

Hierarchical OSPF

Page 23: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-23

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 24: Lecture  21 Network Layer  (Routing Activity)

BGPHIERARCHICAL ROUTING

Transport Layer 24

Page 25: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-25

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

Page 26: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-26

3b

1d

3a1c

2aAS3

AS1AS2

1a

2c2b

1b

Intra-ASRouting algorithm

Inter-ASRouting algorithm

Forwardingtable

3c

Interconnected ASes

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

Page 27: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-27

Example: Setting forwarding table in router 1d

suppose AS1 learns (via inter-AS protocol) that subnet x 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. installs forwarding table entry (x,I)

3b

1d

3a1c

2aAS3

AS1AS21a

2c2b

1b

3cx…

Page 28: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-28

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

3a1c

2aAS3

AS1

AS21a

2c2b

1b

3ceBGP sessioniBGP session

Page 29: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-29

Distributing reachability info 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 when router learns of new prefix, it creates entry

for prefix in its forwarding table

3b

1d

3a1c

2aAS3

AS1

AS21a

2c2b

1b

3ceBGP sessioniBGP session

Page 30: Lecture  21 Network Layer  (Routing Activity)

Network Layer 4-30

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 A advertises path AW to B B advertises path BAW to X B noes not advertise path BAW to C?

B gets no “revenue” 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!

A

B

C

W X

Y

legend:

customer network

provider network