TCP Congestion Control with a Misbehaving Receiver

Stefan Savage
Tom Anderson
SIGCOMM Comput. Commun. Rev., 29 (1999), pp. 71-78

Abstract

In this paper, we explore the operation of TCP congestion control when the
receiver can misbehave, as might occur with a greedy Web client. We first
demonstrate that there are simple attacks that allow a misbehaving receiver to
drive a standard TCP sender arbitrarily fast, without losing end-to-end
reliability. These attacks are widely applicable because they stem from the
sender behavior specified in RFC 2581 rather than implementation bugs. We then
show that it is possible to modify TCP to eliminate this undesirable behavior
entirely, without requiring assumptions of any kind about receiver
behavior. This is a strong result: with our solution a receiver can only reduce
the data transfer rate by misbehaving, thereby eliminating the incentive to do
so.