Jump to content

ALTQ

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Grawity (talk | contribs) at 11:51, 9 July 2017 (add new schedulers (though without descriptions) from latest FreeBSD altq(4), and sort alphabetically). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

ALTQ (ALTernate Queueing) is the network scheduler for Berkeley Software Distribution. ALTQ provides queueing disciplines and other quality of service (QoS) related components required to realize resource sharing. It is most commonly implemented on BSD-based routers. ALTQ is included in the base distribution of FreeBSD, NetBSD, and DragonFly BSD, and was integrated into the pf packet filter of OpenBSD but later replaced by a new queueing subsystem.[1]

With ALTQ, packets can be assigned to queues for the purpose of bandwidth control. The scheduler defines the algorithm used to decide which packets get delayed, dropped or sent out immediately. There are five schedulers currently supported in the FreeBSD implementation of ALTQ:

  • cbq — Class Based Queueing. Queues attached to an interface build a tree, thus each queue can have further child queues. Each queue can have a priority and a bandwidth assigned. Priority mainly controls the time packets take to get sent out, while bandwidth has primarily effects on throughput.
  • codel — Controlled Delay.
  • fairq — Fair Queuing.
  • hfsc — Hierarchical Fair Service Curve. Queues attached to an interface build a tree, thus each queue can have further child queues. Each queue can have a priority and a bandwidth assigned. Priority mainly controls the time packets take to get sent out, while bandwidth has primarily effects on throughput.
  • priq — Priority Queueing. Queues are flat attached to the interface, thus, queues cannot have further child queues. Each queue has a unique priority assigned, ranging from 0 to 15. Packets in the queue with the highest priority are processed first.

References

  1. ^ ALTQ removed from -current, OpenBSD Journal