Sie sind auf Seite 1von 36

Computer Communication & Networks

Lecture 21 Network Layer: Delivery, Forwarding, Routing http://web.uettaxila.edu.pk/CMS/coeCCNbsSp09/index.asp

Waleed Ejaz waleed.ejaz@uettaxila.edu.pk

Network Layer

Network Layer Topics to Cover


Logical Addressing Internet Protocol Address Mapping Delivery, Forwarding, Routing

Network layer functions - 1

transport packet from sending to receiving hosts network layer protocols in every host, router

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 functions - 2


three important functions:

path determination: route taken by packets from source to dest. Routing algorithms Switching (forwarding): move packets from routers input to appropriate router output call setup: (optional) some network architectures require router call setup along path before data flows

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?
The most important
abstraction provided by network layer:

virtual circuit or datagram?

? ? ?

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

Datagram networks: the Internet model - 2

application transport network data link 1. Send data physical

application transport network 2. Receive data data link physical

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

5 2 1

B
2

C
3
1

Graph abstraction for routing algorithms: graph nodes are routers graph edges are physical links

F
2

good path:
typically means minimum cost path other defs possible

link cost: delay, $ cost, or congestion level

Routing Algorithm classification - 1


Global or decentralized information? Global:

all routers have complete topology, link cost info link state algorithms
router knows physically-connected neighbors, link costs to neighbors iterative process of computation, exchange of partial info with neighbors distance vector algorithms

Decentralized:

10

Routing Algorithm classification - 2


Static or dynamic? Static:

routes change slowly over time

Dynamic:

routes change more quickly periodic update in response to link cost changes

11

Unicast Routing Protocols

12

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.

13

Autonomous systems

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

14

Popular Routing Protocols

15

Link State Routing

16

Link-State Routing

Each node in the domain has the entire topology of the domain. The node can use Dijekstras algorithm to build a routing table.

Analogous to a city map.

17

Concept of link state routing

18

Link state knowledge

19

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

20

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


21

Route Calculation

Dijkstras shortest path algorithm

22

Execution of Dijkstras algorithm


1 3 1 2 2 5 4 3 4 5 3 2 2 2 4 1 6 3 1 1 2 5

3 2

6 2

4 3 5

Iteration Initial 1 2

N {1} {1,3} {1,2,3}

D2 3 3 3

D3 2 2 2

D4 5 4 4

D5 7

D6 3 3

3
4 5

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

3
3 3

2
2 2

4
4 4

5
5 5

3
3 3
23

Shortest Paths in Dijkstras Algorithm


1 3 1 2 4 1 3 1 2 2 5 4 3 3 2 3 2 2 1 2 5 3 2 1

6 4
3 5 1 6 3 2

2 5 1 4

3 2 3 4 5 3

1 6 2

2 1 2 5 4

1 6

2
3 2

4
1

5
3 2 4 3 1 6 1

4 2 5 3 2 2 1
4 4 3 2

5
1 6

2 5

3 1 2
4

3 5

2
24

Properties of Link State


By keeping the predecessor node at every iteration, we

Loop free can use any cost metric, even multiple cost metric

can build the shortest path tree


1

3
2

1 6

o one routing table for each

metric o must use the same metric along the path, identified in the packet

3 4 2 2 5

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


25

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

26

Distance Vector Routing

27

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

28

Distance Vector
Routing Table For each destination list: Next Node Distance
dest next dist

Table Synthesis Neighbors exchange table entries Determine current best next hop Inform neighbors

Periodically After changes

29

Example
Node B
B C A D E

Destination Cost NextHop A 1 A C 1 C D 2 C E 2 A F 2 A G 3 A

30

Initialization of tables in Distance Vector Routing

31

Distance Vector Routing Tables

32

Note

In distance vector routing, each node shares its routing table with its immediate neighbors periodically and when there is a change.

33

Updating in Distance Vector Routing

34

Bellman-Ford Algorithm
source
infinity infinity infinity 8 8

A 6
infinity infinity 3 3 3

B 2
B B B infinity 1 1 1 1 Dest Dest Dest Dest

C C

1
infinity infinity 7 7 6

1
infinity 5 5 4 4

1 destination
Dest Dest A A

C 2
E E E

E 5

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

36

Das könnte Ihnen auch gefallen