From: Marek Lindner <lindner_marek@yahoo.de>
To: The list for a Better Approach To Mobile Ad-hoc Networking
<b.a.t.m.a.n@open-mesh.net>
Subject: Re: [B.A.T.M.A.N.] Small feature request
Date: Sun, 17 Jun 2007 14:00:00 +0200 [thread overview]
Message-ID: <200706171400.01329.lindner_marek@yahoo.de> (raw)
In-Reply-To: <4672937F.3040208@poelzi.org>
Hi,
> I got a interessting paper forwarded which discussed routing in tcp on
> ad-hoc networks (especially tcp vegas). The idea was like that:
> If the routing protocol notices the tcp stack that the route has
> changed, it can recalculate some of its parameters (here the BaseRTT
> value) to optimize speed.
>
> Implementing meshferry, a tcp over udp proxy to surround most of tcp
> problems, I can see a lot of usage for this. Because batman doesn't know
> the topology itself, i thought about a mechanism to detect route changes
> without knowing topology itself.
interesting idea but I don't get your big picture. Could you further explain
what you have in mind while considering the following:
Even with your algorithm, detecting route changes is quite difficult for
batman, simply because batman does not know the concept of routes through the
network. Batman just counts packets which arrived via one or the other
neighbor and does not care about how the packets arrived at its neighbors.
Which "route change" should be considered ? A route change after one / two /
three / ... hops ? A one hop routing change could be detected without your
algorithm. That is why I think you want to detect more.
If we make a 2 hop example: We have a batman running and (for the sake of
simplicity) one neighbor A. This neighbor has 3 neighbors of its own which
equally supply originator packets of our target, lets say 3 and we receive 9
packets via our neighbor A. What is our new route ?
On the other hand we begin to leave the new approach of a one hop horizon
towards OLSR based routing which makes routing assumptions based on outdated
data.
TCP Vegas is an algorithm in which the sending side increases and decreases
its window size. If you upload something it is your very host or in case of a
download it is the server. Apart from the fact that you would need an altered
TCP stack, batman has no big chance in helping out because its most
widespread use is to build the "backbone infrastructure". Batman hosts
seldomly act as client or server.
TCP Vegas algorithm to detect congestion is based on the round trip times of
the packets. It simply observes if the RTTs get bigger or smaller and derives
its window size from it. No information about a routing change is needed.
If you really plan to deploy TCP Vegas in your network you should make sure
that *all* your clients do the same. Otherwise the users of TCP Vegas will
experience a massive throughput loss because the commonly used TCP stack is
much less fair. More information on that matter can be found here:
http://www.isoc.org/inet2000/cdproceedings/2d/2d_2.htm
Regards,
Marek
next prev parent reply other threads:[~2007-06-17 12:00 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-15 13:26 [B.A.T.M.A.N.] Small feature request poelzi
2007-06-17 12:00 ` Marek Lindner [this message]
2007-06-17 14:12 ` Daniel Poelzleithner
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=200706171400.01329.lindner_marek@yahoo.de \
--to=lindner_marek@yahoo.de \
--cc=b.a.t.m.a.n@open-mesh.net \
/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