0% found this document useful (0 votes)
73 views

The Network Layer: Design Issues & Routing Algorithms

The document discusses several topics related to network layer design and routing algorithms: 1. It describes key network layer issues like store-and-forward packet switching and the services provided to the transport layer. 2. It then covers different routing algorithms like flooding, distance vector routing, link state routing, and hierarchical routing. 3. The document also discusses routing in specific network types including ad hoc networks, and protocols for routing to mobile hosts and in ad hoc networks like AODV.

Uploaded by

Pav Technicals
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views

The Network Layer: Design Issues & Routing Algorithms

The document discusses several topics related to network layer design and routing algorithms: 1. It describes key network layer issues like store-and-forward packet switching and the services provided to the transport layer. 2. It then covers different routing algorithms like flooding, distance vector routing, link state routing, and hierarchical routing. 3. The document also discusses routing in specific network types including ad hoc networks, and protocols for routing to mobile hosts and in ad hoc networks like AODV.

Uploaded by

Pav Technicals
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 61

Chapter 5

The Network Layer


Design Issues & Routing Algorithms
Network Layer Design Isues

• Store-and-Forward Packet Switching


• Services Provided to the Transport Layer
• Implementation of Connectionless Service
• Implementation of Connection-Oriented Service
• Comparison of Virtual-Circuit and Datagram Subnets
Need of Network Layer
Store-and-Forward Packet Switching

fig 5-1

The environment of the network layer protocols.


Services Provided to the
Transport Layer
1. The services should be independent of the router technology
2. The transport layer should be shielded from the number,
type and topology of the routers present
3. The network addresses made available to the transport layer
should use a uniform numbering plan, even across LANs
and WANs

Internet – Connection-less
ATM – Connection-oriented
Implementation of Connectionless Service

Routing within a diagram subnet.


Implementation of Connection-Oriented
Service

Routing within a virtual-circuit subnet.


Comparison of Virtual-Circuit and
Datagram Subnets

5-4
Routing Algorithms
• The Optimality Principle
• Shortest Path Routing
• Flooding
• Distance Vector Routing
• Link State Routing
• Hierarchical Routing
• Broadcast Routing
• Multicast Routing
• Routing for Mobile Hosts
• Routing in Ad Hoc Networks
Desirable Properties (Elaborate)
Correctness
Simplicity
Robustness – System will be in place for years
with small failures

Stability – Fast convergence

Fairness,

Efficiency.
Routing Algorithms (2)

A – A’, B – B’, C – C’, can fill the channel, then X-X’ doesn’t get a chance
Conflict between fairness and optimality.
Minimizing the mean packet delay is an obvious candidate to send traffic through the network effectively
Elaborate

a) Adaptive/Non-adaptive routing
The Optimality Principle

Optimality Principle – If router J is on the optimal path from router I to router K


then the optimal path from J to K also falls along the same route.
(a) A subnet. (b) A sink tree for router B.
Shortest Path Routing

The first 5 steps used in computing the shortest path from A to D.


The arrows indicate the working node.
Dijkstra

5-8 top

Dijkstra's algorithm to compute the shortest path through a graph.


Dijkstra

5-8
bottom

Dijkstra's algorithm to compute the shortest path through a graph.


Flooding
Robust but costly.
TTL and keep track…

a)Used in military application


b)Wireless Networks
c)Distributed Database
d)Metrics against which other routing algorithms are compared.
Distance Vector Routing

(a) A subnet. (b) Input from A, I, H, K, and the new


routing table for J.
Distance Vector Routing (2)

The count-to-infinity problem.


Hierarchical Routing

Hierarchical routing.
Problems – optimal paths are sacrificed
Hierarchical Routing (2)

• How many levels of hierarchy?


• 720 routers.
• 720 routers in 24 regions.
• Three levels of hierarchy – 8 clusters each
containing 9 regions of 10 clusters.
Link State Routing
Each router must do the following:
1. Discover its neighbors, learn their network address.
2. Measure the delay or cost to each of its neighbors.
3. Construct a packet telling all it has just learned.
4. Send this packet to all other routers.
5. Compute the shortest path to every other router.
Learning about the Neighbors

(a) Nine routers and a LAN. (b) A graph model of (a). All
routers
Setting Link Cost

a) Bandwidth
b) Delay – measured by sending special ECHO

c) Geographically spread out links


Measuring Line Cost

• A subnet in which the East and West parts are connected by 2 lines.
• Including queuing delay may lead to a lot of oscillations.
• Load spread over both lines.
Building Link State Packets

(a) A subnet. (b) The link state packets for this subnet.
Few Problems

Algorithm – Sequence number less means obsolete

a) If sequence numbers wrap around, confusion will reign


b) Router crashes, sequence number is lost
c) Sequence number gets corrupted

•Aging and then dropping the packet.


•When a link-state packet comes in to router, it is not queued
immediately rather it waits to see if any other packets arrive.
Distributing the Link State Packets

• The packet buffer for router B in the previous slide (Fig. 5-13).
• E has arrived twice.
• C’s copy arrives from F, then F will be ACK not sent.
OSPF (Open Shortest Path First)
IS-IS (intermediate System-
Intermediate System)

a) Refreshed every 60 seconds.

b) Hardware problem, router getting corrupt, etc.


Broadcast Routing
Multidimensional Routing
•Each packet contains a list of destinations.
•On arrival of a packet, router checks the set of destinations, and
sends copies of packet along outgoing links to those destinations.
Flooding
•Flood with a sequence number per source.
Spanning Tree
•Build spanning tree (such as, a sink tree).
•Forward packet along all links of spanning tree except the one from
which packet is received.
Reverse Path Forwarding
Broadcast – Reverse Path Forwarding
• Broadcast.
• Check if the packet has arrived following the correct hop or
not.
• If correct hop, then rebroadcast.

Reverse path forwarding.


(a) A subnet. (b) a Sink tree.
Multicast Routing

(a) A network. (b) A spanning tree for the leftmost router.


(c) A multicast tree for group 1. (d) A multicast tree for group 2.
Typically done in Multi-state routing
Anycast Routing
a) Reaching any one of the servers in the group
b) DNS server
Routing for Mobile Hosts

A WAN to which LANs, MANs, and wireless cells are attached.


Routing for Mobile Hosts (2)

of a d dress
ister care
0. Reg

Packet routing for mobile users.


Routing in Ad Hoc Networks

Possibilities when the routers are mobile:


1. Military vehicles on battlefield.
– No infrastructure.

2. A fleet of ships at sea.


– All moving all the time
3. Emergency works at earthquake .
– The infrastructure destroyed.
4. A gathering of people with notebook computers.
– In an area lacking 802.11.
Ad Hoc Networks: Route Discovery

(a) Range of A's broadcast.


(b) After B and D have received A's broadcast.
(c) After C, F, and G have received A's broadcast.
(d) After E, H, and I have received A's broadcast.
Shaded nodes are new recipients.
Arrows show possible reverse routes.
Route Discovery (2)

Format of a ROUTE REQUEST packet.


Route Discovery (3)
• The (Source Address, Request ID) pair is looked up in a
local history table

• Receiver looks up the destination in its route table. If a


fresh route is known, then a ROUTE REPLY is sent.

• Destination sequence number is higher than the


Destination sequence in the Route Discovery Packet

• Increments Hop count and rebroadcasts ROUTE REPLY

• Stores the data in a new entry in its reverse route table.


Route Discovery (4)

Format of a ROUTE REPLY packet.


Route Discovery (5)
IN response
•Source addr., destination addr. and Hop Count copied but
Dest. Seq. number taken from its counter.
•Hopcount is set to 0, Lifetime field controls how long the
route is valid.

At each intermediate node:

1.No route to I is known,


2.Sequence number of I in the ROUTE REPLY packet is
greater than the value in the routing table
3.The sequence numbers are equal but the new route is
shorter
4.Hop Count incremented
5.In large network, discovery increases with Time to Live
incrementally being increased from 1, 2, 3, …
Ad Hoc Networks: Route Maintenance

Active Neighbours that have fed in those destinations to A in last


t seconds
(a) D's routing table before G goes down.
(b) The graph after G has gone down.
Routing for Mobile Hosts

A WAN to which LANs, MANs, and wireless cells are attached.


Routing for Mobile Hosts (2)

of a d dress
ister care
0. Reg

Packet routing for mobile users.


Routing in Ad Hoc Networks

Possibilities when the routers are mobile:


1. Military vehicles on battlefield.
– No infrastructure.

2. A fleet of ships at sea.


– All moving all the time
3. Emergency works at earthquake .
– The infrastructure destroyed.
4. A gathering of people with notebook computers.
– In an area lacking 802.11.
AODV

Adhoc On-demand Distance Vector


Ad Hoc Networks: Route Discovery

(a) Range of A's broadcast. (Maintains a distance vector routing table)


(b) After B and D have received A's broadcast.
(c) After C, F, and G have received A's broadcast.
(d) After E, H, and I have received A's broadcast.
Shaded nodes are new recipients.
Arrows show possible reverse routes.
Route Discovery (2)

Format of a ROUTE REQUEST packet.


Route Discovery (3)
• The (Source Address, Request ID) pair is looked up in a
local history table

• Receiver looks up the destination in its route table. If a


fresh route is known, then a ROUTE REPLY is sent.

• Destination sequence number is higher than the


Destination sequence in the Route Discovery Packet

• Increments Hop count and rebroadcasts ROUTE REPLY

• Stores the data in a new entry in its reverse route table.


Route Discovery (4)

Format of a ROUTE REPLY packet.


Route Discovery (5)
IN response
•Source addr., destination addr. and Hop Count copied but
Dest. Seq. number taken from its counter.
•Hopcount is set to 0, Lifetime field controls how long the
route is valid.

At each intermediate node:

1.No route to I is known,


2.Sequence number of I in the ROUTE REPLY packet is
greater than the value in the routing table
3.The sequence numbers are equal but the new route is
shorter
4.Hop Count incremented
5.In large network, discovery increases with Time to Live
incrementally being increased from 1, 2, 3, …
Ad Hoc Networks: Route Maintenance

Active Neighbours that have fed in those destinations to A in last


t seconds
(a) D's routing table before G goes down.
(b) The graph after G has gone down.
Node Lookup in Peer-to-Peer Networks
P2P: Large connection of computers, without central control where
typically each node has some information of interest.

•No central control for routing


•No central data repository

Two basic questions:

1.How to make data at each node available?


2.How to find required information?

The questions are interrelated, but will be looked at separately.


Assumption
• Each record (data to be shared) can be identified by
a ASCII string such as the filename.

Over the past 3-4 years, there has been several


proposals for P2P architectures we shall look at
Chord.
Basics of Chord
• Uses a hash function such as SHA-1.

• SHA-1 converts a variable length input into a highly


random 160 bit value

• Using SHA-1, Chord hashes:

node IP addresses node identifiers (160 bits)


names of records keys (160 bits)
Storing Records

(a) A set of 32 node identifiers arranged in a circle. The shaded ones


correspond to actual machines. The arcs show the fingers from
nodes 1, 4, and 12. The labels on the arcs are the table indices.
(b) Examples of the finger tables.
Storing records
• successor (k) is the first real node after k.

• To store data name, a node N creates a tuple (name, N's IP


address) and stores the tuple at successor(hash(name)). The
original data remain at N, just the tuple is stored at
successor(hash(name)).

• If hash(name) = 22, then the tuple is stored at node 27.

• To find information name, a node does key = hash(name), then


gets the record tuple from successor(key).

• Simple? Mostly, except for implementing successors(key)


efficiently.
Finding records
Each node needs to store the IP addresses of its successor.

Initially, the network start out with just a few nodes:


1.All nodes know each other.
2.They can easily arrange themselves into a the Chord ring.
3. successor(k) can be computed.

When a node tries to join:


1.It calculates its node ID say p.
2.Then asks any node already in the ring to find successor(p).
3.Asks successor(p) for successor(p)'s predecessor and inserts itself
between them.

Any node in the ring can find successor(k) by propagating the query
around the ring starting with its successor.
Finger table
• Even if both successor and predecessor pointers are used, a
sequential search will take time on average O(n/2) [n is the
number of nodes].

• Chord reduces this search time using a finger table at each


node.

• The finger table contains up to m entries where each entry i


consists of IP address of successor(start[i])

• Start[i] = k + 2^i (modulo 2^m)

• To find a record for key k, a node can directly jump to the


closest predecessor of k.

• Average time can be reduced to O(log n).


Looking up key 16 at node 1
1.Nearest pred. 9 so query sent to 12
2.At 12 nearest pred. of 16 is 14 so query sent to 15
3.15 knows that 16 is between itself and its successor
so 15 send back 20's IP address to 1.
Maintaining finger table
• Maintaining the finger table does not come for free.

• Every time a new node is added a few successors


and predecessor entries will change.

You might also like