1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

QOS confusion...

Discussion in 'Tomato Firmware' started by canadave, Feb 1, 2009.

  1. canadave

    canadave LI Guru Member


    I'm running Tomato 1.23 on my WRT54GL, and loving it for the most part. In the past I never set up QOS, but I've decided to try it, because when I run P2P (BitTorrent), browsing to websites slows to a stop.

    What I'd like to do is fairly simple I think: I want to set up QOS so that my P2P bandwidth (up and down) will normally be at maximum, unthrottled by QOS at all (at least, within the limits I've set in uTorrent--unlimited down, and 60KB/s up). However, I also want to set the QOS so that if I browse to a website, that act of browsing to the website will take full priority over the P2P--I want the web browsing to have 100% priority over anything else at the moment I make the browse request. Ideally, when web browsing, I wouldn't even know I'm running P2P. At those times I don't care if the P2P speeds slow dramatically.

    It sounds simple enough, and I've read a few guides (here and elsewhere) on getting this set up, but I suppose I must just be too dense to get it. I've tried setting my "Lowest" priority packets (including P2P) to various percentages, but I just can't seem to get it set straight--either the P2P becomes too slow even when I'm not browsing ANY websites, or, my web browsing stays so slow as to be unusable.

    Does anyone have any simple step-by-step specific explanations of how I might be able to achieve what I'm trying to do? I'd be very grateful.
  2. Toastman

    Toastman Super Moderator Staff Member Member


    If you allow your P2P unlimited upload bandwidth, it will send out hundreds of requests to servers to send stuff back to you. TONS of stuff. Far more than your router can handle, your link will quite likely become saturated with excess traffic. Then when you click on your browser, the response coming back from the distant server will be stuck right at the back of the queue of P2P waiting to be sent to your router. A different approach is needed.

    Limit your P2P upload bandwidth to say 10% and see if that improves things. If you want to upload data for "points" then use a separate class. You won't be able to achieve 100% what you're looking for, but you can get close.

    For more information to help you set things up, look here:

  3. canadave

    canadave LI Guru Member


    Thanks for your reply. I think I was a little unclear--I didn't mean that I wanted to set up my P2P to have unlimited upload bandwidth. What I meant to say was that I want to set Tomato's QOS so that my P2P could enjoy a "theoretically" unlimited bandwidth....IF I set my uTorrent that way. Of course, I wouldn't, though. In practice, I set my uTorrent upload bandwidth to be no more than 60KBps.

    What I was trying to get across is, I don't want to limit the P2P upload bandwidth in the Tomato QOS so drastically that it actually winds up throttling the upload bandwidth as allowed in uTorrent even if nothing else is going on.

    Put yet another way (I'm sure I'm not explaining myself clearly!), I don't want to set the QOS so that the maximum possible P2P upload speed through the router is less than the maximum limit I set in uTorrent.

    I did have a look at your link...it's very good, but either I'm just not understanding it properly, or not setting something properly, because I still run into the problems I mentioned in my original post :(
  4. az2008

    az2008 Addicted to LI Member

    If you give everything a max outbound bandwidth of 100% it means they can consume all the bandwidth if it's available. It's the minimum percentages which would control whether it's available. If you give DNS highest priority with 80% minimum, and WWW high priority with 70% minimum, and VOIP highest with 90% minimum, and P2P low with 10% minimum, your higher priority traffic will reduce how much maximum is available to P2P.

    But, if you walk away from the computer, nothing else running, then P2Pm could use 100%.

    However, this gets back to how we're not entirely sure how QoS works, or what happens when the sum of the minimum percentages exceed 100%, or if the heuristics of the categories imply more weight given to an overstated minimum percentage, or how they are normalized to 100% of bandwidth.

    So, generally, that's how it should work. You might have to experiment to find what works best for you.

  5. kisenberg

    kisenberg Addicted to LI Member

    I use also uTorrent, and my question was, how to classify uTorrent's traffic.
    The only solution I found was, to add a second IP-address to the LAN-adapter on uTorrent's computer. Then, I bound uTorrent to the new IP-address (net.bind_ip and net.outgoing_ip). So, all traffic on this new IP-address is only from uTorrent. After I modified port forwarding in Tomato, I switched OFF in QOS all flags "Prioritize small packets with these control flags" and also "Prioritize ICMP".
    Last, I added a classification for uTorrent's SRC-IP as lowest.

Share This Page