[MLB-WIRELESS] Packet scheduling [aka: What do people want to dowith the wirele ss connection?]
Daniel Pittman
daniel at rimspace.net
Tue Nov 13 12:34:13 EST 2001
On Tue, 13 Nov 2001, Richard Nelson wrote:
> Daniel Pittman wrote:
>> On Tue, 13 Nov 2001, Tyson Clugg wrote:
[...]
>> > Don't most apps already set this to appropriate values?
>>
>> No, never.
>
> You can get some apps that do this, but mostly they are specially
> patched versions for research purposes. "Never" is to all intents
> true.
Well, I believe that there must have been some codebase out there that
used the TOS field and the security level field in practice. I never
worked on code old enough to touch it, though. ;)
[...]
> Linux is FIFO by default as are all best effort routers. AFAIK the old
> TOS based scheduling has never been implemented.
That makes a lot of sense. I didn't think I had missed something, but
it's nice to have it confirmed.
[...]
>> If you want to use it, though, you will need to use netfilter[1] to
>> mangle packets to carry the right TOS when they hit the border of the
>> network.
>
> This is the main problem with Diffserv (or ToS) queueing networks.
> Even if your apps did set the DSCP correctly you would still have to
> do this kind of filtering and marking on every single interface into
> the network for policing reasons.
Well, it does depend a little on what sort of network you envision and
what level of reliability you need.
If I were running a wireless network[1], I wouldn't be making any
promise other than to give a best effort service...
> Otherwise someone is going to tweak their app to use the best
> performance class and steal some performance at the cost of everybody
> else.
..and I would happily refuse service to hostile users on the network.
Actually, I would probably just throw them into their own token bucket
and throttle their service through my parts of the network all to heck,
but that's neither here nor there.
> This problem of having to install filtering on every single interface
> has somewhat slowed the deployment of Diffserv and probably would make
> it impractical for a collaborative effort network.
That's the real problem. You need a coherent policy across the entire
network, not to mention support for the queue policies on all routing
nodes[2] in the tree...
[...]
>> Note that you can do exactly the same thing by using the firewall
>> mark as a routing key under netfilter, giving you some thousands of
>> different types of service, not just three.
>
> There are 6 bits available for marking DSCPs that gives you 64
> classes.
Ah, cool. That's nice. I wondered if the silly limit on classes that the
TOS implementation had would go away. So, there are a set of well
defined classes in there already, such that you could just use the
standard diffserv classes on a network?
> If you want to do the thousands option you have to do the filtering at
> core nodes as well as ingress nodes. Maybe a wireless network doesn't
> have core nodes in the traditional sense. You also have to managed
> thousands of classes....
Given that I didn't know you could step aside from the TOS limit of
three classes plus "normal", FWMark seemed useful because it lifted an
otherwise arbitrary limitation and let you do QOS on a protocol basis
rather than a more limited TOS basis.
DiffServ sounds like if fixes that without the complexity, which is
nice.
Daniel
Footnotes:
[1] Which, I confess, I am not.
[2] I assume that anyone sane is running a routed, not bridged, network
-- if they want diffserv and friends, anyway.
--
Fortune rarely accompanies anyone to the door.
-- Balthasar Gracian
--
To unsubscribe, send mail to minordomo at melbwireless.dyndns.org with a subject of 'unsubscribe melbwireless'
Archive at: http://melbwireless.dyndns.org/cgi-bin/minorweb.pl?A=LIST&L=melbwireless
IRC at: au.austnet.org #melb-wireless
More information about the Melbwireless
mailing list