1 computer communication & networks lecture 21 network layer: delivery, forwarding, routing ...

36
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing http://web.uettaxila.edu.pk/CMS/coeCCNbsSp0 9/index.asp Waleed Ejaz [email protected]

Upload: wilfred-atkinson

Post on 13-Dec-2015

236 views

Category:

Documents


4 download

TRANSCRIPT

1

Computer Communication & Networks

Lecture 21

Network Layer: Delivery, Forwarding, Routing

http://web.uettaxila.edu.pk/CMS/coeCCNbsSp09/index.asp

Waleed [email protected]

2

Network Layer

3

Network Layer Topics to CoverLogical Addressing

Internet Protocol

Address Mapping

Delivery, Forwarding, Routing

4

transport packet from sending to receiving hosts

network layer protocols in every host, router

Network layer functions - 1

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

5

three important functions:

path determination: route taken by packets from source to dest. Routing algorithms

Switching (forwarding): move packets from router’s input to appropriate router output

call setup: (optional) some network architectures require router call setup along path before data flows

Network layer functions - 2

6

Network service model

Q: What service model for “channel” transporting packets from sender to receiver?

guaranteed bandwidth? preservation of inter-packet

timing (no jitter)? loss-free delivery? in-order delivery? congestion feedback to

sender?

? ??virtual circuitvirtual circuit

or or datagram?datagram?

The most important abstraction provided

by network layer:

serv

ice

abst

ract

ion

7

Datagram networks: the Internet model - 1

no call setup at network layer routers: no state about end-to-end

connections no network-level concept of “connection”

packets typically routed using destination host ID packets between same source-dest pair

may take different paths

8

Datagram networks: the Internet model - 2

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Send data 2. Receive data

9

Goal: determine “good” path(sequence of routers) thru

network from source to dest.

Routing

Graph abstraction for routing algorithms:

graph nodes are routers graph edges are physical links

• link cost: delay, $ cost, or congestion level

Routing protocol

A

ED

CB

F

2

2

13

1

1

2

53

5

“good” path:typically means minimum cost pathother def’s possible

10

Routing Algorithm classification - 1Global 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 partial info with

neighbors• “distance vector” algorithms

11

Routing Algorithm classification - 2Static or dynamic?

Static: routes change slowly over time

Dynamic: routes change more quickly

periodic update in response to link cost changes

12

Unicast Routing Protocols

13

Unicast Routing Protocols

A routing table can be either static or dynamic. A static table is one with manual entries. A dynamic table is one that is updated automatically when there is a change somewhere in the Internet. A routing protocol is a combination of rules and procedures that lets routers in the Internet inform each other of changes.

14

Autonomous systems

Autonomous system (AS) or domain is a set of routers or networks administered by a single organisation.

15

Popular Routing Protocols

16

Link State Routing

17

Link-State Routing

Each node in the domain has the entire topology

of the domain.

The node can use Dijekstra’s algorithm to build a

routing table.

Analogous to a city map.

18

Concept of link state routing

19

Link state knowledge

20

Link State Strategy

send to all nodes (not just neighbors) information about directly connected links (not entire

routing table)

Link State Packet (LSP) id of the node that created the LSP cost of link to each directly connected neighbor sequence number (SEQNO) time-to-live (TTL) for this packet

21

Link State

Reliable flooding store most recent LSP from each node

forward LSP to all nodes but one that sent it

generate new LSP periodically

increment SEQNO

start SEQNO at 0 when reboot

decrement TTL of each stored LSP

discard when TTL=0

22

Route Calculation

Dijkstra’s shortest path algorithm

23

Execution of Dijkstra’s algorithm

Iteration N D2 D3 D4 D5 D6

Initial {1} 3 2 5 1 {1,3} 3 2 4 3

2 {1,2,3} 3 2 4 7 3

3 {1,2,3,6} 3 2 4 5 3

4 {1,2,3,4,6} 3 2 4 5 3

5 {1,2,3,4,5,6} 3 2 4 5 3

1

2

4

5

6

1

1

2

32

35

2

4

3 1

2

4

5

6

1

1

2

32

35

2

4

331

2

4

5

6

1

1

2

32

35

2

4

3 1

2

4

5

6

1

1

2

32

35

2

4

331

2

4

5

6

1

1

2

32

35

2

4

33 1

2

4

5

6

1

1

2

32

35

2

4

331

2

4

5

6

1

1

2

32

35

2

4

33

24

Shortest Paths in Dijkstra’s Algorithm1

2

4

5

6

1

1

2

32

35

2

4

3 31

2

4

5

6

1

1

2

32

35

2

4

3

1

2

4

5

6

1

1

2

32

35

2

4

33 1

2

4

5

6

1

1

2

32

35

2

4

33

1

2

4

5

6

1

1

2

32

35

2

4

33 1

2

4

5

6

1

1

2

32

35

2

4

33

25

Properties of Link State By keeping the predecessor node at every iteration,

we can build the shortest path tree

1

2

3

4

5

6

1

2

2

3

2 Loop free can use any cost metric,

even multiple cost metrico one routing table for each

metrico must use the same metric

along the path, identified in the packet

needs state of every link in the network

potentially faster, because nodes exchange link state and perform computation locally as opposed to Distance Vector where the computation is distributed

can compute equal cost multipath

26

Reaction to Failure If a link fails,

Router sets link distance to infinity & floods the network with an update packet

All routers immediately update their link database & recalculate their shortest paths

Recovery very quick But watch out for old update messages

Add time stamp or sequence # to each update message

Check whether each received update message is new If new, add it to database and broadcast If older, send update message on arriving link

27

Distance Vector Routing

28

Distance Vector Each node maintains a set of triples

(Destination, Cost, NextHop) Node knows cost to each neighbor Directly connected neighbors exchange updates

periodically (on the order of several seconds) whenever table changes (called triggered update)

Each update is a list of pairs: (Destination, Cost)

Update local table if receive a “better” route smaller cost came from next-hop

Refresh existing routes; delete if they time out

29

Distance Vector

Routing Table

For each destination list:

Next Node Distance

Table Synthesis Neighbors exchange

table entries Determine current best

next hop Inform neighbors

Periodically After changes

dest next dist

30

Example

Destination Cost NextHop

A 1 A C 1 C D 2 C E 2 A F 2 A G 3 A

D

G

A

F

E

B

C

Node B

31

Initialization of tables in Distance Vector Routing

32

Distance Vector Routing Tables

33

In distance vector routing, each node shares its routing table with its

immediate neighbors periodically and when there is a change.

Note

34

Updating in Distance Vector Routing

35

Bellman-Ford Algorithm

After n iterations, nodes at distance n hops along the shortest path have correct information

6 2

2 5

1 1 1

source

destination

A B

C E

infinity infinity infinity

infinityinfinity

infinity infinity 1 Dest

5 Destinfinity

1 Dest3 Binfinity

5 Dest7 E

1 Dest3 B8 C

4 A7 E

8 C 3 B 1 Dest

4 A6 E

36