Finally! You’ve successfully modified your router and P2P configuration to maximize your active concurrent connections. You’ve even applied the Event 4226 patch to your Windows installation. With these modifications, your file-sharing download speed doubled to 500 kb/sec. But if your ISP theoretically allows 800 kb/sec downloads, why do all of your network applications like VoIP or even just regular Internet browsing suffer? Isn’t the extra 300 kb/sec enough for these speed-sparing programs?
The unused 300 kb/sec is definitely enough. I mean, that speed is practically low-end DSL and people are happy with that! The reason for the drop in connection quality is mainly because of the upload speed. As you know, most household broadband Internet access is asymmetrical. ISPs dedicate more bandwidth for download speed than upload speed. So, even though your cable company is giving you a 6 mbps line, your upload speeds will fall below 1 mbps and most often 500 kbps.
While your download channel is a little more than half used with P2P, your upload channel is totally saturated! With VoIP, you’ll be able to hear callers but they’ll barely be able to understand you. While the downstream speeds will still be fast with your Internet browser, the initial wait from URL + ENTER to page rendering will be extended because the HTTP request takes longer upstream. What do you do? Decrease the P2P upload speed? Not a good idea. Since file-sharing programs typically increase your download speed based on your upload speed, without hacks, the lower you limit your upload speed, the lower the P2P program will decrease your download precedence.
Quality of Service Packet Scheduling
The answer to this dilemma is prioritization. Hopefully, you’ve read and applied my previous article about “soft-modding” your router with DD-WRT. Other than the earlier mention of dynamic wireless network repeating, an additional feature to this amazing Linux-based firmware is QoS or “Quality of Service.”
In short, QOS is a network function that allows you to prioritize or throttle network bandwidth. That way, data transmission that requires a smooth flow like Terminal Services/Remote Desktop, VNC, World of Warcraft, VoIP, or streaming multimedia will not be choppy. Or data transmission that is low priority like P2P or remote backup can work in the background without hogging speed from other open connections. Though I haven’t used any other QOS software, I’d venture to say that the DD-WRT QOS function set is pretty powerful. It enables traffic priority on the Internet port and/or on the network based on port number, IP address, MAC hardware address, and/or Ethernet port.
The Nitty Gritty
The process is really simple.
- Hopefully, you’ve already bought a DD-WRT-compatible router and installed the hacked firmware.
- First, start by enabling QOS. Depending on the release version, it may be in “NAT/QoS” then “QoS.”
- Under “Port,” select what network you want the QoS daemon to throttle. “WAN” is for just Internet traffic. “LAN” is for internal network traffic.
- More times than not, the packet scheduler should be the newer and faster HTB method.
- Now, the router is not aware of your max bandwidth. DD-WRT needs this information so that it can relatively gauge how much to limit low-priority connections. The ISP doesn’t just release the limit with a DHCP response. So, you have to manually enter it in. If you don’t know it, conduct a speed test on a low-traffic time. Make sure you don’t enter the downlink/uplink backwards or in kilobytes.
- If you’re performing this prioritization for WoW, by all means, select “Optimize for Gaming.”
- Now, you can choose a combination of throttle schemes. Remember, the order of priority is Bulk (Lowest), Standard (Normal), Express (Higher), and Premium (Highest). “Exempt” will be packet scheduled.
My Personal Setup
Most of the time, people prioritize based on services/ports. But sometimes, you’ll want an individual node – like your Vonage switch – or a network branch – like all nodes located in the living room to have high priority. On my personal home network, I set high priority on my remote PC access port, my VPN port, my Vonage VoIP node, and my TVersity streaming media server node. In addition, I throttle my rSync remote server backup port, my Mozy home server backup port, and all P2P traffic.
QoS in Windows
Now, I know there is a QoS Packet Scheduler service in Windows and I’ve looked everywhere on how to manipulate it. It would be great to able to prioritize traffic on one computer based on application. If any readers know how to manipulate this built-in Windows service (in preferably XP), please leave a comment!