Download presentation
Presentation is loading. Please wait.
Published byWilfred Atkinson Modified over 9 years ago
1
1 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
2
2 Network Layer
3
3 Network Layer Topics to Cover Logical Addressing Internet Protocol Address Mapping Delivery, Forwarding, Routing
4
4 transport packet from sending to receiving hosts network layer protocols in every host, router Network layer functions - 1 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 application transport network data link physical
5
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
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 circuit ordatagram? The most important abstraction provided by network layer: service abstraction
7
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
8 Datagram networks: the Internet model - 2 application transport network data link physical application transport network data link physical 1. Send data 2. Receive data
9
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 E D CB F 2 2 1 3 1 1 2 5 3 5 “good” path: typically means minimum cost path other def’s possible
10
10 Routing Algorithm classification - 1 Global 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
11 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
12
12 Unicast Routing Protocols
13
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
14 Autonomous systems Autonomous system (AS) or domain is a set of routers or networks administered by a single organisation.
15
15 Popular Routing Protocols
16
16 Link State Routing
17
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
18 Concept of link state routing
19
19 Link state knowledge
20
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
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
22 Route Calculation Dijkstra’s shortest path algorithm
23
23 Execution of Dijkstra’s algorithm IterationND2D2 D3D3 D4D4 D5D5 D6D6 Initial{1}325 1{1,3}324 3 2{1,2,3}32473 3{1,2,3,6}32453 4{1,2,3,4,6}32453 5{1,2,3,4,5,6}32453 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 1 2 4 5 6 1 1 2 3 2 3 5 2 4 33 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 3 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 3 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 3 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 3
24
24 Shortest Paths in Dijkstra’s Algorithm 1 2 4 5 6 1 1 2 3 2 3 5 2 4 33 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 3 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 3 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 3 1 2 4 5 6 1 1 2 3 2 3 5 2 4 3 3
25
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 metric o one routing table for each metric o 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
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
27 Distance Vector Routing
28
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
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
30 Example Destination Cost NextHop A 1 A C 1 C D 2 C E 2 A F 2 A G 3 A Node B
31
31 Initialization of tables in Distance Vector Routing
32
32 Distance Vector Routing Tables
33
33 In distance vector routing, each node shares its routing table with its immediate neighbors periodically and when there is a change. Note
34
34 Updating in Distance Vector Routing
35
35 Bellman-Ford Algorithm After n iterations, nodes at distance n hops along the shortest path have correct information 62 25 111 source destination A B CE infinity 1Dest 5Dest infinity 1Dest 3B3B infinity 5Dest 7E7E 1Dest 3B3B 8C8C 4A4A 7E7E 8C8C 3B3B 4A4A 6E6E
36
36
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.