Network Working Group E. Lochin Internet-Draft National ICT Australia Expires: February 2, 2007 L. Dairaine ENSICA - LAAS/CNRS G. Jourjon National ICT Australia August 2006 Guaranteed TCP Friendly Rate Control (gTFRC) for DiffServ/AF Network draft-lochin-ietf-tsvwg-gtfrc-02 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on February 2, 2007. Copyright Notice Copyright (C) The Internet Society (2006). Abstract This memo introduces gTFRC, a TCP-Friendly Rate Control providing throughput guarantee over the DiffServ/AF class. gTFRC is largely based on TFRC [2]. It provides a mean to take into account the quality of service negotiated with the network. As a result, the mechanism is able to reach a minimum throughput guarantee whatever Lochin, et al. Expires February 2, 2007 [Page 1] Internet-Draft gTFRC August 2006 the flow's RTT and target rate. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Guaranteed TCP Friendly Rate Control . . . . . . . . . . . . . 4 2.1. Transmit rate equation . . . . . . . . . . . . . . . . . . 4 2.2. Target rate default value . . . . . . . . . . . . . . . . 4 2.3. Target rate setting . . . . . . . . . . . . . . . . . . . 4 3. Simulation of gTFRC . . . . . . . . . . . . . . . . . . . . . 5 3.1. Model and hypothesis . . . . . . . . . . . . . . . . . . . 5 3.2. Results . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3. Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4. Discussion . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4.1. Security concern . . . . . . . . . . . . . . . . . . . 7 3.4.2. Case of under-provisioned network . . . . . . . . . . 8 4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 Intellectual Property and Copyright Statements . . . . . . . . . . 11 Lochin, et al. Expires February 2, 2007 [Page 2] Internet-Draft gTFRC August 2006 1. Introduction This memo introduces gTFRC, a TCP-Friendly rate control providing throughput guarantee for unicast flows over the DiffServ/AF class. gTFRC is an adaptation of the TCP-friendly Rate Control (TFRC) [2]. This document only specifies the modification of TFRC and do not present the core TFRC mechanism that remains unchanged. TFRC is a congestion control mechanism for unicast flows operating in a best-effort Internet environment [2]. Based on the TCP throughput equation, it is designed to be reasonably fair when competing for bandwidth with TCP flow. It generates a flow with a much lower variation of throughput over time than TCP. As a result, it is particularly suitable for multimedia application such as video streaming or telephony over Internet. The DiffServ Assured Forwarding Class [1] has been designed to provide a guaranteed minimal throughput that many multimedia applications can take advantage of. The service offers is called Assured Service (AS) and built over the AF PHB. The minimum guaranteed throughput (also called target rate) is supposed to be known after a negotiation phase involving application level software. Adaptive application can make use of this guarantee, allowing to rely on a minimum rate when the network is congested, and possibly using higher rate otherwise. In this service class, a congestion control is required in such a way to discover the current available bandwidth and share it fairly with other competing flows. Nevertheless, due to the minimum bandwidth guarantee, the congestion control mechanism should never reduce the flow throughput at a value less than the negotiated guaranty. When TFRC is used over a DiffServ/AF network, in spite of a good behavior in term of available bandwidth sharing, it not always reach the target rate. Even if the target rate is finally reached, a long time can happened (several tens of seconds) before the flow rate converges to this value. Then, depending on end-to-end delay and the loss probability of the various connections, the application does not obtained the requested target rate it should, even if the underlying network provides an adequate throughput guarantee. This document suggests a simple approach to solve this problem. A minimal adaption of TFRC allows the application to quickly reach its target rate whatever the RTT value of the application's flow, while still sharing fairly the available bandwidth over the various TCP- friendly connections. Lochin, et al. Expires February 2, 2007 [Page 3] Internet-Draft gTFRC August 2006 2. Guaranteed TCP Friendly Rate Control In the context of the Additive Increase Multiplicative Decrease approaches like TCP, the only way to obtain a service differentiation with TCP protocol is to use DiffServ traffic conditioners. Indeed, the AIMD principle do not use the instantaneous TCP throughput as an input value for its congestion control and then can not make direct use of the target rate value. On the contrary, to compute the actual sending rate, TFRC uses the current rate in conjunction with the RTT and the loss event of flow. Nevertheless, the TCP equation that drives TFRC does not take into account the minimum guaranteed part of the network capacity. gTFRC is made aware of the target rate value which is integrated into the transmit rate equation. Thanks to this knowledge, the application's flow is sent in conformance with the negotiated QoS while staying TCP-friendly in its out-profile part. 2.1. Transmit rate equation The transmit rate is computed at sender side as the maximum between the TFRC rate estimation and the target rate. The throughput equation used in gTFRC is: G = max(g, X) Where: G is the transmit rate in bytes/second. g is the target rate in bytes/second. X is the transmit rate in bytes/second computed by the TCP throughput algorithm specified in RFC 3448 [2]. The rest of the gTFRC mechanism follows entirely the TFRC specification given in RFC 3448 [2]. 2.2. Target rate default value The target rate g MUST have a default value of zero byte/second. In this case, the default behavior of gTFRC corresponds to TFRC. 2.3. Target rate setting gTFRC requires the knowledge of the target rate the DiffServ/AF network service provides to the session. This knowledge MAY be achieved by the use of a new socket option. Lochin, et al. Expires February 2, 2007 [Page 4] Internet-Draft gTFRC August 2006 3. Simulation of gTFRC 3.1. Model and hypothesis gTFRC has been evaluated over a DiffServ network using ns-2.28 simulator. gTFRC has been implemented from the TFRC ns-2 code base. The Nortel DiffServ model [3] has been used as QoS testbed. The network architecture is shown in the following figure. ---- ---- |s1|-------- --------- |r1| ---- 10 Mb \ / 10 Mb ---- 5 ms \ / x ms \------ ------ ------/ |edge|-------|core|-------|edge| /------ ------ ------\ / 10 Mb 1 Mb \ ---- / 5 ms 10ms \ ---- |s2|-------- --------- |r2| ---- 10 Mb 10 Mb ---- 5 ms y ms where x and y take different RTT values in function of the experiment. Figure 1 In these experiments, the objective was to compare the performance of TFRC and gTFRC. The simulation has been achieved with the two following scenarios: 1. the network is exactly-provisioned (it means there is no excess bandwidth for the out-profile traffic). 2. network is over-provisioned (when there is excess bandwidth). A network is under-provisioned when the amount of in-profile traffic is higher than the resource allocated to the AF class. This case is considered as a bad network provision and then is excluded from the field of this study. In the simulations: o packet size is fixed to 1500 bytes; Lochin, et al. Expires February 2, 2007 [Page 5] Internet-Draft gTFRC August 2006 o we use a two colors token bucket marker with a bucket size of 10^4 bytes defined in RFC 2697 [5]; o the queues size are 50 packets and RIO parameters are: (MIN_out,MAX_out,P_out, MIN_in,MAX_in,P_in) = (10,20,0.1,20,40,0.02); o the bottleneck between the core and the egress router is 1000Kbits/s; o measurements are carried during 100 seconds. For each experiments, we evaluate the throughput at the server side and compute the instantaneous throughput and the average throughput for the experiment. We resport the instantaneous throughput values at 20s, 50s and 100s. Because some flow can cross one or several DiffServ domains and then, obtain a very large RTT difference, we compare flows with a high RTT difference (i.e., 600ms). 3.2. Results The following table presents the comparative results between TFRC and gTFRC for an exactly provisioned network. +========+=======+========+=======+=======+=======+=======+ |Protocol| RTT | Target | After | After | After | | | #flow | (ms) | (Kb/s) | 20s | 50s | 100s |Average| +========+=======+========+=======+=======+=======+=======+ | TFRC#1 | 640ms | 800 | 376 | 584 | 784 | 571 | | TFRC#2 | 40ms | 200 | 584 | 416 | 232 | 419 | +--------+-------+--------+-------+-------+-------+-------+ |gTFRC#1 | 640ms | 800 | 376 | 784 | 800 | 722 | |gTFRC#2 | 40ms | 200 | 584 | 224 | 200 | 271 | +========+=======+========+=======+=======+=======+=======+ Figure 2 Lochin, et al. Expires February 2, 2007 [Page 6] Internet-Draft gTFRC August 2006 The following table presents the comparative results between TFRC and gTFRC for an over-provisioned network with either same or different RTT values for the competing flows. +========+=======+========+=======+=======+=======+=======+ |Protocol| RTT | Target | After | After | After | | |Protocol| (ms) | (Kb/s) | 20s | 50s | 100s |Average| +========+=======+========+=======+=======+=======+=======+ | TFRC#1 | 250ms | 700 | 296 | 744 | 744 | 654 | | TFRC#2 | 250ms | 100 | 704 | 256 | 248 | 319 | +--------+-------+--------+-------+-------+-------+-------+ |gTFRC#1 | 250ms | 700 | 744 | 800 | 696 | 727 | |gTFRC#2 | 250ms | 100 | 256 | 200 | 304 | 254 | +========+=======+========+=======+=======+=======+=======+ | TFRC#1 | 640ms | 600 | 376 | 520 | 608 | 504 | | TFRC#2 | 40ms | 200 | 584 | 480 | 400 | 489 | +--------+-------+--------|-------+-------+-------+-------+ |gTFRC#1 | 640ms | 600 | 376 | 600 | 600 | 554 | |gTFRC#2 | 40ms | 200 | 584 | 408 | 400 | 439 | +========+=======+========+=======+=======+=======+=======+ Figure 3 Extended results of this simulation campaign are available in [6] 3.3. Analysis From these simulations, we see that gTFRC allows to reach a target rate more quickly than TFRC. This is true whatever the RTT or the target rate of the flow. The reason is obvious since at the first rate decrease evaluation of the algorithm, gTFRC returns a rate equal to the target rate. If the evaluated rate is higher than the target rate, the classical TFRC algorithm is applied. Concerning the DiffServ network behavior, the use of gTFRC raises the number of in- profile packets in the network and avoid the problem of the bandwidth sharing of the out-profile traffic. For information purpose, concerning the Figure 2, between TFRC and gTFRC, the number of in- profile traffic raises from 73.7% to 90.16%. 3.4. Discussion 3.4.1. Security concern As we give the possibility to the application to instantiate through a setsockopt() function the target rate negotiated between the QoS network and the application, we can imagine that a misbehaving person could abuse of this functionality by giving an higher value to the guarantee g. In this case, the misbehaving person sends an UDP-like Lochin, et al. Expires February 2, 2007 [Page 7] Internet-Draft gTFRC August 2006 traffic and increases its out-profile traffic. In the context of a DiffServ/AF class, the edge router will still mark in-profile the packets in respect with the negotiated profile and out-profile the excess part. As as result, in case of network congestion, the dropping precedence set in the core router will drop this excess traffic. The misbehaving person will not take advantage of the situation as the number of losses of its own flow increases as well. Then, the in-profile traffic remains protected in the network and the out-profile traffic perceives a kind of flooding attack. As the out- profile traffic is a best-effort traffic, the use of gTFRC does not disturb the DiffServ network. 3.4.2. Case of under-provisioned network In the context of a DiffServ/AF class, a network is under-provisioned when the amount of in-profile traffic is higher than the resource allocated to the AF class. This case could occur if the Bandwidth Broker [4] of a DiffServ network sends or receives false information. In a DiffServ context, if the gTFRC source emits below its target rate and if the gTFRC flow gets losses, it means that the in-profile traffic is no guaranteed anymore in the network. In order to tackle this problem, two approaches are possible. The first one is to pursue to emit at the guarantee g. This behaviour is legitimate since the service provider must provide to the client the service that it paid for. The second one is to react to this congestion. This can be done by adding a second threshold (y) to gTFRC . This threshold can be applied as following: if the emission rate X returned by the receiver is y times below the target rate g, the sender MUST emit to X. In the case where X < g/y, it means that a bunch of losses has occurred in the in-profile part and that the congestion could be due to a wrong setting. We believe that this problem should not be solved inside gTFRC itself and should remain under the responsibility of the service provider. Lochin, et al. Expires February 2, 2007 [Page 8] Internet-Draft gTFRC August 2006 4. Acknowledgements This research work has been conducted in the framework of the EuQoS European project (http://www.euqos.org). The authors has been supported by funding from National ICT Australia (NICTA). The authors are also grateful Sally Floyd and Mark Allman and James M. Polk for useful discussions. 5. References [1] Heinanen, J., Weiss, W., Wroclawski, J., and J. Heinanen, "Assured Forwarding PHB Group", RFC 2597, STD 1, June 1999. [2] Handley, M., Floyd, S., Padhye, J., and J. Widmer, "TCP Friendly Rate Control (TFRC): Protocol Specification", RFC 3448, STD 1, January 2003. [3] Pieda, P., Ethridge, J., Baines, M., and F. Shallwani, "A Network Simulator Differentiated Services Implementation", Open IP , Nortel Networks, available at http://www.isi.edu/nsman/ns, July 2000. [4] Nichols, K., Jacobson, V., and L. Zhang, "A two-bit differentiated services architecture for the internet", RFC 2638, STD 1, July 1999. [5] Heinanen, J. and R. Guerin, "A Single Rate Three Color Marker", RFC 2697, STD 1, September 1999. [6] Lochin, E., Dairaine, L., and G. Jourjon, "gTFRC: a QoS-aware congestion Control Algorithm", 5th International Conference on Networking (ICN'2006) , October 2005. Lochin, et al. Expires February 2, 2007 [Page 9] Internet-Draft gTFRC August 2006 Authors' Addresses Emmanuel Lochin National ICT Australia Australia Technology Park Eveleigh, NSW 1430 Australia Phone: +61 8374 5541 Email: Emmanuel.Lochin@nicta.com.au URI: http://www.nicta.com.au/ Laurent Dairaine ENSICA - LAAS/CNRS 1, place Emile Blouin Toulouse, Cedex 5 31056 France Phone: +33 5 61 61 85 00 Email: Laurent.Dairaine@ensica.fr URI: http://www.ensica.fr/ Guillaume Jourjon National ICT Australia Australia Technology Park Eveleigh, NSW 1430 Australia Phone: +61 8374 5206 Email: Guillaume.Jourjon@nicta.com.au URI: http://www.nicta.com.au/ Lochin, et al. Expires February 2, 2007 [Page 10] Internet-Draft gTFRC August 2006 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Lochin, et al. Expires February 2, 2007 [Page 11]