Subject: [manet] AODV - difference between route update rules when receiving RREQ or RREP

From: Gerben Kuijpers <[email-masked]>
Date: 20 Feb 2003 14:20:04 +0100

Hi,

Does anyone know why there is a difference in the route entry update
rules of AODV, in case a RREQ is received when compared to the update
rules in case a RREP is received. For a RREQ, the rules for updating the
route to the Originator of a RREQ are described in section 5.2:

"The route is only updated if
   the new sequence number is either

      (i)       higher than the destination sequence number in the route
                table, or

      (ii)      the sequence numbers are equal, but the hop count (of
                the new information) plus one, is smaller than the
                existing hop count in the routing table, or

      (iii)     the sequence number is unknown."

The update rules for the route to the Destination of a RREQ/RREP when a
RREP is received are given in section 5.7, similar to the rules in 5.2,
but one additional rule:

"(iii)     the sequence numbers are the same, but the route is no
                longer active,"

Why is there a difference in these updating rules? IMO the extra rule
should also be used when updating the route to the Originator, when a
RREQ is received. Otherwise the following can happen (and happened in
some of my simulations):

[1] Node s sends a RREQ for node d

seq nr for s:   1        
network:       (s) --- (1) --- (2)  ..(several nodes in between).. (d)

[2] RREQ reaches node d, sends RREP

seq nr for s:   1       1       1                                   1 
network:       (s) --- (1) --- (2)  ..(several nodes in between).. (d)

[3] RREP forwarded using reverse routes, but from node 2 to node 1, the
RREP can not be delivered (either temporarily out of range, or due to
congestion/collision) -> node 2 sets route to node s to invalid and
increase sequence number of route entry

seq nr for s:   1       1       2                                   1 
network:       (s) --- (1) -X- (2)  ..(several nodes in between).. (d)

[4] After RREQ timeout (no RREP was received), node s sends another
RREQ, with increased seq nr, but node 2 does not update the route entry
for node s (seq nr in RREQ == seq nr route entry, same number of hops):

seq nr for s:   2       2       2                                   2 
network:       (s) --- (1) -X- (2)  ..(several nodes in between).. (d)

[5] When new RREP travels back to node s, node 2 will drop the RREP,
because the route to s is invalid (sometimes even completely removed,
when more than DELETE_PERIOD has passed between the two times the RREP
is received by node 2).

Adding the extra rule when updating the route to the Originator of a
RREQ seems to fix this problem or am I missing something here?

regards,

/Gerben Kuijpers

_______________________________________________
manet mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/manet

---

From: Gerben Kuijpers <[email-masked]>
Date: 21 Feb 2003 09:32:38 +0100

Hi,

Thanks for your response. You are right in case the link really is
broken and both node 1 and node 2 discover this, thus sending a RERR to
resp. the source s and destination d. However, if the RREP is dropped
due to congestion, only node 2 will discover (think there is) a link
break and only one RERR is sent: to the destination d. In that case the
problem I pointed out remains. 

regards,

/Gerben Kuijpers

On Thu, 2003-02-20 at 16:28, Samir R. Das wrote:
> Hi,
> 
> In your scenario, the RERR will carry back the incremented seq no. (2) to
> the source. The source s will increment its seq no (to 3) before the new
> route discovery. This takes care of the problem you have pointed out.
> 
> Samir
> 
> 
> >-----Original Message-----
> >From: [email-masked] [mailto:[email-masked]]On Behalf Of
> >Gerben Kuijpers
> >Sent: Thursday, February 20, 2003 8:20 AM
> >To: [email-masked]; [email-masked]
> >Subject: [manet] AODV - difference between route update rules when
> >receiving RREQ or RREP
> >
> >
> >
> >
> >Hi,
> >