dslreports logo
 
    All Forums Hot Topics Gallery
spc
Search similar:


uniqs
15322
Cloneman
join:2002-08-29
Montreal

3 edits

Cloneman

Member

Cloneman's Tomato QoS Tips for adsl, vdsl2, and cable

This is not a guide! These are tidbits of information anyone embarking on a QoS journey will find useful. I have spent many hours in a laymen's journey discovering what QoS is and isn't, sometimes at my expense on this and other boards :P

TL;DR at bottom

This is just some good reading material if you've followed big guide before and failed.

(1) These tips are for Tomato Toastman edition.

(2) Download / Inbound QoS works very well on Toastman - I think the only thing that can slip through the cracks it is a Denial of service attack or a seriously misbehaving UDP application (utorrent behaves very well).

(3) Is is my suspicion that inbound QoS doesn't work correctly on any other firmware (unless of course, they implement Toastman's QoS :P). Other firmwares, like shibby, and possibly regular tomato, do not have a "global maximum" for inbound QoS, which makes them highly impractical for most setups.

(4) Even tomato toastman, in all it's glory, does not work properly for ADSL! You need a special build for all ADSL connections, which need to compensate for overhead on an ATM network. I've set mine to 40 bytes. See this thread:
»linksysinfo.org/index.ph ··· l.31541/

tvlz is currently compiling Toastman builds with this patch.

If you don't use a build like this, you have to take 50% of the upload traffic off the table, or your QoS won't work. Technical details:
»ace-host.stuart.id.au/ru ··· /tc-atm/

You do not need this special build for Cable or VDSL2 (Bell Fibe), Tomato Toastman should be fine (though I don't have a connection to test with at the moment).

If you're currently on ADSL and you think your tomato QoS works, well, you just haven't stressed upload and download at the same time to try and break it :^)

(5) Some users with very high speed connections (50mbps) have reported that even a powerful router (480Mhz) , is cpu underpowered with QoS on. I can't help you guys :P

(6) My method of testing if my QoS works, is applying various mixed stress to the line (torrents, FTP uploads, http) and using the VoIP tester @ Visualware at the same time. Of course, you need to add visualware to your high priority class (DEST port 5060, 20000, and 20001)

(7) The Class is rank (highest to lowest) is more important than the maximums you set. You can give VOIP 20% maximum and it will have priority over your HTTP traffic that you've assigned as 100%, for example)

(8) You should rename The class names (1-10, keep it simple) and delete all the predefined rules before starting your journey.

(9) Uncheck prioritize small packets, (all 4 of them), and be sure to check off "Reset class when changing settings"

(i'll update this thread as neccessary to clarify)


TL:DR;
Inbound QoS works, but ONLY on Toastman Tomato.

QoS on Regular adsl is probably defective on 99% of implementations, needs a special build of Toastman Tomato with TC-ATM patch. Not needed for Cable or VDSL2.
Cloneman

1 edit

Cloneman

Member

using the TC-ATM patch (for ADSL connections) observations:

Downstream bandwidth seems to be lower than expected, but for some odd reason, setting a proper max value doesn't seem to impact performance.

I set my downstream way above my line rate and I couldn't get my VoIP packets to drop or jitter... lol

Davesnothere
Change is NOT Necessarily Progress
Premium Member
join:2009-06-15
Canada

Davesnothere

Premium Member

said by Cloneman:

reserved for future use....

 
The FUTURE, Conan ?

I have done this in other threads which I have started.

Bear in mind that after 5 days, each post gets locked by the system anyway.

However, within that constraint, if you are after post position, you've got it.

= = = = = =

BTW, this post gives me position #3 in your thread for the next 5 days, if I have something to say which I figger to be important enough to put here, instead of my current jibber-jabber.
34764170 (banned)
join:2007-09-06
Etobicoke, ON

34764170 (banned) to Cloneman

Member

to Cloneman
You cannot enforce QoS inbound on a connection after the traffic has gone across the link. It HAS to be done at the other end, as in the ISP side.
Cloneman
join:2002-08-29
Montreal

Cloneman

Member

said by 34764170:

You cannot enforce QoS inbound on a connection after the traffic has gone across the link. It HAS to be done at the other end, as in the ISP side.

Yeah, so this probably relies on cooperation from the other end, Dropping ACKs and what not. The question is, when would the other side not cooperate?

It seems to work well enough. I've tried stopping and starting multiple downloads during a VoIP test, and I wasn't able to cause increases in jitter. If you've got some type of traffic I can generate to break my setup, I'll be glad to try it
Mango
Use DMZ and you get a kick in the dick.
Premium Member
join:2008-12-25
www.toao.net

Mango

Premium Member

said by 34764170:

You cannot enforce QoS inbound on a connection after the traffic has gone across the link.

That's true, but that's not how QoS (at this level) works. Most people don't realize you can reduce the requests you send to effectively throttle inbound traffic. Regardless of whether or not you use bold text, Tomato's QoS works, in both directions, and it works well.
said by Cloneman:

The question is, when would the other side not cooperate?

So far I've never encountered such a situation. In the past ~2 years I've been using it, it's always performed exactly as configured.
34764170 (banned)
join:2007-09-06
Etobicoke, ON

34764170 (banned)

Member

said by Mango:

That's true, but that's not how QoS (at this level) works. Most people don't realize you can reduce the requests you send to effectively throttle inbound traffic. Regardless of whether or not you use bold text, Tomato's QoS works, in both directions, and it works well.

Not all IP traffic is TCP. This cannot work properly.
said by Mango:

So far I've never encountered such a situation. In the past ~2 years I've been using it, it's always performed exactly as configured.

That doesn't prove anything.
Mango
Use DMZ and you get a kick in the dick.
Premium Member
join:2008-12-25
www.toao.net

Mango

Premium Member

What are some examples of traffic you suspect would not work as expected?
BrianON
join:2011-09-30
Ottawa, ON

1 recommendation

BrianON to Cloneman

Member

to Cloneman
QoS provides a better quality experience by doing two main things: prioritization and traffic shaping.

Prioritization : instead of the default of passing traffic on in the same order it is received higher priority packets are sent before lower priority.

Traffic shaping : limiting the transmission of some traffic types or even all outbound traffic.
-------------------------
Short scenario:
- VOIP set to higher priority - the VOIP packets jump ahead of other packets
- All outbound traffic shaped to 95% of capacity - buffers in other network gear like the Cable or DSL Modem are kept mostly empty so they don't introduce a buffering delay to all outbound traffic when utilization is high

Davesnothere
Change is NOT Necessarily Progress
Premium Member
join:2009-06-15
Canada

Davesnothere

Premium Member

said by BrianON:

QoS provides a better quality experience by doing two main things: prioritization and traffic shaping....

 
Yes, and between those two factors and managing the bandwidth of your other apps (such as p2p) individually/internally, things can work VERY well.

Guspaz
Guspaz
MVM
join:2001-11-05
Montreal, QC

Guspaz to Cloneman

MVM

to Cloneman
For outbound, your router can prioritize VoIP packets even if the connection is saturated. For inbound, all you can do is rate limit, so the only way to pretend to be a slower link than you actually are, and hope enough of your traffic is TCP that slowing that down frees up enough space for the VoIP packets.
graniterock
Premium Member
join:2003-03-14
London, ON

1 recommendation

graniterock to Cloneman

Premium Member

to Cloneman
said by Cloneman:

(5) Some users with very high speed connections (50mbps) have reported that even a powerful router (480Mhz) , is cpu underpowered with QoS on. I can't help you guys :P

When I went from DSL 6 to Cable 28/1 I had to say goodbye to my Asus WL-520gU if I wanted QOS at speeds higher than 20 Mb/s down. The router seemed to struggle even with it off. I splurged and got the RT-N66U which has worked great since then. I am very thankful for Tomato because I know I wouldn't have been able to ditch my landline for VOIP without it.
Cloneman
join:2002-08-29
Montreal

Cloneman to Guspaz

Member

to Guspaz
Guspaz,

can you give an example for some type of UDP application that would persist to push more downstream than you can take?
zinc
Premium Member
join:2004-02-17
Kitchener, ON

zinc

Premium Member

Many non-TCP based VPNs.

Guspaz
Guspaz
MVM
join:2001-11-05
Montreal, QC

Guspaz to Cloneman

MVM

to Cloneman
It doesn't have to send you more than you can take, only as much as you can take. The VPN example is a good one; most VPNs use UDP (or occasionally GRE, which would have the same issue). There would typically be TCP inside of the UDP tunnel, and that would be doing congestion control, but all that means is that it'll max out the link, and you can't prioritize inbound packets. You're left with the same solution; rate limit your inbound to well below the actual limit except for high priority packets... And since you can't control the queuing on the remote end, that's still going to leave you with a sub optimal situation in terms of latency and jitter.

The two factors of QoS are rate limiting and prioritization. On inbound, it's impossible to do BOTH of those, you can only rate limit.

In a well-configured and well-designed outbound QoS system, you don't need to rate limit yourself below your maximum speed, because prioritization can simply ensure that any high-priority packets get sent out immediately, jumping the queue. On inbound, you have no control over the prioritization on the remote end, so you have to make sacrifices that limit your potential performance.
Cloneman
join:2002-08-29
Montreal

Cloneman

Member

I'll have to try UDP VPN stress then.

The only real UDP traffic I've tried is uTorrent, which probably implements it's own congestion control at the application level.

I should note that for some reason, with the TC-ATM patch for ADSL, I'm getting good performance no matter how high I set my downstream max (even 4-5 times greater than my line capacity).
BrianON
join:2011-09-30
Ottawa, ON

BrianON to Guspaz

Member

to Guspaz
said by Guspaz:

In a well-configured and well-designed outbound QoS system, you don't need to rate limit yourself below your maximum speed, because prioritization can simply ensure that any high-priority packets get sent out immediately, jumping the queue.

There are buffers even on the upstream side that you don't have control over to prioritize packets. On cable with a slow 256kbps upstream even a small 32kb buffer in the cable modem is a full second of traffic which if your VOIP packet gets stuck behind can cause problems.
mikefxu
join:2004-10-05
Titusville, FL

mikefxu to Cloneman

Member

to Cloneman
Can you provide some screenshots of your current QoS setup? I have the newest version of Shibby build and it does have the "global maximum" for inbound QoS.
Cloneman
join:2002-08-29
Montreal

4 edits

Cloneman

Member

this is largely a draft, work in progress. I've given UDP more than it needs, ideally I'd set the UDP downstream max to maybe 50% for most people
My actual "real speed" is 16.5 Mbits download and 0.68 mbits upload.

I'm using the 40byte TC-ATM patch because it's adsl2+. I've been very aggressive on the downstream max, because in my particular case, it doesn't seem to matter.

(No limit) Classes are not used.








For torrents, you can specify an incoming range in utorrent for easy classification. (not sure if I did this right)
mikefxu
join:2004-10-05
Titusville, FL

mikefxu

Member

Can you also screenshot the QoS Basic Settings, just above the DSL Overhead Value?
Cloneman
join:2002-08-29
Montreal

Cloneman

Member

updated all my screens. Does the new shibby have min & max for downstream?
mikefxu
join:2004-10-05
Titusville, FL

mikefxu

Member

Click for full size
Click for full size
Click for full size
Cloneman
join:2002-08-29
Montreal

Cloneman

Member

looks like shibby put in toastman QoS and the tvlz TC-atm patch.
quote:
- Dodano wsparcie dla TC-ATM overhead w zakadce QoS – dziki Tvlz
- Odwieone reguki QoS – dziki Toastman

mikefxu
join:2004-10-05
Titusville, FL

mikefxu

Member

Tomato Firmware 1.28.0000 MIPSR2-105 K26 USB AIO

USB support integration and GUI,
IPv6 support,
Linux kernel 2.6.22.19 and Broadcom Wireless Driver 5.10.147.0 updates,
support for additional router models, dual-band and Wireless-N mode.
Copyright (C) 2008-2011 Fedor Kozhevnikov, Ray Van Tassle, Wes Campaigne
»www.tomatousb.org

OpenVPN integration and GUI,
Copyright (C) 2010 Keith Moyer,
tomatovpn@keithmoyer.com

"Shibby" features:
- Transmission 2.76 integration
- GUI for Transmission
- NFS utils integration and GUI
- Custom log file path
- SD-idle tool integration for kernel 2.6
- 3G Modem support (big thanks for @LDevil)
- SNMP integration and GUI
- APCUPSD integration and GUI (implemented by @arrmo)
- DNScrypt-proxy 1.0 integration and GUI
- TOR Project integration and GUI
- TomatoAnon project integration and GUI
- TomatoThemeBase project imtegration and GUI
Copyright (C) 2011-2013 Micha Rupental
»openlinksys.info

"JYAvenard" Features:
- OpenVPN enhancements & username/password only authentication
- PPTP VPN Client integration and GUI
Copyright (C) 2010-2012 Jean-Yves Avenard
jean-yves@avenard.org

"Victek" features:
- Extended Sysinfo
- Captive Portal. (Based in NocatSplash)
- HFS / HFS+ filesystem integration
Copyright (C) 2007-2011 Ofer Chen & Vicente Soriano
»victek.is-a-geek.com

"Teaman" features:
- QOS-detailed & ctrate filters
- Realtime bandwidth monitoring of LAN clients
- Static ARP binding
- VLAN administration GUI
- Multiple LAN support integration and GUI
- Multiple/virtual SSID support (experimental)
- UDPxy integration and GUI
- PPTP Server integration and GUI
Copyright (C) 2011 Augusto Bott
Tomato-sdhc-vlan Homepage

"Toastman" features:
- Configurable QOS class names
- Comprehensive QOS rule examples set by default
- TC-ATM overhead calculation - patch by tvlz
- GPT support for HDD by Yaniv Hamo
Copyright (C) 2011 Toastman
Using QoS - Tutorial and discussion

"Tiomo" Features:
- IMQ based QOS Ingress
- Incoming Class Bandwidth pie chart
Copyright (C) 2012 Tiomo

"Victek/PrinceAMD/Phykris/Shibby" feature:
- Revised IP/MAC Bandwidth Limiter

Based on Tomato Firmware v1.28
Copyright (C) 2006-2010 Jonathan Zarate
»www.polarcloud.com/tomato/

Built on czw, 17 sty 2013 22:15:38 +0100 by Shibby, »openlinksys.info

Davesnothere
Change is NOT Necessarily Progress
Premium Member
join:2009-06-15
Canada

4 edits

Davesnothere to Cloneman

Premium Member

to Cloneman
said by Cloneman:

looks like shibby put in toastman QoS and the tvlz TC-atm patch.

 
Thank you, folks, for the updated info !

So does this mean that I ought to install the latest Toastman build which I downloaded around when the current thread began, and which had been discussed just before that in more detail here »Tomato QoS major bug (resolved - normal behavior) , or should I choose the latest Shibby build which you are discussing today in the current thread ?

MY currently installed Shibby build (v93, from sometime last year) has some stuff from Toastman in it, but as discovered in the other thread, NOT an Inbound Global Maximum Bandwidth limiting control, which looks to be a Tiomo feature rather than one of Toastman's, if I read the earlier replies about that properly.

As I see things, it's just that Toastman seems to have included this Tiomo tweak in HIS builds before Shibby did.

Bear in mind again that I have a Cisco-Linksis WRT54GL router, and it would depend upon whether or not Shibby has done a new version of his for that, using an older kernel as he did last time (v.2.4), and as I believe that my downloaded and ready Toastman (also built last year) is based too.
Cloneman
join:2002-08-29
Montreal

Cloneman

Member

I guess either one would be fine? I don't know how shibby runs on old hardware, I haven't tried the new shibby either.

I would get the latest toastman , maybe it's these for wrt54gl:
»www.4shared.com/dir/v1Bu ··· NH6DiVQV

Davesnothere
Change is NOT Necessarily Progress
Premium Member
join:2009-06-15
Canada

4 edits

Davesnothere

Premium Member

said by Cloneman:

I guess....

 
I believe that it depends upon whether or not a build has been done based on the Linux 2.4 kernel with 'ND' (new driver), as that is supposed to be OK with the electronics of my mature series of router, IIUC.

I'll check the your link and the other download site I mentioned in the other thread, and then post update(s) here of whatever I find.

Thanks.

= = = = = = =

UPDATE 1 :

Toastman's Builds :

Your above link (4share) = LOADING..... LOADING..... LOADING.....

Going to »www.linksysinfo.org/inde ··· s.36106/ (see 2nd post) gives these links :

»www.4shared.com/dir/v1Bu ··· v1BuINP3 - This link seems active, and browses fine to what looks like YOUR link. [shrug]

»www.mediafire.com/?88t1vzzcgrphx - Seems OK - That's where I got my files on Jan 3rd.

Both of these have the same Toastman files that I already recently downloaded, and are from a build of March of last year (tomato-WRT54G_WRT54GL-1.28.7633.3-Toastman-IPT-ND series).

So the only things left to wonder/investigate now are whether Shibby made a newer build which is compatible with my WRT54 beast, and if yes, whether it has any OTHER advantages than only the Tiomo QoS tweak which itself is also in that Toastman build.

UPDATE 2 :

Shibby's site »tomato.groov.pl/ seems to have a current (3 days old) group of builds (v105) for the WRT54 series, at »tomato.groov.pl/download/K24/ , (as well as others for current routers), so I will download some of these and read the changelog, not necessarily in that order.

SHIBBY's Changelog »tomato.groov.pl/?page_id=78
Davesnothere

4 edits

Davesnothere

Premium Member

 
Conclusions/Questions :

It looks like Toastman updated his K24-ND builds (for old routers like mine) last March, but not since.

That build includes the Tiomo tweak for adding an Inbound Global Maximum Bandwidth limiting control.

He apparently HAS updated his K26 builds since then (mostly intended for newer routers), but I've not investigated what changes are in those builds.

According to Shibby's changelog, the Tiomo control appears for the first time only in his newest (rev 105) builds, and there DOES seem to be a 105 version for his K24-ND branch, so I have downloaded the flavours of that which are designated for an earlier Non-USB router like mine.

The DSL tweak is irrelevant to me as I am on Cable, but also seems to be for the first time only in Shibby's 105 builds.

So should I install the latest Shibby, or last March's Toastman ?

Are there OTHER reasons for me to choose only one of them, besides the Tiomo control tweak which they both seem to have ?

I currently have Shibby's K24-ND-093 build, installed since last summer.
Cloneman
join:2002-08-29
Montreal

Cloneman

Member

hrm, not sure, I'm very confused myself with build numbers.

You could try latest shibby or Tvlz's toastman mod for K24 which I think uses a fairly recent toastman as a base, but im not sure.

»www.box.com/s/45a8764123 ··· 38575632

Davesnothere
Change is NOT Necessarily Progress
Premium Member
join:2009-06-15
Canada

3 edits

Davesnothere

Premium Member

said by Cloneman:

....You could try latest shibby or Tvlz's toastman mod for K24 which I think uses a fairly recent toastman as a base, but im not sure....

 
Thanks.

Hmmmm....

Everyone seems to be releasing builds which include some or all of the other folks' earlier contributions.

TVLZ is the author credited with the mod called 'TC-ATM overhead calculation for DSL', which is included in the latest Shibby build #105 from Jan 23rd.

UPDATE :

I just checked and your linked TVLZ build's changelog does not say whether or not it contains the TIOMO control for Inbound QoS - nor anything else from any other authors, for that matter.

So I guess I'm back to the 2 choices mentioned in my last post.