FIFO queueing is simple but does not protect traffic from flows that send more than their share or flows that fail to use end-to-end congestion control. At the other extreme, per-flow scheduling mechanisms provide max-min fairness but are more complex, keeping state for all flows going through the router. This paper proposes RED-PD (RED with Preferential Dropping), a flow-based mechanism that combines simplicity and protection by keeping state for just the high-bandwidth flows. RED-PD uses the packet drop history at the router to detect high-bandwidth flows in times of congestion and preferentially drop packets from these flows. This paper discusses the design decisions underlying RED-PD, and presents simulations evaluating RED-PD in a range of environments.
Controlling High-Bandwidth Flows at the Congested Router (ps,
Ratul Mahajan, Sally Floyd, and David Wetherall
9th International Conference on Network Protocols (ICNP), November 2001
Controlling High Bandwidth Flows at the Congested Router (ps,
Ratul Mahajan and Sally Floyd
ICSI Tech Report TR-01-001, April 2001
Talk @ ICNP: (ps, pdf)
Simulation Scripts (ns)
The simulation scripts of RED-PD can be found in the ns distribution in the directory ~ns/tcl/ex/red-pd. The README file in that directory contains the instruction for running the simulations. The validation tests for red-pd are in ~ns/tcl/test/test-suite-red-pd.tcl.