Upload
lokesh-sharma
View
47
Download
4
Embed Size (px)
Citation preview
Routing Protocols in MANET
Dr. Pradip M Jawandhiya,Professor & Head, Computer Engineering Department,
Jagadambha College of Engg. & Tech, [email protected] (9763717428)
& Mangesh M Ghonge
Faculty, Department of Computer Science & Engineering,Jawaharlal Darda Institute of Engineering & Technology,
Yavatmal (Maharashtra)- 445001, [email protected] (9096449280)
Outline
AODV Protocol
DSR Protocol
DSDV Protocol
AODV Protocol for Mobile Ad Hoc
Networks
AODV Ad Hoc On Demand Distance Vector Routing
Protocol Reactive Protocol: discovers a route on demand. Nodes do not have to maintain routing
information. Route Discovery Route Maintenance Hello messages:
used to determine local connectivity. can reduce response time to routing requests. can trigger updates when necessary.
AODV – Route Discovery If a source needs a route to a destination for which it does
not already have a route in its cache: Source broadcasts Route Request (RREQ)
message for specified destination Intermediate node:
Returns a route reply packet (RREP) (if route information about destination in its cache), or
forwards the RREQ to its neighbors (if route information about destination not in its cache).
If cannot respond to RREQ, increments hop count, saves info to implement a reverse path set up, to use when sending reply (assumes bidirectional link…)
AODV – RREQ RREQ packet contains:
destination and source IP address, broadcast ID, source node’s sequence number and destination node’s sequence number.
Node 1 wants to send data packet to node 7. Node 6 knows a current route to node 7. Node 1 sends a RREQ packet to its neighbors.
Source_addr =1 dest_addr =7 broadcast_id = broadcast_id +1source_sequence_# =
source_sequence_# + 1dest_sequence_# = last
dest_sequence_# for node 7
Type Flag Resvd hopcnt
Broadcast_id
Dest_addr
Dest_sequence_#
Source_addr
Source_Sequence_#
AODV (RREQ)
Nodes 2 and 4 verify that this is a new RREQ (source_sequence_# is not stale) with respect to the reverse route to node 1.
Forward the RREQ, and increment hop_cnt in the RREQ packet. RREQ reaches node 6 from node 4, which knows a route to 7. Node 6 verify that the destination sequence number is less than or
equal to the destination sequence number it has recorded for node 7.
Nodes 3 and 5 will forward the RREQ packet to node 6, but it recognizes the packets as duplicates.
AODV (RREP) Node 6 has a route to destination. It sends a route reply
RREP to the neighbor that sent the RREQ packet. Intermediate nodes propagate RREP towards the source
using cached reverse route entries. Other RREP packets discarded unless, dest_seq_# is higher
than the pervious, or same but hop_cnt is smaller. Cached reverse routes timeout in nodes that do not see
RREP packet.
Type Flag prsz hopcnt
Dest_addr
Dest_sequence_#
Source_addr
lifetime
AODV (RREP)
Node 6 sends RREP to node 4 Source_addr=1, dest_addr=7, dest_sequence_# = maximum
(sequence no. stored for node 7, dest_sequence_# in RREQ), hop_cnt =1.
Node 4 finds out it is a new route reply and propagates the RREP packet to Node 1.
Dynamic Source Routing (DSR)
11
The Routing Problem
S
D
D´S´
The routing problem is to find a route from S to D when some or all of the nodes are mobile.
12
Dynamic Source Routing (DSR)
When node S wants to send a packet to node D, but does not know a route to D, node S initiates a route discovery
Source node S floods Route Request (RREQ)
Each node appends own identifier when forwarding RREQ
13
Route Discovery in DSR
B
A
E
F
H
J
D
C
G
IK
Z
Y
Represents a node that has received RREQ for D from S
M
N
L
S
14
Route Discovery in DSR
B
A
E
F
H
JC
G
IK
Represents transmission of RREQ
Z
YBroadcast transmission
M
N
L
[S]
[X,Y] Represents list of identifiers appended to RREQ
S
D
15
Route Discovery in DSR
B
A
E
F
H
JC
G
IK
• Node H receives packet RREQ from two neighbors: potential for collision
Z
Y
M
N
L
[S,E]
[S,C]
S
D
16
Route Discovery in DSR
B
A
E
F
H
JC
G
IK
• Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once
Z
Y
M
N
L
[S,C,G]
[S,E,F]
S
D
17
Route Discovery in DSR
B
A
E
F
H
JC
G
IK
Z
Y
M
• Nodes J and K both broadcast RREQ to node D• Since nodes J and K are hidden from each other, their transmissions may collide
N
L
[S,C,G,K]
[S,E,F,J]S
D
18
Route Discovery in DSR
B
A
E
F
H
JC
G
IK
Z
Y
• Node D does not forward RREQ, because node D is the intended target of the route discovery
M
N
L
[S,E,F,J,M]S
D
19
Route Discovery in DSR
Destination D on receiving the first RREQ, sends a Route Reply (RREP)
RREP is sent on a route obtained by reversing the route appended to received RREQ
RREP includes the route from S to D on which RREQ was received by node D
20
Route Reply in DSR
B
A
E
F
H
JC
G
IK
Z
Y
M
N
L
RREP [S,E,F,J,D]
Represents RREP control message
S
D
21
Dynamic Source Routing (DSR)
Node S on receiving RREP, caches the route included in the RREP
When node S sends a data packet to D, the entire route is included in the packet header hence the name source routing
Intermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded
22
Data Delivery in DSR
B
A
E
F
H
JC
G
IK
Z
Y
M
N
L
DATA [S,E,F,J,D]
Packet header size grows with route length
S
D
Destination-Sequenced Distance-Vector (DSDV) Routing Proactive - based on Bellman – Ford
❒ Packets transmitted according to the routing table
❒ Each node maintains routing table with entry for
each node in the network
<dest_addr, dest_seqn#, next-hop, hop_count,
install_time>
❒ Each node maintains its own sequence number
❍ Updates at each change in neighborhood information
❍ Used for freedom from loops
❍ To distinguish stale routes from new ones
DSDV: Routing Update ❒ Each node periodically transmits updates to keep
table consistency
❍ Includes its own sequence number #, route table updates
<dest_addr, dest_seq#, hop-count>
❒ Nodes also send routing table updates for
important link changes (i.e. link breaks)
❒ When two routes to a destination received from
two different neighbors
❍ Choose the one with the greatest destination sequence
number
❍ If equal, choose the smallest hop-count
DSDV: Full Dump/IncrementalUpdates
❒ Routing table updates create lots of
control traffic
❒ DSDV addresses this problem by using two
types of routing update packets
1. Full Dumps
• Carry all routing table information (Several NPDUs)
• Transmitted relatively infrequently
2. Incremental Updates
• Carry only information changed since last full dump
• Fits within one network protocol data unit (NPDU)
• When updates can no longer fit in one NPDU, send
full dump
DSDV: Link Additions
DSDV: Link Breaks
DSDV: Link Breaks
DSDV: Link Additions
DSDV: Link Breaks
DSDV: Link Breaks
DSDV: Link Breaks