Abstract: In the best-effort Internet, there is a fundamental tension between responsive and unresponsive flows. During periods of congestion, responsive flows reduce the load they generate while unresponsive flows may or may not do so. As a result, responsive flows can suffer from a starvation effect while unresponsive flows benefit from their greedy nature. Many of the proposed approaches to this problem focus on encouraging end-systems to use responsive protocols by deploying mechanisms in network switches that penalize unresponsive traffic. We argue that while there are applications that are unnecessarily unresponsive, there are also some classes of applications that have legitimate motivations for using unresponsive protocols. Based on this argument we approach the problem with the goal of isolating these three types of flows (responsive, unnecessarily unresponsive, and necessarily unresponsive) from each other.
We survey the problem of managing responsive and unresponsive traffic and propose an active queue management mechanism that insures responsive flows are not penalized for their cooperative nature while also insuring that necessarily unresponsive flows have acceptable performance. Our mechanism, called class-based thresholds (CBT), allocates buffer capacity within a switch¹s FIFO queue to each type of flow in proportion to the desired bandwidth allocation between traffic types. We demonstrate empirically (1) the starvation effect of unresponsive traffic on responsive traffic, (2) the effect of unresponsive traffic on proposed active queue management mechanisms, and (3) the ability of CBT to efficiently provide isolation between traffic classes and provide a better-than-best-effort service to necessarily unresponsive traffic.