You are on page 1of 94

Mobile Ad Hoc

Networking: Imperatives
and Challenges
 An Ad-hoc network is a collection of wireless mobile nodes which
dynamically forming a temporary mobile nodes which dynamically
forming a temporary network without the aid of any established
infrastructure or centralized administration..
 Inside the ad hoc networking field, wireless sensor networks take a special
role. A sensor network is composed of a large number of small sensor
nodes, which are typically densely (and randomly) deployed inside the
area in which a phenomenon is being monitored.
AD HOC NETWORKING AND 4G

Integrating different types of wireless networks with wire-line backbone


network seamlessly, and convergence of voice, multimedia and data traffic
over a single IP-based core network are the main foci of 4G.
Evolution of MANET

 In 1970, Normanl Abramson and his fellow researchers


 at the University of Hawaii invented ALOHAnet.
 In 1972 DARPA Packet Radio Network (PRNet)
 In 1980 Survivable Radio Networks (SURAN).
 During 1980 emergence of Internet Emerging Task
 Force (IETF), termed the mobile ad hoc networking
group.
 In 1994 emergence of Bluetooth by Ericsson.
Characteristics of MANET

 Network is not depend on any fix infrastructure for its


 operation.
 Eas of deployment
 Speed of deployment
 Dynamic Chanigng Topology of nodes
 Multi-hop network
 Each node is working as intelligent node
 Not any mediator networking device is required for communicatons
 Each node is work as a DTE (Data Terminal
 Equipment) and DCE (Data Communication Equipment)
AD-HOC APPLICATIONS

 Tactical networks : Military Communication automated Battle fields


 Sensor Network : Remote weathers for sensors, earth activities
 Emergency Services : Disaster recovery, earthquakes,crowd control and
commando operations
 Educational Applications : Setup virtual class &conference rooms
 Entertainment : Multi-user games, robotics pets.
 Location Aware Services : Automatic Call forwarding,advertise location
specific services, Location–dependent travel guide.
 Ad hoc networks can be classified, depending on their coverage area, as
: Body (BAN), Personal (PAN), Local (LAN),Metropolitan (MAN) and
Wide(WAN) area networks.
BLUETOOTH

 A Bluetooth unit, integrated into a microchip, enables wireless ad


hoc communications, of voice and data between portable and/or
fixed electronic devices like computers, cellular phones, printers,
and digital cameras.
IEEE 802.11 NETWORKS

 The IEEE 802.11 standard defines two operational modes for WLANs:
infrastructure-based and infrastructure-less or ad hoc. Network interface
cards can be set to work in either of these modes but not in both
simultaneously.
 It is the mode commonly used to construct the so-called Wi-Fi hotspots,
i.e., to provide wireless access to the Internet. In the ad hoc mode, any
station that is within the transmission range of any other, after a
synchronization phase,can start communicating.
MAC PROTOCOL

 TDMA, CDMA, token-passing, etc. Among these, TDMA is themost


commonly used in adhoc networks.
 In the TDMA approach, the channel is generally organized in frames,
where each frame contains a fixed number of time slots.
 The mobile hosts negotiate a set of TDMA slots in which to transmit.
NETWORK SECURITY AND
COOPERATION

 Mobile wireless networks are generally more vulnerable to information and


physical security threats than fixed wiredNetworks.
 Vulnerability of channels and nodes, absence of infrastructure and
dynamically changing topology, make ad hoc networks security a difficult
task.
 Broadcast wireless channels allow message eavesdropping and injection
(vulnerability of channels).
SECURITY ATTACKS
 Secure routing : Secure routing protocols cope with malicious nodes that can disrupt the
correct functioning of a routing protocol by modifying routing information, by fabricating
false routing information and by impersonating other nodes.
 Cooperation enforcing : A basic requirement for keeping an ad hoc network operational
is to enforce ad hoc nodes contribution to basic network functions such as packet
forwarding and routing. Unlike networks using dedicated nodes to support basic network
functions including packet forwarding, routing, and network management, in ad hoc
networks those functions are carried out by all available nodes
 A malicious node does not cooperate because it wants to intentionally damage network
functioning by dropping packets.
CONCLUSION

 Its intrinsic flexibility, ease of maintenance, lack of required infrastructure,


auto-configuration, self-administration capabilities, and significant costs
advantages make it a prime candidate for becoming the stalwart
technology for personal pervasive communication.
Destination-Sequenced
Distance Vector (DSDV)
Protocol
DSDV
Destination-Sequenced Distance-Vector
Routing Protocol
Outline

 Introduction
 Distance-Vector

 DSDV Protocol
 Summary
Introduction

 The property of ad-hoc networks


 Topology may be quite dynamic
 No administrative host
 Hosts with finite power
Introduction

 The properties of the ad-hoc network routing protocol


 Simple
 Less storage space
 Loop free
 Short control message (Low overhead)
 Less power consumption
 Multiple disjoint routes
 Fast rerouting mechanism
Introduction

 Routing Protocol:
 Table-driven (proactive)
 Source-initiated on-demand (reactive)
 Hybrid

 Routing Algorithm
 Link-State algorithm:
 Each node maintains a view of the network topology
 Distance-Vector algorithm:
 Every node maintains the distance of each destination
Link-State

 Like the shortest-path computation method


 Each node maintains a view of the network topology with a cost for each
link
 Periodically broadcast link costs to its outgoing links to all other nodes such
as flooding
Link-State

link costs
F

H
B

C
G
D
Distance-Vector

 known also as Distributed Bellman-Ford or RIP (Routing Information Protocol)


 Every node maintains a routing table
 all available destinations
 the next node to reach to destination
 the number of hops to reach the destination
 Periodically send table to all neighbors to maintain topology
Distance Vector (Tables)

1 2
A B C
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 3
B B 1 B B 0 B B 2
C B 3 C C 2 C C 0
Distance Vector (Update)

B broadcasts the new routing


information to his neighbors

Routing table
is updated (A, 1) (A, 1)
(B, 0) (B, 0)
(C, 1) (C, 1)

1 1
A B C
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 3 2
B B 1 B B 0 B B 1
C B 3 2 C C 1 C C 0
Distance Vector (New Node)

broadcasts to
update
tables of C, B, A
with new entry for D

(A, 1) (A, 2)
(B, 0) (B, 1)
(C, 1) (C, 0)
(D, 2) (D, 1) (D, 0)

1 1 1
A B C D
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
A A 0 A A 1 A B 2
B B 1 B B 0 B B 1
C B 2 C C 1 C C 0
D B 3 D C 2 D D 1
Distance Vector (Broken Link)

1 1 1
A B C D
Dest. Next Metric … Dest.c Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3 D C 2 D B
D 1
Distance Vector (Loops)

(D, 2) (D, 2)

1 1 1
A B C D
Dest. Next Metric … Dest. Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3 D C 2 D B 3
Distance Vector (Count to Infinity)

(D,5)

(D,4) (D,4)

(D,3)

(D,2) (D,2)

1 1 1
A B C D
Dest. Next Metric … Dest.c Next Metric … Dest. Next Metric …
… … … … … … … … …
D B 3, 5, … D C 2, 4, 6… D B 3, 5, …
Distance Vector

 DV not suited for ad-hoc networks!


 Loops
 Count to Infinity

 New Solution -> DSDV Protocol


DSDV Protocol

 DSDV is Destination Based


 No global view of topology
DSDV Protocol

 DSDV is Proactive (Table Driven)


 Each node maintains routing information for all known destinations
 Routing information must be updated periodically
 Traffic overhead even if there is no change in network topology
 Maintains routes which are never used
DSDV Protocol
 Keep the simplicity of Distance Vector
 Guarantee Loop Freeness
 New Table Entry for Destination Sequence Number
 Allow fast reaction to topology changes
 Make immediate route advertisement on
significant changes in routing table
 but wait with advertising of unstable routes
(damping fluctuations)
DSDV (Table Entries)
Destination Next Metric Seq. Nr Install Time Stable Data
A A 0 A-550 001000 Ptr_A
B B 1 B-102 001200 Ptr_B
C B 3 C-588 001200 Ptr_C
D B 4 D-312 001200 Ptr_D

 Sequence number originated from destination.


Ensures
loop freeness.

 Install Time when entry was made (used to delete


stale entries from table)

 Stable Data Pointer to a table holding information on


how stable a route is. Used to damp fluctuations in
network.
DSDV (Route Advertisements)
 Advertise to each neighbor own routing
information
 Destination Address
 Metric = Number of Hops to Destination
 Destination Sequence Number
 Rules to set sequence number information
 On each advertisement increase own destination
sequence number (use only even numbers)
 If a node is no more reachable (timeout) increase
sequence number of this node by 1 (odd sequence
number) and set metric = 
DSDV (Route Selection)
 Update information is compared to own
routing table
 1. Select route with higher destination sequence
number (This ensure to use always newest
information from destination)
 2. Select the route with better metric when
sequence numbers are equal.
DSDV (Tables)

A 1 B 2 C
Dest. Next Metric Seq Dest. Next Metric Seq Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 1 A-550
B B 1 B-100 B B 0 B-100 B B 2 B-100
C B 3 C-586 C C 2 C-588 C C 0 C-588
DSDV (Route Advertisement)
B increases Seq.Nr from 100 -> 102
B broadcasts routing information
to Neighbors A, C including
destination sequence numbers

(A, 1, A-500) (A, 1, A-500)


(B, 0, B-102) (B, 0, B-102)
(C, 1, C-588) (C, 1, C-588)

A 1 B 1 C
Dest. Next Metric Seq Dest. Next Metric Seq Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-102 B B 0 B-102 B B 1 B-102
C B 2 C-588 C C 1 C-588 C C 0 C-588
DSDV (Respond to Topology Changes)
 Immediate advertisements
 Information on new Routes, broken Links, metric
change is immediately propagated to neighbors.

 Full/Incremental Update:
 Full Update: Send all routing information from own
table.
 Incremental Update: Send only entries that has
changed. (Make it fit into one single packet)
DSDV (New Node)

2. Insert entry for D with


sequence number D-000
Then immediately broadcast
own table 1. D broadcast for first time
Send Sequence number D-000

(D, 0, D-000)

A B C D
Dest. Next Metric Seq. Dest. Next Metric Seq. Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-104 B B 0 B-104 B B 1 B-104
C B 2 C-590 C C 1 C-590 C C 0 C-590
D D 1 D-000
DSDV (New Node cont.)
3. C increases its sequence
number to C-592 then
4. B gets this new information broadcasts its new table.
and updates its table…….

(A, 2, A-550) (A, 2, A-550)


(B, 1, B-102) (B, 1, B-102)
……… (C, 0, C-592) (C, 0, C-592)
……… (D, 1, D-000) (D, 1, D-000)

A B C D
Dest. Next Metric Seq. Dest. Next Metric Seq. Dest. Next Metric Seq.
A A 0 A-550 A A 1 A-550 A B 2 A-550
B B 1 B-104 B B 0 B-102 B B 1 B-102
C B 2 C-590 C C 1 C-592 C C 0 C-592
D C 2 D-000 D D 1 D-000
DSDV (no loops, no count to infinity)
2. B does its broadcast
-> no affect on C (C knows that
B has stale information because C
has higher seq. number for
destination D) 1. Node C detects broken
-> no loop -> no count to Link:
infinity -> Increase Seq. Nr. by 1
(only case where not the
destination sets the sequence
(D, 2, D-100) (D, 2, D-100) number -> odd number)

A B C D
Dest. Next Metric Seq. Dest.c Next Metric Seq. Dest. Next Metric Seq.
… … … … … … … … …
D B 3 D-100 D C 2 D-100 D D  D-101
DSDV (Immediate Advertisement)
3. Immediate 2. Immediate
propagation propagation
B to A: C to B:
(update information has (update information has
higher Seq. Nr. -> replace higher Seq. Nr. -> replace 1. Node C detects broken
table entry) table entry) Link:
-> Increase Seq. Nr. by 1
(only case where not the
destination sets the sequence
(D, , D-101) (D, , D-101) number -> odd number)

A B C D
Dest. Next Metric Seq. Dest.c Next Metric Seq. Dest. Next Metric Seq.
… … … ... … … … ... … … …
D B 4
3 D-100 D C 3
2 D-100 D B
D 1 D-100
D B  D-101 D C  D-101 D D  D-101
DSDV (Problem of Fluctuations)
A What are Fluctuations
P Q
 Entry for D in A: [D, Q, 14, D-100]

 D makes Broadcast with Seq. Nr. D-102


11 Hops 10 Hops  A receives from P Update (D, 15, D-102)
-> Entry for D in A: [D, P, 15, D-102]
A must propagate this route immediately.
 A receives from Q Update (D, 14, D-102)
-> Entry for D in A: [D, Q, 14, D-102]
A must propagate this route immediately.

(D,0,D-102)
This can happen every time D or any other node does
D its broadcast and lead to unnecessary route
advertisements in the network, so called fluctuations.
DSDV (Damping Fluctuations)
A How to damp fluctuations
P Q
 Record last and avg. Settling Time of every Route
in a separate table. (Stable Data)
Settling Time = Time between arrival of first route
and the best route with a given seq. nr.
11 Hops 10 Hops
 A still must update his routing table on the first
arrival of a route with a newer seq. nr., but he can
wait to advertising it. Time to wait is proposed to
be 2*(avg. Settling Time).

D  Like this fluctuations in larger networks can be


damped to avoid unececarry adverdisment, thus
saving bandwith.
Summery

 Advantages
 Simple (almost like Distance Vector)
 Loop free through destination seq. numbers
 No latency caused by route discovery

 Disadvantages
 No sleeping nodes
 Overhead: most routing information never used
Ad hoc On-demand
Distance Vector (AODV)
Routing Protocol
AODV Overview

 AODV is a packet routing protocol designed for use


in mobile ad hoc networks (MANET)
 Intended for networks that may contain thousands
of nodes
 One of a class of demand-driven protocols
 The route discovery mechanism is invoked only if a route to
a destination is not known
 UDP is the transport layer protocol
 Source, destination and next hop are addressed
using IP addressing
 Each node maintains a routing table that contains
information about reaching destination nodes.
 Each entry is keyed to a destination node.
Routing Table Fields

 Destination IP address
 Destination Sequence Number
 Valid Destination Sequence Number Flag
 Other state and routing flags
 Network Interface
 Hop Count (needed to reach destination)
 Next Hop
 Precursor List
 Lifetime (route expiration or deletion time)
Overview (continued)

 Routing table size is minimized by only including


next hop information, not the entire route to a
destination node.
 Sequence numbers for both destination and source
are used.
 Managing the sequence number is the key to
efficient routing and route maintenance
 Sequence numbers are used to indicate the relative
freshness of routing information
 Updated by an originating node, e.g., at initiation of route
discovery or a route reply.
 Observed by other nodes to determine freshness.
Overview (continued)

 The basic message set consists of:


 RREQ – Route request
 RREP – Route reply
 RERR – Route error
 HELLO – For link status monitoring
AODV Operation – Message Types

 RREQ Messages
 While communication routes between nodes are valid,
AODV does not play any role.
 A RREQ message is broadcasted when a node needs to
discover a route to a destination.
 As a RREQ propagates through the network, intermediate
nodes use it to update their routing tables (in the direction
of the source node).
 The RREQ also contains the most recent sequence
number for the destination.
 A valid destination route must have a sequence number
at least as great as that contained in the RREQ.
RREQAMessage
B?

B?
B?
B?

B?
B? B?

B
AODV Operation – Message Types

 RREP Messages
 When a RREQ reaches a destination node, the destination
route is made available by unicasting a RREP back to the
source route.
 A node generates a RREP if:
 It is itself the destination.
 It has an active route to the destination. Ex: an intermediate
node may also respond with an RREP if it has a “fresh enough”
route to the destination.
 As the RREP propagates back to the source node,
intermediate nodes update their routing tables (in the
direction of the destination node).
RREPAMessage

A
B
AODV Operation – Message Types

 RERR Messages
 This message is broadcast for broken links

 Generated directly by a node or passed on when received from another node


AODV Operation – Message Types

 Hello Messages
 Hello Message = RREP with TTL = 1
 This message is used for broadcasting connectivity
information.
 Ex: If a neighbor node does not receive any packets (Hello
messages or otherwise) for more than ALLOWED_HELLO_LOSS *
HELLO_INTERVAL mseconds, the node will assume that the link to
this neighbor is currently lost.
 A node should use Hello messages only if it is part of an
active route.
Message routing
Source
G
A RREQ RREQ
RREQ
RREP RREQ
B D RREQ
RREP
RREQ
RREQ RREP
F Destination
C RREQ

RREQ
E
Congestion Handling

 One method that AODV handle congestion is:


 If the source node receives no RREP from the
destination, it may broadcast another RREQ, up to a
maximum of RREQ_RETRIES.
 For each additional attempt that a source node tried to
broadcast RREQ, the waiting time for the RREP is multiplied by 2.

 DSR is not capable of handling congestion.


Congestion Handling

 Other possible methods to improve AODV


congestion handling:
A route may predict when congestion is about to
occur and try to avoid it by reduce the transmission
rate.
 Schedule the requests so that it will not overload the
network.
AODV Routing

 There are two phases


 Route Discovery.
 Route Maintenance.
 Each node maintains a routing table with knowledge about the
network.
 AODV deals with route table management.
 Route information maintained even for short lived routes – reverse
pointers.
Entries in Routing Table

 Destination IP Address
 Destination Sequence Number
 Valid Destination Sequence Number flag
 Other state and routing flags (e.g., valid, invalid, repairable, being repaired)
 Network Interface
 Hop Count (number of hops needed to reach destination)
 Next Hop
 List of Precursors
 Lifetime (expiration or deletion time of the route)

 DSR maintains additional table entries, causing a larger memory overhead


Discovery

 Broadcast RREQ messages.


 Intermediate nodes update their routing table
 Forward the RREQ if it is not the destination.
 Maintain back-pointer to the originator.
 Destination generates RREQ message.
 RREQ sent back to source using the reverse pointer set up
by the intermediate nodes.
 RREQ reaches destination, communication starts.
Algorithm for Discovery

 @Originator
 If a route to the destination is available, start sending data.
 Else generate a RREQ packet. Increment the RREQID by 1.Increment the
sequence number by 1.Destination IP address ,currently available sequence
number included.

 @Intermediate Node
 Generate route reply, if a 'fresh enough' route is a valid route entry for the
destination whose associated sequence number is at least as great as that
contained in the RREQ. Change the sequence number of the destination
node if stale, increment the hop count by 1 and forward.

 @Destination 1.Increment sequence number of the destination. 2.Generate a


RREQ message and sent back to Originator.
Discovery
Maintenance

 Hello messages broadcast by active nodes periodically


HELLO_INTERVAL.
 No hello message from a neighbor in DELETE_PERIOD,link failure
identified.
 A local route repair to that next hop initiated.
 After a timeout ,error propagated both to originator and
destination.
 Entries based on the node invalidated.
Information “Freshness” Assured

 Each originating node maintains a monotonically increasing


sequence number.
 Used by other nodes to determine the freshness of the
information.
 Every nodes routing table contains the latest information
available about the sequence number for the IP address of the
destination node for which the routing information is
maintained.
 Updated whenever a node receives new information about the
sequence number from RREQ, RREP, or RERR messages received
related to that destination.
Information “Freshness” Assured

 AODV depends on each node in the network to own and


maintain its destination sequence number.
 A destination node increments its own sequence number
immediately before it originates a route discovery
 A destination node increments its own sequence number
immediately before it originates a RREP in response to a RREQ
 The node treats its sequence number as an unsigned number
when incrementing accomplishing sequence number
rollover.
 Destination information is assured by comparing the
sequence number of the incoming AODV message with its
sequence number for that destination.
RERR Messages

 Message is broadcasted when:


i. A node detects that a link with adjacent neighbor is broken (destination no longer
reachable).
ii. If it gets a data packet destined to a node for which it does not have an active
route and is not repairing.
iii. If it receives a RERR from a neighbor for one or more active routes.
RERR Processing (for above
broadcasts)
 Build Affected Destination Listing
i. List unreachable destinations containing unreachable
neighbor & destination using unreachable as next
hop
ii. Only one unreachable destination, which node
already has.
iii. List of nodes where RERR is next hop

 Update information

 Transmit RERR for each item listed


RERR – information update

 Destination Sequence #
- Update sequence # for case i and ii
- Copy sequence # for case iii

 Invalidate route entry

 Update Lifetime field as (currtime + DELETE_PERIOD)

 Only now may route entry be deleted


RERR message transmission

 Unicast
- Send RERR to single recipient

 Unicast iteritive
- Send RERR to a number of recipients individually

 Broadcast
- Notify multiple recipients simultaniously
- Broadcast via 255.255.255.255 TTL = 1
RERR message transmission

 Unicast
 A node detects that a link with adjacent neighbor is broken (destination no longer
reachable).
 If it gets a data packet destined to a node for which it does not have an active route
and is not repairing.
 If it receives a RERR from a neighbor for one or more active routes.
 Unicast iteritive
 Broadcast
How Broken Links are Handled

 All nodes directly using the broken link get a RERR packet.
 Then those nodes sends the RERR packet to their predecessor nodes.
 This is continued all the way to the source nodes.
How Broken Links are Handled
(Cont)

 Upon completion of sending the RERR packet through the source node will
no longer use the link.
 AODV uses loop free-routes.
 There are only a finite number of nodes in a ad-hoc network.
How Broken Links are Handled
(Cont)

 DSR does not remove the path as well.


 In DSR nodes in the network can still think the broken link is still valid.
 This can lead to having to search for new paths multiple times.
Reestablishing a Link

 The source node can restart the discovery process if a path is still needed.
 The source node or any node on the path can rebuild the route by
sending out a RREQ.
Dynamic Source Routing
(DSR) Protocol in Wireless
Networks
Dynamic Source Routing -
DSR
DSR IN AD HOC WIRELESS NETWORKS
Simple, efficient routing

 Self Organizing
 It determines how best to move packets around
 Self Configuring
 It determines the routes available
 w/o existing network structure
 w/o administration
Network Connectivity

 Disconnected
 Uni-Directional
 Bi-Directional
Source
 Mixed-Directional
On Path

Destination

Disconnect
Advantages of DSR

 Trivially loop free nature of source routing by route information inspection


 Caching routing information from packets fowarded (ease dropping)
 Routes established on demand lend to scalability
Assumptions & Disadvantages

 Nodes participate fully


 Diameter or number of hops is small (5 – 10)
 Node velocity is small relative to transmission latency
 Errors are detectable and discarded
 Nodes may enable promiscuous receive mode (hardware layer passes
packets & power consumption may be increased)
 Can operate without promiscuous mode on or in networks where it is
unavailable.
 Bi & Uni directional capable once a route is established
 Only one address is used per node (Home Address)
 Entirely ON-DEMAND, no periodic packets, automatic scaling
The need to communicate

 Route Discovery – occurs when a


node needs to send a message to
another node and the path is not
already known.
 Route Maintenance – occurs when
the network topology has changed
such that a route now results in an
error. Two things can occur, a node
can try a different route if know or try
route discovery again.
Route Discovery

 Multiple replies are cached for future use


 Caching reduces work on new route requests
A Z C D
B,C,D A B Z
B,J,D J
L N
L,M,N Free:
M
B
A A,C,J
A,B,C,D,Z,N,M,L,A J,D,Z,N,M,L,A
A,B,J,D,Z,N,M,L,A C,D,Z,N,M,L,A
Route Discovery (RREQ/RREP)

 Source and destination in RREQ header


 Route record is initialized as empty list
 Unique route request ID, Hop Count
A Z ID HC Relay node list,,,, CRC

 If Relay node sees it’s own address or request ID in


RREQ then discarded otherwise it is broadcast with
its own address
Handling reply messages

 Relay nodes examine local cache for shorter route, if


not it rebroadcasts adding its address to path
 Route Reply RREP contains outbound path info but
may need to determine how to get message back to
source (asymmetric problem). If it performs a RREQ to
the original sender, it will piggy backs the initial RREQ
on its own route discovery (RREQ).
C D
A B Z Is there a known path back?
J ?
L N - Check routing cache
M - Else, perform Route
Discovery (incl. original)
Data packets

 Are stored in sending buffer until a route is


discovered
 This buffer fills and can wait for some time out
before deleting the packet
 The buffer may act as a circular queue
 As packets remain in queue perform a new route
discovery, cached routes deleted on time outs or
route error replies
Route Maintenance

 Some what alluded to above: Packet retries, route error RERR responses
 Send buffer is full causes use of other cached routes, if routes don’t work
they are pruned
 If no cached routes found Route Discovery performed
Error recovery

 RERR messages are used to update cache where


link errors have occurred
 Intermediate links update their cache as well
(perhaps recording statistics)
 Each node may request a ACK to each message or
passive acknowledgement by listening for re-
transmission or knowledge of underling link protocol
- allowing the RERR to be generated
Relay node notes

 Don’t Cache Routes


 Unless bi-directional (IEEE 802.11, MACA, MACAW)
 RREP Speed up

C D C D
A B Z A B Z
J J
L N L N

M M
? ?
More Relay node notes
 Fix-up of discovery process –
 Must not contain duplicates (the rule)
 If fails, then may not allow RERR message to get back to node
attempting fix up, tables become stale

K
A B D Z
J
C

M
?
RREP Storm (BW)

 Transfer to Promiscuous before generating RREP t=K( HC - 1 + R )

HC=3
HC=4
C,B,G
D,C,B,
C
G D

A HC=2
E B G HC=1
E,F,B,G B,G G
HC=4 F
F,B,G
HC=3
Limitations

 DSR does not support true multicast


 Controlled flooding within some HC
 Nodes can employ address filtering in S/W
 Accomplished as piggy back to RREQ directed to multicast address
 DSR developed and tested OSI Level 3
 However Layer 2 is possible

You might also like