Paper Review : TCP Congestion Control with a Misbehaving Receiver


Reviewer : Seh Leng Lim


This paper demonstrates that there are simple attacks that allow a misbehaving receiver to drive a standard TCP sender arbitrarily fast, without losing end-to-end reliability.


The main contribution of the paper is its study of the impact of a misbehaving receiver on TCP congestion control, as well as its proposed solutions to discourage the receiver from misbehaving.


The key main ideas expounded are the 3 possible ways of attack by a misbehaving receiver :

     (a) ACK division which forces the TCP sender to grow the congestion window that is M times faster for M divisions of an acknowledgement

    (b)    Forging duplicate acks by the receiver

     (c) Receiver sends a stream of acknowledgements anticipating data that will be sent by the sender


I think that the paper has a significant contribution (rating of 4) to the study of vulnerabilities that can be exploited by a malicious receiver to defeat TCP congeston control. The authors tested the 3 forms of attacks against 9 web servers running a variety of operating systems, and were able to show the vulnerabilities of some of today’s operating systems to the attacks. They also provided some suggested solutions to protect against the attacks, some of which involved changing the TCP header which is not so ideal. Their solution will provide a disincentive for a receiver to misbehaviour as it will result in lower data transfer rate. However, there are no experimental implementations of the modifications reported by the authors in the paper. Therefore, these are purely theoretical suggestions, and there is no way for us to tell the weaknesses of these solutions in a practical environment.


Researchers and builders may have a better appreciation from this paper of the vulnerabilities facing a TCP sender with respect to a malicious receiver.