High errors and high delays create well-known problems with TCP. One established approach to solve this problem involves dividing TCP connections into segments, or splitting the connection. This paper takes this approach one step further by exploring the use of a TCP proxy on board a satellite for the purpose of enhancing end-to-end TCP performance. We show that this approach yields a number of important advantages, especially for small, mobile terminals, multi-segment systems, and multicast applications. As part of this architecture, we introduce a method of TCP backpressure using the advertised window, which optimizes memory usage on the satellite. Using simulation, we demonstrate that performance may improve by as much as three-fold.