Recognize the BSD utilities that shape traffic or control bandwidth
Author: name contact BSD flavour
Reviewer: name contact BSD flavour
Reviewer: name contact BSD flavour
Concept
Understand when it is advantageous to create policies controlling the amount of bandwidth available to specified services.
TODO: can someone answer the above?
In addition, recognize the utilities available on BSD systems to create bandwidth policies.
TODO: do not teach how to use these tools; just say what is available, basically what they do and where to get more information. TODO: because this is beyond BSDA "associate"
Note: This topic only briefly introduces the technologies, but doesn't cover implementation.
Introduction
The technologies available on BSD systems to create bandwidth policies include:
dummynet for FreeBSD and DragonFly
ALTQ for NetBSD, FreeBSD, OpenBSD and DragonFly
The dummynet facility can manage bandwidth and shape traffic (plus emulate delays and packet losses). The "ipfw" tool is used to configure the dummynet bandwidth and queueing policies. Details about dummynet can be found in the dummynet(4) and ipfw(8) manual pages.
TODO: dummynet not in default kernels? loadable vi kernel module?
TODO: how could a novice admin detect if dummynet is in use?
The ALTQ framework provides queueing of packets with disciplines such as Class Based Queuing, Random Early Detection, Random Early Drop, Hierarchical Packet Scheduler, and Priority Queuing. This can be configured using the "pfctl" tool. On NetBSD, the "altqd" daemon can also be used to configure ALTQ.
TODO: point to documentation
TODO: distinguish better about altqd on NetBSD?
TODO: how could a novice detect if altq is in use with pfctl? with altqstat?
TODO: altq man pages say "output queues" but RED is for input too. Is altq for in and out?
Examples
Practice Exercises
More information
ipfw(8), altq(4), dummynet(4), altq(9), altqd(8), altq.conf(5)