Subject: [manet] 2-hops FTP transfer is really bad on MANET

From: Claudio Lavecchia <[email-masked]>
Date: Mon, 04 Jul 2005 13:29:35 +0200

Hello everybody,

I would like to have advices on the following problem I am experiencing:

I have a MANET built on off the shelf 802.11 hardware set in ad-hoc 
mode. I am doing tests on behavior of the network in multi-hop 
configuration and I find out that the system performances are really bad.

In detail, I start by having a 2 nodes (single-hop) network: 

 A<--------------> B

On node A I have an FTP server and I initiate an FTP connection from B. 
I transfer a file that is 100 Kb and  I see that the transfer is really 
fast.

Now I add another node:

 A<--------------> B <--------------> C

And I do the same transfer, connection initated by C to A this time, and 
the result is that the transfer lasts almost one minute. Note that I use 
iptables to avoid direct connections from C to A, but IMHO this is 
irrelevant to explain what the problem is.
Literature says that TCP is really bad in MANETs because it badly copes 
with route failures due to mobility, but in my testbed setup the nodes 
do not move.

Any hint, ideas, explainations?

Thx a lot

Claudio

_______________________________________________
manet mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/manet

---

From: Christophe Jelger <[email-masked]>
Date: Mon, 04 Jul 2005 14:10:50 +0200

Hi Claudio,

We did some real tests here in Basel and the results were not so bad, 
but it can sometimes fluctuates a lot for unknown reasons (probably 
interferences).

For example, for a single FTP transfer with 802.11b with fixed rate at 
2Mb/s :

- 1 hop : up to 1450 kb/s
- 2 hops : up to 720 kb/s
- 3 hops : up to 460 kb/s

Or with (optimized, i.e. optimal buffer sizes) iperf and 802.11b at 11 
Mb/s :

- 1 hop : up to 5 Mb/s
- 2 hops : up to 4.3 Mb/s
- 3 hops : up to 2.3 Mb/s

Usually you have to be very careful not to have any interfering 
equipments (e.g. access points, other stations), and also each test 
machine should of course avoid running useless daemons (e.g. cups, 
httpd, sendmail ...). From my own experience, it's clear that it's 
difficult to get precise conclusions from such experiments, especially 
when you start adding concurrent TCP flows. Also using different NICs 
and drivers can lead to different measurements.

Regards,
Christophe
University of Basel
Switzerland

---

From: Filipe Abrantes <[email-masked]>
Date: Mon, 04 Jul 2005 14:49:22 +0100

Hi Christophe,

> - 2 hops : up to 4.3 Mb/s

Ĩ'm interested in the optimizations you have done here  in order to get 
4.3 Mbit for 2 hop transfer ( and 5mbit for 1 hop transfer ), have you 
changed something in the mac protocol?

          (Source) A ------ B ------ C (dest.)

Because when A is transmitting to B, B cannot be transmitting to C and 
vice versa, therefore one packet from A to C needs two slots in the B-C 
link (A to B and then B to C), I would thought that the maximum 
throughput for 2hop transmission would be half of of the 1hop 
throughput. Is my thinking wrong? Could you detail your optimizations a 
bit more?

Best Regards

Filipe

>> On node A I have an FTP server and I initiate an FTP connection from 
>> B. I transfer a file that is 100 Kb and  I see that the transfer is 
>> really fast.
>>
>> Now I add another node:
>>
>> And I do the same transfer, connection initated by C to A this time, 
>> and the result is that the transfer lasts almost one minute. Note that 
>> I use iptables to avoid direct connections from C to A, but IMHO this 
>> is irrelevant to explain what the problem is.
>> Literature says that TCP is really bad in MANETs because it badly 
>> copes with route failures due to mobility, but in my testbed setup the 
>> nodes do not move.
>>

-- 
Filipe Lameiro Abrantes
INESC Porto
Campus da FEUP
Rua Dr. Roberto Frias, 378
4200-465 Porto
Portugal

Phone: +351 22 209 4266
E-mail: [email-masked]

---

From: Claudio Lavecchia <[email-masked]>
Date: Mon, 04 Jul 2005 15:57:12 +0200

I was going to ask the same question.
 From my theoretical knowledge I was expecting the 2-hops throughput to 
be the half than the single hop.

Thx

C

Filipe Abrantes wrote:

>> For example, for a single FTP transfer with 802.11b with fixed rate 
>> at 2Mb/s :
>>
>> Or with (optimized, i.e. optimal buffer sizes) iperf and 802.11b at 
>> 11 Mb/s :
>>
>> - 1 hop : up to 5 Mb/s
> Ĩ'm interested in the optimizations you have done here  in order to 
> get 4.3 Mbit for 2 hop transfer ( and 5mbit for 1 hop transfer ), have 
> you changed something in the mac protocol?
>
> vice versa, therefore one packet from A to C needs two slots in the 
> B-C link (A to B and then B to C), I would thought that the maximum 
> throughput. Is my thinking wrong? Could you detail your optimizations 
> a bit more?
>
> Best Regards
>
> Filipe
>
>
>> difficult to get precise conclusions from such experiments, 
>> especially when you start adding concurrent TCP flows. Also using 
>> different NICs and drivers can lead to different measurements.
>>
>> Regards,
>> Christophe
>> University of Basel
>> Switzerland
>>
>> Claudio Lavecchia wrote:
>>
>>> Hello everybody,
>>>
>>> and the result is that the transfer lasts almost one minute. Note 
>>> that I use iptables to avoid direct connections from C to A, but 
>>> IMHO this is irrelevant to explain what the problem is.
>>> copes with route failures due to mobility, but in my testbed setup 
>>> the nodes do not move.
>>>

---

From: Christophe Jelger <[email-masked]>
Date: Mon, 04 Jul 2005 15:57:24 +0200

Hi Filipe,

Actually the optimizations I talk about are related to the buffer sizes 
of the iperf server and client. Some students here have been trying with 
different combinations and the best throughput for 2-hops and a single 
flow was 4.3 Mb/s.

Regarding your comment, it would be true if all packets had the same 
size, but in fact one end (C) only sends small ACKs + some application 
layer messages. So in a very approximate way the overall data volume 
transmitted could (for example) be around (A)4.5 + (B)4.5 + (C)0.5 (if 
say all nodes are in the same collision domain, and routing between A 
and C is forced via B).

Regards
Christophe

Filipe Abrantes wrote:
> (...)
> 
> I'm interested in the optimizations you have done here  in order to get

---

From: Christophe Jelger <[email-masked]>
Date: Mon, 04 Jul 2005 16:02:19 +0200

Actually I meant (A)4.5 + (B)5 + (C)0.5

Christophe Jelger wrote:
>> I'm interested in the optimizations you have done here  in order to

---

From: Claudio Lavecchia <[email-masked]>
Date: Mon, 04 Jul 2005 16:14:54 +0200

Hello Christophe,

This is an interesting subject. From what I read, the throughput 
reduction of a half does not depend on the collisions due to the ACKs 
that C sends back when it receives a packet, but to the fact that the 
WLAN interface at node B cannot receive (from A) and send (to C) at the 
same time.
Am I missing something?

C
 
Christophe Jelger wrote:

> Hi Filipe,
>
> Actually the optimizations I talk about are related to the buffer 
> sizes of the iperf server and client. Some students here have been 
> trying with different combinations and the best throughput for 2-hops 
> and a single flow was 4.3 Mb/s.
>
>> get 4.3 Mbit for 2 hop transfer ( and 5mbit for 1 hop transfer ), 
>> have you changed something in the mac protocol?
>>
>> Because when A is transmitting to B, B cannot be transmitting to C 
>> and vice versa, therefore one packet from A to C needs two slots in 
>> the B-C link (A to B and then B to C), I would thought that the 
>> maximum throughput for 2hop transmission would be half of of the 1hop