[LARTC] Help! My 56K connection is always saturated!

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I recently setup an old 300 mhz K6 computer to serve as a MASQ gateway
for the other computers in my house. This MASQ gateway is connected to
the Internet via a US Robotics ISA 56K modem. It's running RedHat 7.2 in
pretty much virgin condition, and is setup to forward packets using
iptables. This MASQ gateway box also serves as the DHCP server for every
other computer on the network to ensure that they all get properly
auto-configured to take advantage of the Internet connection.

Right now, everything works beautifully. The MASQ gateway box is always
left on and is always connected to the Internet (it has its own phone
line). When I turn on any of the client computers in the house, they all
get auto-configured for the network with their own IP and can
immediately access the Internet.

My problem comes when I use my personal Slackware workstation. When I
turn it on, the ethernet card gets auto-configured by the DHCP server
and everything works fine. I can then proceed to access the Internet.
But while I'm using the Internet, there seems to be a major packet
queuing issue which is preventing me from doing more than one thing at a
time over the Internet connection. For example, if I'm downloading a 20
MB file from sourceforge.net, that single download takes up ALL of my
bandwidth and leaves me with none for anything else. While downloading
that file, I can't browse the web or check my email or start a download
on another file, everything just times out and fails. The bandwidth is
exclusively used for the file download and nothing else.

However this behaviour seems to affect only my Linux-based clients. When
I reboot my workstation into Windows XP (using the exact same hardware,
since it's the same computer), this packet queuing issue disappears.
While in Windows, I can be downloading 2 different files and still be
able to browse the web AND check my email all at the same time. The
bandwidth gets evenly distributed between all applications as needed. If
I'm downloading one file at 5 KB/s, then begin a second download, then
each download will get about 2.5 KB/s each. This is all through the
exact same MASQ gateway box as the Slackware workstation was using.

I would really like to be able to fix this problem since most of my work
is done under Linux and not Windows. I've tried everything I can think
of, but I just don't know where to begin to look for a solution. My MASQ
gateway used to be running Slackware 8.0 and ipchains, and I was getting
the same results. I thought that maybe changing over to RedHat 7.2 and
iptables would fix the problem, but it hasn't. It's also worth noting
that the same problem exists if I try to access the Internet directly
with the MASQ gateway box. While I'm downloading a file from the
Internet directly to the gateway box, then all bandwidth to the Internet
gets sucked up by that one download, leaving none for any of the client
computers (including Windows clients).

I did once manage to get 2 downloads going simultaneously on my
Slackware workstation, but the results were really weird. In Windows,
when I have 2 downloads going at the same time, each download gets half
the bandwidth in a very steady stream. But in Slackware, when I finally
accomplished the feat of getting 2 downloads going simultaneously, each
download would alternate between being stalled or downloading at full
bandwidth. For example, the first download would continue at 5 KB/s for
about 10 seconds, and then it would stall completely for the next 7
seconds. During that 7 seconds, the second download would proceed using
the full bandwidth, then it would stall and it would be the first
download's turn to get the full bandwidth again.

I've read through the Advanced Routing HOWTO and followed some of the
advice in there, but to no avail. I tried enabling SFQ on the ppp0
interface, and that changed nothing. I tried using an SQF qdisc from
within a PRIO qdisc, and still that changed absolutely nothing (unless
of course I'm doing it all wrong).

Can someone please help me figure out what's wrong with my setup? I
REALLY need to be able to do multiple things on the Internet
simultaneously if I'm to work properly. It's bad enough I have to put up
with a horrible dial-up connection in the first place, but this makes it
unbearable :( I'll be eternally grateful if someone can help me fix this
problem.

Thanks in advance!

Frank Gore
(new list member)



[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux