VoIP using just prio qdisc? No. was [ [LARTC] Sanity Check ]
Martin A. Brown
martin at linux-ip.net
Mon Jun 26 16:27:32 CEST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Good morning, Mike,
: I need a sanity check. I'm trying to setup my network to handle
: VoIP. I'm thinking that all I need to do is prioritize the
: realtime traffic above the interactive and bulk traffic. I see
: so much discussion about traffic shapping, but I don't THINK this
: is needed, right? I understand the problem with bandwidth
: starvation, but for my application, the voip traffic has to get
: out at whatever cost.
In fact, you will need shaping, but you may be able to use a
combination of an HTB class (to address the shaping) and a contained
prio qdisc to handle your VoIP traffic.
I'm going to assume for the remainder of my answer that you are
talking about a leaf network, so you have Internet access through a
single provider over some sort of broadband connection and you have
a handful of potential VoIP and bulk Internet traffic inside that
leaf network.
Q: Why can't I just use a prio qdisc to handle my VoIP traffic?
A: VoIP traffic is sensitive to latency and jitter. Without some
sort of limitation on the total amount of traffic you push
through your Internet pipe, even a single bulk upload or
download can affect the latency and jitter of traffic
transmitted or received.
Let's say you have a 768 down/256 up (kbit) link, now, assume
that somebody builds a connection into or out of your network
and pushes data as fast as possible out of the network. With a
prio qdisc, your outbound VoIP packets will indeed always be
transmitted first, but the queue is outside your control.
This queueing may be happening on an upstream router or bridge.
That's a problem for your VoIP call, because you do not have control
over delay or jitter. The above is a verbose explanation of one of
the rules of traffic control. Make sure that your machine is the
bottleneck.
So, instead of trying to use a prio qdisc alone, try using a single
HTB class to limit your traffic to a given rate and then embed your
prio qdisc inside that. There are many other possible options for
nested qdiscs, and maybe somebody on this list will make a
recommendation to you for how s/he solved this problem.
- -Martin
- --
Martin A. Brown
http://linux-ip.net/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: For info see http://quantumlab.net/pine_privacy_guard/
iD8DBQFEn+7Wki79Zb8hnmwRAvH+AJ9smcUUXr/Ly8f1MaGsxjSsAX7gJgCfSb+C
ENDJX7a5RWRgaK+WMY0Q3u0=
=PH0T
-----END PGP SIGNATURE-----
More information about the LARTC
mailing list