rfc3148.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 900 行 · 第 1/3 页
TXT
900 行
of data (which would clearly require a retransmit timeout) TCP likely
missed some opportunity to safely transmit data. That is, if TCP
experiences a timeout after losing a partial window of data, it must
have received at least one ACK that was generated after some of the
partial data was delivered, but did not trigger the transmission of
new data. Recent research in congestion control (e.g., FACK [MM96a],
NewReno [FF96,RFC2582], rate-halving [MSML99]) can be characterized
as making TCP's Self-Clock more tenacious, while preserving fairness
under adverse conditions. This work is motivated by how poorly
current TCP implementations perform under some conditions, often due
to repeated clock loss. Since this is an active research area,
different TCP implementations have rather considerable differences in
their ability to preserve Self-Clock.
3.2 Preservation of Self-Clock
Losing the ACK clock can have a large effect on the overall BTC, and
the clock is itself fragile in ways that are dependent on the loss
recovery algorithm. Therefore, the transition between timer driven
and Self-Clocked operation SHOULD be instrumented.
3.2.1 Lost Transmission Opportunities
If the last event before a timeout was the receipt of an ACK that did
not trigger a transmission, the possibility exists that an alternate
congestion control algorithm would have successfully preserved the
Self-Clock. A BTC SHOULD instrument key items in the BTC state (such
as the congestion window) in the hopes that this may lead to further
improvements in congestion control algorithms.
Mathis, et al. Informational [Page 6]
RFC 3148 Framework for Defining Empirical BTC Metrics July 2001
Note that in the absence of knowledge about the future, it is not
possible to design an algorithm that never misses transmission
opportunities. However, there are ever more subtle ways to gauge
network state, and to estimate if a given ACK is likely to be the
last.
3.2.2 Loosing an Entire Window
If an entire window of data (or ACKs) is lost, there will be no
returning ACKs to clock out additional data. This condition can be
detected if the last event before a timeout was a data transmission
triggered by an ACK. The loss of an entire window of data/ACKs
forces recovery to be via a Retransmission Timeout and Slow-Start.
Losing an entire window of data implies an outage with a duration at
least as long as a round trip time. Such an outage can not be
diagnosed with low rate metrics and is unsafe to diagnose at higher
rates than the BTC. Therefore all BTC metrics SHOULD instrument and
report losses of an entire window of data.
Note that there are some conditions, such as when operating with a
very small window, in which there is a significant probability that
an entire window can be lost through individual random losses (again
highlighting the importance of instrumenting cwnd).
3.2.3 Heroic Clock Preservation
All algorithms that permit a given BTC to sustain Self-Clock when
other algorithms might not, SHOULD be instrumented. Furthermore, the
details of the algorithms used MUST be fully documented (as discussed
in section 2).
BTC metrics that can sustain Self-Clock in the presence of multiple
losses within one round trip SHOULD instrument the loss distribution,
such that the performance of alternate congestion control algorithms
may be estimated (e.g., Reno style).
3.2.4 False Timeouts
All false timeouts, (where the retransmission timer expires before
the ACK for some previously transmitted data arrives) SHOULD be
instrumented when possible. Note that depending upon how the BTC
metric implements sequence numbers, this may be difficult to detect.
Mathis, et al. Informational [Page 7]
RFC 3148 Framework for Defining Empirical BTC Metrics July 2001
3.3 Ancillary Metrics Relating to Flow Based Path Properties
All BTC metrics provide unique vantage points for observing certain
path properties relating to closely spaced packets. As in the case
of RTT duration outages, these can be impossible to diagnose at low
rates (less than 1 packet per RTT) and inappropriate to test at rates
above the BTC of the network path.
All BTC metrics SHOULD instrument packet reordering. The frequency
and distance out-of-sequence SHOULD be instrumented for all out-of-
order packets. The severity of the reordering can be classified as
one of three different cases, each of which SHOULD be reported.
Segments that are only slightly out-of-order should not trigger
the fast retransmit algorithm, but they may affect the window
calculation. BTC metrics SHOULD document how slightly out-of-
order segments affect the congestion window calculation.
If segments are sufficiently out-of-order, the Fast Retransmit
algorithm will be invoked in advance of the delayed packet's late
arrival. These events SHOULD be instrumented. Even though the
the late arriving packet will complete recovery, the the window
will still be reduced by half.
Under some rare conditions segments have been observed that are
far out of order - sometimes many seconds late [Pax97b]. These
SHOULD always be instrumented.
BTC implementations SHOULD instrument the maximum cwnd observed
during congestion avoidance and slow start. A TCP running over the
same path as the BTC metric must have sufficient sender buffer space
and receiver window (and window shift [RFC1323]) to cover this cwnd
in order to expect the same performance.
There are several other path properties that one might measure within
a BTC metric. For example, with an embedded one-way delay metric it
may be possible to measure how queuing delay and and (RED) drop
probabilities are correlated to window size. These are open research
questions.
3.4 Ancillary Metrics as Calibration Checks
Unlike low rate metrics, BTC SHOULD include explicit checks that the
test platform is not the bottleneck.
Any detected dropped packets within the sending host MUST be
reported. Unless the sending interface is the path bottleneck, any
dropped packets probably indicates a measurement failure.
Mathis, et al. Informational [Page 8]
RFC 3148 Framework for Defining Empirical BTC Metrics July 2001
The maximum queue lengths within the sending host SHOULD be
instrumented. Any significant queue may indicate that the sending
host has insufficient burst data rate, and is smoothing the data
being transmitted into the network.
3.5 Ancillary Metrics Relating to the Need for Advanced TCP Features
If TCP would require advanced TCP extensions to match BTC performance
(such as RFC 1323 or RFC 2018 features), it SHOULD be reported.
3.6 Validate Reverse Path Load
To the extent possible, the BTC metric SHOULD distinguish between the
properties of the forward and reverse paths.
BTC methodologies which rely on non-cooperating receivers may only be
able to measure round trip path properties and may not be able to
independently differentiate between the properties of the forward and
reverse paths. In this case the load on the reverse path contributed
by the BTC metric SHOULD be instrumented (or computed) to permit
other means of gauge the proportion of the round trip path properties
attributed to the the forward and reverse paths.
To the extent possible, BTC methodologies that rely on cooperating
receivers SHOULD support separate ancillary metrics for the forward
and reverse paths.
4 Security Considerations
Conducting Internet measurements raises security concerns. This memo
does not specify a particular implementation of a metric, so it does
not directly affect the security of the Internet nor of applications
which run on the Internet. However, metrics produced within this
framework, and in particular implementations of the metrics may
create security issues.
4.1 Denial of Service Attacks
Bulk Transport Capacity metrics, as defined in this document,
naturally attempt to fill a bottleneck link. The BTC metrics based
on this specification will be as "network friendly" as current well-
tuned TCP connections. However, since the "connection" may not be
using TCP packets, a BTC test may appear to network operators as a
denial of service attack.
Mathis, et al. Informational [Page 9]
RFC 3148 Framework for Defining Empirical BTC Metrics July 2001
Administrators of the source host of a test, the destination host of
a test, and the intervening network(s) may wish to establish
bilateral or multi-lateral agreements regarding the timing, size, and
frequency of collection of BTC metrics.
4.2 User data confidentiality
Metrics within this framework generate packets for a sample, rather
than taking samples based on user data. Thus, a BTC metric does not
threaten user data confidentiality.
4.3 Interference with metrics
It may be possible to identify that a certain packet or stream of
packets are part of a BTC metric. With that knowledge at the
destination and/or the intervening networks, it is possible to change
the processing of the packets (e.g., increasing or decreasing delay,
introducing or heroically preventing loss) that may distort the
measured performance. It may also be possible to generate additional
packets that appear to be part of a BTC metric. These additional
packets are likely to perturb the results of the sample measurement.
To discourage the kind of interference mentioned above, packet
interference checks, such as cryptographic hash, may be used.
5 IANA Considerations
Since this metric framework does not define a specific protocol, nor
does it define any well-known values, there are no IANA
considerations for this document. However, a bulk transport capacity
metric within this framework, and in particular protocols that
implement a metric may have IANA considerations that need to be
addressed.
6 Acknowledgments
Thanks to Wil Leland, Jeff Semke, Matt Zekauskas and the IPPM working
group for numerous clarifications.
Matt Mathis's work was supported by the National Science Foundation
under Grant Numbers 9415552 and 9870758.
Mathis, et al. Informational [Page 10]
RFC 3148 Framework for Defining Empirical BTC Metrics July 2001
7 References
[BPS+97] Hari Balakrishnan, Venkata Padmanabhan, Srinivasan
Seshan, Mark Stemm, and Randy Katz. TCP Behavior of a
Busy Web Server: Analysis and Improvements. Technical
Report UCB/CSD-97-966, August 1997. Available from
http://nms.lcs.mit.edu/~hari/papers/csd-97-966.ps.
(Also in Proc. IEEE INFOCOM Conf., San Francisco, CA,
March 1998.)
[FF96] Fall, K., Floyd, S.. "Simulation-based Comparisons of
Tahoe, Reno and SACK TCP". Computer Communication
Review, July 1996.
ftp://ftp.ee.lbl.gov/papers/sacks.ps.Z.
[Flo95] Floyd, S., "TCP and successive fast retransmits", March
1995, Obtain via
ftp://ftp.ee.lbl.gov/papers/fastretrans.ps.
[Hoe96] Hoe, J., "Improving the start-up behavior of a
congestion control scheme for TCP, Proceedings of ACM
SIGCOMM '96, August 1996.
[Hoe95] Hoe, J., "Startup dynamics of TCP's congestion control
and avoidance schemes". Master's thesis, Massachusetts
Institute of Technology, June 1995.
[Jac88] Jacobson, V., "Congestion Avoidance and Control",
Proceedings of SIGCOMM '88, Stanford, CA., August 1988.
[Lak94] V. T. Lakshman and U. Madhow. The Performance of TCP/IP
for Networks with High Bandwidth-Delay Products and
Random Loss. IFIP Transactions C-26, High Performance
Networking, pages 135--150, 1994.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?