Forgot your password?
typodupeerror
The Internet Hardware

Home Routers w/ Decent QoS Performance? 52

Posted by Cliff
from the from-the-office-to-the-mainstream dept.
danwarne asks: "With VoIP becoming rapidly more popular, quality of service (QoS) settings in home routers are also emerging as a key piece of functionality for the average user. QoS settings, which allows important or time-sensitive network traffic to be prioritized over less important packets, used to only be offered for corporate-level routers. Now, many hardware manufacturers have started including such capabilities in their mainstream routers, some doing it simply by a firmware upgrade without any change to the power of the underlying hardware. The emerging problem is that most home routers don't do a very good job at all with QoS, especially under heavy load (from P2P apps, for example), and home routers don't seem to have what it takes to prioritize sending Voice over IP packets first, leading to glitchy VoIP calls. VoIP operators around the world are facing this problem as they try to turn VoIP into a 'consumer-friendly' plug-and-play service. Does anyone know if someone has done extensive testing on home routers and modem/routers that investigates their ability to deliver QoS? Also, what hardware elements would be required in a router to do QoS reliably?"
This discussion has been archived. No new comments can be posted.

Home Routers w/ Decent QoS Performance?

Comments Filter:
  • Easiest answer: (Score:5, Informative)

    by mikeage (119105) <slashdot@miPLANC ... minus physicist> on Sunday February 27, 2005 @10:07AM (#11793659) Homepage
    WRT-54G(S) running sveasoft's firmware. Yes, some people question the legality of the distribution method, but at $60 for the router + $20 for the firmware subscription, it's an instant solution. I'm running it on a 1.5Mbps/96Kbps to manage bittorrent, emule, packet8, counter-strike, and websurfing, and it runs great. More important -- it passes the wife test (aka, she doesn't notice that I'm downloading while she's talking).
    • Re:Easiest answer: (Score:5, Informative)

      by aderusha (32235) on Sunday February 27, 2005 @10:47AM (#11793790) Homepage
      to save yourself the $20 (and the general assholery that sveasoft is prone to), download the GPL'd firmware here: http://www.gonzo-wireless.co.uk/torrents/

      if you're wondering what all the stink is about, read here: http://wrt54g.serwer.net/
    • Re:Easiest answer: (Score:5, Informative)

      by alatesystems (51331) <(moc.daotgniklat) (ta) (sirhc)> on Sunday February 27, 2005 @12:54PM (#11794453) Homepage Journal
      Just get it from TheIndividual [slashdot.org] here on his slashdot journal. An AC posted this below, but he's at 0 and I don't have mod points, so I'm reposting it.

      I've used the Sveasoft firmware in the past, but I immediately returned the router. That WRT54g is just not fast enough to deal with my 8mbps internet and do QoS on it at the same time. I went back to using my custom iptables and QoS scripts on my linux box which is an athlon xp 2000+.

      That Sveasoft dude is an evil idiot, and needs to be hit on the head with a GPL stick. I wouldn't pay him for it, even if he included the antidote.
      • The WRT54G also has serious thermal problems when the CPU operates at heavy load.

        A friend of mine bought one, it would crash every 10-15 minutes if you were running WEP with light-moderate WLAN use.

        30 minutes or so if WEP were off.

        2-3 hours even at moderate-heavy loads if you were only using the wired ports.

        Best bet might be some sort of Mini-ITX box.
        • How can you be certain it was thermal? I wouldn't be surprised if it were memory corruption or leaks (especially if they were running the stock firmware). Did you try the tests with a fan blowing cold air over the top of the unit?
          (I'm actually interested in the results, since I've got a WRT54G I've been meaning to put OpenWRT on for QoS and to use as a firewall/DMZ/public wireless box.
        • Re:Not surprised (Score:3, Insightful)

          by bill_mcgonigle (4333) *
          The WRT54G also has serious thermal problems when the CPU operates at heavy load.

          A friend of mine bought one...


          And if that anecdote were typical a huge community wouldn't have grown up around the unit and Linksys would be buried by the support nightmares.

          It could be that your friend got a bad unit -OR- maybe hundreds of thousands of people don't realize that their units are crashing all the time. We'll let Occam's Razor decide that one.
          • That is the exact same reasoning people used for windows-95. Such an intensively tested product could not contain any errors. Could it? Suprisenly several people here mention it. Could they all be wrong?
            • That is the exact same reasoning people used for windows-95. Such an intensively tested product could not contain any errors. Could it? Suprisenly several people here mention it. Could they all be wrong?

              I'm sorry, I didn't notice that a huge community of avid networking hackers and unix gurus had grown up around Windows 95. I didn't even know you could customize your build of Windows 95. I must have been asleep.
        • It's funny you mention this. I have been having the same problem with mine and finally traced it to temperature.

          I have been running the Sveasoft firmware and thought that it was the problem at first. However, after reverting back to the stock FW I got the same problems without any of the benefits.

          For a long itme I thought it was my Xbox causing problems with the network. I only really got steady trouble when I had the Xbox turned on. It took longer than it should have for me to correlate how hot the A
      • Wow. I don't own a WRT54G, so I'm not involved in that circle of users/devs, but after reading about some of the things James has done, man, he's total asshole. I would NEVER buy his firmware.

        Banning people from the forums who've paid $20 and happen to be using the same nick on another forum? Sending people nastygrams for discussing the source? Fuck James.

        I've never heard of a purportedly "open-source" developer acting like such a dickweed before...
    • Re:Easiest answer: (Score:4, Informative)

      by adolf (21054) * <flodadolf@gmail.com> on Sunday February 27, 2005 @04:57PM (#11796156) Journal
      For anyone looking to buy a WRT54G:

      Try to avoid version 2.2 of this router if you're at all interested in more advanced networking stuff (VLAN, per-port QoS, etc).

      Versions 2.2 use an Atmel ethernet bridge chip which supports all sorts of management tricks, many of which are supported in the Sveasoft firmware. This makes some things very easy - you can run an ethernet drop your neighbor's house and give them their own VLAN to keep them out of your network, for example. Or plug your VoIP terminal into its own port, and give that physical port QoS priority over everything else.

      It's almost like having a Linux box with five independant ethernet interfaces, plus 802.11g, for $60 (!).

      Version 2.2, which is the latest at this time, is essentially the same unit except that it contains a cheap unmanaged Broadcom ethernet bridge. Which works fine, except that your potentially lovely 5-port networking monster just turned into a 2-port model with a built-in dumb 10/100 switch. Which means that you'll need at least two of 'em (or a whole different plan) to split the cable bill with your neighbors, no more per-port QoS, and such.

      Otherwise, they'll all run the same firmwares, and are feature- (and cost) identical.

      FYI.

      • Versions 2.2 use an Atmel ethernet bridge chip
        Version 2.2 contains a cheap unmanaged Broadcom ethernet bridge

        I assume you mean "versions prior to 2.2" in the first sentence?

        • Yes. Yes, I did.

          Slashdot ate my less-than symbol.

          To summarize:

          v2.0 and prior versions of the WRT54G are excellent.

          v2.2 is also excellent, though less featureful.

          And, to be complete:

          The WRT54GS v1.0 is excellent, and has twice as much ram as a v2.x WRT54G, along with VLAN abilities.

          The WRT54GS v1.1 is also excellent, and also sports extra RAM, but suffers from the same limited Broadcom bridge chip as the v2.2 WRT54G.

          • I'm quite certain mine's a 1.0, or a 1.1...cool. I'm still running the stock software loadout, and it's worked fine for me when I've needed to use it.

            Anyplace to find out more on what the different revisions have/don't have etc?
  • Well, I am no expert but I can tell you my experience so far has been less than stellar. Products by Linksys, D-Link, and Motorola have QoS options that work reliably. That is only is you have no expectation of performance as far as gaming, P2P, or even web surfing is concerned while you are using your VOIP. The problem is that the number of connections that they allow (for security reasons) is far too low to allow any real use and the settings are hardcoded. As soon as you hit that limit (whatever it i
    • by walt-sjc (145127) on Sunday February 27, 2005 @12:13PM (#11794173)
      If you are on ADSL, you can greatly improve QOS by getting a sangoma DSL card instead of using the telco supplied DSL modem. The problem with traditional DSL (and cable) modems is the huge input buffer. The way people get around this buffer is to limit the upstream speed to less than full wire speed so that the buffer is always empty.

      QOS is most freqently needed on upstream data since downstream has higher speeds. Since most ISP's don't support QOS at all, about the only place you have any control is upstream on the local loop.
  • by maggard (5579) <michael@michaelmaggard.com> on Sunday February 27, 2005 @10:53AM (#11793811) Homepage Journal
    I reccomend the Linksys WRT54GS. It's about US$10 more then the G model but includes more memory you'll be able to take advantage of in the future. The router can be found online for around US$60 online or US$90 retail.

    Then install the Sveasoft firmware. The shipping version is free, access to the beta version & support for it is US$20. Some folks dissaprove of this strategy but the FSF has green-lighted it and it does pay for the project.

    QoS, VPN (endpoints), SSH, filtering, upped antennae power, it's all there. They've extended the Linksys web interface to handle most of the expanded functioniality and below that there's a real working Open Source Linux with a happy command line.

    Sure it's not an old clunker running something else. It's also small, quiet, stable, wireless if you want to take advantage of that. I dunno about you but being able to replace a 24/7 big noisy hot box in my living space with a smaller quieter cooler one is worth the small premium.

    • by Anonymous Coward on Sunday February 27, 2005 @12:04PM (#11794091)
      Actually the development version is free as well, because it's licensed under the GPL. You can pay $20 for support, if you want, but if you don't need support you can also get the firmware here [slashdot.org].
    • Take advantage of the larger memory in the future?
      You can take advantage of it today for free if you use the openwrt.org distribution instead of Sveasoft

      I use the openwrt, the S provides quite a bit more space for stuff.
  • Optimizing ADSL (Score:5, Interesting)

    by ion++ (134665) on Sunday February 27, 2005 @10:56AM (#11793824)

    A friend of mine wrote his master thesis about optimizing the usage of asyncrone internet connections (often ADSL connections). He used our dorm as a living experiement, we have 307 people living here, and share one 8196 kbit down / 768 kbit up ADSL connection. All our ports are open and everyone has a puplic ip address (well almost, because we only have a /24).

    The results are very very good. The link is actually useable now. SSH connections are quick. people can and does use p2p without trouble. VoIP works most time of the day, but during "rush" hour it is not possible, most likely because we are just too many users for such a small connection. Games might also work at some time during the day, but i dont game so i wouldnt know. I do hear that some people complain that they can not game. The rest is good, SSH, HTML, news, irc/IM and other chats works as well. Try it, and you dont even have to limit your bandwidth.

    http://www.adsl-optimizer.dk/ [adsl-optimizer.dk] contains his master thesis.
  • QoS to where? (Score:4, Informative)

    by iksowrak (208577) on Sunday February 27, 2005 @11:00AM (#11793849)
    Are you trying to control QoS between two endpoints over the public Internet? If so, tagging the voice traffic leaving your router isn't going to do much good since once you hit the rest of the Internet the other routers on the trip to your destination will immediately disregard any QoS settings that your router has set. Otherwise we'd have boneheads sitting at home configuring their routers to send all their gaming or P2P download traffic with voice level priority. You currently can't control QoS over the public Internet.
    • Re:QoS to where? (Score:3, Informative)

      by Anonymous Coward
      The issue is more with the last mile than with the public internet. The backbones are usually not under high stress, but it's easy to saturate a DSL connection. QoS in that context means you try to minimize latency and reserve bandwidth for certain protocols by throttling protocols without realtime requirements. That is possible to a certain extent, but upstream bandwidth usually puts a severe limit on latency: Let's say you can send at 128kbit/s. That's 60ms per KByte, or about 100ms per max-size packet.

      N
      • Couldn't you reduce the MTU (maximum TCP packet size) for outgoing packets? If the problem is as you say, that should help a lot.
        • Re:QoS to where? (Score:1, Informative)

          by Anonymous Coward
          Reducing the MTU helps with the latency but increases overhead (processor load and bandwidth for more headers).
        • Lowering the MTU is one option but causes problems in the general case of http/ftp transfers. Many T1 routers can do frame relay or PPP fragmentation to let the smaller voip packets through. It is also supported on atm/dsl.
      • That's why the atrocious upload most US connections are saddled with is so nausiating. I have 300Kbps upload and I think that's the bare minimum for something to be called broadband. This gives 30ms latency for large packets, or an extra 15ms average for VoIP traffic, generally acceptable. It also allows enough response traffic to keep the pipe full at 3Mbps down even with chattier protocols. I would love to have 768+Kbps but my cable ISP doesn't offer it even on the "delux" level package which costs twice
  • by wowbagger (69688) on Sunday February 27, 2005 @11:29AM (#11793960) Homepage Journal
    The big issue with QoS is that your ISP also has to support it, or you don't get the benefit of it.

    Consider the case of downloading a big file, and trying to do VOIP. The incoming VOIP packets and the incoming download packets hit your ISPs router.

    Now, unless the bandwidth between you and your ISP's router is larger than the bandwidth between your ISP's router and the rest of the world, there will be an outstanding queue of packets to be sent from the router to your computer. If the router does not honor the QoS bits of the incoming packets, and send the VOIP packets first, then your VOIP will be choppy, even though your router is sending all outbound VOIP packets out first.

    Moreover, even if your ISP supports QoS, if the machine generating those packets does not set the QoS bits correctly, there will be no way for your ISP's router to assign meaningful priorities - so even though you've tweaked your system to set the QoS on outbound packets correctly, if you are talking to Aunt Tillie, and her computer is not setting the QoS bits, then the incoming traffic will not be sorted correctly.
    • Not necessarily. (Score:5, Interesting)

      by swillden (191260) * <shawn-ds@willden.org> on Sunday February 27, 2005 @12:32PM (#11794301) Homepage Journal

      The big issue with QoS is that your ISP also has to support it, or you don't get the benefit of it.

      You don't get the full benefit, but you can still use QoS to shape incoming data streams, at the expense of giving up a portion of your inbound bandwidth.

      The way this works is that although your ISP will send whatever packet is at the head of the queue, your router can still reorder the incoming packets before delivering them to your computers. That looks, at first glance, like a silly idea, since the router has the data and there is no bottleneck across your 100Mbit LAN, why shouldn't it just deliver what it gets?

      By delaying, or even discarding, inbound packets, your router can use TCP's throttling mechanisms to slow the rate at which the origin server sends data. When the origin server doesn't receive acknoledgement that a packet was recieved, it not only retransmits that packet (after a delay), but it also adjusts the window size. This is a critically-important property of TCP. Without it, every connection that crosses a low-bandwidth link would suffer lots of dropped packets and would have lots delays during which even the slow link is idle. That doesn't happen, because TCP automatically "tunes" every connection to a rate at which the traffic flows smoothly.

      When your router drops inbound packets of a download that exceeds the amount of bandwidth the router wants that connection to consume, TCP adjusts the data rate downward until not many packets are dropped.

      So, if your router "knows" the total incoming bandwidth, and if it can track all of the incoming data streams, it can dynamically choose a target bandwidth rate for each of those streams, and then enforce that rate by discarding packets whenever the stream exceeds its target rate. Linux QoS capabilities also include "random early detection", which randomly chooses to occasionally discard a packet from a stream that is close to its target bandwidth, to keep it from going over even briefly.

      The downside of this QoS is that in order to make it work effectively you have to make sure that the ISP rarely queues packets and hardly ever discards them. To do that, you have to configure your router to divvy up an incoming stream that is slightly smaller than you really have, because this sort of "remote control" of the origin servers' data rates is imperfect and you will get occasional "blips" of over-target incoming data.

      • Re:Not necessarily. (Score:3, Interesting)

        by rthille (8526)
        Further, your router which is doing QoS can send 'source quench' ICMP packets to slow the incoming traffic. There isn't really a standard for what the receiving host will do with the source quench packet, but I believe in general it's equivalent to dropping the packet (that is, same bandwidth & window size changes) without the extra bandwidth of resending the dropped packets. The company Packeteer was founded to sell boxes which managed bandwidth on a network just by monitoring the traffic and send sour
  • Bandwidth (Score:3, Insightful)

    by JeffTL (667728) on Sunday February 27, 2005 @11:30AM (#11793964)
    If you don't have oodles of bandwiddth and want to be able to talk and play network games at the same time, maybe you should stick with a telephone solution not using the public Internet, such as an RBOC land line or digital service from the cable company. Not as cheap as Vonage, I will admit, but if you have to buy more bandwidth from the ISP to do everything you did before, why change?
  • by QuietRiot (16908) <cyrus&80d,org> on Sunday February 27, 2005 @11:44AM (#11794021) Homepage Journal
    /// From Slashdot : Which BSD for an Experienced Linux User? [slashdot.org] :: (Score 5, Informative) [slashdot.org] ///

    ...
    OpenBSD would be great to learn on as it will definately push you into the documentation and get you used to some of the conventions used (slices v. partitions, startup scripts, etc.). I'd suggest you use an older or spare computer if you've got extra or can pick one up cheap. You could also just set aside space on those 80 gigs you've got. READ UP ON PARTITIONING, USE OF LARGE DRIVES, ETC. BEFORE YOU START ANYTHING!

    Once you get some OpenBSD under your belt, put a box in service at your network connection (right behind you cable/DSL connection?) and
    learn to setup pf (packet filter - built in). Experiment with AltQ and get yourself a good firewall/NAT in place (junk the Linksys). Not too much trouble and the docs at OpenBSD - pf [openbsd.org] [openbsd.org] are quite good. Here you could experiment with adding a web server or MTA (if you don't have tons of boxen to keep your "real" services in some kind of dedicated DMZ). My home OpenBSD box forwards BitTorrent, Freenet, VNC and SSH to a variety of machines in my house. I also prioitize packets in the following order: 1st to tcp_ack_out, [then] Vonage telephone, ssh_interactive, everything else, freenet, and finally ssh_bulk. Keeps my phone line crisp and prevents freenet from destroying my ssh sessions' latency. You can do this with other products but I've had a good time (and have learned quite a bit) constructing my /etc/pf.conf file. (Yes. I've got a life otherwise :)

    Then build youself a FreeBSD box. This should be cake. 5.x should install without a problem for you and you've got access to all the ports you could ever imagine. Your experience with OpenBSD will help you understand some of the differences you'll encounter. Makes a great desktop. OpenBSD will work fine as a desktop machine but I've never done it. Same for NetBSD I suppose. Give it a whirl. I'm sure you'll learn a ton and be quite happy with whatever you decide.

    Don't short yourself on learning OpenBSD. It is awesome, security aware and has some wonderful features (need encrypted swap case the feds might knock down your door at any minute? check.). It may just serve all your needs and knowing it is surely going to be useful to either yourself or others in the future. Use it for utility and the ability to sleep at night with your data behind it. (still better go with RSA keys on sshd though). Check out http://undeadly.org/ [undeadly.org] [undeadly.org]

    Don't short yourself either on checking out FreeBSD. I moved from Linux to "the beast" some 5 years ago and haven't looked back since. The 4.10 machine I use everyday has been up 168 days as of today. I had at shutdown the machine previous to that due to a scheduled power outage. It sits fully exposed on an unprotected IP and runs user apps, a web server and mail. Not a single problem in years. FreeBSD has certainly served me (and some clients of mine) well.

    If you're a system developer or like playing with things at the driver level or experimenting with new code, new systems or want to put your toaster on the network, don't deny yourself a NetBSD 2.x install. Wonderful features at the leading edge. Very capable and I hope to get some more experience with it myself one day. (a NetBSD page [starling.us])

    Learn OpenBSD. You won't regret it. [FreeBSD and NetBSD will run pf as well]

    Here's the juice: (yes - read the docs and modify for your own setup. The various sections need to be in a certain order too (options, normalization, queueing, translation, filtering)

    ## TH

  • by tyler_larson (558763) on Sunday February 27, 2005 @01:21PM (#11794694) Homepage
    QoS is simply the prioritization of packets in a particular box's send queue. Either a box can do it or it can't. If your router implements QoS, your router isn't the problem.

    Look at your other hardware. If your router can put packets out at 100Mbps, and your cable modem can put out packets at 1.5Mbps, implementing QoS on your router won't get you anywhere--you're router's packet queues are empty. Your cable modem needs to implement QoS too. Cable modems have huge packet queues and can introduce whole seconds of latency--they're usually optimized for throughput only.

    You've got, as I see it, three potential solutions:

    • Get a cable modem/DSL modem, etc. that implements QoS queuing.
    • Get a connection that's faster than your router (not the cheapest option)
    • Throttle the traffic on your router so that it only puts out data at such a rate that the cable modem's queues are always empty.

    There's more to designing a network archetecture than just buying the hardware. You have to really understand what each element of your network is actually doing.

    • Sure, your cable/dsl-modem doesn't implement QoS, and it's got asymetric interfaces (DSL/Cable on one side, 100MBit on the other) and so the queues get full, latency goes up and VOIP starts dropping packets because once a VOIP packet is more than a certain amount late you might as well ignore it. The solution to this is to do QoS on your router and limit the connection speed between the router and the DSL/Cable modem to less than or equal to the bandwidth your modem has available. Even on the downstream s
  • by jsailor (255868) on Sunday February 27, 2005 @06:49PM (#11797226)
    Jump on E-Bay and look for an 806, 831, or 1710.

    The 806 is a dual Ethernet router that will do a good job with QoS. It handles Low Latency Queuing for VoIP (essentially priority queuing - whenever it sees a VoIP packet - or any other type you define as high priority - it places it at the head of the output queue. It also supports Committed Access Rate (CAR) for restricting traffic rates for traffic patterns that you define (e.g. by IP address, protocol, mac address, combinations of these). Class-based traffic shaping which smooths the output rate to specified bit rates. CAR polices, shaping controls the actual rate of transmission. It also supports a number of other congestion management features along with a good deal of Cisco's higher end features.

    The 831 is similar to the 806, but includes a built-in hardware accelerator for encryption that enables 3DES at rates of 2 Mbps or more.

    The 1710 includes all of the above, including the encryption module, and many more features for QoS and general router functionality.

    All of the above support a stateful firewall, IDS signature matching, syslog, etc., etc.

    If you like/need a web GUI, then the 831 or 1710 are the way to go. Be sure and download Cisco's SDM for greatly improved web-based configuration and management.

    Data sheets for the above can be found in the following locations:

    806 [cisco.com]

    831 [cisco.com]

    1710 [cisco.com]

    SDM [cisco.com]

  • Then you can't go wrong with either the Linksys RT31P2 [bestbuy.com] (Wired) or the WRT54GP2 [bestbuy.com] (Wireless B/G).

    Both are combinaton routers / ATAs in one device, so QOS is quick and seamless.

    Only down side that I can see is that they only have three physical ethernet ports each (not counting the WAN port), so if your wired network is more than three nodes, you'll need a switch or some other additional solution.

    The firmware even lets you control QOS further, by connection (LAN port 1, 2, 3, etc), by "application" (FTP, HTT

A sheet of paper is an ink-lined plane. -- Willard Espy, "An Almanac of Words at Play"

Working...