Traffic Shaping on DSL?
jackla asks: "I'm now looking for software to do traffic-control on my Windows XP box. I am connected with DSL and my upstream is capped at 96kbit/s (down is 1.5Mbit/s) - this means that high(>70kbit/s) upstream utilisation KILLS my downstream: it just drops down to about 400kbit/s and stays there unless there's more upstream space. That said, I read alot about the Linux shaping solution (wondershaper or something) which sounds exactly right, except I need something that works for Windows. What I want to do is prioritize upstream ACKs (for example) so that my downstream isn't affected by upstream use.
If anyone heard of a peace of software that can do this, I would love to hear about it." It would be nice if something like this existed cheaply for Windows. I am unaware of such, but maybe a few of you have ideas. Could such a traffic shaper be built using low powered computers? If so, how would you build and configure it so it would maintain compatibility for the single Windows machine, behind it? (Think: homebuilt traffic-shapping appliance)
Comment removed based on user account deletion
Are you a server, business or home user? I understand that you want as much bandwidth as possible, but if you are just a home user, 400 kbit down stream is not bad at all.
To answer your question directly, my solution would be to buy a cheap box (like say, the Mandrake boxes from Wal-Mart) and use it as your traffic shaper. Linux products for this are much cheaper than any (useable) solution you can find for windows.
There is nothing wrong with being gay. It's getting caught where the trouble lies.
I hate to sound like a slashdot weenee, but use Linux. It's better suited for such things.
Ok, you can all flame me now.
I have DSL through Telus in Canada with the same upstream cap, and high upstream utilization means a very, very minimal hit to my downstream speed. Perhaps it is more of a hardware issue than anything else? Or rather, something that you should be asking your DSL provider about instead of the general Slashdot community? *shrug*
I think this is the first Ask Slashdot I've read in the last 2 months where I haven't been as lucky as I feel.
LRP's project might be of some use. Yes, it means getting a cheap box to run Linux, but then you can use all of that real neat networking software that's available for Linux boxes but isn't available for Windoze boxes.
Not everything that can be measured matters; Not everything that matters can be measured.
Yuppers, this is the best solution when dealing with MS product. Someone buy this guy a beer or martini or whatever.
We want some answers and all that we get
Some kind of shit about a terrorist threat
- Ministry
Me and a bunch of my friends (XyberK00l, h4cKj00, and linUx0r) thought that was the funniest thing we'd ever seen. Then we started doing gay shit, y'know, just because.
XP already has QoS built in. How to configure it is beyond me. I don't think that you actually can, it's only there for applications that support it or something. Maybe someone else can shed some light on this topic.
If you're using Linux on the firewall machine, make sure you enable QoS and ALL the modules in it. Then grab cbq.init and set up the traffic shaping rules. The script file is well documented.
-F-
Instead of sarcastic comments about "run linux" "format c:" blah blah, check out this kbase entry from MS regarding the packet scheduler. It might be useful to you.
and you won't have a problem with downstream traffic :)
chown -R us
not "information for the sheep of Microsoft"
OpenBSD and NetBSD use ALTQ from KAME. Basic traffic shaping tool that can be used by the largest installs or the smallest.
FreeBSD uses its "dummynet" interface that can also replace those $50,000 (US) "WAN IN A CAN" devices.
If you configure it, it can add a 1000 mile lag and drop 5% of the packets to simulate a T1 between Ontario and Kansas City.
Linux has stuff as well. I don't know it.
Windows: Well, given that the source code is open to everyone and that the code base has always been based on a meritocracy: the only code that goes in are features that people care about, I'd expect it really soon. Hold your breath for it, ok?P?
What are you using your upload bandwidth for? Many windows programs, such as ServU FTP server, allow you to cap your upload speeds.
Otherwise, perhaps something like this would be better for you.
"I'm now looking for software to do traffic-control on my Windows XP box"
Sounds like a troll to me.
... has a Tweak Test that tests some connection settings such as your RWIN. I had the exact same problem as you and it turned out that my RWIN was set wrong and once I fixed it, the problem pretty much went away. Try it and I bet it helps.
I'm a minister!
If you know the Linux program, why don't you just use Linux for the network controller? Have the Linux box be used as a gateway, running ipchains and the wondershaper. Linux is not that hard. Linux can also be run on an early machine. I am running Red Hat 7.2 on an AMD 133 with 48 mb of ram. I am running in command line, which is hard for a beginner to learn, but it is running dhcpd and Samba nicely. I would recommend Linux because security is easier to setup and maintain than Windows. Windows you will never know what ports are open or who is watching. Linux you can close ports alittle easier, much better for server (or routers/gateways). Why Live on Windows? Most of the programs you need for network admin are free.
Linux, because Windows XP is eXPerimental!
ok, I think its time for windows.slashdot.org
Actually, here in UK land, ADSL is better. Not because of the technology, but because of the people who have control over it (and their attempts at attracting customers). A normal ADSL gives 512down and 256up, but normal cable gives 512 down and 128up. Anyone using gnutella or hosting a little 'friends only' website would go for ADSL. If you want to spend more money, ADSL still gives better network performance.
It is kind of sad that the cable guys, who have superior technology on their side have their bandwidth limited. Fastest possible for the home user on cable is still 1Mbps down.. but for ADSL it is 2Mbps down.
what is going upstream from your pc. You can download an eval. version of Iris ( a sniffer ) and see the traffic originating from your pc destined to outside your network.
You might find something crazy going on because a non-serving pc should be pretty quite. You will see broadcasts and ACK's but thats normal. If your computer is spewing traffic and you can't find the source your NIC could be off in the weeds or you may have been hacked (not uncommon with windows and DSL/Cable). I have 38 IP's in hosts.deny because of detected port scanning on my DSL.
I came to the datacenter drunk with a fake ID, don't you want to be just like me?
I believe XP comes with the "QoS Packet Scheduler" and has it installed by default. I believe it can do what you ask.
this concept seems to be interesting, it is based on packet sizes, a simple linux-based router could do this.
Explicit Congestion Notification and Selective Acknowledgment would go a long way in abating this problem. Anyone know if it's supported in Windows XP?
Could such a traffic shaper be built using low powered computers?
Fire up that 90MHz Pentium, install FreeBSD, and build a kernel with bridging and dummynet enabled. Dummynet is an awesome network simulator. Just set up a couple of ipfw rules for the types of traffic you want to limit, and then set the bandwidth parameters in dummynet. It's very easy to do basic stuff like you're describing, but you can do all kinds of other things with dummynet... latecy, loss, queue limits, simulating multiple hops and multipath links with different latencies. There are no tools of this caliber (let alone free!) for Windows.
Next question?
OpenBSD (and a few of the other BSDs, I believe) has great support for ALTQ (alternate queuing) which does precisely what you want. (It's what I use it for).
Go here for ALTQ.
And here is my altq.conf, if you're curious.
--Chris http://chris.quietlife.net/
I don't see what you are getting at.
Rather, I think I see what you are getting at, but I think the assumption is flawed.
Full use of your upstream should NOT be crippling your downstream so much, that's not how it works. TCP should adjust accordingly.
Make a MASQ and pass your eXPerimental trafic
trought it. then setup you shaping on linux.
simple, efficien and improve security.
I had surfboard made by this guy. He will shape it anyway you ask. He could prob fix your problem
I think it's obvious that this cannot be done due to the sole fact that Windows XP doesn't allow you to format the drive that it is running on while it is running.
Natural-Selection Be
Comment removed based on user account deletion
Can you people not read?? That guy has stated he understands that Linux can do it, BUT HE WANTS A WINDOWS SOLOUTION!!!!
/rant over
Get that through your dumbarsed bloody zelot minds.
I love Linux, I love what it stands for and I love what it can do for me.
But I have specific needs that linux cannot (easily) do. Also I'm better at troubleshooting win2k than I am at ANY linux disto.
This guy has a requirement for a NON LINUX soloution. DONT FUCKIN TELL HIM TO FORMAT C:!!!
grrrr
And BTW, Although I don't have a windows soloution for you, what about the packeteer Packetshapers? They're and external unit, and VERY easy to configure, also if the power goes out they may stop shaping but will continue to feed.
"Consider how lucky you are that life has been good to you so far. Alternatively, if life hasn't been good to you so far
I had surfboard made by this guy. He will shape it anyway you ask. He could prob fix your problem
Having same problem I've attempted to use
ALTQ with openBSD. It did not work since
they do not work well on slow speeds (below
8Kb/sec).
Out of nowhere, I was unable to get decent downloads. I've been dishing out about 3 GB/4 days...throttled down the outgoing bandwidth and I've got excellent speeds once again. Thanks for the (indirect) tip.
The QOS support on Win2000/XP is an API for applications to request certain amounts of bandwidth from other network devices. There's no mechanism where you can control the queue of outgoing packets yourself.
:(
The idea is that your VideoPhone application will tell your ISP that the data's important and should be given guaranteed bandwidth.
It won't let you shape the traffic yourself
Linux has rather impressive QoS facilities (so many options that it has an entire submenu in menuconfig). What you'll want is some floppy router distribution (mine's not quite ready yet, but I hear LRP has most of these options) and a decently powerful machine (100-200MHz pentium with 32-64MB should PLENTY for a DSL, but remember, you're not just routing/NATting).
There are tons of preconfigured things out there, but you might want to read up on tc (the traffic control manipulator, part of the iproute2 distribution), ip (from iproute2) and iptables (to help classify packets) before you dive in. The kernel ships with most of what you'll need (including the common CBQ scheduler), but there is a really cool scheduler known as HTB that is more accurate because it's resolution is traffic based, not time based. If you want to shape inbound traffic destined to teh router itself, you'll also need the IMQ patch.
Hope this helps. If you want more info, EFNet #iptables, look for KurD, the human router. He plays with this stuff all day at his job.
--MonMotha
When I was designing support for discarding packets in a BRAS (Broadband Remote Access Server), I put in support to prioritize control packets (i.e. tcp ACK over data packets to try and make this a lot better. A BRAS is a box that sits at the other end of a DSL modem and terminates PPP and PPPoE sessions (and more). This would only affect traffic going to the end user since the upstream traffic is usually shaped in the modem. I put this in specifically to deal with the problem you describe. I ran into the same problem when @Home reduced the upstream bandwidth to 128Kbps from 1Mbps. I did some shaping on the software running on my computer which helped a lot, but most users don't have that flexibility.
The box I'm working on supports tens of thousands of simultaneous DSL users and can shape and buffer each user's traffic independently, going so far as being able to shape individual traffic flows to and from a user. It's also designed so that a user can change the amount of bandwidth they want on the fly and letting the ISP choose how to charge for this. This also allows for things like downloading video on demand, where the pipe from a video server to the subscriber can guarantee bandwidth for that flow.
As for shaping traffic in Windows? I havn't a clue. I don't do Windows.
This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
I understand that you're looking for a software solution, but just for a bit of extra information consider looking at hardware solutions for packet shaping. They tend to be cost prohibitive for the home user, but you might want to check out the solutions from Packeteer: http://www.packeteer.com/.
/. community.
At the small, private university where I'm the network admin, we use one of these boxes on VLAN2, which is the dorm network. We use it largely to choke outbound file sharing traffic and keep track of who is being naughty and who is being nice.
I know it's not what you're looking for, but I thought the Packeteer packet shaping boxes might be of interest to the
Later.
SiO2
Yeah, hi. I use Windows and I think you Linux guys are really neat. You have such kewl programz. Do you think that one of you could tell me where I can find some kewl programz that might work with windows stuff? I want some thing that looks like that gr33n window in XP. That's s00p3r kewl.
. If anyone heard of a peace of software that can do this,
Hey man, Peace Love & Linux, you subconsiously want to be doing this with Linux
Jesus saves souls and redeems them for valuable cash prizes
Unless I'm mistaken, that won't hlep.
What the QoS scheduler does in windows is permit applications who specifically request a certain qos to keep it. Í don't think it's a robus, configurable queuing system.
Ok so I know this is horribly off topic and I expect to be moderated as such, but, err, uh
WTF IS THIS?
(replies to com2kid@attbi.com please. Nobody 'round me knows WTF it is and that is the third one I have found flying around my house!!)
Need help treating your acne? Come here!
Bandwidth Limiting HOWTO might be of some assitance? Or not... either way. It just caught my eye on linuxdoc.
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
A whole page full of "run UNIX" comments. This is one of the times that your blind zealotry is not needed.
The guy asks a legimate questions -- a more technical and interesting from a DYI perspective than I've seen on Slashdot in a awhile, and everyone creams him. A herd mentality. Instead of steering him to a sensible solution, which is mostly on a Linux platform anyway, he is cast away. Left to drown in the cruel world of google searches and pop-up ads. -- ellis d. trails "Madness is rare in individuals-- but in groups, parties, nations, and ages it is the rule." -- Nietzsche
GetTheJob.com : Nothing but Real Jobs.
Comment removed based on user account deletion
ehm... well... not actually...
;-)
over here in Belgium adsl is 1024kb down 128kb up, and cable is 10Mb (yes -- TEN megabit!) downstream, and 128k up.
my personal download speed record is 4 streams for a total of over 1100Kbytes/sec -- on cable of course
and that all for a good 42 (or dollars) per month...
Interesting. I'm moving to the Netherlands soon- I wonder if the situation there is similar?
If anyone heard of a peace of software that can do this, I would love to hear about it. Wow... stick with Windows. If you can't get past basic grammar, don't try linux.
Probably around $50 to 42 now. Can't wait 'til Bush gets the Boot.
So yes, traffic shaping can be your friend. Unfortunately, it may be hard to know what to tune it too, depending on where the bottleneck is.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
This actually done by the service provider deliberately. Happens a lot with cable providers as well. This is a more subtle attempt to punish those who actually use their upstream, though the very low upstreams we are seeing all over the place is another facet of this.
I know you think I'm trolling or wrong, but try it yourself, especially if you are an ex-@home user, who had they entire network set up like this. Uploads will kill downloads, every time. The exact method varies from equipement to equipement, but the most common method is to have the modem itself forward ACK's at a lower priority than other packets. When the upstream is idle, tyhis is fine, but upload something, and your downstream goes to heck.
For the conspiracy lovers out there, this goes hand in hand with the aforementioned disparity in upstream and downstream rates. The *only* reason this is setup like this is to prevent you, the end user, from providing content that might compete with the ISP's partners. There is no technical reason why the upstream has to be slower, it's purely a business decision on the part of the ISP.
As for the answer to the question, I suggest exploring the QoS settings in W2K server.
/.'er is savy enough to search deja/google for these types of questions, and at least exhaust those avenues of research before posting an AS question. I get several pertinant results with an un-refined deja search - with some honing I bet I could find the answer to this question in 5 minutes.
Commentary: There is a fine line between being a support center for Joe-Bob and a discussion driven community forum. The average
AS need not be a place for know-it-all computer types to rag on newbies. Well thought out questions are not the monopoly of us (self-claimed) know-it-alls.
Some DSL modems *cough*alcatel*cough* have been designed to buffer data (1MB or more) when it reaches the maximum allotted bandwidth instead of simply dropping it on the floor like a good device should. Buffering the data seriously confuses the TCP flow control of your OS because it sees huge bandwidth going through one second, followed by no bandwidth the next, and so on.. These modems also throttle the downstream when the upstream is maxed, which is what you're probably seeing.
If you traffic shape your upstream to just under the cap you shouldn't see this sort of stupidity (or you could update the firmware yourself, though your ISP probably wouldn't like that)
Okay, here's the issue. I've set this up myself, and there are good HOWTOs on it, and I've done a bit of testing. First, the problem is not prioritization. The packets are leaving the XP box in perfect order. The problem is that the cable modem has a ridiculously large upload queue, which fills up. Packets then take a hell of a long time to get through. You just want to cap the outgoing data rate *at your computer* to just below the cable modem limit, which keeps the buffer from filling up. You can play with prioritizing various packets if you want, but it doesn't do much of anything for me. The data rate cap massively improves download rate.
Honestly, I'd just get an old box and set up a nice Linux router/mail server/whatnot, which will give you more flexibility and if you decide to add more machines to the network, not require you to have your workstation up 24/7.
May we never see th
This could be an interesting feature to add to their already EXTREMELY USEFUL "Cable/Dsl Routers"
:)
Linksys managers listening??? Get your engineers working on it.
Linksys recruiters listening??? I have several other ideas that would be nice to incorporate and since I'm a college student I'd rather not give them away for free
I've been running BBIagent
http://www.bbiagent.net
for about the last year or so. I share my DSL with a few neighbors via some cat5 we strung up over the last year, and my counterstrikin was startin to hurt real bad whenever one of the teenager kids was downloading from kazza
Before I was using a linksys router. My current BBIagent setup is a packard bell p60 with 32 megs of ram, and 2 old 16 bit isa 3com nics. The performance increase is stunning.
You can specify what kind of traffic to create priority for, forward, block ports. There are a few options for hack detection blocking. The nicest features of bbiagent is.
1. Single floppy distro which is configured on the fly via the bbiagent website
2. Java app for admining the sucker, very well laid out.
3. Realtime control over your network connection without losing it. On my linkstink whenever I would change a rule or a forward the whole thing would reboot itself, bbiagent doesnt do that.
4. Open source!
5. Linux Based!
I can go on and on about it, but if you're really looking to control what and how packets are handled, I would really recomend giving bbiagent a try.
--toq
The reason your downstream rate gets limited by your upstream rate limit is because of your inability to send acknowledgements upstream for the downstream packets you are receiving because of the congestion on the upstream link.
Once the advertised receive window is filled with packets, the remote side is not going to send any more data until it gets an ack from your computer.
At the point that the rate is being limited, the way to fix this is to give preference to ACK packets -- i.e. packets without payload.
The problem is that this has to be done at the point the rate is being limited, which is at your providers router, not at your router, and not at your Windows machine.
Installing the Microsoft packet scheduler, or some UNIX box with a real netowrking stack that you can exercise fine control over packet priority, as some people have suggested, isn't really going to fix your problem, except by maybe 10% (the exact amount depends on your average outbound payload size relative to an "empty" ACK-only packet).
This is because the problem is the queued data in the transmit buffer in the rate limiting device not containing your ACK's for inbound data.
Really, the TCP/IP protocol wasn't built for asymmetric reates, without equally asymmetric data transfers.
Effectively, you need to be able to control the transmission of data packets from your end based on knowledge of how full the input buffor on the outbound leg for the rate limiting device gets, so that you can throttle your data payload packets accordingly, to keep that buffer as empty as possible.
The only way you can really do this is to put code in your stack to monitor the advertised window from the other side, and the locally classify outbound packets as to whether or not they contain data payload, or are merely acks. You basically have to avoid filling the outbound queue on the rate limiter above 50%.
In an ideal world, the machine doing the rate limiting would do this for you. Some rate limiting machines for asynchronous connection do this, and it's not a problem (you can see the posts from the people who are rate limited, and don't understand your problem). But those machines are more expensive, and it's just as well for the provider if you feel pain as feedback for uploading, since it serves their purpose in providing you asymmetric service in the first place.
The problem's a lot easier when you are trying to avoid filling the inbound receive buffer for a router with a speed differential on one side (e.g. the inbound receive buffer on a router connected to a dialup modem bank, with a customer on a modem wanting to do QoS based on protocol type, so their SSH didn't lock up when an FTP or large HTTP transfer started up). *That's* where things like "AltQ" and the Microsoft packet scheduling engine become useful... not here.
-- Terry
I dunno. When I hear stuff like this is think of what happens when you start running traffic through a full-duplex NIC on a half-duplex LAN. If a full-duplex machine on the network starts sending/recieving traffic from the net, it's gonna seriously affect your throughput. I always suggest that people check through all their machines for full-duplex OR 100Mbit when using a 10M hub or a low-end 10/100 switching hub.
I am MuchTall
What do you say when your download speed gets crushed by uploading?
ACK!
XP actually stands for eXtra Painful :)
You probably get a better deal by not buying a Linux box, downloading the Linux on Windows client at RedHat, finding the Bandwidth shaper for Linux, and Zang, Bob's your uncle. Good luck guy.
I work for a very large, national US telco ISP (who shall remain nameless) and I can tell you that your upstream shouldn't affect your downsteam. Hell, they operate on very different frequencies. Upstream on 20Khz and downstream on about 1.1Mhz. If you are having that kind of trouble, I would contact your ISP or telco DSL line repair group for testing while you duplicate the issue.
Hehe, when did a Windows system get promoted to the status of "box"
I mean.. i thought the diff between adsl and sdsl was that sdsl lets u have the full use of watever bandwidth u have each way full and unaffected by the other stream.. being SYMMETRIC?.. Anyway it would NOT suprise me if it was the ISP doing this to kill sharing.. I got adsl and have tried stuff like Direct Connect but its really useless since theres no way of limiting OUTGOING speed in DC or at least reserve a couple of kb/sec so it ends up with other ppl dlling from you and yourself getting a few bytes/sec because the more connx outgoing u got the bigger % of the speed it uses.. if I just send something it will usually limit itself to 12kb/sec but if 3 people try and get a file from me it will go to 15-16kb/sec and i get under 1kb/sec downstream myself.. and they call Direct Connect.. TRUE SHARING? true sharing my ass.. so IS there a SOFTWARE solution to this? FOR WINDOWS...so dont gimme no linux shit, its not even remotely interesting until linux becomes a proper desktopOS for dumb users who doesnt wanna screw with commandline arguments and kernel recompilations.. I/O
1 Windows Server Licence $1500AU
1 MS-ISA Server $1000 AU
x Hours of troubleshooting and web-lookups ($x)
I think thats the quickest way of getting shapping working with a Micrsoft Solution.
Sorry, Linux is cheaper and easier to use. It also doesnt have "Help/Is your software Legit" in Windows Explorer.
In China I have the choice of 1984Kbps/384Kbps ADSL connection and 10Mbps or 100Mbps cable connections.
:)
ADSL and 10M cable is about $15USD unlimited per month and 100M cable is double that.
- HeXa
Try changing your local TCP buffering parameters instead to allow a bigger receive window. Set DefaultRcvWindow to something like 32768; the default is 8192, which is low for a DSL line, especially one that asymmetrical. With a bigger setting, you can have more data in flight, which makes the TCP connection more tolerant of delays in ACK return.
Given the numbers you're reporting, your ACK delay isn't that severe. You're only losing 2/3 of your downstream bandwidth. So quadrupling the amount of data allowed in flight should overcome that problem. Prioritizing your uplink traffic should be unnecessary at this time.
A real question to ask is "why are you trying to run a server on a 96Kb/s line". Buy hosting from somebody; it's cheap and they'll have far more bandwidth.
Set your MTU to 1452 (Win XP defaults to 1480 and the tweak programs and sites rec 1500) and you will get a lot less fragmentation.
Also make sure the Win XP firewall is set properly and not fully blocking ICMP ECHO. IIRC a router will send an ICMP ECHO if the packet is fragmented, a steady stream of fragmented packets will send an steady stream of ICMP EACHOs back and suck up your incoming bandwidth
You can play with these settings to get the best performance, but in general these should help out some.
c es\Tcpip\Parameters
e ntVersion\Internet Settings\
Note that, at most, simply disable then re-enable the network adapter in question. No rebooting should be required to make any of this take effect.
Keys: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servi
GlobalMaxTCPWindowSize:DWORD = 256960
This should be a multiple of MSS, which is generally MTU - 40. Best results - pick a multiple of MSS lower than 16-bit (65535) times a scale factor that's a power of two. In other words, pick any multiple of MSS as long as it's under 65535, them multiply that by any power of two to arrive at the TCP Window size (RWIN).
Tcp1323Opts:DWORD = 1
This enables RFC 1323 options, which allows for a TCP RWIN greater than 64k. If you don't do this, most of the other settings are bunk as they will be limited by the 64k RWIN value.
EnablePMTUDiscovery:DWORD = 1
Enables automatic discovery of the MTU for your line, with the MSS set appropriately. You can set this to "0" to force your own value (see below).
TcpMaxDupAcks:DWORD = 2 (range from 1 to 3)
Number of duplicate ACKs recv'd for the same seq number of sent data before fast retrans is triggered.
NOW on to the MTU: it must be set on a per-interface basis. Find your TCP/IP interface associated with your NIC under Parameters\Interfaces\
MTU:DWORD = 1500 (probably... depends on your provider.)
On an unrelated note, you can force IE to hit up a web server with more connections than normal, which can help web pages load more concurrently.
it's under HKEY_CURRENT_USER\Software\Microsoft\Windows\Curr
MaxConnectionsPerServer:DWORD = 20
MaxConnectionsPer1_0Server:DWORD = 20
First is HTTP1.1+ servers, the other is HTTP1.0 servers. Specifies the max # of connections IE will open to a single web server in the process of downloading a page.
Natural != (nontoxic || beneficial)
heh, a Real OS, that is
Currently I have a 128K/128K connection, I wont let the family touch the idsl when Im playing games. But if there was a way I could limit them to like 24K MAX during my games, I could get away with it.
Anyone know if this will help on a low speed dsl?
i would grab an old machine install linux and use it as a gateway. There is a wonderful program call wondershaper that which we use with great success in our offic. We have a similiar connnection and with wondershaper we have 10 people using the connection with no noticeable slow down.
I believe you are using a commercial OS, so there must be a way they can help you. At least I think a great support system must be reason you are paying for your OS, isn't it?
Good luck
My router (Netgear RT314) has a telnet screen that displays through (Tx & Rx). I haven't checked with my new 1184/160 G.Lite DSL connection, but with my old Nortel (unknown standard) 960/120 I saw this problem. When I was downloading at full speed (105kB/s), I saw 3-4kB/s upstream activity, which was in excess of 20% of the upstream bandwidth. No wonder that fast uploads choked concurrent downloads. I increased my RWIN, but I don't want it above 32K. Unfortunately, this didn't have much affect.
I think the situation is made worse when the DSL line is set for interleave rather than fast path. On my line, the first hop latency with interleave path is about 70ms, and fast path it is about 10-15ms. I know this because my telco recently tried to switch me over to fast path, which resulted in 40% packet loss due to a higher communication error rates with the modem and the other end (DSLAM port?) at the CO.
This excellent paper (PostScript format) describes some of this, and in particular, interleave path vs. fast path.
ADSL is duplex.
ADSL works by dividing the usable range of frequencies on your phone line into segments.
Lets say that your analogue phone line can support transmission to the local exchange of frequencies from about 0 to 1100 Khz (or there abouts) over copper. The bottom 4Khz is reserved for voice. (I dont know if voice is compressed, I suspect there is some sort of companding in action to give a wider actual response but I dont know.. but the frequency range is adequate.) Then there is a band from about 30Khz to 140 Khz that is used to support the upstream channel, and then frequencies above that out to about 1100Khz are used to support downloads. There is a gaurd band between each band that eliminates crosstalk induced by imperfect transmission conditions.
This arangement gives you 256Kbps Up and 1500kbps down. Filters are used to isolate the appropriate channels at either end for voice, upload, and download. But the point is that its duplex by design, singnals go both ways SIMULTANEOUSLY over the wire. Remember that ADSL transmission is analogue, thats why you have a MODEM (its an acronym, not a noun!)
So as has already been explained by previous posters, the most likely problem is that as you flood the upstream channel, your ACK packets are being queued, the network devices upstream then start to throttle back your downstream feed, as the ACKs are taking too long to come back. This is done to minimise the number of packets that will be dropped and resent to your address. Of course you arent dropping any packets , but the upstream devices dont/cant know that.
Anyway hope that helps. The July 2002 edition of Australian Personal Computer has a lovely graphic that explains how ADSL works and why you can use your phone and have a nice broadband connection at the same time. Unfortunately this article isnt on their site http://www.apcmag.com
Cheers
Micko
Excuse me if I'm wrong, but I thought the guy was looking for a inexpensive solution to his problem. Isn't Packeteer's PacketShaper about $50,000 per unit?
You want it cheap on windows too?
Your mission for this year:
- Become proficient in C.
- Port what you need from Linux to Windows (you suggested Linux already does everything you need).
Problem solved.
And sorry to say this, but 99% of the time this is the only way software becomes "cheap", is when someone who wants some software but can't/won't pay for it creates it (or ports it when available). Maybe you'll get lucky and it'll be ported for you, but I doubt it. Its just far easier to set up a linux router for this sort of thing.
Unfortunately, windows is well known as one of the world's biggest "pay" OSes. You just won't find much free (of consequence) for it that didn't exist on another OS first -- even taping a simple phone conversation will cost far more in software than hardware (source: The Screen Savers).
I wish you good luck on your search, though!
If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
Search for QoS software, I'm sure you can find something. For the *BSD's, the package of choice is ALTQ.
Most QoS software will let you do everything imagineable to traffic, classifying it and letting you limit and shape it in the ways you want. It takes a tad bit of CPU time, though.
You might be best to throw an old 486/586 with Linux or BSD on it in front of your PC. OpenBSD is great for this, as it has pf (for firewall & nat) and ALTQ integrated. Check it out.
I was running this on old 386 and 486 machines with 8MB ram, though I think the newest releases require a little more ram (more ram would also allow for more firewalling rules).
T
Support TBI Research: http://www.raisinhope.org
I'm not trolling but, honestly, this thread has an unusual number of people posting information like "dsl is half-duplex!" or "gee, mine isn't like that, what gives?" whatever. Sigh.
I can't speak to the complexities of the Windows TCP stack, except to say its based on some BSD tcp stack. There are a lot of options you can set in the registry, and you can read more about it here. It is unlikely you will be able to do this "properly" (read: RFC ) on the W2k/WXP default TCP service. there *might* be a different TCP/IP service for XP Pro or server to address this, but its unlikely. No, QoS has *nothing* do do with this. Let me explain.. as few posts seem to get it...
In TCP you have acks for the data you have recieved. Acks can go back to the sender within data packets (Its just a sequence number, really, sliding window.. protocol 5 I think... use Google if you're lost) or ACKs can go back by themselves. There ARE parameters in W2k for affecting how long W2k will Queue Acks while waiting for a data packet it can piggy-back the ack on. You can decrease this parameter, which may help (or it could backfire). You can also change the protocol window size, so that windows will wait longer*, but this could also backfire as it may overflow the queue in the DSL router (I suspect this in combination that Acks are just plain being choked out).
The poster seems to understand exactly why their connection becomes throttled, even though most of the replies here don't seem to....
Now, there might be hope yet. If you use PPPoE, it is a bit more likely you can find a packet scheduler/prioritizer to give Ack packets higher priority. I believe there are a number of PPPoE packages that probably address this problem as part of their design (this sort of thing is somewhat more common than most of the other threads lead you to believe.) I believe WinPoET does, though I can find no information of this on their page. There is also a truly excellent, free, PPPoE package available at (google snapshot) here. though you might have to talk to the author to find out more about its ack-priority algorithm...
If you don't have PPPoE, you might also look at Nat32 though it only thinly refrences TCP Ack traffic shaping for DSL/Cable asymmetric connections in its documentation.
I'm not being a zealot, but the *best* thing is probably to use some crappy P133 linux or BSD machine as traffic shaper. You can set up port forwarding for when NAT can't figure out what box to send stuff to, to avoid the downsides of being behind a firewall. The reason for this is that you would probably have to have a special implementation of the TCP/IP service that knows about your upstream and downstream, and prioritizes accordingly. The Registry parameters I mentioned earlier might help, but it won't truly fix the problem.
*This would be good if you get out of order packets. If network traffic is sporadic, this tends to help. So, windows can re order from a batch of, say, 30 packets vs. 15, windows will wait for a missed packet longer.. this missed packet (which hopefullly won't expire) is more likely to make it in because there is more time for it to do so.
I apologize for over symplifying... but you get the idea.
Wendell
hrm... seems that you have found another limitation of the software.. HEY how bout proxy 2.0 server or IAS, or Checkpiont..
LOL
How are things in mp3 land?
Are you guys developing any new mp3 players? Other cool gadgets?
I'm thinking a slimp3 with _wireless_ ethernet would be pretty cool. Also with spdif output.
Even more fun would be something I hadn't expected.
Why the bill/borg picture?
Isn't the main theme about dsl/internet?
Go to DSLReports and run the tweak test - it will give you an easy way of setting up a larger receive window on your machine which will give you a quick perfoemance boost.
While it seems to me that a *nix-based solution would probably serve you the best (free, powerful, highly-customizable, etc etc), it also seems that most folks have also neglected to mention some strategies that could be used in setting up the traffic shaping. Probably the easiest way to look at things is that you are uploading data using a predictable source or destination port. Simply make that a *low* priority, and everything else will automagically have a higher priority. This is useful when one considers that not all traffic shaping packages have options of specifying traffic such as ACKs as shaping types (many of the simpler packages can only filter on port). Also, in order to maximize the throughput, you should set the overall upstream bandwidth on the shaping box to match the DSL capped value, so that buffers and such on the modem don't fool TCP into not issuing quench requests and such. This way, the shaping box is actually in full control, without interference from "artificial" factors upstream that might screw things up for you. This can be thought of as "matching the impedence" for maximum power throughput in an electrical circuit--same concept and I'm sure someone with more caffeine in their system than I could show the benefits mathematically.
:) Good luck with yours!
I personally use a FreeBSD machine (PPro 180MHz) as my NAT/router/firewall (and outgoing SMTP, internal IMAP, mp3 server, photo album, etc) with a number of windoze and *nix machines behind it. As such, it is *way* overpowered for what it does--so suggestions of pentium 90's are very feasible. For the low bandwidth requirements that you have, you could probably even use an old 486 with no problem if you were doing only net traffic functions with it. I've not had to actually do any kind of QoS or shaping with mine, but after thinking about the topic I might just give it a go for the fun of it
Unlimited? Have you been to a Falun Gong site lately? Hmmm... how about a site for a free and independent Taiwan?
How to fscking spell.
Peace? Shapping? Jeebus Kriste!
There's one thing computing teaches you, and that's that there's no point to remembering everything.
--Doug Copland
I have pretty much the same problem, and it looks from the posts so far that there isn't any existing solution to do queueing/shaping on XP... Does anyone know where to look for documentation for how you would write a program to do this? What API do windows software firewalls use to intercept packets? I've looked around MSDN a bit, but didn't find anything, is there an unofficial guide somewhere?
--
Benjamin Coates
This is probably a troll that I am sinking my teeth into, but have you even tried Win2k or better yet, WinXP Pro? It's far more stable than any Linux windowing (which is what myself and (most) users want - you can shove command-line where the vi don't shine), runs 98% of the apps and games out there, and has hardware support like you would only dream of running Linux. Your comment is both misinformed and sadly mistaken.
"During times of universal deceit, telling the truth becomes a revolutionary act." - George Orwell, 1984
First off don't ask questions like this on slashdot. All you get is BS mixed in with a bit of real facts.
I personally have 3 computers in this house connected to the net. So i have an old Pentium 100 box doing NAT And traffic shaping. Works well.
I run redhat on the P100 and I use iptables and iproute2 + tc(comes iwth iproute2) to do all the hardwork.
Basically unless you are willing to fork out for 3rd party software I think there's no real answer to your question. If you have the money google should provide you with a few links and for free too!
Otherwise get your self a beat up old box and read this site: http://lartc.org/
Cheers!
I can access everything I want to access..... being Australian tends to make me ignorant of those two issues you mentioned - though I still can read plenty of news stories on those issues from foreign press
- HeXa
The Wondershaper is really great. I use it on my ADSL capped at 650kbit upstream and ~475kbit downstream. Without it my ping times when uploading the full 650kbit is >500ms but with wondershaper it's 10-20ms (with a very small speed hit). Full download brings ping times around 100ms, and full speed uploads *never* hurt downloads at all.
throttled (http://intrarts.com/throttled.html) is currently available for Mac OS X and should compile fine on most bsd systems. It provides ack packet priority and bandwidth capping using divert sockets and ipfw. Not to mention, it is released under the GPL. Looks like Windows is the only platform that doesn't have a good solution for this problem.
His upstream is 96Kbit, and his downstream is 1.5Mbit.
In round numbers, this means his upstream is slightly less than 1/16th his downstream.
Say his MTU is 1500 bytes. Let's say his ACK packets are 64 bytes (we were generous on the 1/16th, so 64 instead of 60 is not that far off).
That basically means that, assuming no packets are lost, and that all ACK packets are precisely equally spaced, then 2/3rds of his upstream bandwidth needs to be dedicated to ACK traffic for the downstream bandwidth.
Why do we have to assume equal spacing? Because he can't control anything other than his send order, because he can't control the rate limiting machine's discard.
Is it possible to do this with a traffic shaper on the client machine? Yes, with a very sophisticated traffic shaper, which maintains stateful information (e.g. like a PIX firewall maintains per connection state information). It's possible because now we know the numbers for his connection -- we don't know the general numbers, though, for *any* assymetric link, so this isn't something you could make into an installable package, without the user having to resort to math/tuning tools.
Even so... this only works if the traffic is connection oriented. So far, people have asked -- and he hasn't responded -- about the kind of traffic he's running.
If the download traffic is RTSP or UDP or any protocol based on packets other than TCP packets, then there's no way to make preference choices on packets sent out. And then he's back in exactly the same boat he was in before.
So it's not possible to say "install this", and it's not possible to say "install this, and set these tuning values based on your relative upstream and downstream speeds", unless you really limit the problem you are trying to solve.
Doing that will probably not be satisfying, since the primary reason for a (mostly) unidirectional pipe is to push content to users, and most content streaming protocols are not based on TCP or other things which can be stateful.
-- Terry
For those interested in knowing how to tweak your ADSL, cable modem settings in Windows, the following link contains excellent and comprehensive information on how to achieve peak download speed: Navas Cable Modem/DSL Tuning GuideTM
¦ ©® ±
You might want to have a look at the following projects:
Traffic Control - Next Generation
Differential Services
GTC - A Graphical frontend the Linux kernel Traffic Control
WRR and WIP
And, yes, those are all Linux solutions, but that's simply because that' all I found available without paying 20.000 dollars.
echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
The real reason that your downstream transfers are becoming sluggish while you are uploading stuff is that the buffers on your cable/dsl modem are being flooded. Remember that you have a 10/100 mbit connection between your NIC and modem. So when you are uploading, you are in fact sending data to your modem faster than it can send off. What you need to do is keep your XP box behind your Linux Filter/Router and compile support for different packet queueing algorithms into your kernel. I use the TBF algorith which stands for Token Bucket Filter. You can use this to limit the rate at which your NIC sends data to your cable modem...thus eliminating the problem of flooded buffers on your modem. That fixes things up real nice.
If you are using an ethernet adsl modem you shouldn's have the mentioned problem. Yet if you are using a USB modem you might want to get a better driver or something.
You don't need traffic shaping. Just make sure your TCP receive buffer size is 15 time larger than your TCP transmit buffer size, and the ACKs will be sent in a timely manner.
Works perfectly for me. Disadvantage is, that this is a setting you must set on all machines.
The latency is -- most likely -- caused by the huge buffers in the modem. It *is* possible to improve the situation locally. It's got nothing to do with asymetric lines or somesuch.
It's simple: what happens is that the upstream buffer in the DSL modem does'nt prioritize traffic at all, most likely it's just FIFO and big. So if the buffer is 128kB and you're serving a big file, your next Telnet packet is going to have to wait for these 128kB to go up before going itself.
The solution: have a router that artificially limit the outgoing bandwidth to slightly less that the DSL line permits to make sur the modem's buffer never fills up. Then it's the router's buffers that are filling up; but your router is smarter and you can have it order packet. IE if you have 128kB worth of warez0r waiting to go up, it can decide to let that lone Telnet packet go first.
Me I installed Wonder Shaper, works very well esp. when you've identified what causes the contention (just add the relevant ports to the junk traffic list), even if I completely saturate the link. There's one thing that doesn't work tho: I discovered that at times I had huge ping, again, even with wshaper. What happens (*I think*) is that my ISP is getting overloaded at times, and my actual bandwidth goes below what I set it to in Wshaper. I have to find a way to improve this.
(The first observation is only valid for a TCP session where you data is exchanged between 2 machines - other traffic is ignored)
While it is true that ACKs can be just empty packets, normally an ACK is piggy-backed on top of a real full packet! So there is no real way to 'prioritize' your ACKs.
(The second observation covers the multiple connection scenario)
In your case, let's imagine you are uploading data to server A and getting data from server B.
You want to prioritize your ACKs to downloaded data... however, depending on the application protocol, you will have application-level ACKs. These will be seen as 'data' by TCP which will still generate an ACK for both server A and B.
What this means is that *most* of the packets that you are sending to A will *also* have an acknowledgment biggybacked on them.
Thus, there is no useful way to differenatiate between A and B, at least not on ACK information alone
Conclusion:
ACKs cannot by prioritized in a real-world scenario, nor can they be used to infer something about the type of traffic in a particular link.
The best thing to do is to analyze the traffic in a particular link and adjust the priority of all packets for that link (both up and downstream) depending on user preferences.
I miss my rubber keyboard.(Homepage)
He's running an fserv on irc.. His problem is he can't download pr0n fast enough while sending enough to meet his quota.
If voting were effective, it would be illegal by now.
"I can access everything I want to access"
I was in China a few months ago and though I was only using internet cafes I couldn't get BBC News nor CNN and other similar western 'news' sites. Has this changed or are there different rules for private connections?
"By increasing the recieve window you are essentially reducing the amount of ACK's that must be sent per data recieved."
The problem with this theory is that you need to keep sending ACKs all the time to keep the window sliding. Yes, if you were to only send ACKs starting at 50% of the window size received, and you had a large enough receive window that the propagation delay for an ACK through a totally saturated link was less than 50% of the time necessary to receive the data being ACK'ed, and the rate limiter queued all packets, instead of just droping them, then you'd be right.
But that's not what you do.
The point of a windowed protocol is that you eat a single round trip latency over a very large data stream consisting of a large number of packets, and what you are saying is that it will act as if TCP/IP is a lock-step fixed window protocol. This just isn't true.
So you compete for transmit space with the same number of ACK packets.
The problem is still that you need 2/3 of the send bandwith just for ACKs on a saturated receive bandwidth.
I would be really surprised if the send bandwidth limit wasn't set with *exactly this* in mind: large enough to handle full speed receives with an MTU of 1500 and an ACK packet size of 60 bytes, plus 50% (1.5Mb/96Kbit = 16, 1500/60 = 25, 25/16 = 150%).
-- Terry
this is a case where ALTQ could help BIG time.
if you let ALTQ give your gaming servers more priority then all other ip/port adresses, then the rest of the webbrowsing will get slower, while your game will run (more) smoothly.
ALTQ could also limit the rest of the traffic to a max of 24KPBS, but that i think it's wiser too just give your game servers priority on the line.
that way traffic rates are adjusted automaticly to your game servers needs.
hope this helped.
Like others said, get a cheapo box throw two ethernet cards in it, load Linux, and use it as a router. I have this setup myself, along with 4 Windows machines behind it.
Believe me, I sleep better at night, knowing that I have Linux between the Internet and my Windows boxes. There are a number of good firewall/proxy/router tools for Linux. You can then use the traffic shaping software, and more importantly, you don't have to worry about the constant security weaknesses found in Windows that make your machine an easy target for hackers.
I have made a script for traffic shaping with LINUX. It has the following advantages over many other scripts:
F -8 &oe=utf-8&selm=af3f5bb5.0203270727.3058629%40posti ng.google.com
1. it is not fair. It is designed to play Quake3 online, so Q3 traffic always has priority
2. it requires only one NIC. most solutions require one NIC for LAN and another one for the WAN uplink
3. it is able to serve SAMBA shares at high speed. most solutions cap all NIC traffic, and your file systems becomes dog slow. my solution caps LAN traffic at a different rate (in my case LAN=90mbit, DSL_in=450kbit, DSL_out=110kbit).
You find a copy of the script in usenet:
http://groups.google.com/groups?hl=en&lr=&ie=UT
Marc
I have the same essential DSL bandwdith but my problem is that in-game (CS, Quake, etc...) pings go throw the roof when ever my upstream bandwith is saturated. And since it's only 96-128k up, a single user serving a file with gnutella or somesuch will kill my game. No to mention I can't offer as much as I'd like on my website
I've been considering looking into QOS/Traffic Shaping to solve the problem. Has anyone actually done this?
Well, I'm getting confused by now:
The guy wanted to optimize his download bandwidth and he didn't care about delays?
To support a full download he must use most of his upload bandwith (2/3rds) for ACK's, right?
Are you saying that it is not possible to have a local bandwith limiter do this, that is let the ACK's out first and let everything else wait?
Or are you saying that doing so will not get him a better download speed?
-- From Denmark
i'm currently testing several vendor's dslams and modems for a performance comparison. many modems out there have this nasty habit of being set to half duplex. this will absolutely kill bi-directional traffic flows. now for the bad news... many vendors have unlisted (not available by using ? or help) commands that can put your modem's interface into a full-duplex mode. If you find the command, try it; i think you will like it.
I haven't lost my mind, It's backed up around here somewhere...
The main problem for me is when somebody is uploading something from my Kazaa or WinMX. WinMX has the ability to limit upstream bandwith (very useful). Kazaa has the option in the setup but it's useless. Doesn't work.
... I don't know, but waht else would you want broadband for?
That's why I use WinMX, with other ones, the upstream gets loaded and I cannot download nothing. For other uses
P.S. Where to find the binarys? It really sucks to play with the DDK to compile the sources.
The problem is that he computer is sending more traffic than the upload cap on the modem and it is discarding some packets. When the outbound ACKs get dropped you get retransmission problems. Changing the window size and such will not solve the problem. He cannot prioritize which packets get dropped by the modem so he is correct in asking for traffic shaping so that he caps his upload to 30 or 40 kilobits below his cap, leaving room for acks to go out.
XP reserves 20% of bandwith for system use. you can change it with in the group policy editor. here's a link http://www.xp-erience.org/sections.php?op=viewarti cle&artid=139
All that is gold does not glitter, Not all those who wander are lost.
I'm running WinXP and I've also run Win2K. They're both stable, period. I have *never* had a blue screen with XP and can count on one hand the times I had one with Win2K.
Face it you zealots, the stabilty argument went out the window (pun intended) with WinME. It's over now so quit your childish outbreaks.
The solution is easy. Quit using Direct Connect to leech your movies. Because there's no way to limit the upstream bandwidth within the program it always kills your downstream bandwidth.
Switch to overnet. www.overnet.com It uses hash tables like eDonkey so that files can't be faked by (insert your favorite __AA here) and it's serverless like Gnutella.
Check it out with the files at www.wic-net.org limit your upstream bandwidth to 5 or 10k less than your maximum, and enjoy.
For $200 or so, you can purchas a traffic shaping router. The SnapGear line (linux inside) supports it in an easy to configure way. Here is a review. SnapGear Review
You can get a Netscreen 5 hardware router for $225 from http://www.computerstuff4you.com/. This is a solid state router that doesn't cost much more than the LinkSys or DLink routers, but is much more powerful, and one of the extra features is traffic shaping.
Another option would be to use an old PC with FreeBSD and dummynet(4) for traffic shaping. The disadvantage is much higher power consumption and probably lower hardware reliability (since the PC has moving parts and the NS5 is solid state).
I use an NS5 for traffic shaping, NAT (with four public IPs, ~10 private ones...another thing that Linksys routers can't do), and firewall duties and it works really well.
Now that's a really pathetic way to put down someone's opinion. especially when it is so ontopic.
I will so metamoderate that person into non-moderation.
Posting this at +2 again so people can read it:
ou want it cheap on windows too?
Your mission for this year:
- Become proficient in C.
- Port what you need from Linux to Windows (you suggested Linux already does everything you need).
Problem solved.
And sorry to say this, but 99% of the time this is the only way software becomes "cheap", is when someone who wants some software but can't/won't pay for it creates it (or ports it when available). Maybe you'll get lucky and it'll be ported for you, but I doubt it. Its just far easier to set up a linux router for this sort of thing.
Unfortunately, windows is well known as one of the world's biggest "pay" OSes. You just won't find much free (of consequence) for it that didn't exist on another OS first -- even taping a simple phone conversation will cost far more in software than hardware (source: The Screen Savers).
I wish you good luck on your search, though!
If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
Cygwin is a nice application layer that runs on top of windows and you can run samba, sshd etc. on it. Try searching for some of the linux software mentioned with a cygwin port.
That's some guy saying "I fucked up some settings on my computer and it started working right when I fixed them."
Will the moderators spend the 2 seconds it takes to read AND understand the content of a post?
well, I would uninstall "QOS" from your network properties list. not only is it not needed, but thats where a good portion of your bandwidth is going.
the history of the world
What a pompous ass.
It seems, as mentioned before, that you are having hardware issues, maybe configuration issues. Then again it may be your carrier. DSl, as well as all other WAN connectivity solutions are full duplex. At least I think it is. All other WAN technologies are full duplex, enless someone has some sort of funcky Ethernet connection, which can be changed to half/full within a configuration. Upstream should not effect downstream and vice versa. I would be calling your carrier and ask for a credit until they can get it to work correctly. Unless in your contract it explains that this connection is half duplex, then I geuss you are @#$%?!. I personally would not put up with something like that.
Comment removed based on user account deletion
> Full use of your upstream should NOT be
> crippling your downstream so much, that's not
> how it works. TCP should adjust accordingly.
TCP normally piggybacks ACKs. That is, an ACK is sent out on traffic going the other way on the TCP connection. So, if there were only one connection, this isn't a problem.
The problem lies in asymetric TCP sessions (huge data-filled going upstream with virtually data-less ACK packets coming back) over a congested upstream link. When your upstream gets saturated, the ACKs get caught between huge packets from whatever other traffic). Cable and DSL modems, for example, have a huge queue, so it is easy for your entire TCP window of ACKs to be waiting in queue. The lack of ACKs causes the remote end of the stream to pause sending and kills your throughput.
In short, TCP is tuned for lower bandwidth links. Applications like satellite connections (where there is huge bandwidth but huge latency) could really benefit from insanely large windows, but you just don't see it much yet.
I think Mauve has the most RAM. --PHB (Dilbert Comic)
WinXP does lock up, like Win9x, for odd stuff on home XP Pro and work XP pro. Microsoft not there yet.
...and the htb.init script.
r ceforge.net/projects/htbinit
http://luxik.cdi.cz/~devik/qos/htb/
http://sou
piece brother
this sig is deprecated
I got adsl and have tried stuff like Direct Connect but its really useless since theres no way of limiting OUTGOING speed in DC or at least reserve a couple of kb/sec so it ends up with other ppl dlling from you and yourself getting a few bytes/sec because the more connx outgoing u got the bigger % of the speed it uses.
There are some modified versions of DC++ floating around that have bandwidth limiting built in. Unfortunately they will not add the code into the main tree (at least that was the case last I heard) so you'll have to hunt for it, or add the code yourself.
BBC and CNN are both still blocked but their are plenty of sources for the same news that are not blocked.
I sometimes consider CNN and BBC to be the trolls (same crap over and over with hype and FUD whenever possible) of the news world...... I don't miss their websites.
- HeXa
In case you just want to limit your upload ratio, you should put something like this in a file in ip-up.d:
echo waiting for traffic shaping...
sleep 5
tc qdisc add dev ppp0 root tbf burst brate rate ulrate latency 100ms
echo traffic shaping set
with brate: burst rate, something like 1500 and ulrate: upload rate (!), something like 114kbps
b = bit
1B = 8b
8B = 64b
8KB = 64Kb
8KB != 80Kb
Try Coyote Linux I've been running a DSL firewall-router off a 486 motherboard, two ethernet cards, and a floppy disk for about a year now.... it's the best thing I've seen out there.
---- "Physics is like sex: It has a practical use, but that's not why we do it." -- Richard Feyneman
Mr Gates....
Actually I really can't use Linux for this(I don't have the H/W and there's little chance of this changing :/) And I did think of some kind of compact software that sits on the individual Windows machine and does the shaping, in fact there even exists an API dll that seems to be suited for this (LibNet for NT, I think) but no actuall application built on it.
And about the whole Linux/Windows rant - I love Linux, I work with it every day but in this case I'm stuck with good(oh-oh), old windows.
the stabilty argument went out the window (pun intended) with WinME.
WinME stable? Excuse my language, but, bullshit. I know that's false from experience. Had you stuck with Win2k and XP I wouldn't have responded.
Besides until Windows is listed here, its stability is still relative.
It is just so sad to see an ADSL connection with a 96kbps upstream rate. This is quite simply not a broadband connection. U.S. phone companies seem to be the worst offenders in this area.
Our DSL in British Columbia is at least 640kbps upstream, which is much better, though still not great.
ISPs will tell you that it's so people don't run servers. What about video conferencing ? One of the main reasons the "general public" gets broadband is to see the grandkids or other family and friends over the internet.
I've even seen advertisements from the ISPs showing video conferencing as a feature. Sure, it will work if the other guy has a real broadband connection, but not if he's on a crappy ADSL connection too.
It's just sick.
"Scientists prove we were never here."
-- Devo
Pointing someone asking for XP help to a Linux How-To is not informative. He is already aware that this is possible under non-MS operating systems. He wants to know if you can do that with XP alone. Christ, don't the moderators actually read posts?
It's time for this guy to get a clue and dump
windows!
Installing a simple FreeBSD or Linux box as a gateway you can prioritize upstream ACKs, using HFSC or CBQ, e.x., and you will increase HIGHLY your downstream performance.
Wow, I wish it was like that here... in South Florida, my DSL ISP is Bellsouth.net. They are the only one. Before you tell me to go hunt for others and such, hear me out.
... no, I'm not kidding. Been through it. Ticks me off too. I'd take a speed cut if I didn't have to put up with my moronic ISP to say the least....
If, lets say, I want to go to another ISP, bellsouth tells them that I can't receive DSL service in my area. (Bellsouth is also my local phone carrier. Gee, what surprise)
--- Ãther SPOON!
You do realise that if you continue your moderating rampage you're going to lose your rights when metamod bites you in the ass, huh?
Because in metamod, you see, they only show the title of the story and the comment, which is 100% on topic.
Please, mod this down too.
Enjoy you little spat, moron.
He probably meant that the stability argument went out the window when WinME went out the Window (i.e. they stopped selling it)
Be ot or bot ne ot, taht is the nestquoi.
The Wondershaper: http://lartc.org/wondershaper/
Works nice for me
ECN and SACK are features that need to be supported by the routers.
Even if WinXP supported them (maybe it does, I don't know), most of the routers that nowadays are running the Internet do not support ECN or SACK, so even if the XP's TCP/IP stack would tag your datagrams with ECN and SACK, you would notice nothing.
In fact, if you look at the ECN help in the Linux kernel you'll see it recommends you not to use it, because it'll cause troubles.
The Snapgear router has some outgoing traffic shaping capability, not sure if it would answer your needs directly. That is a linux-based router-firewall without hard-disk but you dont need to know linux to install it ....
Only pricey. Lightspeed systems has one. Everything can be monitored, shaped and routered. 10-day trial avalable. No bullshit or spam, http://www.lightspeedsystems.com/total_traffic_con trol.asp
So after reading page after page of bullshit about linux, the answer is NO it cannot be done in windows. Just summing it up if you had problems finding the answer. I also have the exact same problem and I still have no solution.
If you ask specific questions, I'll try to answer in laymans terms, if you are genuinely interested.
If you aren't interested in laymans terms, and it's just that I'm not a very good explainer (8-)), I can give you references to technical papers.
-- Terry
Actually, I was quite surprised the other day. I actually used a built in modem on my laptop to dialup to check mail and download something I had to have at that moment. few megabytes download started, and I was actaully able to type over ssh link almost laglessly while the download was going at about 2.7k/second or so (this is a modem remember). And I remember on linux, if I didn't throttle the download using some download manager, things would get so laggy I had to wait like 20 seconds to see what I typed over ssh session. Surprising that the same kind of stuff doesn't work with DSL modems...
Damn Speakeasy won't even talk to me about what line speed I can get until I have severed my contract with Megapath ?!?!?! What a crock, what if they can't or won't support the set-up I have now, it will be to late then. I'd like to look into them but this kind of scratch the other ISP's back BS makes me ILL. It's my line but they can't talk until Megapath releases me ?!?! Fark em all
errr....umm...*whooosh* *whoosh* Is this thing on ?
come on y0... guess you found out another thing that Windows is not suitable for.. HRM!!! You need a real firewall product on your os.. like checkpoint and the likes.. SORRY.. hehehehe subliminal message linux firewall/router