Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Nov 1999 04:04:50 +1100
From:      death <death@southcom.com.au>
To:        freebsd-questions@FreeBSD.ORG
Subject:   pppd, mtu, lag, and icmp "need to frag" packets
Message-ID:  <4.2.1.19991128030900.00a9f380@mail.southcom.com.au>

next in thread | raw e-mail | index | archive | help

Hi,

I'm having a major problem trying to defeat lag over my 56k modem 
connection with FreeBSD.. Once upon a time when i was using Windows 98 it 
was as simple as downloading a program, clicking 'optimize', and voila, 
it's now about 5 times as smooth/lagless as i've ever managed to get FreeBSD.

I'm running 3.3-STABLE on a p166, 32MB ram, 1GB HDD. Connected to that, via 
a 'pppd' serial link, is a Windows 2000 machine. Both serial ports are at 
115,200bps. The MTU/MRU setting in both ppp and pppd are 576 (which causes 
a problem for pppd which i'll discuss soon).

Is there any way, apart from setting the MTU and MRU values in 'ppp' (i've 
set them to 576 - which seems to be a common, good number) - to decrease 
lag? When receiving data, lag rises to about 600-1000ms. When sending data, 
lag goes through the roof at ~1750ms.

And strangely, when running cvsup, and even when it's only downloading, the 
lag is launched into orbit and sits at 2500ms MINIMUM. I thought that it 
might've been CPU usage doing this. A quick check reveals ~95% idle.

This lag is present on both computers btw.

So, any advice to lower this lag? Yes, i know 56k modems are slow, but it's 
still very possible to kill lag with say telnet and IRC, whilst i'm 
downloading via ftp at 5KB/s. I know i'm not going to get more than 5KB/s, 
i just want IRC and telnet to run smoother. I've done it with Windows 98 - 
even downloading 5 things at a time had no affect on anything else.


Also, when the MTU of ppp0 is 576, FreeBSD keeps sending icmp "need to 
frag" packets to whatever sent me a packet that was supposedly too big. 
Here's a snippet from tcpdump:

00:47:52.999475 203.102.135.200.80 > 192.168.1.2.1142: P 1:645(644) ack 326 
win 32120 (DF) (ttl 58, id 37803)
00:47:52.999753 210.84.240.102 > 203.102.135.200: icmp: 192.168.1.2 
unreachable - need to frag (mtu 576) (DF) (ttl 255, id 51301)
00:47:53.089502 203.102.135.200.80 > 192.168.1.2.1141: P 1:610(609) ack 322 
win 32120 (DF) (ttl 58, id 37804)
00:47:53.089700 210.84.240.102 > 203.102.135.200: icmp: 192.168.1.2 
unreachable - need to frag (mtu 576) (DF) (ttl 255, id 51302)


How do the packets get 644 or 609 bytes long? The MTU on tun0 is 576.

Can't FreeBSD just fragment the packets and pass them through? I've looked 
everywhere for an option on this but to no avail..

BTW just a few configuration notes, i hope i cover them all:

* i'm running ppp as 'ppp -nat'. i've only got one IP (which in the above 
example is 210.84.240.102)
* ipfw is up and running, although it's only denying port 21, 23, and 25, 
and diverting port 113 to natd which then passes it on the windows machine.
* 192.168.1.1 == freebsd.. 192.168.1.2 == windows.
* the icmp frag packets don't appear on ppp0 at all when i use tcpdump. so 
i'm assuming that FreeBSD is creating them.


I'm forced to change the MTU to 1500 which doesn't give me any of those 
frag errors. Considering that i'm only linked to FreeBSD via a 115,200bps 
serial cable, it's important that i get rid of lag on ppp0 too - which i 
was hoping i could do by setting the MTU down. It's only 12KB/s after all. 
Not a 100Mbps NIC.


Thanks in advance.

Cheers

     Death




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4.2.1.19991128030900.00a9f380>