Subject: AODV draft issue (local repair)

From: Dan Iregren <[email-masked]>
Date: Thu, 26 Jul 2001 19:12:01 +0200

Hi,

I have a question regarding the gain of using local repair acordingly to the 
draft 8 of AODV. The following scenario describes the problem:

0. We have communication between the source node S, and the destination node 
D.
1. An intermediate node, Node Z, detects a link failure, and initiates a 
Local Repair (since we're close enough to the destination) by queueing all 
the incoming data packets and sending out a RREQ for the destination node D.
2. The RREQ propagates to D.
3. D makes a reverse route to Z (who detected the link failure in 1).
4. D responds by unicasting a RREP back to Z.
5. Z receives the RREP, updates its routing table, and sends all its queued 
packets to D.
6. D receives the data packets.

Now, if we're running the data packets over TCP...
7. D tries to send TCP-ACK's back to the original source S. 
8. These ACK's travel down the original path to S.

However, at some point the ACK's will be forwarded to the node that went 
down. This is because the route back to the source haven't been updated 
(remember that the RREP in 4. was sent to node Z, and not back to the source 
node S). At this point, a new link layer failure will be detected but no 
local repair will be initiated, because we're too far away from S.

This node drop's all the ACK's and broadcasts a RERR.

Now, just what have we gained on using local repair?

Regards,
Dan

---

From: Manel Guerrero Zapata <[email-masked]>
Date: Fri, 27 Jul 2001 16:21:07 +0300

Hi Dan,

you're right.
If you are having a bidirectional comunication (which I think hapens
most of the times) and one of the two nodes that where connected with
the link that just broke is close enough to the destination but the
other one is not close enough to the destination of the other route

A---[close]---I1---[link break]---I2---[far away]---B

then, you will repair only one of the routes. Which will be completely
useless if what you where having was a bidirectional comunication.

I guess that's why Local repair (8.9.1) is only a MAY thing.

So, in this kind of scenarios you probably don't want to use local
repair at all, because what you want is repair the route from A to B
and the one from B to A; recovering only one of them is just not good
enough.

BR/Manel Guerrero

---

From: Manel Guerrero Zapata <[email-masked]>
Date: Fri, 27 Jul 2001 16:21:07 +0300

Hi Dan,

you're right.

BR/Manel Guerrero