Loading [MathJax]/extensions/MathZoom.js
Formal specification and verification of safety and performance of TCP selective acknowledgment | IEEE Journals & Magazine | IEEE Xplore

Formal specification and verification of safety and performance of TCP selective acknowledgment


Abstract:

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 allow...Show More

Abstract:

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.
Published in: IEEE/ACM Transactions on Networking ( Volume: 10, Issue: 2, April 2002)
Page(s): 193 - 207
Date of Publication: 07 August 2002

ISSN Information:


Contact IEEE to Subscribe

References

References is not available for this document.