Re: [manet] MPRF [flooding protocol] document initial revision

Cedric Adjih <Cedric.Adjih@inria.fr> Thu, 26 February 2004 02:34 UTC

Received: from optimus.ietf.org (optimus.ietf.org [132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id VAA00731 for <manet-archive@odin.ietf.org>; Wed, 25 Feb 2004 21:34:49 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AwBLn-0004im-V1 for manet-archive@odin.ietf.org; Wed, 25 Feb 2004 21:34:22 -0500
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i1Q2YBct018148 for manet-archive@odin.ietf.org; Wed, 25 Feb 2004 21:34:11 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AwBLn-0004id-GM for manet-web-archive@optimus.ietf.org; Wed, 25 Feb 2004 21:34:11 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id VAA00692 for <manet-web-archive@ietf.org>; Wed, 25 Feb 2004 21:34:08 -0500 (EST)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1AwBLk-0006Zp-00 for manet-web-archive@ietf.org; Wed, 25 Feb 2004 21:34:08 -0500
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1AwBKo-0006UV-00 for manet-web-archive@ietf.org; Wed, 25 Feb 2004 21:33:12 -0500
Received: from optimus.ietf.org ([132.151.1.19]) by ietf-mx with esmtp (Exim 4.12) id 1AwBJt-0006Pi-00 for manet-web-archive@ietf.org; Wed, 25 Feb 2004 21:32:13 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AwBJh-0004Lj-NZ; Wed, 25 Feb 2004 21:32:01 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AwBIv-0004JL-3s for manet@optimus.ietf.org; Wed, 25 Feb 2004 21:31:13 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id VAA00638 for <manet@ietf.org>; Wed, 25 Feb 2004 21:31:09 -0500 (EST)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1AwBIs-0006KI-00 for manet@ietf.org; Wed, 25 Feb 2004 21:31:10 -0500
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1AwBHv-0006Fr-00 for manet@ietf.org; Wed, 25 Feb 2004 21:30:12 -0500
Received: from concorde.inria.fr ([192.93.2.39]) by ietf-mx with esmtp (Exim 4.12) id 1AwBHa-0006Bf-00 for manet@ietf.org; Wed, 25 Feb 2004 21:29:50 -0500
Received: from canth.inria.fr (canth.inria.fr [128.93.17.102]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i1Q2TIae019619; Thu, 26 Feb 2004 03:29:18 +0100
Received: from adjih by canth.inria.fr with local (Exim 3.36 #1 (Debian)) id 1AwBH4-0000qT-00; Thu, 26 Feb 2004 03:29:18 +0100
From: Cedric Adjih <Cedric.Adjih@inria.fr>
Reply-To: Cedric.Adjih@inria.fr
To: Richard Ogier <ogier@erg.sri.com>, "Charles E. Perkins" <charliep@iprg.nokia.com>
Subject: Re: [manet] MPRF [flooding protocol] document initial revision
Date: Thu, 26 Feb 2004 03:29:17 +0100
User-Agent: KMail/1.5.3
Cc: Mobile Ad Hoc IETF working group <manet@ietf.org>
References: <403118FC.79B8305B@iprg.nokia.com> <403CDD75.A88D90CA@iprg.nokia.com> <005e01c3fbda$c2bd8b30$0d81bb3f@Panoramic>
In-Reply-To: <005e01c3fbda$c2bd8b30$0d81bb3f@Panoramic>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-Id: <200402260329.18039.Cedric.Adjih@inria.fr>
X-Miltered: at concorde by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")!
Content-Transfer-Encoding: 7bit
Sender: manet-admin@ietf.org
Errors-To: manet-admin@ietf.org
X-BeenThere: manet@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/manet>, <mailto:manet-request@ietf.org?subject=unsubscribe>
List-Id: Mobile Ad-hoc Networks <manet.ietf.org>
List-Post: <mailto:manet@ietf.org>
List-Help: <mailto:manet-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/manet>, <mailto:manet-request@ietf.org?subject=subscribe>
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no version=2.60
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit

Hello everyone,

Sorry to jump in this discussion which I didn't follow, but my filter detected 
a reference to my name :-)

Regarding the MPR flooding, the MPR retransmission problem was known: 
the MPR flooding proof, found, for instance in INRIA RR 4260, pages 8-9.
(http://www.inria.fr/rrrt/rr-4260.html) implicitly relies on a total order of
 transmissions (by considering the "first" transmission).
This assumption is reasonnable on a single channel interface.
When you have multiple interfaces each respecting this assumption,
a proven MPR flooding algorithm is the one found in the OLSR RFC.

Then, long ago, we thought of the same idea independantly found by Richard,
of using a "global order" on packets to retransmit, that is:
  - retransmit a packet iff 
    . it has not been retransmitted
    . and it has been just received from an MPR selector
    . and it had been received only from nodes with greater ID than 
      the MPR selector (or never been received).

I note that Richard added the very interesting novelty of using TTL 
in the ordering which would improve results.

[Note also, that if the only reason messages cannot be ordered, is
because they are repeated on a link, then you can use the
"retransmission count", to order them, if this information is available.]

Now for some results:

Some simulations results for the Dominating Set based on MPR are
available in INRIA Research Report 4597 
(http://www.inria.fr/rrrt/rr-4597.html).
The important result is that the performance of dominating set based on
MPRs, is very close to the performance of MPR flooding (see figure 6).
This is expected.

Some simulations results (some unpublished) we had are the following:
|NeiCe| AvgNei | AllMPR | DomSet |MPRFlood|LO flood|LO+flood|Avg#MPR|
|   7 |    7.6 | 67.30% | 54.24% | 48.48% | 56.05% | 53.59% |   3.1 |
|   8 |    8.4 | 72.70% | 54.52% | 50.90% | 60.98% | 57.31% |   3.5 |
|  10 |   10.3 | 75.10% | 50.43% | 47.55% | 59.99% | 54.80% |   4.1 |
|  12 |   12.2 | 79.30% | 46.74% | 44.84% | 61.35% | 54.33% |   4.6 |
|  15 |   15.0 | 80.20% | 40.05% | 38.35% | 57.31% | 48.41% |   4.9 |
|  20 |   19.6 | 81.90% | 33.15% | 32.14% | 54.29% | 43.65% |   5.5 |
|  30 |   28.6 | 82.10% | 24.68% | 24.05% | 46.84% | 34.66% |   6.2 |
|  40 |   37.3 | 82.70% | 20.41% | 19.36% | 41.83% | 29.59% |   6.7 |
|  50 |   45.8 | 82.50% | 16.84% | 15.66% | 36.84% | 23.86% |   7.0 |

with 1000 nodes, uniform distribution in a square, "unit graph"
and with:
 - NeiCe : expected #neighbor of a central node
 - AvgNei: avg number of neighbors on all the nodes
 - AllMPR: % of nodes which are MPR of some other node
- DomSet: % of nodes in the MPR-based dominating set
 - MPRFlood: % of retransmitters in an MPR flooding
 - LO flood:  % of retransmitters in an MPR flooding when
  "logical order" is used (the algorithm given above)
 - LO+flood: same as before, but with jitter delay 
 proportional to node ID (and no longer random).
 - Avg#MPR: average number of MPR per node
 
Notes: 
. LO+flood, is using the idea that the jitter delay can be
a function of the node ID. Now, it can be a function of hop count,
node ID, sender  node ID, etc...
. I did not test the following optimisation: if a node scheduled a 
  retransmission, and is now waiting for the jitter delay to
  expire, but now if it receives the same message coming
  from a node with lower ID than the MPR selector which caused
  the scheduling retransmission, the node could cancel the
  retransmission.

I hope it might be of some interest to you, and I didn't
flood you with irrelevant technical details...

Best regards,
-- Cedric

On Wednesday 25 February 2004 21:00, Richard Ogier wrote:
> Charlie and all,
>
> The discussion we had regarding the flooding method you
> are suggesting can be found here
> ftp://ftp.ietf.org/ietf-mail-archive/manet/2002-09.mail
>
> Search for "Cedric", who ran the simulations.
>
> Here is what Philippe Jacquet said about the approach:
> > Richard,
> >
> > If you mean to include all MPR nodes in the dominating set, we have
>
> already
>
> > thought about it sometimes ago. We gave up this idea because it creates
>
> much
>
> > too large dominating sets (almost all nodes involved).
> >
> > Philippe
>
> As Joe suggests, it is possible to reduce the size of the CDS by making
> the MPR sets overlap more, e.g., by preferring min ID neighbors as MPRs.
> In the extreme case, each step of the MPR selection algorithm selects
> the min ID neighbor that covers some 2-hop neighbor that is not yet
> covered.  In this case, you don't even use degree, and thus it becomes
> possible for nodes to select *themselves* as MPRs or CDS nodes.
> (This is similar to how nodes select themselves as MPRs in TBRPF.)
>
> Having nodes select themselves as CDS nodes may also help reliability
> and robustness, since a node can select itself immediately as a CDS
> node following a link failure.  It would be nice to have simulation results
> that measure how much this improves performance.
>
> Richard
>
>
>
> ----- Original Message -----
> From: "Charles E. Perkins" <charliep@iprg.nokia.com>
> To: "Richard Ogier" <ogier@erg.sri.com>
> Cc: "Mobile Ad Hoc IETF working group" <manet@ietf.org>
> Sent: Wednesday, February 25, 2004 9:37 AM
> Subject: Re: [manet] MPRF [flooding protocol] document initial revision
>
> > Hello Richard,
> >
> > Taking your suggestions out of order, I'd first agree
> > with your proposed terminology.  I have noticed many
> > times that the terminology surrounding the flooding
> > discussion can be very confusing.  I will try to go
> > through the MPRF draft to make the indicated revisions
> > to our terminology.
> >
> > The example you give is, I think, applicable to other
> > situations where an MPR node receives a flooded
> > packet from other neighbors first.  It seems to me
> > that a very simple fix would work, though.
> >
> > If a MPR node receives a flooded packet from ANY
> > neighbor, it should go ahead and transmit the
> > packet again to its neighbors, and mark the
> > packet as already processed.
> >
> > This can be accomplished by modifying step 5.2
> > to read as follows:
> >
> >           5.2  If this node is MPR for any of its neighbors, and if the
> >                time to live of the message is greater than '1', the mes-
> >                sage MUST be forwarded according to the following by
> >                broadcasting it on all interfaces that have symmetric
> >                neighbors other than the sender, with the TTL of the mes-
> >                sage reduced by one.
> >
> > I must admit that I have only been puzzling over your
> > observation for a little while, so I might have missed
> > something. But even without the problem you raised,
> > this approach would be better for two reasons:
> > - Reduced broadcast latency, and
> > - Better robustness when the MPR selector's local
> >   (typically unreliable!) broadcast is lost for some reason.
> > Lastly, I think I like this approach because I seem to
> > remember wanting to put it in a long time ago and I just
> > forgot to do so.
> >
> > Regards,
> > Charlie P.
> >
> > Richard Ogier wrote:
> > > Here is an example where the MPRF protocol does not work.
> > > (Although it can be fixed as explained below.)
> > >
> > >       8
> > >     /   \
> > >    2-----5
> > >   / \   / \
> > >  /   \ /   \
> > > 1     /     7
> > >  \   / \   /
> > >   \ /   \ /
> > >    3-----6
> > >     \   /
> > >       9
> > >
> > > Node 1 is the source (originator of flooded packets),
> > > and its MPRs are nodes 2 and 3.
> > > Node 2 selects node 6 as MPR (to cover 3, 7, and 9)
> > > Node 3 selects node 5 as MPR (to cover 2, 7, and 8).
> > >
> > > Node 1 originates a packet, which is relayed by nodes 2 and 3.
> > > Suppose node 5 receives the packet first from node 2, then from node 3.
> > > Suppose node 6 receives the packet first from node 3, then from node 2.
> > > (I explain below how this is possible.)
> > > Since node 2 is not an MPR selector of node 5, node 5 does not relay
> > > the packet when it is received from node 2, but creates an entry
> > > in the Flooding History (step 5.1 in the draft).
> > > Then, when node 5 receives the packet from node 3 (its MPR selector),
> > > node 5 ignores the packet (step 2 in the draft).
> > > Therefore, node 5 does not relay the packet.
> > > Similarly, node 6 does not relay the packet.
> > > Therefore, node 7 never receives the packet.
> > >
> > > I think the solution is for each node to remember
> > > which flooded packets it has already transmitted.
> > > If a node receives a flooded packet from an MPR selector,
> > > and has not yet transmitted the same packet, then it
> > > should relay the packet.
> > >
> > > I think the same problem exists in
> > >   draft-spagnolo-manet-ospf-wireless-interface-00
> > >
> > > I can think of 3 situations that can result in the
> > > above example (in which node 5 receives the packet first from
> > > node 2, and node 6 receives the packet first from node 3):
> > >
> > >   1. Very long propagation delays.
> > >   2. As stated in the Introduction of the draft, link layer
> > >      broadcast can be accomplished using iterated unicast.
> > >   3. If the flooded packet is sent reliably to all neighbors using
> > >      ACKs with retransmissions, then the first transmission from
> > >      node 2 (resp. 3) might be received only by node 5 (resp. 6).
> > >
> > > Regards,
> > > Richard
> > >
> > > P.S. Regarding the terms "reflood" and "retransmit".
> > >
> > > "Reflood" means to flood the packet again to all nodes.
> > > RFC 2328 for OSPF uses this term correctly, but some
> > > people have recently used it to mean "relay".
> > >
> > > "Retransmit" means for the same node to transmit the packet again,
> > > usually because an ACK was not received.
> > > It will be very confusing when we talk about reliable flooding
> > > with ACKs, if we use the word "retransmit" to mean both
> > > retransmission from the same node, and relaying a packet
> > > received from another node.
> > >
> > > When talking about a node relaying a packet, I suggest using
> > > either the term "relay" or "transmit".
> > >
> > > _______________________________________________
> > > manet mailing list
> > > manet@ietf.org
> > > https://www1.ietf.org/mailman/listinfo/manet
> >
> > _______________________________________________
> > manet mailing list
> > manet@ietf.org
> > https://www1.ietf.org/mailman/listinfo/manet
>
> _______________________________________________
> manet mailing list
> manet@ietf.org
> https://www1.ietf.org/mailman/listinfo/manet

_______________________________________________
manet mailing list
manet@ietf.org
https://www1.ietf.org/mailman/listinfo/manet