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

被引:37
作者
Smith, MA
Ramakrishnan, KK
机构
[1] Bell Labs, Murray Hill, NJ 07974 USA
[2] TeraOpt Networks Inc, Sunnyvale, CA 94085 USA
关键词
congestion control; formal verification; I/O automata; TCP performance; TCP SACK;
D O I
10.1109/90.993301
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:193 / 207
页数:15
相关论文
共 12 条
[1]  
[Anonymous], TECHNOLOGY
[2]  
Fall K., 1996, Computer Communication Review, V26, P5, DOI 10.1145/235160.235162
[3]  
GARLAND SJ, 1998, MITLCSTR762
[4]  
Jacobson V., 1988, Computer Communication Review, V18, P314, DOI 10.1145/52325.52356
[5]  
Jacobson V., 1990, Technical Report 30
[6]   FORWARD AND BACKWARD SIMULATIONS [J].
LYNCH, N ;
VAANDRAGER, F .
INFORMATION AND COMPUTATION, 1995, 121 (02) :214-233
[7]  
Lynch N. A., 1996, DISTRIBUTED ALGORITH
[8]  
LYNCH NA, 1989, CWI Q, V3
[9]  
MATHIS M, 1996, P ACM SIGCOMM 96, P281
[10]  
MATHIS M, 1996, RFC2018 INT