Network Working Group                                       John Harper
Internet-Draft                                              Anagran Inc
                                                         Patrick McGeer
                                                   Hewlett Packard Corp
                                                           January 2007

                Requirements for In-Band QoS Signalling
          <draft-harper-inband-signalling-requirements-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.

   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 July 19th, 2007.

Abstract

   This document describes the raionale and requirements for in-band
   signalling of Quality of Service (QoS) characteristics for the
   Internet Protocol (IP) There has been extensive work on QoS for IP,
   leading to the development of RSVP, NSIS and other protocols.  New
   requirements emerging from the use of IP to carry services such as
   video and voice are leading in turn to additional requirements for
   QoS signalling. The authors believe that these can best be met by
   adding in-band signalling to IP, complementing the existing protocols
   for QoS signalling.

Copyright Notice




Harper & McGeer          Expires July 19th, 2007                [Page 1]


Internet-Draft   Requirements for In-Band QoS Signalling    January 2007


   Copyright (C) The Internet Society. (2007)

1. Introduction

   The TCP/IP protocol suite was originally designed to support purely
   best-effort data transmission. As congestion started to become a
   practical problem, mechanisms were added in TCP to allow end systems
   to react to congestion and to slow down their transmission
   accordingly.  As quality-sensitive applications began to use TCP/IP,
   work was undertaken to provide for explicit signalling of QoS
   requirements, resulting initially in RSVP and later in the start of
   work on NSIS. RSVP and NSIS are both out-of-band signalling
   protocols, i.e. the signalling flow takes place over a separate
   packet flow from the information itself. This works well for some
   classes of applications, such as the establishment of MPLS tunnels
   for traffic engineering.

   The TCP/IP protocol suite is increasingly becoming a universal way to
   move all kinds of information, including those which have previously
   relied on dedicated analog or digital circuits, such as voice and
   video. Some of these have more stringent quality requirements than
   traditional data traffic, requiring a certain minimum bandwidth and
   maximum delay variance ("jitter") if the user requirements are to be
   met. Where large numbers of sessions are involved, for example when
   providing domestic video services, it is difficult to design
   equipment such that out-of-band protocols can operate quickly enough.

   TCP´s ability to react to network congestion, and hence adapt its
   transmission speed to available capacity, depends heavily on the fact
   that in traditional data networks, packet loss due to transmission
   errors is a rare event. It also depends on gradual ramp-up to the
   available capacity, using the "slow-start" technique. These have both
   been appropriate for the networks which have predominated until
   recently, where links are provided by optical or electrical means and
   where the bandwidth required for an individual TCP connection is no
   more than a few megabits/second.  Current technological trends mean
   that these assumptions do not necessarily apply any longer. Wireless
   links are becoming commonplace.  These have significant error rates,
   enough to force TCP into low throughput as it incorrectly reacts to
   lost packets as though they signal congestion.  This is particularly
   serious when the wireless links have high bandwidth, for example in
   the case of third and fourth generation mobile systems.

   Bandwidths available to all classes of user are steadily increasing.
   For example, domestic users in many parts of Asia now have access
   rates of 45 or 100 Mbit/sec.  Commercial and industrial users are now
   often connected via links having instantaneous bandwidth of 100
   Mbit/sec or 1 Gbit/sec. TCP slow-start and TCP´s reaction to



Harper & McGeer          Expires July 19th, 2007                [Page 2]


Internet-Draft   Requirements for In-Band QoS Signalling    January 2007


   occasional packet loss mean that practical achievement of these kinds
   of bandwidths will often not occur.  In order to achieve these
   bandwidths, especially in the presence of errors, explicit signalling
   of available bandwidth in the network is required.

   For all the above reasons, it is considered desirable to add means to
   the TCP/IP protocol suite to allow efficient signalling of QoS
   requirements and availability in close association with the IP
   traffic itself. While this could in principle be done using out-of-
   band signalling, the scale of the signalling to be undertaken makes
   it harder to achieve the necessary responsiveness and performance by
   this means. Additionally, in high-speed routers and switches,
   signalling at the envisaged scale must be performed in hardware if
   the performance is to be achieved. This is simpler if an in-band
   signalling protocol, with a simple and well-structured format, is
   used.

   In the remainder of this draft, we present specific rationale for an
   in-band QoS signalling protocol, and set out the requirements that
   must be achieved by the architecture and the corresponding protocol.

2. QoS Service Goals

2.1 Definition of a Flow

   In the remainder of this document, the term "flow" is used to mean a
   sequence of packets belonging to the same host-to-host association,
   typically either a TCP connection, or where a connectionless
   transport protocol is in use, a sequence of packets corresponding to
   the same information stream. In an IPv4 network, a flow is generally
   considered be a sequence of packets sharing the same source and
   destination IP addresses, transport protocol and transport protocol
   source and destination ports (if applicable). In an IPv6 network, a
   flow is a sequence of packets sharing the same source and destination
   IP addresses and the same Flow Identifier. The presence of the Flow
   Identifier in IPv6 means that inspection of transport layer port
   information is not required in order to determine flow membership.
   However this does depend upon the consistent use of the Flow
   Identifier. It is also possible to make explicit use of transport
   layer port information, if IPv6 payload encryption is not in use.

2.2 Types of Flow

   IP applications can be broadly divided into two categories, when
   considering QoS:

   - those that will use whatever bandwidth is available, adjusting
   their rate accordingly. Such applications normally run over TCP (or



Harper & McGeer          Expires July 19th, 2007                [Page 3]


Internet-Draft   Requirements for In-Band QoS Signalling    January 2007


   other connection-mode transport protocols such as SCTP). Flows having
   this characteristic are called AR ("Available Rate") flows. Because
   available capacity in the network is constantly changing, AR flows
   need to be able to receive periodic updates about the current
   capacity, so they can change their behavior.

   - those that have a predetermined bandwidth requirement, which may be
   fixed or may vary. If the required bandwidth is not available then
   the service as seen by the user deteriorates and may become
   completely unusable. Applications such as voice and streaming video
   fall into this class. These applications can in turn be divided into
   three categories, as described below.

   GR - Guaranteed Rate service specifies a reserved rate and is
   intended for those cases where bandwidth must be reserved by the
   network, even when it is unused. The network should not oversubscribe
   the allocations for any given preemption level. It requires explicit
   signalling of reservation and release, which are only used with the
   Guaranteed Rate service.

   MR - Maximum Rate service has no fixed reservation. It specifies the
   maximum rate the flow might use and makes every attempt to assure no
   packet loss if the flow remains under this rate. The flow may be
   variable in rate, not to exceed the specified maximum rate. Flows may
   be policed or shaped to ensure that this rate is not exceeded. Flows
   may be dropped if it is known to be impossible to deliver the stated
   maximum rate, for example dut to congestion. Unlike guaranteed rate
   traffic, the bandwidth is available subject to traffic statistics; it
   is not an absolute guarantee. The flow is dropped if no traffic is
   seen for a preset period and so no explicit release is required. The
   service can be used for individual video, voice or streaming media
   flows where very low loss and/or low delay jitter is required.

   VR - Variable Rate service, where part of the rate is guaranteed and
   part is determined by network capacity (available rate). This is
   typically the case, when streaming media cannot function below a base
   rate but can take advantage of additional capacity if it is
   available. This capability is signaled as a maximum rate plus an
   available rate. Traffic up to the maximum rate plus the available
   rate will be supported. The available rate may be changed from time
   to time as the network capacity changes.

2.3 Other QoS Goals

   In addition to the bandwidth-related QoS flow attributes described in
   section 2.1, there are other requirements associated with the service
   applied to a particular flow.




Harper & McGeer          Expires July 19th, 2007                [Page 4]


Internet-Draft   Requirements for In-Band QoS Signalling    January 2007


   PP - Preemption Priority indicates which flows should survive when
   the network capacity is insufficient to support the required quality
   of all the flows. It is necessary to support civilian emergency
   services, military services, and will also have applications in other
   aspects of networking.

   BT - Burst Tolerance specifies how much the actual rate may exceed
   the stated rate before policing is enforced. This not only applies to
   rate bursts the user may introduce at the source but is necessary to
   allow for bunching the network routers may introduce.

   DP - Delay Priority permits explicit signalling of the relative
   importance of flows with respect to limiting delay variation.

   CH - Charge Direction specifies who is paying for this flow, the
   sender or the receiver. This allows IP to provide 800 type services
   like the PSTN and allows for peering between networks of different
   sizes with fair charging.

3. Problems with Current QoS Signalling Techniques

3.1 Diffserv and its Limitations

   Diffserv provides a Class of Service (COS) marking in 6 bits in the
   IP header. Only a subset of the 64 possible values has a globally
   recognised definition. Due to the low range of values, there is no
   way to have globally unified definitions of the meaning of the
   codepoints. Also there are too few bits to specify explicitly a rate
   for either guaranteed rate flows or for available rate feedback. This
   limits the utility of Diffserv to a few delay categories and some
   local link-by-link agreements. As we move into video and streaming
   media as well as improving TCP performance, Diffserv provides
   insufficient flexibility.

3.2 IntServ and its Limitations

   The current proposals for IntServ type QoS support (as opposed to CoS
   support via Diffserv) revolve around a round trip call setup request
   using complex protocols like RSVP.  These protocols require more
   processing than can be done in hardware and are thus obliged to
   operate in relativey slow software processes. This limits the total
   end-to-end call processing that can be made to either very large
   flows or to composite (VPN) flows since processor speeds are
   insufficient for processing all IP flows.

   What is desirable is a protocol that permits the router to process
   QoS requests for each individual flow, including parameters such as
   bandwidth, delay priority, preemption priority, burst tolerance, and



Harper & McGeer          Expires July 19th, 2007                [Page 5]


Internet-Draft   Requirements for In-Band QoS Signalling    January 2007


   charging direction. Many common flows like file transfers may not
   require all this information.  However, increasingly flows are
   becoming voice, video, gaming, or streaming media where such
   requirements do apply.

   Also, as the IP becomes the predominant protocol for the provision of
   voice and emergency communications, the need for call rejection and
   preemption priority become important and may even be life and death
   issues.  These capabilities are therefore required as part of the IP
   protocol, for both TCP and UDP.

3.3 Issues Regarding TCP

   TCP slow-start has worked well over the past 20 years when the
   individual flows were generally in the kilobits/second. However, as
   wideband corporate access and broadband residential access have
   proliferated, the desired flow rate has increased into the
   megabits/second up to several gigabits/second. TCP was not designed
   for these rates at any significant distance.

   TCP depends on detecting packet loss to adjust its rate; any packet
   loss at high rates over long distances creates a major slow down of
   the flow. Even at normal cross-country distances, maximum TCP
   throughput is limited to megabits/second rather than gigabits/second.
   The performance of TCP when operating over satellite links is poor
   enough that TCP "spoofing" devices are frequently used at either end
   of any satellite link. However, this will not work when the data is
   encrypted as in IPv6, in IPv4 with IPSEC or in either with encryptors
   inserted.

   Another problem with using packet loss as a rate control mechanism is
   that the typical method of dealing with congestion is to discard
   random packets, even if the flow in question is not yet up to the
   speed of other flows. This is usually done using Random Early
   Detection (RED) or Weighted Random Early Detection (WRED). This
   procedure slows down the TCP rate so that it does not get up to the
   maximum network speed as fast as possible. This problem has been
   magnified as the network speeds have increased such that an average
   120 K byte web page transfer over a 10 Mbps access line can take many
   seconds rather than the fraction of a second actually required.

   The TCP situation is improved by marking packets for congestion,
   using Explicit Congestion Notification (ECN) before discarding
   becomes necessary. ECN avoids discarding the packet, but the search
   for the rate the network can support is still a binary search that
   leads to significant loss of throughput and does not improve the
   slow-start problem. Marking packets in this way, also presumes that
   the network has sufficient storage to signal congestion well before



Harper & McGeer          Expires July 19th, 2007                [Page 6]


Internet-Draft   Requirements for In-Band QoS Signalling    January 2007


   the problem becomes critical. This in turn leads to either additional
   network delays due to long queue traversals, or exacerbates the
   existing problem of lower network utilization.

   When the concept of marking packets is coupled with the feedback of
   the maximum rate the network could support, it is feasible for the
   TCP source to avoid slow-start and achieve extremely high-speed
   throughput. Instead of marking or discarding packets when congestion
   occurs, the network can inform all TCP sources as soon as possible of
   the rate that they can operate at safely. As conditions change,
   additional feedback is required. This concept was simulated and
   tested extensively in ATM systems. It was found to substantially
   decrease the time to transfer a web page and significantly decrease
   the buffering required in the network.

3.4 Considerations for Streaming Protocols

   While many applications use TCP, there are others which do not
   require the benefits it brings with regard to error recovery,
   reordering and flow control. Such applications typically use UDP as a
   connectionless transport protocol. In particular, real-time streaming
   applications such as video and voice operate in this way. These
   applications are not, in general, able to adjust their transmission
   rate in response to the capacity of the network. For example, an
   uncompressed voice flow using G.711 encoding requires a bandwidth of
   64 kbit/sec for the voice payload. Similarly, real-time compressed
   video typically requires a bandwidth in the range 2-6 Mbit/sec,
   depending on the encoding and the content. A given flow will simply
   not work if the available bandwidth turns out to be less than this.
   (There are approaches to dealing with this, for example by switching
   to a lower-rate codec with lower quality, but they require an
   additional management layer and also require explicit knowledge of
   the available bandwidth, unlike TCP which adjusts continuously).
   Hence, if the total bandwidth available is enough to support say 100
   such flows, and another one presents itself, it is better to block
   the new flow, than to accept it and downgrade the quality of the
   service provided to all 101 users. The capability to control
   admission in this way is referred to as Call Admission Control (CAC).

   RSVP was designed to perform admission control, but the limited
   practical experience with RSVP as a generic admission control
   protocol shows that it does not scale to handle very large numbers of
   individual flows. It is adequate for handling aggregated flows (for
   example, VPN connections through a service provider network) but not
   for handling individual flows.

3.5 Protocol Complexity and Hardware Processing




Harper & McGeer          Expires July 19th, 2007                [Page 7]


Internet-Draft   Requirements for In-Band QoS Signalling    January 2007


   A high-speed router, operating at link speeds of 1 Gbit/sec or
   higher, will handle a very large number of flows and flow-setup
   operations. If many of those flows include explicit QoS signalling,
   the handling of this signalling needs to be performed at very high
   speed. In a practical implementation, this means that it must take
   place in the data plane and be performed by the same system elements
   that perform packet forwarding operations, i.e. hardware logic
   implemented in an ASIC or programmable logic, or in code executed in
   special-purpose Network Processors (NPUs). This logic or code is
   highly optimised and is not amenable to the kinds of operations
   typically performed in general-purpose CPUs by software. In
   considerations of protocol design, this means that the QoS signalling
   protocol should have a simple fixed structure. The very flexible
   structures used in existing QoS signalling protocols, such as type-
   length-value encoding supporting a multiplicity of optional features,
   cannot be implemented in hardware or NPU-based systems.

4. Implications for Signalling Protocol Design

4.1 Benefits of In-band Signalling

   Signalling of QoS requirements can in principle be effected using
   either out-of-band signalling, like RSVP, or in-band signalling. To
   date, there has been no implementation of RSVP which can perform
   large numbers of flow-setup operations at a high rate, which suggests
   that such an implementation would be difficult.

   In-band signalling, using a simple protocol, has the following
   benefits in addition to those described above.

   1. In-band signalling is guaranteed to follow the same path through
   the network as the flow on whose behalf it is signalling. This is
   very difficult to achieve for an out-of-band protocol, taking into
   account realities of network design such as equal cost multipath
   routes.

   2. Since in-band signalling is carried along with the payload of the
   flow, it is unaffected by en-route changes to network addressing such
   as NAT. In principle an out-of-band protocol can deal with this, but
   it is a complex problem which has been under study in the IETF
   (MidCom) for several years.

   3. Accurate detection of congestion in the network requires frequent
   updates about the available capacity. A simple protocol carried along
   with the payload can provide this through an efficient data-plane
   implementation. Given the difficulty of scaling current out-of-band
   protocols to handle large numbers of flows, it would be even harder
   to provide frequent real-time updates about the state of the network.



Harper & McGeer          Expires July 19th, 2007                [Page 8]


Internet-Draft   Requirements for In-Band QoS Signalling    January 2007


4.2 Requirements for an In-band Signalling Protocol

   From the above considerations, the following requirements apply to an
   in-band protocol for QoS signalling.

   1. The protocol MUST be carried within packets which form part of the
   flow for which QoS information is being conveyed. This is inherent in
   the nature of an in-band protocol.

   2. The protocol MUST be capable of operating with both IPv4 and IPv6,
   although variations may be required to make this possible.

   3. The protocol MUST provide a means for an AR flow to signal its
   requested bandwidth, and to receive information from the network
   about the bandwidth actually available.

   4. The protocol MUST provide a means for a GR, MR or VR flow to
   signal its requested bandwidth.

   5. The protocol MUST provide a means to signal other QoS information,
   specifically Burst Tolerance, Preemption Priority, Delay Priority,
   and Charging Information.

   6. The protocol MUST provide a means for a flow to periodically
   determine the currently available bandwidth in the network.

   7. The protocol MUST provide a means for GR flows to perform explicit
   bandwidth reservation and release, in a confirmed and reliable way.

   8. The protocol MUST define an encoding which lends itself readily to
   implementation in hardware, programmable logic or high-performance
   dedicated network processors.

5. Security Considerations

   A QoS signalling protocol is capable of reserving network resources,
   or of providing information to a host which will lead it to make use
   of network resources. The protocol which is defined in support of the
   requirements decsribed in this document needs to address how such
   resources can be protected in an appropriate fashion, either through
   elements of the protocol itself, or through associated configuration
   of the systems which implement it, or both.

6. Editors´s Addresses

   John Harper
   Anagran Inc
   2055 Woodside Road



Harper & McGeer          Expires July 19th, 2007                [Page 9]


Internet-Draft   Requirements for In-Band QoS Signalling    January 2007


   Redwood City, CA 94065
   USA

   Phone: +1 650 587 8276
   EMail: john@anagran.com


   Patrick McGeer
   Hewlett-PAckard Laboratories
   1501 Page Mill Road
   Palo Alto, CA 94304
   USA

   Email: rick.mcgeer@hp.com

   This Internet-Draft will expire on July 19th, 2007.

7. Full copyright statement

   Copyright (C) The Internet Society (2007).

    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.

   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.



















Harper & McGeer          Expires July 19th, 2007               [Page 10]