[LARTC] Napster Upstream Bandwidth Control

Linux Advanced Routing and Traffic Control

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

 



Okay here it goes.

I have been fighting this one for a while, and I would like to know if there
is anybody else out there who shares my pain.

I run medium size LANs (150-450 nodes) for apartment complexes and provide
them with internet access.  You can bet your hat on what consumes(ed) most
of may bandwidth: Napster.

I have been very successfull in curbing all of the DOWNLOAD speeds, but I am
having a hard time with the UPLOADS.
So you say: just block any NEW, INBOUND connections...  well, unless you
have pleyed with it, you would not know that it isn't that simple.  You see,
when an internal user has his Napster shared port set to 6699 (an example).
Upon a logon to the Napster servers, any outside user who wants to get songs
from my internal user has to stablish a direct connection to my internal
user.  This scenario I can prevent.
However, if the internal user has his Napster port set to 0, the Napster
server will broker the song upload so that it actualy initiates in my
network.  Specificaly, by observing the logged pakets of a file transfer,
this is what happens:

In-User is logged on to Napster:8888 with shared port 0.
Out-User is logged on to Napster:8888 with shared port 6699.
Out-User wants a file from In-User.
Out-User tells Napster:8888: go tell In-User.
Napster:8888 tells In-User: Out-User:6699 wants file x.
In-User opens a new socket and contacts Out-User:6699.
Out-User now has a TCP connection to In-User and can receive file x.

Well...  What now?
How am I supposed to stop that?
Some may say: just slow it down enough so that it is unusable.
The problem is that if I am DOWNLOADING a song from an Out-User:6699, I have
to send an acknowledgement packet that has to fight traffic with songs being
uploaded.  The final effect is that I will get slow downloads as well.

I don't claim to know everything about bandwidth control, but I have been
having great success with packet Marking (iptables) and tc.  It has resolved
99% of all my bandwidth issues.  My setup is roughly 4 months old and I feel
confortable enough with it to start creating a Web Interface  for my
purposes.

I would greatly appreciate any ideas/comments/suggestions... heck I would
even like getting flamed if it led me to some solution.

Peter Frischknecht






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