Hello guys and girls !
We found (as many others did before us), that voip on a large unprioritized WLAN with many MT-boxes is at least difficult
Random jitter, disconnections, lost voice in one direction etc. and many other problems are daily issues. Therefore we had to implement qos.
After countless versions, the solution has now converged to something very efficient. Voip is now ok 24/7, and generally, the lan has never performed so well before (very fast surf and completely symetrical bandwidth). Satisfying for everybody
I will not give you every detail, but in stead line op a number of things that really should be somewhere in the manual. Hopefully, this thread will end up as a comprehensive wiki-page, so many others with similar problems will be able to find a faster path to success.
1. Limit users (if you must) as close to the user as possible. PCQ is perfect for this job. Failing to do this gives large amounts of undesired retransmits.
2. Make a relatively simple priority scheme (not more than 4 categories), and use this consistently all over the network.
3. Never identify a packet more than once: At the traffic entry points only. The identification algorithms are not 100% failsafe and requires lots of cpu on routers with heavy traffic, and you wil typically get udp "out of order" if you forget this rule. At the same time, you will be able to save a lot of cpu-power for the much more important task of transporting the packets, when you get dscp-tagging working.
4. Pay attention to queue type and size for both interface queues and your own queue trees and simple queues. "Default" will almost always be wrong, when your traffic gets above dsl-capacity. If you forget this, you will suffer from "hidden" packet loss, since MT´s interface queues doesn't tell you about this problem. And remember: Udp behaves VERY different from tcp and requires special treatment.
5. I found, that on all routers except "last hop" routers, a simple global-total HTB is the best choice. Read the wiki carefully when setting it up.
6. All routers should have a queue tree - also a simple bridging repeater. If you don't do this, you will again suffer from "unexplainable" problems with "hidden" losses.
7. Remember to prioritize ALL traffic on the net (remember the output chain on MT-routers). All unprioritized traffic gets automatically highest priority, which is very undesired together with voip.
8. Using a protocol analyzer to evaluate your modifications, ensures that you move in the right direction during your development.
And most important: Read a lot, and don't give up if the first attempts don't work ! These pages are easy accessible, but they suffer from quality, as there are many novices on the forum. I found, that cisco is a very important source in this area. They may have a different way to describe things, but they are specialists, and they have VERY comprehensive manuals. And the general principles of qos are all the same, no matter of the software manufacturers name.
And then two questions:
- How do you properly detect Skype supernodes ??? The L7 regex avaliable gives too many false positives
- How do you detect Youtube traffic (forget about address lists - Google owns half of the internet) ??? I think that this low priority traffic is at least half of our http-traffic.
I hope you find this useful, and hopefully we will get a qos-wiki with all the practical stuff included.