Man-in-the-Middle TCP Recovery
When an application connects with a remote peer using TCP, its network stack encapsulates the state of that connection. As a consequence, even if the application is capable of recovering its own state after failure (for example, by restarting at a backup location), the peer may experience a disruption of connectivity due to the loss of the network stack's state. The authors present RTCP, a new tool that enables fault-tolerant applications to recover connections in a manner hidden from their peers, without changes to the network stack, the operating system, or the remote endpoints. RTCP functions as a middle-man on the network, filtering packets in order to glean the internal state of the network stacks and manipulating them in a manner that masks failures and restarts.