—The widely used TCP has many limitations in meeting the throughput and latency requirements of applications in wireless networks, high-speed data center networks and heterogeneous multi-path networks. Instead of relying purely on retransmissions upon packet loss, coding has potential to improve the performance of TCP by ensuring better transmission reliability. Coding has been verified to work well at the link layer but has not been fully studied at the transport layer. There are many advantages but also challenges in exploiting coding at the transport layer. In this paper, we focus on how to leverage end-toend coding in TCP. We reveal the problems TCP meets and the opportunities coding can bring to improve the TCP performance. We further analyze the challenges faced when applying the coding techniques to TCP and present the current applications of coding in TCP.