rfc2883.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 956 行 · 第 1/3 页
TXT
956 行
Transmitted Received ACK Sent
Segment Segment (Including SACK Blocks)
500-999 500-999 1000 (ACK dropped)
1000-1499 1000-1499 1500 (ACK dropped)
1500-1999 1500-1999 2000 (ACK dropped)
2000-2499 2000-2499 2500 (ACK dropped)
(timeout)
500-999 500-999 2500, SACK=500-1000
--------
In this case, all of the ACKs are dropped, resulting in a timeout.
This condition can be identified because the first ACK received
following the timeout carries a D-SACK block indicating duplicate
data was received.
WITHOUT D-SACK:
Without the use of D-SACK, the sender in this case would be unable to
decide that no data packets has been dropped.
RESEARCH ISSUES:
For a TCP that implements some form of ACK congestion control
[BPK97], this ability to distinguish between dropped data packets and
dropped ACK packets would be particularly useful. In this case, the
connection could implement congestion control for the return (ACK)
path independently from the congestion control on the forward (data)
path.
Floyd, et al. Standards Track [Page 12]
RFC 2883 SACK Extension July 2000
5.4. Early Retransmit Timeout
If the sender's RTO is too short, an early retransmission timeout can
occur when no packets have in fact been dropped in the network. An
example of this is given below:
Transmitted Received ACK Sent
Segment Segment (Including SACK Blocks)
500-999 (delayed)
1000-1499 (delayed)
1500-1999 (delayed)
2000-2499 (delayed)
(timeout)
500-999 (delayed)
500-999 1000
1000-1499 (delayed)
1000-1499 1500
...
1500-1999 2000
2000-2499 2500
500-999 2500, SACK=500-1000
--------
1000-1499 2500, SACK=1000-1500
---------
...
In this case, the first packet is retransmitted following the
timeout. Subsequently, the original window of packets arrives at the
receiver, resulting in ACKs for these segments. Following this, the
retransmissions of these segments arrive, resulting in ACKs carrying
SACK blocks which identify the duplicate segments.
This can be identified as an early retransmission timeout because the
ACK for byte 1000 is received after the timeout with no SACK
information, followed by an ACK which carries SACK information (500-
999) indicating that the retransmitted segment had already been
received.
WITHOUT D-SACK:
If D-SACK was not used and one of the duplicate ACKs was piggybacked
on a data packet, the sender would not know how many duplicate
packets had been received. If D-SACK was not used and none of the
duplicate ACKs were piggybacked on a data packet, then the sender
would have sent N duplicate packets, for some N, and received N
duplicate ACKs. In this case, the sender could reasonably infer that
Floyd, et al. Standards Track [Page 13]
RFC 2883 SACK Extension July 2000
some data or ACK packet had been replicated in the network, or that
an early retransmission timeout had occurred (or that the receiver is
lying).
RESEARCH ISSUES:
After the sender determines that an unnecessary (i.e., early)
retransmit timeout has occurred, the sender could adjust parameters
for setting the RTO, to prevent more unnecessary retransmit timeouts.
Coupled with this, when the sender determines, after the fact, that
it has made an unnecessary window reduction, the sender has the
option of "undoing" that reduction in the congestion window.
6. Security Considerations
This document neither strengthens nor weakens TCP's current security
properties.
7. Acknowledgements
We would like to thank Mark Handley, Reiner Ludwig, and Venkat
Padmanabhan for conversations on these issues, and to thank Mark
Allman for helpful feedback on this document.
8. References
[AP99] Mark Allman and Vern Paxson, On Estimating End-to-End
Network Path Properties, SIGCOMM 99, August 1999. URL
"http://www.acm.org/sigcomm/sigcomm99/papers/session7-
3.html".
[BPS99] J.C.R. Bennett, C. Partridge, and N. Shectman, Packet
Reordering is Not Pathological Network Behavior, IEEE/ACM
Transactions on Networking, Vol. 7, No. 6, December 1999,
pp. 789-798.
[BPK97] Hari Balakrishnan, Venkata Padmanabhan, and Randy H. Katz,
The Effects of Asymmetry on TCP Performance, Third ACM/IEEE
Mobicom Conference, Budapest, Hungary, Sep 1997. URL
"http://www.cs.berkeley.edu/~padmanab/
index.html#Publications".
[F99] Floyd, S., Re: TCP and out-of-order delivery, Message ID
<199902030027.QAA06775@owl.ee.lbl.gov> to the end-to-end-
interest mailing list, February 1999. URL
"http://www.aciri.org/floyd/notes/TCP_Feb99.email".
Floyd, et al. Standards Track [Page 14]
RFC 2883 SACK Extension July 2000
[ISO8073] ISO/IEC, Information-processing systems - Open Systems
Interconnection - Connection Oriented Transport Protocol
Specification, Internation Standard ISO/IEC 8073, December
1988.
[L99] Reiner Ludwig, A Case for Flow Adaptive Wireless links,
Technical Report UCB//CSD-99-1053, May 1999. URL
"http://iceberg.cs.berkeley.edu/papers/Ludwig-
FlowAdaptive/".
[LK00] Reiner Ludwig and Randy H. Katz, The Eifel Algorithm:
Making TCP Robust Against Spurious Retransmissions, SIGCOMM
Computer Communication Review, V. 30, N. 1, January 2000.
URL "http://www.acm.org/sigcomm/ccr/archive/ccr-toc/ccr-
toc-2000.html".
[RFC1323] Jacobson, V., Braden, R. and D. Borman, "TCP Extensions for
High Performance", RFC 1323, May 1992.
[RFC2018] Mathis, M., Mahdavi, J., Floyd, S. and A. Romanow, "TCP
Selective Acknowledgement Options", RFC 2018, April 1996.
[RFC2581] Allman, M., Paxson,V. and W. Stevens, "TCP Congestion
Control", RFC 2581, April 1999.
[SCWA99] Stefan Savage, Neal Cardwell, David Wetherall, Tom
Anderson, TCP Congestion Control with a Misbehaving
Receiver, ACM Computer Communications Review, pp. 71-78, V.
29, N. 5, October, 1999. URL
"http://www.acm.org/sigcomm/ccr/archive/ccr-toc/ccr-toc-
99.html".
Floyd, et al. Standards Track [Page 15]
RFC 2883 SACK Extension July 2000
Authors' Addresses
Sally Floyd
AT&T Center for Internet Research at ICSI (ACIRI)
Phone: +1 510-666-6989
EMail: floyd@aciri.org
URL: http://www.aciri.org/floyd/
Jamshid Mahdavi
Novell
Phone: 1-408-967-3806
EMail: mahdavi@novell.com
Matt Mathis
Pittsburgh Supercomputing Center
Phone: 412 268-3319
EMail: mathis@psc.edu
URL: http://www.psc.edu/~mathis/
Matthew Podolsky
UC Berkeley Electrical Engineering & Computer Science Dept.
Phone: 510-649-8914
EMail: podolsky@eecs.berkeley.edu
URL: http://www.eecs.berkeley.edu/~podolsky
Floyd, et al. Standards Track [Page 16]
RFC 2883 SACK Extension July 2000
Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Floyd, et al. Standards Track [Page 17]
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?