AQM enhancements

From Nsnam
Revision as of 20:05, 16 January 2015 by Tomh (Talk | contribs) (start AQM page)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

This page summarizes some design and status in adding more AQM models to ns-3.

Current state (ns-3.21)

ns-3.21 has two AQM models: RED and CoDel. The RED model was developed by Duy Nguyen and is a port of the classical RED queue model from ns-2, originally developed by Sally Floyd. The CoDel model started as a port by Andrew McGregor and was finished off in a [[GSOC2014Bufferbloat | 2014 GSoC project] by Anh Nguyen.

ns-3.21 doesn't have support for ECN, mainly because it is not trivial to access/modify the IP packet header while at the device layer in ns-3; this paper has more details.

Lack of IP header access in the queues also hinders the inclusion of FQ Codel and SFQ Codel variants, which were also proposed in 2012.

Proposed way forward

Natale Patriciello proposed adding a Linux-like priority queue sublayer to the IP stack, in a post to ns-developers list in December 2014. This would allow IP-aware queues easier access to IP headers, and would more closely mimic the Linux stack design. This would require changes to all NetDevices to support a backpressure/flow control mechanism between the IP-layer queues and the device queues.

Tom Henderson is prototyping Natale's idea with a testing repository that also contains a new model for pfifo_fast and the most recent FQ and SFQ codel models.