From: Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>
To: Juliusz Chroboczek <Juliusz.Chroboczek@pps.jussieu.fr>
Cc: b.a.t.m.a.n@open-mesh.net, olsr-users@lists.olsr.org,
babel-users@lists.alioth.debian.org,
Roman Steiner <roman@steinerweb.at>
Subject: [B.A.T.M.A.N.] Re: A few comments on the BATMAN routing protocol
Date: Wed, 6 Aug 2008 10:10:05 +0200 [thread overview]
Message-ID: <20080806081005.GA19065@pandem0nium> (raw)
In-Reply-To: <7itzdzzero.fsf@lanthane.pps.jussieu.fr>
[-- Attachment #1: Type: text/plain, Size: 2456 bytes --]
Hello Juliusz,
thanks for your comments. As already pointed out, some of the problems
have already been adressed in further development and are already
solved in batman-0.3 which implements BATMAN IV. I'll discuss only one
thing that was not pointed out yet.
I'm forwarding this mail to olsr and babel because you did so too, but
would like to invite everyone who reads this to join the discussion on
b.a.t.m.a.n@open-mesh.net (there is no need to scatter the discussion on
various mailinglists).
@marek, @elektra: please also forward your answers to the batman-ml.
On Tue, Aug 05, 2008 at 05:02:19PM +0200, Juliusz Chroboczek wrote:
> 2. Persistent loops
> -------------------
>
> BATMAN does not contain any loop avoidance mechanisms, nor any for
> loop detection. Because of that, BATMAN will cause routing loops in
> some cases which will last up to PURGE_TIMEOUT seconds (256 seconds by
> default).
>
> Indeed, consider the following topology:
>
> A
> l1/|
> / |
> S |l3
> \ |
> l2\|
> B
>
> Suppose also that l2 is a very lossy link, so that B has selected A as
> its next hop for S.
>
> S crashes, and A switches to B as its next hop for S. At this point,
> B is still using A as its next hop, so we have a temporary routing loop.
That is wrong. Why should A switch its route to B? S is dead, so it
won't emit OGMs. Without receiving OGMs from S, A will not reconsider
it's routes to S. Routes are only updated when an OGM from S is
received. So the routes will be frozen with the last received
OGM of S, and the routing loop you describe will not occur.
This is different from protocols like RIP, where information B would
probably send information about S after S' death. This will not happen
in BATMAN.
>
> After one window time, both A and B are performing opportunistic
> routing (Section 6.3.1 of the draft) and hence form a routing loop.
> I may be missing something, but as far as I can tell, the loop will
> only be eliminated after a PURGE_TIMEOUT.
>
> Due to the convergence issues outlined in point (1) above, BATMAN
> needs the opportunistic routing mechanism. However, even in the
> absence of opportunistic routing, transient loop will arise for up to
> one window time.
Could you construct an example for a transient loop?
best regards,
Simon
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next parent reply other threads:[~2008-08-06 8:10 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <7itzdzzero.fsf@lanthane.pps.jussieu.fr>
2008-08-06 8:10 ` Simon Wunderlich [this message]
2008-08-06 13:20 ` [B.A.T.M.A.N.] Re: A few comments on the BATMAN routing protocol Axel Neumann
2008-08-07 9:45 ` Elektra Elektra
2008-08-08 0:12 ` elektra
2008-08-08 17:25 ` Axel Neumann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080806081005.GA19065@pandem0nium \
--to=simon.wunderlich@s2003.tu-chemnitz.de \
--cc=Juliusz.Chroboczek@pps.jussieu.fr \
--cc=b.a.t.m.a.n@open-mesh.net \
--cc=babel-users@lists.alioth.debian.org \
--cc=olsr-users@lists.olsr.org \
--cc=roman@steinerweb.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox