4-10 Industrial Communication Systems
4.5.4 ad Hoc On-Demand Distance Vector routing Protocol
e. AODV. protocol. is. built. on.the. destination-sequenced. distance-vector. (DSDV). protocol.. e.
improvement.here.is.to.minimize.the.number.of.transmissions.required.to.create.routes,.because.
as.they.are.on.demand,.the.nodes.that.are.not.placed.in.the.chosen.path.do.not.have.to.maintain.
the.route.or.participate.in.table.interchanges..Several.studies.on.this.protocol.have.been.carried.out.
[PR99,RP99,RP00],.and.it.has.been.modied.[SWL03].several.times..Currently,.it.is.a.protocol.in.
experimental.state.[PBD03].
When
.a.node.wants.to.transmit.to.a.destination.and.it.does.not.have.a.valid.route,.it.must.start.the.
path.discovery.process..To.do.this,.in.the.rst.place,.it.broadcasts.a.RREQ.message.to.its.neighbors,.
which.in.turn.sends.it.to.their.own.neighbors.and.so.on,.until.it.gets.to.the.destination.or.to.an.interme-
diate
.node.that.has.a.route.to.the.destination..Like.DSDV,.it.uses.sequence.numbers.to.identify.the.most.
recent.routes.and.delete.loops..Each.node.maintains.two.counters:.the.node’s.sequence.number.(to.avoid.
loops).and.Broadcast_ID.that.is.increased.when.a.transmission.is.initiated.in.the.node.
To
.identify.a.single.RREQ,.it.uses.the.Broadcast_ID.and.the.IP.address.of.the.source.node..e.
RREQ.contains.the.following.elds:.source_addr,.number_sequence_#,.broadcast_id,.dest_addr,.dest_
sequence_#,
.and.hop_cnt..Intermediate.nodes.only.reply.to.RREQ.messages.if.they.have.a.route.to.the.
destination.with.a.sequence.number.greater.or.equal.to.the.one.stored.in.the.RREQ,.in.other.words,.only.
if.they.have.equal.routes.(in.age).or.more.recent..While.the.RREQ.is.sent,.intermediate.nodes.increase.
the.“hop_cnt”.eld,.and.they.also.register.in.their.routing.table.the.address.of.the.neighbor.from.which.
they.rst.received.the.message,.to.establish.the.Reverse.Path,.where.RREQs.are.still.sent,.and.at.the.same.
time,.the.Reverse.Path.is.being.established..e.copies.of.the.same.RREQ.received.aer.that.coming.
from.other.neighbors.are.dismissed.
Once
.the.“destination.node/intermediate.node.with.recent.route”.has.been.found,.it.replies.with.a.uni-
cast
.packet.known.as.RREP.to.the.neighbor.from.which.it.received.the.rst.RREQ..e.RREP.uses.the.
links.that.had.been.established.before.as.reverse.path..e.RREP.contains.the.following.elds:.source_addr,.
dest_addr,.dest_sequence_#,.hop_cnt,.and.lifetime.or.expiration.time.for.the.Reverse.Path..e.RREP.uses.
the.reverse.path.established.to.the.source.node..In.its.route,.all.the.nodes.the.RREP.passes.through.write.
the.Reverse.Path.as.the.most.recent.route.to.the.destination.node..From.that.we.can.conclude.that.the.
AODV.holds.only.bidirectional.links..In.Figure.4.5,.the.AODV.route.discovery.procedure.is.shown.
If
.a.source.node.moves,.it.is.able.to.restart.the.discovery.protocol.to.nd.a.new.route.to.the.destina-
tion.
.If.an.intermediate.node.moves,.its.previous.neighbor.(in.the.source-destination.direction).broadcasts.
(until.the.source.node.is.reached).a.not-requested.RREP.with.a.“recent”.sequence.number.(in.other.words,.
greater.than.the.sequence.number.known).and.with.a.number.of.hops.to.the.destination.equal.to.innite..
at.way,.the.source.node.restarts.the.route.discovery.process.in.the.case.that.it.still.needs.the.route.
When
.
the
.
link
.
breakage
.
happens,
.
the
.
node
.
must
.
invalidate
.
the
.
existing
.
route
.
in
.
the
.
routing
.
table
.
entry..e.node.must.list.the.aected.destinations.and.determine.which.neighbors.can.be.aected.by.
S
E
C
[C, S]
[S, E, F, J, D]
[E, F, J, D]
[F, J, D], [F, E, S]
[J, F, E, S]
[G, C, S]
H
B
A
I
G
K
J
F
D
M
L
N
Y
Z
FIGURE 4.4 Example.of.the.route.cache.in.the.DSR.protocol.
© 2011 by Taylor and Francis Group, LLC