Internet DRAFT - draft-burness-dccp-interactive-apps
draft-burness-dccp-interactive-apps
DCCP Working Group A-L.Burness
INTERNET DRAFT A. Smith
draft-burness-dccp-interactive-apps-00.txt P. Eardley
Expires: January 2006 BT
July 8, 2005
Interactive Applications using DCCP
draft-burness-dccp-interactive-apps-00.txt
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.
This document may only be posted in an Internet-Draft.
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 January 8, 2006.
Copyright Notice
Copyright (C) The Internet Society (2005). All Rights Reserved.
Burness Expires January 8, 2006 [Page 1]
Internet-Draft Interactive Apps using DCCP July 2005
Abstract
This document discusses some issues that we, representing a network
operator, believe should be addressed if DCCP is to become adopted as
the means to congestion control interactive applications.
Table of Contents
1. Introduction................................................2
1.1. The interest of DCCP to the network operator............3
2. Application Characteristics..................................5
3. Issues with TFRC............................................6
3.1. TFRC Rate Equation......................................6
3.2. Loss Rate Calculation...................................6
4. Initial Slow start..........................................7
5. Silence suppression.........................................8
6. Variable Bit Rate management.................................9
7. Interaction between various CCIDs and TCP...................10
8. User Intolerance of Changes in Quality......................11
9. Security Considerations.....................................11
10. Conclusions...............................................11
11. Informative References.....................................12
Intellectual Property Statement................................14
Disclaimer of Validity........................................14
Copyright Statement...........................................14
1. Introduction
The trend of running streaming and real-time interactive services
over UDP transport is perceived as potentially a serious threat to
the future stability of the Internet [1]. This is because long-lived
UDP traffic is not (always or correctly) congestion controlled, so if
it exists in large quantities it could be unfair to other traffic or
even lead to congestion collapse.
Therefore a number of standards track documents have been written:
o DCCP: this transport protocol [2] is designed to replace UDP for
streamed UDP applications. It includes congestion control and
manages this on behalf of the application. Different congestion
control algorithms can be used, depending upon the nature of the
traffic.
Burness Expires January 8, 2006 [Page 2]
Internet-Draft Interactive Apps using DCCP July 2005
o TFRC: [3] this is a congestion control mechanism that can exist
fairly with current TCP congestion control, yet could be used to
support applications that prefer slow, smooth changes in the
sending rate, such as streaming media applications with small or
moderate receiver buffering.
o CCID3 in DDCP: this is an implementation of TFRC for DCCP. CCID 2
is also defined, which is TCP-like congestion response [4].
The key requirements of DCCP are to be able to provide an unreliable
(fast) data transport for applications that generate large or long-
lived flows (real-time and streaming), whilst protecting the networks
against congestion collapse and still being fair to TCP traffic. The
support of such flows comes from a combination of the base DCCP
protocol and the congestion control mechanisms (CCID 2 & 3) used
within the protocol.
However, we believe that whilst CCID 2 and 3 give a range of suitable
responses for many types of streaming applications, there is still a
problem for a significant class of applications, which we call here
real-time interactive applications. This document highlights the
areas of concern. We describe first the applications that we feel are
not adequately supported by the current congestion responses. We then
discuss each of the specific problems in turn. Many of these problems
are already familiar to those working in the area, and the work by
Tom Phelan, Sally Floyd and Eddie Kohler amongst others has been
built upon. The purpose of this document is to indicate the problems
that we believe should form the basis of new study to be performed
within the DCCP working group.
1.1. The interest of DCCP to the network operator
We are interested because BT is moving all its networks to a single
IP network. This single next generation network will carry all our
current PSTN voice traffic, as well as an increasing proportion of
other streamed traffic such as that caused by, for example,
podcasting and video blogs. The Internet is becoming a feasible
delivery medium for television and even HDTV.
Whilst a vast range of applications has always co-existed within the
Internet, simple file transfers (web, ftp) have remained the dominant
Burness Expires January 8, 2006 [Page 3]
Internet-Draft Interactive Apps using DCCP July 2005
application. It is possible that this position will change as
networks are migrated to a common IP network. Even just considering
voice, we estimate that the total number of voice bits transmitted
over our networks is approximately equal to number of other-data bits
within our networks today.
We currently expect to have to use Quality of service and Admission
Control to manage the congestion problem that would occur if this
balance of traffic is present on our common IP network. However, a
lightweight alternative, such as could be provided by the end-to-end
control given by DCCP, is highly relevant to the roadmap for our
future networks. It would also provide a safe option for network
users who will not or cannot use a QoS-enabled network for example
current wireless LAN networks.
Our particular concern is with real-time interactive applications,
such as peer-to-peer video telephony. These are the applications with
the tightest time constraints (as opposed to other interactive
applications such as the web). We believe that streaming
applications with low levels of interactivity such as Internet radio
can be adequately managed. Existing algorithms such as TFRC could,
with suitable buffering strategies, be used without modification for
this class of application [5].
Concern about the ability of TFRC to support real-time applications
has already been expressed, and to date, activity has focused on
solving the issues for voice traffic with a special variant of TFRC
proposed for VoIP [6].
However, we have some issues with that proposal as we are not
convinced that it adequately protects the network. Also, we would
like to look at a general solution for all types of real-time traffic
that would facilitate our ability to police our network. Ideally we
should have a minimal number of congestion responses in order to
simplify policing.
Burness Expires January 8, 2006 [Page 4]
Internet-Draft Interactive Apps using DCCP July 2005
2. Application Characteristics
The applications about which we are concerned are voice, video, games
and of course as yet unidentified future applications. These
applications share some common characteristics that make congestion
control within the current Internet difficult for them.
o Voice
- reacts to congestion through adjusting packet size, needs steady
packet rate
- typically uses small packets, TFRC unfair to these
- silence suppression used to save bandwidth, it is not bandwidth
greedy
- minimum bandwidth is required. Codecs often only produce output at
fixed bandwidth levels which are not related to the slow start and
congestion avoidance mechanisms used by congestion control
- users are intolerant of delay and delay variation
- users are intolerant of quality fluctuations
o Video
- reacts to congestion control through adjusting packet size, needs
steady packet rate
- has mixture of small, medium and large packets
- highly variable bandwidth requirements - up to factor 10 variations
mean to peak bandwidth
- minimum bandwidth is required. Codecs often only produce output at
fixed bandwidth levels which are not related to the slow start and
congestion avoidance mechanisms used by congestion control
- users are intolerant of delay and delay variation
Burness Expires January 8, 2006 [Page 5]
Internet-Draft Interactive Apps using DCCP July 2005
- users are intolerant of quality fluctuations
o Games
- There are a large number of types of game. The set relevant here
are those that send a continual stream of update messages. These will
have characteristics similar to voice.
3. Issues with TFRC
One problem is that TFRC assumes packet rate is varied and that
packet size is fixed. Coupled with this is the fact that TFRC can be
unfair to small packets. Fixing this problem requires changes to
the TFRC rate equation and also the calculation that determines the
last event rate to be used in that equation.
3.1. TFRC Rate Equation
The proposed adjustment in [6] to the TFRC equation to allow
applications to match their rate (including packet header overhead)
with a TCP flow that would be carrying MTU sized packets simply fixes
part of the packet rate problem. The addition of a minimum inter-
packet spacing to prevent router processor overload is also
supported.
3.2. Loss Rate Calculation
It has been claimed [7] [8] that the loss event rate calculation
needs to be changed if we wish to allow a congestion response to
adjust packet size rather than packet rate. The rationale is that
since a loss event is one or more packet losses per RTT, small-packet
flows may get too much bandwidth as it becomes more likely that
multiple loss events would all be considered as one loss event. Such
Burness Expires January 8, 2006 [Page 6]
Internet-Draft Interactive Apps using DCCP July 2005
flows over-estimate the loss interval - and hence under-estimate the
loss rate.
Another difficulty in calculating the loss rate is that the solution
depends on whether or not the packet drop rate depends on packet
size. For example, routers using RED in byte mode will have packet
drop rate as a function of packet size. Although such routers are
currently not common, assuming they are not can lead to schemes that
are over-aggressive in the presence of such routers. Further study is
recommended here.
However, the virtual packets approach is commonly recommended [7]
[8]. A virtual packet has arrived when MTU-worth of bytes is
received; a virtual packet has been lost when MTU-worth of bytes is
lost. The virtual packets are used instead of real ones to drive the
TFRC calculation.
4. Initial Slow start
The applications under consideration all have two characteristics
that make congestion control uncomfortable for them - they operate at
specific bandwidth levels, and a particular flow may vary which level
it uses. The need for an initial bandwidth level before an
application can start seems to be in conflict with the slow-start
process that is used within congestion control to minimize the impact
that a newly starting application will have on any existing flows.
Slow start enables a new flow to ease itself gently onto the network.
During slow start however, applications that require a minimum
bandwidth cannot do any useful work.
If we assume a voice (or moderate bit rate video) application with a
target rate of 50 packets per second and a typical RTT of 200ms, then
it would take about 1 second to reach a suitable data rate. Mobile-
to-mobile call-set-up times are of the order 3-7 seconds (based on
limited experiments by one of the authors). High bit rate videos
often have multiple coding levels, so the lower levels can be
transmitted whilst the rate is ramping up. Thus, the initial slow
Burness Expires January 8, 2006 [Page 7]
Internet-Draft Interactive Apps using DCCP July 2005
start may not be a significant problem from a user perspective. In
order that the network is not made to transmit useless data during
that time we note that that the application is typically exchanging
call control data. It would clearly be beneficial if these different
flows shared congestion information. RFC 3124 [9] describes a
Congestion Manager for managing multiple flows, however further
study is required to examine how this could be used with DCCP. One
specific problem is how to handle the fact that each of these streams
might have preferred to use different congestion control algorithms.
5. Silence suppression
A voice application might have typical average speech bursts of
350ms, with silent spells of 500ms [13]. This is Codec dependent -
figures are for G.729B, described as a modern codec. Longer times are
associated with old-fashioned codecs to minimize effects of speech
clipping. A key point to note is that silence suppression is not
directly related to "who is talking now" Whilst you may listen
silently to your mother lecturing you, if silence suppression was
used the entire time you were quiet your mother would in fact assume
you had left the phone. Noise may even be deliberately added to
prevent this.
If the voice application is using TFRC in DCCP then, when the
application does not receive ACK packets for a time equal to the RTO
(retransmit timeout), it assumes the network is seriously congested.
Of course, if no data is sent to do silence suppression no ACKs will
be returned, and the application will be forced to assume severe
congestion and enter slow start. This could be very disruptive to the
application. With a modern codec and a round trip time of less than
125ms, silence suppression would lead to regular time outs, putting
the application back into slow start. This would be a common
occurrence in sub-continental networks. However, a session with a
longer round trip time - say 400ms for an international call, would
not experience timeouts as a result of silence suppression. This
clearly begs the question as to whether it is fair that you can
reduce the problem of silence suppression timeouts by taking a longer
path through the network?
Burness Expires January 8, 2006 [Page 8]
Internet-Draft Interactive Apps using DCCP July 2005
In [6] fast restart is allowed inside 10 minutes at the prior rate,
reducing to the normal 4 packets minimum by 30 minutes. We consider
this time is too long for two reasons. In a mobile environment the
key assumption that path characteristics won't have changed much is
untrue. And this solution is very specific to low bandwidth
applications, it would not be suitable for applications like video
and it could similarly be dangerous for networks with low capacity
links.
We propose a similar solution, but with a different timescale. As
mentioned above, flows with long round trip times are unlikely to
suffer because of silence suppression. Thus, we say that a maximum
application idle time of (4*400ms) should be allowed, i.e. the voice
of application can immediately operate at the previous rate if the
silence is less than $*400ms. 400ms being the maximum RTT we would
like to see for interactive traffic anyway [11], and is also
approximately the biggest minimum round trip time you see round the
world [12]. This time is long enough to help applications, and
clearly short enough to protect current networks, ie if the
application knows it has not sent data (no outstanding data to be
acknowledged) then it need not activate the retransmit timer until
after 1.2 seconds. There are still issues with this approach:
It is less than clear how to handle this problem for longer idle
times - such as those caused by a video being paused or interactive
games. In order to protect the network, we think these problems
should be handled by the applications for example, using application
controlled predictive caching.
There is also a problem for large scale multicast video-conferences,
when a person with a question may need to come in quickly after
listening to a presentation.
6. Variable Bit Rate management
VBR is much more dramatic in video than voice, where the required
sending rate may increase by a factor of 10 when there is a scene
Burness Expires January 8, 2006 [Page 9]
Internet-Draft Interactive Apps using DCCP July 2005
change, for example. However, scene changes are less likely for
video conferencing applications. They will either be still or moving
at a steady rate. Thus the variability that we need to support for
real-time (as opposed to streaming) video applications may not be as
great as the worst-case might suggest.
Therefore, as is the case silence suppression for voice, we may be
able to say that:
o if the video has achieved its higher rate within a recent, limited
time period
o and the preceding rate reduction was due to action of the
application and not as a result of a congestion response,
o and the application has received no indication that congestion is
increasing then it should be allowed to increase directly to that
higher rate.
Another approach to achieve the rate stability required to support
VBR behaviors can be implemented if there are multiple streams that
could share congestion state. For example, during the session there
will typically be a (RTCP) control flow with every (RTP) data flow.
There may be multiple data flows (voice, video, whiteboard). This
would require that all the flows use the same congestion control as
discussed above in section 4. on silence suppression.
7. Interaction between various CCIDs and TCP
Simulations have been performed looking at how DCCP flows interact
with TCP. An open question is how do the various DCCP algorithms
interact with each other and TCP? Would a single CCID be better
rather than different ones more suited to each application? Or would
this simply increase the probability of abuse of congestion control?
Burness Expires January 8, 2006 [Page 10]
Internet-Draft Interactive Apps using DCCP July 2005
8. User Intolerance of Changes in Quality
[10] has demonstrated that users prefer a stable level of quality for
real-time applications rather than having spells where the quality
improves only to degrade a short time later. This has repercussions
on the ability to make maximum use of bandwidth after starting and
also after a loss event has caused a flow to back-off.
There seems little point in an application always probing for more
bandwidth if this will always lead to a loss event and a back-off
that leads to a lower quality for the user.
A further aspect to this problem is that many real-time applications
have set bandwidth levels in which they can operate, and it is not
clear how they could probe the network for increased bandwidth
anyway, without sending dummy data (or using congestion state sharing
techniques). It may be that we will need a congestion response for
real-time applications using DCCP and a real-time media guide to aid
application developers to use the response.
9. Security Considerations
TBA
10. Conclusions
Further activity is required to determine how best to manage
congestion for real-time interactive applications including
telephony, video-phone services and games. We have described the
basic characteristics of such applications. We have discussed the
problems under the following topics:
o Rate equation
o Loss calculation
o Slow start
Burness Expires January 8, 2006 [Page 11]
Internet-Draft Interactive Apps using DCCP July 2005
o Silence suppression
o Variable Bit Rate
In most cases, pointers to solutions already exist and need simply to
be developed. However, a better understanding of application behavior
might also be necessary, as it is likely that a number of engineering
compromises will be needed.
11. Informative References
[1] S. Floyd, M Handley, E. Kohler, DCCP Problem Statement, June
2005, draft-ietf-dccp-problem-01.txt
[2] E. Kohler, M. Handley, S. Floyd, Datagram Congestion Control
Protocol (DCCP), draft-ietf-dccp-spec-11.txt
[3] S. Floyd, E. Kohler, Jitendra Padhye, Profile for DCCP
Congestion Control ID 3: TFRC Congestion Control, draft-ietf-
dccp-ccid3-11.txt
[4] S. Floyd, E. Kohler, Profile for DCCP Congestion Control ID 2:
TCP-like Congestion Control, draft-ietf-dccp-ccid2-10.txt
[5] T. Phelan, DCCP User Guide, April 2005, draft-ietf-dccp-user-
guide-03.txt
[6] S. Floyd, E. Kohler, TCP Friendly Rate Control (TFRC) for
Voice: VoIP Variant and Faster Restart, February 2005, draft-
ietf-dccp-tfrc-voip-01.txt
[7] P Vasallo, Variable Packet size Equation-Based Congestion
Control, International Computer Science Institute Technical
Report May 2000
[8] Widmer et al, End to end congestion control for flows with
variable packet sizes, ACM SIGCOMM Computer Communication
Review Archive, Volume 34 , Issue 2, April 2004
[9] H. Balakrishnan, S. Seshan, The Congestion Manager, June 2001,
RFC3124
[10] D. Hands, M. Wilkins, A Study of the Impact of Network Loss and
Burst Size on Video Streaming Quality and Acceptability, IDMS
1999
Burness Expires January 8, 2006 [Page 12]
Internet-Draft Interactive Apps using DCCP July 2005
[11] G.114
[12] Internet Traffic Report
[13] Wenyu Jiang, H Schulzrinne, Analysis of on-off patterns in VoIP
and their effect on voice traffic aggregation, Proceedings of
ICCCN 2000
Author's Addresses
Anne-Louise Burness
BT Research
B54/77, Sirius House
Adastral Park
Martlesham Heath
Ipswich, Suffolk
IP5 3RE
United Kingdom
Email: louise.burness@bt.com
Alan Smith
BT Research
B54/74, Sirius House
Adastral Park
Martlesham Heath
Ipswich, Suffolk
IP5 3RE
United Kingdom
Email: alan.p.smith@bt.com
Philip Eardley
BT Research
B54/77, Sirius House
Adastral Park
Martlesham Heath
Ipswich, Suffolk
IP5 3RE
United Kingdom
Email: philip.eardley@bt.com
Burness Expires January 8, 2006 [Page 13]
Internet-Draft Interactive Apps using DCCP July 2005
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 (2005).
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.
Burness Expires January 8, 2006 [Page 14]