Subject: [manet] OLSR Specs and Hysteresis

From: "Thomas, Roshan" <[email-masked]>
Date: Thu, 2 Apr 2009 08:50:33 -0400

I am a DARPA researcher currently studying wormhole attacks on the OLSR
protocol. 

Couple of questions:

1. Is there any document that describes in a more intuitive way the
hysteresis logic in OLSR, in particular the relationship of the various
flags and parameters to VTIME, HTIME and emission intervals? Any
document/presentation that expands on the OLSR specification will be
helpful. Also any papers that describe experimental work in trying to
tune these parameters and measure impact on performance and packet loss
will be helpful.

2. Also, is the 2003 draft the latest specification for OLSR?

Sincerely,

Dr. Roshan Thomas

Roshan Thomas, Ph.D

Senior Principal Scientist

SPARTA, Inc.

5875 Trinity Parkway, Suite 300

Centreville, VA 20120

email: [email-masked] <mailto:[email-masked]> 

Voice:703-988-8654

Fax   :703-988-8599

---

From: Henning Rogge <[email-masked]>
Date: Thu, 2 Apr 2009 18:10:04 +0200

> I am a DARPA researcher currently studying wormhole attacks on the OLSR
Internal wormholes (wormholes done by two stations of the network) ?

> hysteresis logic in OLSR,
Hysteresis in OLSR is an exponential aging of the binary loss/receivement of 
hello messages plus a two-step treshold to convert it back into a binary value 
(value goes higher than HYST_TRESHOLD_HIGH and output goes to "false", value 
goes below HYST_TRESHOLD_LOG and output goes to "true").

This way the "active/lost" switching of OLSR links become a little bit more 
smooth.

> in particular the relationship of the various
I think the HYST_SCALING factor must be in a good relation to 
HELLO_VALIDITY_TIME/HELLO_INTERVAL. Within the interval the link can timeout, 
so you want allow the output of the exponential aging to "move" by a high 
enough value.

With the suggested HYST_SCALING value of 0.5 the result of the exp. aging 
moves very quickly and does not have a long "memory", but I think this is a 
good suggestion for the combination 2sec./6sec. for Hello timing.

> 2. Also, is the 2003 draft the latest specification for OLSR?
You mean the RFC from 2003 ?
http://tools.ietf.org/html/rfc3626

Henning Rogge

---

From: "Dearlove, Christopher (UK)" <[email-masked]>
Date: Fri, 3 Apr 2009 10:22:34 +0100

> goes below HYST_TRESHOLD_LOG and output goes to "true").

It doesn't haver to be exponential aging - the preferred approach is
some
information directly from the link layer, exponential aging is a
fallback
for this. In at least one case where a link quality/hysteresis mechanism
is a very good idea (802.11 "grey zone" problems) the HELLO message
process
is not sufficient.

Incidentally in OLSRv2 (see below) we are a little more careful with the
terminology - there's link quality (based on link layer information,
exponential aging, N out of M process, whatever you like) and
hysteresis,
which is the use of the two thresholds to map that to link lost/not
lost.

> This way the "active/lost" switching of OLSR links become a little bit
more 

As you say.

> so you want allow the output of the exponential aging to "move" by a
high 

HYST_SCALING actually does two jobs that can be separated - an initial
link
quality and the exponential factor. In OLSRv2 we keep the former, with a
new
name (INITIAL_QUALITY from memory) but don't specify the latter, as we
don't
specify the exponential process, only quote it (as "leaky integrator")
as an
example.

> good suggestion for the combination 2sec./6sec. for Hello timing.

The point here being that after 6 seconds, there is a loss of link
anyway,
so any exponential decay that doesn't have some effect withing 3
messages
lost is pointless.

Note that I haven't done extensive work with those parameters, so I have
no
specific comment on them.

> http://tools.ietf.org/html/rfc3626

That is the latest specification off what was called OLSR, but now may
be
considered as OLSRv1. However for background I would also recommend
looking
at the literature published by the authors (of which I am not one).

But we are currently working on OLSRv2 in this WG. For latest drafts
(what
was included in RFC 3626, the equivalent is distributed across five
documents,
three so far published as RFCs, the two key documents however still
being
Internet Drafts) look for the latest version of draft-ietf-manet-olsrv2
and
the documents it references.

These documents include some rationale material. If they included all
possible
rationale material they'd be many times their length. But there is some
discussion of link quality therein. Of course it doesn't all translate
exactly
to OLSRv1 (OLSRv2's INITIAL_PENDING does not appear in OLSRv1 for
example)
but it may help.

********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************