Congestion avoidance and control
SIGCOMM '88 Symposium proceedings on Communications architectures and protocols
Forward and backward simulations I.: untimed systems
Information and Computation
Simulation-based comparisons of Tahoe, Reno and SACK TCP
ACM SIGCOMM Computer Communication Review
Improving the start-up behavior of a congestion control scheme for TCP
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Forward acknowledgement: refining TCP congestion control
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Distributed Algorithms
Formal verification of tcp and t/tcp
Formal verification of tcp and t/tcp
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Engineering with logic: HOL specification and symbolic-evaluation testing for TCP implementations
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An analytical model of fast retransmission and recovery in TCP-SACK
Performance Evaluation
A Rigorous Approach to Networking: TCP, from Implementation to Protocol to Service
FM '08 Proceedings of the 15th international symposium on Formal Methods
Measurement of high-speed IP traffic behavior based on routers
APPT'07 Proceedings of the 7th international conference on Advanced parallel processing technologies
Challenges of a Validation Process Based on Models: An Industrial Case Study
Bell Labs Technical Journal
packetdrill: scriptable network stack testing, from sockets to packets
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
Hi-index | 0.00 |
We present a formal specification of the selective acknowledgment (SACK) mechanism that is being proposed as a new standard option for TCP. The formal specification allows one to reason about the SACK protocol; thus, we are able to formally prove that the SACK mechanism does not violate the safety properties (reliable, at most once, and in order message delivery) of the acknowledgment (ACK) mechanism that is currently used with TCP. The new mechanism is being proposed to improve the performance of TCP when multiple packets are lost from one window of data. The proposed mechanism for implementing the SACK option for TCP is sufficiently complicated that it is not obvious that it is indeed safe, so we think it is important to formally verify its safety properties.In addition to safety, we are also able to show that SACK can improve the time it takes for the sender to recover from multiple packet losses. With the additional information available at a SACK sender, the round-trip time that a cumulative ACK sender waits before retransmitting each subsequent packet lost after the very first loss can be saved. We also show that SACK can improve performance even with window sizes as small as four packets and in situations where acknowledgment packets are lost.