Network Coding Meets TCP
This paper propose a mechanism that incorporates network coding into TCP with only minor changes to the protocol stack, thereby allowing incremental deployment. In this scheme, the source transmits random linear combinations of packets currently in the congestion window. At the heart of the scheme is a new interpretation of ACKs - the sink acknowledges every degree of freedom (i.e., a linear combination that reveals one unit of new information) even if it does not reveal an original packet immediately. Such ACKs enable a TCP-like sliding-window approach to network coding. This scheme has the nice property that packet losses are essentially masked from the congestion control algorithm.