Network Layer Overview

Network Layer Overview Dept. of Computer Science, University of Rochester 2009-09-22 CSC 257/457 - Fall 2008 1 Internet Architecture Bottom-up: ...
Author: Norma Daniel
2 downloads 0 Views 353KB Size
Network Layer Overview

Dept. of Computer Science, University of Rochester

2009-09-22

CSC 257/457 - Fall 2008

1

Internet Architecture Bottom-up: „

physical: electromagnetic signals “on the wire”

application

„

link: data transfer between neighboring network elements

transport

„

„

network: host-to-host connectivity „

„

routing, addressing

transport: host-host data transport „

„

encoding, framing, error correction, access control for shared links

reliable data transport, congestion control, flow control

application: anything you want to do on computer networks 2009-09-22

CSC 257/457 - Fall 2008

network link physical

2

Fundamental Network Layer Function „

fundamental function: transport packet from sending to receiving hosts „

„

„

addressing: uniquely identify each node in the network routing: determine a path from source to dest and route packets along the path

application transport network data link physical

network data link physical

network data link physical network data link physical

network data link physical

network data link physical

network data link physical

network data link physical network data link physical

application transport network data link physical

network layer protocols in every host, router 2009-09-22

CSC 257/457 - Fall 2008

3

Protocol Layering and Data Each layer takes data from above „ „

adds header information to create new data unit passes new data unit to layer below

source M Ht M Hn Ht M Hl Hn Ht M

application transport network link physical

2009-09-22

destination application Ht transport Hn Ht network link Hl Hn Ht physical

CSC 257/457 - Fall 2008

M

message

M

segment

M

packet

M

frame

4

Data Flow across Layers data application transport network link physical application transport network link physical

2009-09-22

network link physical

application transport network link physical CSC 257/457 - Fall 2008

data application transport network link physical 5

Network Service Model Q: What service model is needed in transporting packets from sender to receiver? „ „

„ „ „

guaranteed bandwidth? preservation of inter-packet delay (no jitter)? loss-free delivery? in-order delivery? congestion feedback to sender?

“Analogy” Q: What service model is needed in air travel (transporting people from location to location)? „ „ „

on-time arrival? no lost baggage? may get bumped out of flights due to overbooking?

virtual circuit or packet switching? 2009-09-22

CSC 257/457 - Fall 2008

6

Virtual Circuits „

„

„

provide services such as guaranteed bandwidth, jitter-free, inorder delivery, … require signaling protocols to setup, maintain, and teardown virtual circuit router maintains state about ongoing connections application transport 5. Data flow begins network 4. Call connected data link 1. Initiate call physical

2009-09-22

6. Receive data application 3. Accept call transport 2. incoming call network

data link physical

CSC 257/457 - Fall 2008

7

Packet Switching „ „ „

no call setup at network layer routers: no state about end-to-end connections packets forwarded independently from each other „

packets between same source-dest pair may take different paths

application transport network data link 1. Send data physical

2009-09-22

application transport 2. Receive data network data link physical

CSC 257/457 - Fall 2008

8

Packet Switching vs. Virtual Circuits Packet switching

Virtual circuits

„

„

„ „ „

poor service guarantee „ “elastic” service efficiency robustness flexibility

simple network core, complexity at “edge” ⇒ manage, control, adapt at “smart” end systems (computers) „

„

evolved from telephony guaranteed service „ „

„

e.g., human conversation: strict timing, reliability requirements

hard to evolve „

complex network core

Internet employs packet switching; virtual circuits are used for networks with “dumb” end terminals – telephones. 2009-09-22

CSC 257/457 - Fall 2008

9

Routing Principles Routing protocol

5

Goal: determine “good” path (sequence of routers) thru network from source to dest.

A

„

graph nodes are hosts or routers graph edges are physical links „ link cost: delay, $ cost, or congestion level 2009-09-22

2 1

Graph abstraction for routing algorithms: „

2

„

B

D

3

C 3

1

5

F

1

E

2

“good” path: „

typically means minimum cost path

CSC 257/457 - Fall 2008

10

Routing Algorithm Classification Global information: „ „

all routers have complete topology, link cost info “link state” algorithm

Decentralized: „

„

„

router knows physically-connected neighbors, link costs to neighbors exchange of info with neighbors, may take many rounds to converge “distance vector” algorithm

2009-09-22

CSC 257/457 - Fall 2008

11

A Link-State Routing Algorithm Dijkstra’s algorithm „ Network topology, link costs/distances known to all nodes „ „

„

„

accomplished via “link state broadcast” all nodes have same info

The algorithm calculates the shortest paths from one specific node (“source”) to all other nodes Basic approach: gradually expands a set “N”, containing nodes whose shortest paths from the source are known „ „

„

initially “N” contains only the source itself at every step one more node’s shortest path from the source is learned, this node is then added to “N” eventually “N” includes every node and the algorithm terminates

2009-09-22

CSC 257/457 - Fall 2008

12

Dijkstra’s Algorithm (cont.) Key step: How to expand “N” to include one more node? „

For each v not in N „

„

„

currently known paths are paths from source to v whose intermediaries are all in N D(v) as the distance of current known shortest path

For a node with shortest D(v) among all v’s not in N, its currently known shortest path is its globally shortest path 5 2

A

2 1

2009-09-22

B

D

3

C 3

1

5

F

1

E

2

A is the source. N currently contains A, D, E.

CSC 257/457 - Fall 2008

13

Dijkstra’s Algorithm: An Example „

5 2

A

B 2

1

Step 0 1 2 3 4 5

D

3

C 3

1

5

F

1

E

„

2

„

N: set of nodes whose shortest

paths are currently known D(v): distance for current known shortest path from source to dest. v p(v): predecessor node along path from source to dest. v

D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F) N 1,A 2,A infinity 5,A infinity A 2,A 2,D 4,D infinity AD 2,A 3,E 4,E ADE 3,E 4,E ADEB 4,E ADEBC ADEBCF 2009-09-22

CSC 257/457 - Fall 2008

14

Dijkstra’s Algorithm: Discussion Algorithm complexity: n nodes each iteration: need to check all nodes, w, not in N n*(n+1)/2 comparisons: O(n2) using Fibonacci heap to find minimum distance node: O(nlogn + e)

„ „ „

Oscillations possible: e.g., link cost = amount of carried traffic solution: stable cost metric; asynchronous (random-time) link cost collection

„ „

D 1

A

1 0 0

C

1+e 0e

B

e

initially

2009-09-22

1

2+e

D

0

A 1+e 1

C

0

B

0

… recompute routing

D

0 1

A 0 0

2+e

B

C 1+e

… recompute

CSC 257/457 - Fall 2008

2+e

D

0

A 1+e 1

C

0

B

0

… recompute

15

Network Routing 5

Routing protocol

Goal: determine “good” path (sequence of routers) thru network from source to dest.

2

A

B 2

1

D

Global information: „ „

3

C 3

1

5

F

1

E

2

all routers have complete topology, link cost info “link state” algorithm

Decentralized: „

„

router knows physically-connected neighbors, link costs to neighbors routers exchange of info with neighbors 2009-09-22

CSC 257/457 - Fall 2008

16

Distance Vector Routing 5 2

A

2 1

„

„

„

B

D

3

C 3

1

5

F

1

E

2

routing table (at each host): the next hop for each destination in the network distance vector routing: the routing table is constructed from a distance vector at each node distance vectors can be maintained in a decentralized fashion 2009-09-22

CSC 257/457 - Fall 2008

17

Distance Vector: An Example A

1

D (E,D,C)

E

Distance vector at node E 2

8 1

C

2

via first hop x

D

= c(E,D) + shortest(D,C) = 2+2 = 4

D (E,D,A) = c(E,D) + shortest(D,A) = 2+3 = 5 loop!

D (E,B,A) = c(E,B) + shortest(B,A)

D (E,x,y)

A

B

D

A

1

14

5

B

7

8

5

C

6

9

4

D

4

11

2

destination y

7

B

= 8+6 = 14 loop! 2009-09-22

CSC 257/457 - Fall 2008

18

Distance Vector to Routing Table cost to destination via

E

Outgoing link to use, cost

B

D

A

1

14

5

A

A,1

B

7

8

5

B

D,5

C

6

9

4

C

D,4

D

4

11

2

D

D,4

Distance vector 2009-09-22

destination

A

destination

D ()

Routing table CSC 257/457 - Fall 2008

19

Disclaimer „

Parts of the lecture slides contain original work of James Kurose, Larry Peterson, and Keith Ross. The slides are intended for the sole purpose of instruction of computer networks at the University of Rochester. All copyrighted materials belong to their original owner(s).

2009-09-22

CSC 257/457 - Fall 2008

20