TCP Friendly Rate Control (TFRC): The Small-Packet (SP) Variant
Voir toute la rfc dans une seule page
Page : 6 / 46
Télécharger le PDF
Auteur(s) :
S. Floyd,
E. Kohler
Classé sous :
Transmission control protocol
RFC 4828 TFRC: The SP Variant April 2007
TFRC-SP changes this behavior in the following ways.
o The nominal segment size: The nominal segment size s defaults to
1460 bytes. Following [RFC3714], this provides a goal of
fairness, in terms of the sending rate in bytes per second, with a
TCP flow with 1460 bytes of application data per packet but with
the same packet drop rate. If the endpoint knows the MTU (Maximum
Transmission Unit) of the path and the derived MSS (Maximum
Segment Size) is less than 1460 bytes, then the endpoint SHOULD
set the nominal segment size s to MSS bytes. In addition, if the
endpoint knows the MTU of the path and the resulting MSS is less
than 536 bytes, then the endpoint MUST set the nominal segment
size s to MSS bytes.
However, this document does not require that TFRC-SP endpoints
determine the path MTU. While most paths allow an MSS of 1460
bytes, some paths have a slightly smaller MSS due to tunnels
(e.g., IPv6 over IPv4). In some specific cases, IPv4 paths may
experience a much smaller path MTU. Due to the complications of
estimating the path MTU, and to the fact that most paths support
an MSS of at least 536 bytes, TFRC-SP as a default uses a nominal
segment size of 1460 bytes. The nominal segment size is discussed
in more detail in Section 4.5.3.
o Taking packet headers into account: The allowed transmit rate X in
bytes per second is reduced by a factor that accounts for packet
header size. This gives the application some incentive, beyond
the Min Interval, not to use unnecessarily small packets. In
particular, we introduce a new parameter H, which represents the
expected size in bytes of network and transport headers to be used
on the TFRC connection's packets. This is used to reduce the
allowed transmit rate X as follows:
X := X * s_true / (s_true + H),
where s_true is the true average data segment size for the
connection in bytes, excluding the transport and network headers.
Section 4.1 of RFC 3448 states that where the packet size varies
naturally with the data, an estimate of the mean segment size can
be used for s_true. As suggested in Section 4.1 of [RFC3448bis],
when an estimate of the mean segment size is used for s_true, the
estimate SHOULD be calculated over at least the last four loss
intervals. However, this document does not specify a specific
algorithm for estimating the mean segment size.
The H parameter is set to the constant 40 bytes. Thus, if the
TFRC-SP application used 40-byte data segments, the allowed
transmit rate X would be halved to account for the fact that half
Floyd & Kohler Experimental [Page 6]