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

Routing Algorithms

The document discusses the network layer and routing algorithms. It covers topics like store-and-forward packet switching, connectionless and connection-oriented services, distance vector and link state routing, and shortest path algorithms like Dijkstra's algorithm.

Uploaded by

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

Routing Algorithms

The document discusses the network layer and routing algorithms. It covers topics like store-and-forward packet switching, connectionless and connection-oriented services, distance vector and link state routing, and shortest path algorithms like Dijkstra's algorithm.

Uploaded by

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

Computer Networks

Network Layer

May 13, 2024 Dr. ASM Mostafizur Rahaman, 1


Professor of CSE
Network Layer
 Main function of Network Layer:
 Routing of packets form the source machine to the destination
machine.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 2


Professor of CSE
Network Layer Design Issues

• Store-and-forward packet switching


• Services provided to transport layer
• Implementation of connectionless service
• Implementation of connection-oriented service
• Comparison of virtual-circuit and datagram
networks

May 13, 2024 Dr. ASM Mostafizur Rahaman, 3


Professor of CSE
Store-and-Forward Packet
Switching

ISP’s equipment

The environment of the network layer protocols.


May 13, 2024 Dr. ASM Mostafizur Rahaman, 4
Professor of CSE
Services Provided to the Transport
Layer

1. Services independent of router technology.


2. Transport layer shielded from number, type,
topology of routers.
3. Network addresses available to transport
layer use uniform numbering plan
 even across LANs and WANs

May 13, 2024 Dr. ASM Mostafizur Rahaman, 5


Professor of CSE
Implementation of Connectionless
Service
ISP’s equipment

A’s table (initially) A’s table (later) C’s Table E’s Table

May 13, 2024


Routing within a datagram network
Dr. ASM Mostafizur Rahaman,
Professor of CSE
6
Implementation of
Connection-Oriented Service

ISP’s equipment

A’s table C’s Table E’s Table

Routing within a virtual-circuit network


May 13, 2024 Dr. ASM Mostafizur Rahaman, 7
Professor of CSE
Comparison of Virtual-Circuit and
Datagram Networks

Comparison of datagram and virtual-circuit networks


May 13, 2024 Dr. ASM Mostafizur Rahaman, 8
Professor of CSE
Routing Algorithms
• Optimality principle
• Shortest path algorithm
• Flooding
• Distance vector routing
• Link state routing
• Routing in ad-hoc networks

May 13, 2024 Dr. ASM Mostafizur Rahaman, 9


Professor of CSE
Routing Algorithms
• Broadcast routing
• Multicast routing
• Anycast routing
• Routing for mobile hosts
• Routing in ad hoc networks

May 13, 2024 Dr. ASM Mostafizur Rahaman, 10


Professor of CSE
Routing Algorithms
 Routing Algorithm:
 Network Layer Software responsible for deciding which
output line an incoming packed should be transmitted on.
 Datagrams:
 require computation of decision making tables for each packed
 Virtual Circuit:
 routing decision are made only when a new virtual circuit is being set up.
 Session Routing:
 data packets follow the same routing for the entire session.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 11


Professor of CSE
Routing Algorithms
 Routing vs. Forwarding:
 Routing:
 Filling and Updating routing tables
 Forwarding:
 making the decision which routes to use based on routing tables.
 Adaptive vs. Non-Adaptive Algorithms.
 Non-Adaptive Algorithms:
 Routing decision is based on pre-computed measurements or estimates and do
not update the table based on current traffic and topology
 Adaptive Algorithms:
 Change their routing decisions to reflect changes in the topology and traffic.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 12


Professor of CSE
Fairness vs. Efficiency
Network with a conflict between fairness and
efficiency.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 13


Professor of CSE
Optimality Principle

 If router J is on the optimal path from router I to


router K, then the optimal path form J to K also
falls along the same (optimal path) route.
 r1: I to J graph
 r2: The rest of the graph
 If a route better than r2 existed from J to K it could be
concatenated with r1 to improve the route from J to K!
Contradiction with the base assumption that r1r2 are
optimal.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 14


Professor of CSE
The Optimality Principle

(a) A network. (b) A sink tree for router B.


May 13, 2024 Dr. ASM Mostafizur Rahaman, 15
Professor of CSE
Shortest Path Routing
 Optimization criterion:
 Distance,
 Bandwidth,
 Average Traffic
 Communication cost,
 Mean Queue Length,
 Measured Delay, …
 Algorithms:
 Dijkstra
 Flooding
 Selective Flooding

May 13, 2024 Dr. ASM Mostafizur Rahaman, 16


Professor of CSE
Shortest Path Algorithm

The first five steps used in computing the shortest path


from
May 13, 2024 A to D. The Dr.
arrows indicate
ASM Mostafizur the
Rahaman,
Professor of CSE
working node 17
Shortest Path Algorithm

...
Dijkstra’s algorithm to compute the shortest path
through a graph.
May 13, 2024 Dr. ASM Mostafizur Rahaman, 18
Professor of CSE
Shortest Path Algorithm (3)
...

...

Dijkstra’s algorithm to compute the shortest path


May 13, 2024
through a graph.
Dr. ASM Mostafizur Rahaman,
Professor of CSE
19
Shortest Path Algorithm

...

Dijkstra’s algorithm to compute the shortest path


May 13, 2024 through
Dr. ASM Mostafizura graph.
Rahaman,
Professor of CSE
20
Distance Vector Routing
 Static Routing Algorithms
 Do not take into account actual network load.
 Dynamic Routing Algorithms
 Taking into account actual network load
 Distance Vector Routing: Each router maintain a table with the
best known distance to each destination and which line to use to
get there. Tables updated by exchanging information with the
neighbors.
 Link State Routing

May 13, 2024 Dr. ASM Mostafizur Rahaman, 21


Professor of CSE
Distance Vector Routing
(a) A network.
(b) Input from A, I, H, K, and the new routing table for J.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 22


Professor of CSE
Count–to-Infinity Problem
 Slow Convergence to the correct answer.
 “Good news” Propagate fast
 “Bad news” Propagate slowly:
 The core of the problem is that when X tells Y that I has a
path somewhere, Y has no way of knowing whether it
itself is on the path.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 23


Professor of CSE
The Count-to-Infinity Problem

The count-to-infinity problem


May 13, 2024 Dr. ASM Mostafizur Rahaman, 24
Professor of CSE
Link State Routing
 Distance Vector Routing was used in the ARPANET
until 1979 – when it was replaced by link state routing.
 Delay Metric was Queue Length thus did not take into account
line bandwidth when choosing routes.
1. Problem when line bandwidth changed for some bands from 56
kbps to 230 kbps or 1.544 Mbps.
2. Algorithm took to long to converge (the count-to-infinity
problem).
 Solution: Link State Routing

May 13, 2024 Dr. ASM Mostafizur Rahaman, 25


Professor of CSE
Link State Routing (2)
 Each router must do the following:

1. Discover its neighbors and learn their network addresses.


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.

 Complete topology and all delays are experimentally measured and


distributed to every router. Dijkstra’s algorithm can be run to find the
shortest path to every other router.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 26


Professor of CSE
(1) Learning About the Neighbors
 “HELLO” packed send on each point-to-point line
from a booted router.
 Router on the other end must reply by sending its
globally unique “name”.

 Example of routers connected by a LAN.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 27


Professor of CSE
(1) Learning About the Neighbors
 Nine routers and a LAN:

E
D
F Router G H
B
G C
B D
E I A
F I
A C F

 One way to model LAN is to consider


N
it as node
(Graph
Routers model).
connected to LAN Graph Model

May 13, 2024 Dr. ASM Mostafizur Rahaman, 28


Professor of CSE
(2) Measuring Line Cost
 It is required by the Link State Routing algorithm that each router not
have a reasonable estimate of the delay/cost to each of its neighbors.
 Send “ECHO” packet (ping) that the other side is required to send
back immediately.
 Measure Round Trip time; Divide by 2 to get an estimate.
 More accurate estimate by repeating the process several times and by
averaging estimates.
 Assumes symmetric delay.
 Channel Load Issue when Measuring Delay
 To factor the load in: round trip timer must be started when the ECHO
packed is queued.
 To ignore the load: round trip timer must be started when ECHO
packed reaches front of the queue.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 29


Professor of CSE
(2) Measuring Line Cost (cont.)
 Including Traffic-induced Delays:
 If a router has a choice from 2 lines with the same
bandwidth, one of which is heavily loaded all the time and
one of which is not, the router will regard the route over
the unloaded line as shorter path. This choice in general
will result in better performance
 Problem with Oscillations in the choice of best path.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 30


Professor of CSE
(2) Measuring Line Cost (cont.)

West East
G
C
B
F
H
A

D I

May 13, 2024 Dr. ASM Mostafizur Rahaman, 31


Professor of CSE
(3) Building Link State Packets
 Packet Format: A B C
 Identity of Sender Seq. Seq. Seq.
 Sequence Number
 Age Age Age
Age
 List of Neighbors B 4 A 4 B 2
 Corresponding Delay
E 5 C 2 D 3

F 6 E 1

B 2 C

4 3
D D E F
A 6 Seq. Seq. Seq.

1 Age Age Age


5 4 C 3 A 5 B 6

F 4 C 1 D 4

E 8 with knowingFwhen to built
Packets easily built – problem F 8 E 8
them.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 32


Professor of CSE
(4) Distributing the Link State Packets
 Distributing Link State Packets Reliably is tricky:
 As the packets are distributed and installed, the routers getting the first ones will
change their routes before other routers in the network update their routing tables.
 Different Routers may be using different versions of the topology (inconsistencies,
loops, unreachable machines, etc.)
 Basic Algorithm: Flooding
 Sequence Number (incremented for each new packet sent) is used to keep the
flood in check.
 Routers keep track of all the source router packets they have been sent to.
 New link state packets is checked against the track list:
 If new/unseen (based on the sequence number) then it is broadcasted to all
neighboring routers with exception of the sender.
 If duplicate, it is disregarded.
 If sequence number is lower than the highest one in the track list, it is rejected.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 33


Professor of CSE
(4) Distributing the Link State Packets (cont)
 Problems with basic algorithm:
1. Sequence Number wrap around.
 Make a long precision number (e.g., 32-bit)
2. Crash of a router: losing track of sequence number.
3. Corruption of sequence number.
 Solution: Include Age of each packet.
 Decrement this value once per second.
 When zero, this state information is disregarded.

 Normally a new packed is send every 10 sec.


 Router information times out when:
 Router is down, or
 A Number of (e.g., 6) consecutive packets have been lost.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 34


Professor of CSE
(4) Distributing the Link State Packets (cont)
 Refinements of Distribution Algorithm:
 Holding the packet:
 Example of packed buffer for router B of subnet in previous figure
(Fig. 5-13 (a))

Acknowled
Sent Flags ged Flags
Source Seq. Age A C F A C F Data
A 21 60 0 1 1 1 0 0
F 21 60 1 1 0 0 0 1
E 21 59 0 1 0 1 0 1
C 20 60 1 0 1 0 1 0
D 21 59 1 0 0 0 1 1

May 13, 2024 Dr. ASM Mostafizur Rahaman, 35


Professor of CSE
Hierarchical Routing
 Large Networks:
 Proportionally large routing tables are required for each router
 More CPU time is needed to scan them
 More bandwidth is needed to send status reports.
 At certain point network may grow so large where it is no
longer feasible for every router to have an entry for every other
router.
 Solution: Routing has to be done hierarchically.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 36


Professor of CSE
Hierarchical Routing (cont.)
 Routers divided in Regions (as in telephone network):
 Each router knows how to route packets to destinations within its own region.
 However, router does not have any information regarding the topology of the
network of other regions.
 When different networks are interconnected they are regarded as a separate
region in order to free the routers in one network from having to know the
topological structure of the other ones.
 Huge networks will require more than two-level hierarchy.
 How many hierarchical levels are optimal.
 Kamoun and Kleinrock (1979): optimal number for an N router subnet is ln(N),
requiring total of e*ln(N) entries per router.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 37


Professor of CSE
Hierarchical Routing (cont.)
 Example:
Berkley, California Router to
Malindi, Kenya.
 Berkley to Los Angeles router (in-state traffic)
 Los Angeles to New York router (out-of-state traffic)
 New York to Nairobi (international traffic) …

May 13, 2024 Dr. ASM Mostafizur Rahaman, 38


Professor of CSE
Two Level Hierarchical Routing Example
Full table for 1A Hierarchical table for 1A

Dest. Line Hops Dest. Line Hops


2A 2B 1A - - 1A - -
1B 1B 1B 1 1B 1B 1
Region 2 1C 1C 1 1C 1C 1
Region 1 2A 1B 2 2 1B 2
1A 1C
2C 2D 2B 1B 3 3 1C 2

2C 1B 3 4 1C 3

2D 1B 4 5 1C 4

3A 1C 3

3B 1C 2

4A 1C 3
5B
4B 1C 4
3A 3B 4A 5A 5C
4C 1C 4

Region 3 Region 5 5A 1C 4
Region 44C 5B 1C 5

5C 1B 5
4B 5E 5D 5D 1C 6

5E 1C 5

May 13, 2024 Dr. ASM Mostafizur Rahaman, 39


Professor of CSE
Broadcast Routing
 Sending a packed to all destinations simultaneously is called
Broadcasting.
 Direct Method: Source sends a distinct packet to each destination
routers in the subnet:
1. Wasteful of the bandwidth.
2. It requires source to have a list of all destinations.
 In practice this may be the only feasible solution.
 Flooding:
 Ordinarily ill suited for point-to-point communication:
 Generates to many packets, and
 Consumes to much bandwidth.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 40


Professor of CSE
Broadcast Routing (cont.)
 Multi-destination Routing
 Each packets contains:
 A list of designations, or
 A bit map indicating the desired destinations.
 When packet arrives at a router:
 The router checks all the destinations to determine the set of output lines that
will be needed.
 Generates a new copy of the packed for each output line to be used and
includes in each packet only those destinations that are to use the line.
 After a sufficient number of hops, each packed will carry only one destination
and can be treated as normal packet.
 Multi-destination routing is like separately addressed packets, except that
when several packets must follow the same rout, one of them pays full
fare and the rest ride free.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 41


Professor of CSE
Broadcast Routing (cont.)
 Spanning Tree:
 It is a subset of the subnet that includes all routers but contains no
loops.
 Each router knows which of its lines belong to the spanning tree, it
can copy an incoming broadcast packet onto all the spanning tree
lines except the one it arrived on.
 Makes excellent use of bandwidth (generates absolute minimum number
of packets necessary to do the job)
 Must have knowledge of some spanning tree for the method to be
applicable.
 Information available in some instances (e.g., link state routing)
 Information not available (e.g., distance vector routing)

May 13, 2024 Dr. ASM Mostafizur Rahaman, 42


Professor of CSE
Broadcast Routing (cont.)
 Reverse Path Forwarding:
 Router checks if the broadcast packet arrived on the line that is
normally used for sending packets to the source of the
broadcast.
 If so, there is excellent chance that the broadcast packet itself
followed the best route from the router and is therefore the first
copy to arrive at the router. The router forwards copies of it
onto all lines except the one it arrived on.
 If the broadcast packet arrived on a line other than the preferred
one for reaching the source, the packet is discarded as a likely
duplicate.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 43


Professor of CSE
Broadcast Routing (cont.)
 Example of Reverse path Forwarding

B C
B C
A D
A
D F
F
E
E I G
I G

J
J H
H L
L N
O
N O
K
K

M
M

A subnet A sink tree for router I


May 13, 2024 Dr. ASM Mostafizur Rahaman, 44
Professor of CSE
Broadcast Routing (cont.)
 The tree build by reverse path forwarding. After 5 hops and 24 packets the broadcasting
terminates compared to 14 packets had the sink tree been followed exactly

F H J N

A D E K G O M O

E C G D N K

H B L H

L B
May 13, 2024 Dr. ASM Mostafizur Rahaman, 45
Professor of CSE
Broadcast Routing (cont.)
 Reverse Path Forwarding in spite of not being optimal
procedure:
 Efficient and easy to implement Algorithm
 It does not require routers to know about spanning trees.
 Does not have the overhead of destination list or bit map in
each broadcast packet (as multi-destination addressing).
 It does not require any special mechanism to stop the process as
flooding does (hop counter in each packed and a priori
knowledge of the subnet diameter, or a list of packets already
seen per source)

May 13, 2024 Dr. ASM Mostafizur Rahaman, 46


Professor of CSE
Multicast Routing
 Application that require separate processes (i.e., each from separate
location) access and ability to work on the same data.
 Small group can use point-to-point messaging to accomplish this task.
 Broadcasting can be used but communicating with 1000 “interested”
machines out of million-node network is inefficient.
 Need a mechanism that would send messages to well-defined groups
that are numerically large in size but small compared to the network as
a whole.
 Sending a message to a such a group is called multicasting.
 Corresponding routing algorithm is called multicast routing.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 47


Professor of CSE
Multicast Routing (cont)
 Requirements:
 Create and Destroy Groups
 Nodes should be able to Join and Leave Groups, etc.
 Group Management.

 When a process joins a group it informs its host.


 Routers must know which of their hosts belong to which group.
 Host must inform their routers about changes in group membership, or
 Routers must query their hosts periodically.
 Information shared with Neighboring Routers (propagation of
information through the subnet).

May 13, 2024 Dr. ASM Mostafizur Rahaman, 48


Professor of CSE
Multicast Routing (cont)
 Each Router Computes Spanning Tree Covering all other routers.
 Example of a network with nodes belonging to two groups (1 & 2).

2 1
2 1
1, 1,
1, 1, 2 2 2
2 2 2
2 2
2 1
1 1
1 Spanning Tree for the leftmost
Network
Router

1 2

1 1 2 2
2

2
1
1
A Multicast Tree for group 1 A Multicast Tree for group 2

May 13, 2024 Dr. ASM Mostafizur Rahaman, 49


Professor of CSE
Multicast Routing Tree Pruning
 Link State Routing – each router is aware of the complete topology, including
which hosts belong to which groups.
 Pruning starting from leaf-node up toward root node.
 Distance Vector Routing – Basic pruning algorithm is based on reverse path
forwarding.
 Router with no hosts interested in a particular group and no connections to other
routers responds with PRUNE message to a multicast message.
 Also when a router with no group members among its hosts receives a multicast
message it too will respond with a PRUNE message effectively recursively
pruning the subnet.
 Potential Problem:
 Scales poorly to large networks.
 Network with n groups,
 Each Group on average has m members.
 For each Group m – spanning trees must be stored; total of m*n trees.
 Significant storage requirements for large number of groups.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 50


Professor of CSE
Multicast Routing Tree Pruning
 Core-Based Trees – an alternative algorithm:
 Uses one spanning tree per group,
 Root (core) node near the middle of the group.
 Host sends multicast message to core node; which in turn sends
the message along the spanning tree.
1. Tree will not be optimal for every source,
2. Reduction is storage from m trees to one tree per group.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 51


Professor of CSE
Multicast Routing Tree Pruning

(a)Core-based tree for group 1.


(b)Sending to group 1.
May 13, 2024 Dr. ASM Mostafizur Rahaman, 52
Professor of CSE
ANyCast Routing
 Delivery models in which a source sends to a single
destination (called unicast) to all destination (called
broadcast) have been discussed so far.
 Another method that is useful is called anycast in which a
packed is delivered to the nearest member of a group.
 Why one would want anycasting?
 Sometimes nodes provide a service, such as time of day or content
distribution for which it is getting the right information all what is
required (not the node that is connected too).

May 13, 2024 Dr. ASM Mostafizur Rahaman, 53


Professor of CSE
(a)Anycast routes to group 1.
(b)Topology seen by the routing protocol.
May 13, 2024 Dr. ASM Mostafizur Rahaman, 54
Professor of CSE
Routing for Mobile Hosts
 Increasing number of users of Portable Computers and
Personal Computer Devices. They require access to:
 E-mail
 File System, etc.
 In order to route a packet to a mobile host, the network
first has to find it.
 World Model of communication network:
 WAN consisting of routers and hosts,
 LAN’s connected to WAN, and
 MAN’s connected to WAN.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 55


Professor of CSE
Routing for Mobile Hosts (cont)
 A WAN to which LAN’s, MAN’s and wireless cells are attached:

Wireless cell
Home Agent

Mobile
Host
Home LAN

Foreign
Agent

Foreign LAN
WAN MAN

May 13, 2024 Dr. ASM Mostafizur Rahaman, 56


Professor of CSE
Routing for Mobile Hosts (cont)
 Stationary Hosts:
 Hosts that never move.
 Migratory Hosts:
 Stationary hosts who move from one fixed site to another from time
to time but use the network only when they are physically connected
to it.
 Roaming Hosts:
 Need to maintain their connections as they move around.
 Mobile Hosts:
 Migratory and Roaming Hosts – that is all host that are away from
home and still want to be connected.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 57


Professor of CSE
Routing for Mobile Hosts (cont)
 All hosts are assumed to have:
 A permanent home location, and
 A permanent home address:
 Used to determine their home location (analogous to telephone
number; e.g., 1-212-555-1212).
 Routing goal in systems with mobile hosts:
 To make possible to send packets to mobile hosts using their
home address, and
 Have the packets efficiently reach them wherever they may be.
 Trick is off course to find them first.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 58


Professor of CSE
Routing for Mobile Hosts (cont)
 According to the sketch in previous slide world is divided up (geographically)
into small units – areas.
 Areas are typically LANs or wireless cells.
 Each area has one or more
 Foreign agents:
 Processes that keep track of all mobile hosts visiting the area.
 Home agent:
 Keeps track of hosts whose home is in the area, but who are currently visiting
another area.

 REGISTRATION with Foreign Agent: When a new host enters an area, either
by connecting to it (e.g., plugging into LAN), or wandering into the cell it
must register itself with the foreign agent of that area.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 59


Professor of CSE
Registration Procedure of Mobile Hosts
1. Each foreign agent broadcasts periodically a packet announcing its
existence and address.
 Newly-arrived mobile host may:
1. Wait for one of these message, or if none arrives quickly enough
2. Can broadcast a packet “saying”: Are there any foreign agents around?

2. The mobile host registers with the foreign agent:


 Gives its home address,
 Current data link layer address, and
 Some security information.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 60


Professor of CSE
Registration Procedure of Mobile Hosts
3. The foreign agent contact the mobile host’s home agent and informs it
about a mobile host in his area. This message contains:
 The foreign agent’s network address,
 Security information (“to convince the home agent that the mobile host is
really there”).

4. The home agent authenticates security information containing:


 Timestamp (to prove that it was generated within the past few seconds), etc.
 Acknowledges foreign agent by indicating to proceed if everything checks
out.

5. Foreign agent registers and informs the mobile host.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 61


Professor of CSE
Registration Procedure of Mobile
Hosts
6. Checking out when done (typically mobile hosts just turn-off their
computers).

May 13, 2024 Dr. ASM Mostafizur Rahaman, 62


Professor of CSE
Packet Routing for Mobile Hosts
Example of sending a packed to a mobile host that has
been registered.

foreign agent 1. Pa
c
mob ket is se
packets are

ile h
ost’s nt to the
hom
e ad
3. Se dres
nder s
agen is gi
t’s a ven
ddre forei
ss gn
tunneled to the
4. Subsequent

to the
t is tunneled
e
2. Pack gent
eigh a
for

May 13, 2024 Dr. ASM Mostafizur Rahaman, 63


Professor of CSE
Packet Routing for Mobile Hosts

 Example: Sender wants to send a packet to a host in New York.

 Packets sent to the mobile host on its home LAN in NEW York are intercepted by the home
agent (step 1).

 Home agent looks up mobile host’s new (temporary) location and finds the address of the
foreign agent handling the mobile host (i.e., Los Angeles).

 Home agent does:

1. It encapsulates the packet in the payload field of an outer packet and sends the latter to
the foreign agent (step 2). This mechanism is called tunneling.
After getting the encapsulated packet, the foreign agent removes the original packet from
the payload field and sends it to the mobile host as a data link frame.

2. The home agent tells the sender to henceforth send packet to the mobile host by
encapsulating them in the payload of packets explicitly addressed to the foreign agent
instead of just sending them to the mobile host's home address (step 3.) Subsequent
packets can now be routed directly to the host via foreign agent (step 4.), bypassing the
home agent entirely.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 64


Professor of CSE
Routing in Ad Hoc Networks
 Ad Hoc networks refers to the extreme case of mobility where not
only the hosts are mobile but routers as well. Examples:

1. Military vehicles on a battlefield with no existing


infrastructure.
2. A fleet of ships at sea.
3. Emergency workers at en earthquake that destroyed the
infrastructure.
4. A gathering of people with notebook computers in an area
lacking 802.11 (IEEE Wireless LAN protocol).

May 13, 2024 Dr. ASM Mostafizur Rahaman, 65


Professor of CSE
Routing of Ad Hoc Networks (cont)
 Each node consists of a router and a host – usually on the
same computer.
 Networks of neighboring nodes are called ad hoc
networks or MANETs (Mobile Ad-hoc NETworks).
 Features of such networks:
 Routers come and go or appear in new places all the time.
 Consequently, Network Topology may be changing all the time.
 Validity of paths can thus change spontaneously.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 66


Professor of CSE
Ad hoc On-demand Distance Vector routing
(AODV) Algorithm
 AODV takes into account limited bandwidth and low
battery life of devices.
 It is a on-demand algorithm; that is it determines a
route to some destination only when there is a
demand to send a packed to a destination.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 67


Professor of CSE
Ad hoc On-demand Distance Vector routing
(cont)
 Route Discovery
 Ad-hoc network can be described by a graph of the nodes
(routers + hosts).
 Two nodes are connected (depicted via an connecting arc in the
graph) if they can communicate directly using their radios.
 For simplicity connection is assumed symmetric (e.g., case
where node A has a more powerful transmitter then node B thus
node A can communicate to B but not vice versa is not
considered).

May 13, 2024 Dr. ASM Mostafizur Rahaman, 68


Professor of CSE
Ad hoc On-demand Distance Vector routing
Example

Range of A’s
Broadcast

A A A A
B C B C B C B C

D D D D
E E E E
F G F G F G F G

H I H I H I H I
Range of A’s Broadcast After B and D have After C,F and G have After E,H and I have
received of A’s Broadcast received of A’s Broadcast received of A’s Broadcast

May 13, 2024 Dr. ASM Mostafizur Rahaman, 69


Professor of CSE
AODV Algorithm
 Scenario: A wants to send a packet to node I.

 AODV algorithm maintains a table at each node keyed by destination giving


information about that destination including which neighboring node to send
packets to in order to reach the destination.

 Suppose node A can not find the information about destination node I. Thus it
needs to discover a route to node I.

 Algorithm Details.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 70


Professor of CSE
AODV Algorithm (cont)
 To locate an unknown node (I), source node A constructs a special ROUTE REQUEST
packet and broadcasts it.
 The packed reaches A’s neighboring nodes B and D. B and D at this time are directly
communicating with A (as opposed to F for example).
 Format of ROUTE REQUEST PACKET:

 Source and Destinations Address (typically IP address).


Source Request Destination Source Destination Hop
 Request ID – local counter maintained separately by each node and incremented each time a
Address ID Address Sequence # Sequence # Count
ROUTE REQUEST is broadcast.
 Source Address and Request ID uniquely identify the ROUTE REQUEST packet. This allow nodes
to discard any duplicate packets they may receive.
 Sequence Counters – Each node also maintains a second sequence counter incremented whenever a
ROUTE REQUEST is sent (or a reply to someone's else’s ROUTE REQUEST) . It is used to tell
new routes form old routes.
 Hop Count – keeps track of how many hops the packet has made.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 71


Professor of CSE
AODV Processing on a node (cont)

 When ROUTE REQUEST packet arrives at a node (B &


D in this case), it is processed in the following steps:

1. The Source Address, Request ID pair is looked up in


local history table to see if this request has already A
been seen and processed. B C
 If duplicate – it is disregarded
 If not duplicate – pair is entered in history table.
D
2. The receiver node looks up the destination in its
route table. E
If a fresh route to the destination is know, a ROUTE F
REPLY packet is sent back to the source informing it G
how to get to the destination. Fresh means that the
Destination sequence number stored in the routing
table is greater than or equal to the Destination
sequence number in the ROUTE REQUEST packet. H I
If it is less, the stored route is older than the previous
route the source had for the destination thus next
step 3 is executed. After B and D have
received of A’s Broadcast

May 13, 2024 Dr. ASM Mostafizur Rahaman, 72


Professor of CSE
3. Since the receiver node does not know a
fresh route to the destination, it:
 Increments the Hop count field,
 Rebroadcast the ROUTE REQUEST packet A
to its neighboring nodes with exception to B C
node from which it has received it.
 Extracts the data from the packed and stores
it as a new entry in its reverse route table.
D
This information will be used to construct the E
reverse route so that the reply can get back to
source later as specified with reverse arrows. F G
 A timer is started for the newly-made reverse
route entry. If it expires the entry is deleted.

H I
After C,F and G have
received of A’s Broadcast

May 13, 2024 Dr. ASM Mostafizur Rahaman, 73


Professor of CSE
AODV Algorithm (cont)
 Since neither B nor D knows where I is, each creates reverse route entry pointing back
to A, and broadcasts the packet with Hop count set to 1.
 Broadcast from B reaches C and D.
 C makes an entry for it in its reverse route table and rebroadcasts it.
 D in contrast rejects it as a duplicate.
 Broadcast from D’s A
 is rejected by B as a duplicate, however, B C
 it is accepted by F and G.
D
E
F G

H I
After C,F and G have
received of A’s Broadcast

May 13, 2024 Dr. ASM Mostafizur Rahaman, 74


Professor of CSE
AODV Algorithm (cont)
 After E, H, and I receive the broadcast, the ROUTE REQUEST
finally reaches a destination that knows where I is, namely I itself.

 Note: Broadcast from each node are not coordinated


A in any way.
B C
D
E
F G

H I
After E,H and I have
received of A’s Broadcast

May 13, 2024 Dr. ASM Mostafizur Rahaman, 75


Professor of CSE
Reply Packet in AODV
 In response to the incoming request, I builds a ROUTE REPLY packet
and:

 TheSource
Source Destination
address, Destination
Destinationaddress,
Hop Hop Life-
Counter are copied from the
incoming
Address request.
Address Sequence # Count time
 Destination sequence number is taken from its counter.
 The Hop count field is set to 0.
 The Lifetime field controls how long the route is valid.
 This packed is cast back to the node that ROUTE REQUERST packed
came form, in this case node G.
 From G it follows the reverse path to D and finally to A. At each node
Hop count is incremented so the node can see how far from the
destination (I) is.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 76


Professor of CSE
Reply Packet in Intermediate nodes
 At each intermediate node the packed is inspected and entered into local
routing table as a route to I if one or more of the following three conditions
are met:

1. No route to I is known.
2. The sequence number for I in the ROUTE REPLY packed is greater than the
value in the routing table.
3. The sequence numbers are equal but the new route I s shorter.

 This ensures that all nodes on the reverse route learn the route to I for free as
a byproduct of A’s route discovery.
 Nodes that got the original REQUEST ROUTE packed but were not on the
reverse path (B, C, E, F, and H in this example) discard the reverse route
table entry when the associated timer expires.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 77


Professor of CSE
Route Maintenance
 In Ad-hoc networks the nodes can move or can be switched off.
 For example if G is switched off, A will need to deal with it because the route that
it was using (ADGI) is no longer valid.
 Idea: each node broadcasts a Hello message periodically. Each neighbor is
expected to respond to it. For the cases that there is no response the information is
purged for the routes that use corresponding node.
 List of Active Neighbors for a destination: For each possible destination, each
node, N, keeps track of its neighbors that have fed it a packed for that destination
during the last ∆T seconds.
 A node N does this by having a routing table keyed by destination containing:
 Outgoing node to use to reach that destination,
 Hop count to the destination
 Most recent destination sequence number, and
 The list of active neighbors for that destination.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 78


Professor of CSE
Example of a Routing Table
Dest. Next Distance Active Other
hop Neighbors fields

A A 1 F,G A
B C
B B 1 F,G
C B 2 G D
E G 2 E
F G
F F 1 A,B
G G 1 A,B
H F 2 A,B
H I
I G 2 A,B Graph after G has gone
down

D’s routing table


before G goes down

May 13, 2024 Dr. ASM Mostafizur Rahaman, 79


Professor of CSE
Route Maintenance (cont)
 When any of N’s neighbors becomes unreachable, it
checks its routing table to see which destinations have
routes using this node. For each of these routes, the
active neighbors are informed that their route via N is
now invalid and must be purged from their routing
tables.
 The active neighbors nodes propagate this information to
their active neighbors, and so on recursively, until all
routes depending on the unavailable node are purged
from all routing tables.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 80


Professor of CSE
Congestion Control Algorithms
 The situation when to many packets are present in subnet it is called
congestion.

Congestion Traffic Performance Chart as functino of Number


of Packets Sent

1.2

1
Maximum Carrying
capacity of subnet
0.8
Packets Delivered [%]

Desirable Performance
0.6 Congested Performance
Ideal

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Num ber of Packets in Mil.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 81


Professor of CSE
Approaches to Congestion
Control

Timescales of approaches to congestion control


May 13, 2024 Dr. ASM Mostafizur Rahaman, 82
Professor of CSE
Traffic-Aware Routing

A network in which the East and West parts


May 13, 2024
are connected by two links.
Dr. ASM Mostafizur Rahaman,
Professor of CSE
83
Congestion Factors
 Streams of inputs packets arriving from multiple lines (3-4 or more) needing the same output line
=> queue buildup.
 Adding more memory may help to a point but – a study by Nagle suggest that increasing memory to ∞ to
accommodate larger queues congestions gets worse not better due to time required to get to the front of the
queue (timed out).

 Slow Processors:
 Queue build up due to routers slow CPU’s at performing bookkeeping task:
 Queueing buffers,
 Updating tables, etc.

 Low bandwidth lines.

 Typically the problem is that upgrading one part of the system shifts the bottleneck to the other
someplace else. The real problem frequently is a mismatch parts of the system. The problem will
persist until all components of the system are in balance.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 84


Professor of CSE
Congestion Control vs. Flow Control
 Congestion Control has to due with making sure the subnets are able to carry
the offered traffic. Thus it is a global issue involving the behavior of
 all the hosts,
 all the routers,
 the store-and forwarding processing within the routers, and
 all the other factors that tend to diminish the carrying capacity of the subnet.
 Flow Control relates to point-to-point traffic between a given sender a given
receiver. Its job is to make sure that a fast sender cannot continually transmit
data faster than the receiver is able to absorb it.
 It frequently involves some direct feedback from the receiver to the sender to tell
the sender how things are doing at the other end.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 85


Professor of CSE
Congestion Control vs. Flow Control
Example
 Flow Control Problem: Consider a fiber optic network with a capacity
of 1000 Gbps on which a supercomputer is trying to transfer a file to a
personal computer at 1 Gbps. Although there is not congestion the
supercomputer has to frequently stop in order to allow PC to catch up.
 Congestion Control Problem: Consider a store-and-forward network
with 1 Mbps lines and 1000 large computers, half of which are trying
to transfer files at 100 kbps to the other half creating a traffic of
500x100 kbps = 50000 kbps = 50 Mbps. The problem here is that this
traffic exceeds the capacity of what the network can handle.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 86


Professor of CSE
General Principles of Congestion Control
 Analogy with Control Theory:
 Open-loop, and
 Closed-loop approach.

 Open-loop approach
 Problem is solved at the design cycle
 Once the system is running midcourse correction are NOT made.
 Tools for doing open-loop control:
 Deciding when to accept new traffic,
 Deciding when to disregard packets and which ones.
 Making scheduling decision at various points in the network.
 Note that all those decisions are made without regard to the current state of the
network.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 87


Professor of CSE
General Principles of Congestion Control
 Closed-loop approach
 It is based on the principle of feedback-loop. The approach has three
parts when applied to congestion control:
1. Monitor the system to detect when and where congestion occurs,
2. Pass this information tot places where action can be taken
3. Adjust system operation to correct the problem.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 88


Professor of CSE
General Principles of Congestion Control
 Monitoring - Metrics to be used to monitor subnet congestion:
 Percentage of all packets disregarded for lack of buffer space.
 Average queue length
 Number of packets that time out and are retransmitted,
 Average packet delay
 Standard deviation of packed delay.

 Transferring congestion information


 Information send to the source(s) of the traffic. Undesirable because extra traffic is initiated when
opposite is needed.
 Another approach is to reserve a bit field that can be set when congestion gets above some level of
threshold.
 Routers/Hosts send periodically probe packets out to explicitly ask about congestion. This
information can then be used to route traffic around problem areas.
 In general in all feedback schemes, the hope is that knowledge of congestion will cause the hosts to
take appropriate action to reduce the congestion. Time constant in any adjustment scheme is critical
and non-trivial problem:
 To fast adjustment is responsive but can lead to oscillations.
 To slow adjustment is response time is sluggish and of no real value.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 89


Professor of CSE
General Principles of Congestion Control
 The presence of a congestion means that the load is
(temporarily) greater than the resources (in part of
the system) can handle.
 Increase Resources, and/or
 Decrease the Load.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 90


Professor of CSE
General Principles of Congestion Control
 Increase of Resources:
 Use dial-up telephone lines to temporarily increase the
bandwidth between certain points.
 On satellite systems increasing transmission power often gives
higher bandwidth.
 Splitting traffic over multiple routes (instead of using the best
one) may effectively the bandwidth.
 Use of spare routers that are normally used as backups to give
more capacity.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 91


Professor of CSE
General Principles of Congestion Control
 Decrease the Load
 It is not always possible to increase capacity of the
subsystem. Thus the only other way to reduce congestion
is to decrease the load.
 Denying service to some users (AOL in early days),
 Degrading service to some or all users,
 Having users schedule their demands in more predictable way.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 92


Professor of CSE
Congestion Prevention Policies
Open-loop Approach
 Open-loop system designed to minimize congestion in the first place
rather then reacting after it happened.
 Try to achieve this goal at various levels/layers:

 Data Link Layer:


 Retransmission Policy:
 Sender with quick time out and go-back-n retransmitting packets vs.
 Selective repeat with slower time out.
 Out-of-order catching policy
 Acknowledgment policy
 Flow control policy

May 13, 2024 Dr. ASM Mostafizur Rahaman, 93


Professor of CSE
Congestion Prevention Policies
Open-loop Approach
 Network Layer:
 Virtual circuit versus datagram inside the subnet:
 Many congestion control algorithms work only with virtual circuit subnets.
 Packet queueing and service policy:
 One queue per input line or output line or both.
 Processing the queue:
 Round-robin
 Priority based queue processing.
 Packet discard policy
 Bad policy can make the problem worse.
 Routing algorithm
 Spreading the traffic over all the lines can help, vs.
 Directing the traffic on the already congested line.
 Packet lifetime management – Deals with issue that determines how long a packet may live
before it is disregarded.
 To long a life time lost packets may clog up the works for a long time.
 To short on the other hand packets may time out before even given a chance to reach the
destination, thus inducing retransmission.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 94


Professor of CSE
Congestion Prevention Policies
Open-loop Approach
 Transmission Layer – same issues like in Data Link Layer with one
addition determining the time out is harder because the transit time across
the network is less predictable than the transit time over a wire between
two routers.
 Retransmission Policy:
 Out-of-order catching policy
 Acknowledgment policy
 Flow control policy
 Time out determination

May 13, 2024 Dr. ASM Mostafizur Rahaman, 95


Professor of CSE
Congestion Prevention Policies
in Virtual-Circuit Subnets
 Admission Control:
 Simple algorithm – once congestion has been signaled, no more
virtual circuits are set up until the problem had gone away.
 Attempts to setup new transport layer connections will fail.
 Alternate Approach to Admission Control:
 Allow new virtual-circuits but carefully route all new ones
around the problem area,

May 13, 2024 Dr. ASM Mostafizur Rahaman, 96


Professor of CSE
Alternate Approach to Admission Control
Example

a) b)

New Virtual-Circuit

A A

B B

(a) A congested network. (b) The portion of the network that is


not congested. A virtual circuit from A to B is also shown.
May 13, 2024 Dr. ASM Mostafizur Rahaman, 97
Professor of CSE
Traffic Throttling (2)

Explicit congestion notification


May 13, 2024 Dr. ASM Mostafizur Rahaman, 98
Professor of CSE
Load Shedding (1)

A choke packetDr.that
May 13, 2024 affects
ASM Mostafizur only the source..
Rahaman,
Professor of CSE
99
Load Shedding (2)

A choke packet thatDr.affects


May 13, 2024
each hop
ASM Mostafizur Rahaman,
Professor of CSE
it passes through.
100
Negotiated Approach to Congestion
Control
 Agreement is negotiated between the host and subnet when a virtual
circuit is set-up.
 Agreement specifies:
 Volume and shape of the traffic,
 Quality of service requires, etc.
 Subnet guarantees the connection since it will make all necessary
resource available during the set. Resource typically include:
 Table and buffer space in the routers, and
 bandwidth on the lines.
 Agreement can be done
 All the time as part of standard operating procedure (wastes resources),
or
 Only when the subnet is congested.

May 13, 2024 Dr. ASM Mostafizur Rahaman, 101


Professor of CSE
End

May 13, 2024 Dr. ASM Mostafizur Rahaman, 102


Professor of CSE

You might also like