Network Working Group                                        V. Jacobson
Request for Comments: 2598                                    K. Nichols
Category: Standards Track                                  Cisco Systems
                                                               K. Poduri
                                                            Bay Networks
                                                               June 1999


                      An Expedited Forwarding PHB

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (1999).  All Rights Reserved.

Abstract

   The definition of PHBs (per-hop forwarding behaviors) is a critical
   part of the work of the Diffserv Working Group.  This document
   describes a PHB called Expedited Forwarding. We show the generality
   of this PHB by noting that it can be produced by more than one
   mechanism and give an example of its use to produce at least one
   service, a Virtual Leased Line.  A recommended codepoint for this PHB
   is given.

   A pdf version of this document is available at
   ftp://ftp.ee.lbl.gov/papers/ef_phb.pdf

1.  Introduction

   Network nodes that implement the differentiated services enhancements
   to IP use a codepoint in the IP header to select a per-hop behavior
   (PHB) as the specific forwarding treatment for that packet [RFC2474,
   RFC2475].  This memo describes a particular PHB called expedited
   forwarding (EF). The EF PHB can be used to build a low loss, low
   latency, low jitter, assured bandwidth, end-to-end service through DS
   domains.  Such a service appears to the endpoints like a point-to-
   point connection or a "virtual leased line".  This service has also
   been described as Premium service [2BIT].





Jacobson, et al.            Standards Track                     [Page 1]


RFC 2598              An Expedited Forwarding PHB              June 1999


   Loss, latency and jitter are all due to the queues traffic
   experiences while transiting the network.  Therefore providing low
   loss, latency and jitter for some traffic aggregate means ensuring
   that the aggregate sees no (or very small) queues. Queues arise when
   (short-term) traffic arrival rate exceeds departure rate at some
   node.  Thus a service that ensures no queues for some aggregate is
   equivalent to bounding rates such that, at every transit node, the
   aggregate's maximum arrival rate is less than that aggregate's
   minimum departure rate.

   Creating such a service has two parts:

      1) Configuring nodes so that the aggregate has a well-defined
         minimum departure rate. ("Well-defined" means independent of
         the dynamic state of the node.  In particular, independent of
         the intensity of other traffic at the node.)

      2) Conditioning the aggregate (via policing and shaping) so that
         its arrival rate at any node is always less than that node's
         configured minimum departure rate.

   The EF PHB provides the first part of the service.  The network
   boundary traffic conditioners described in [RFC2475] provide the
   second part.

   The EF PHB is not a mandatory part of the Differentiated Services
   architecture, i.e., a node is not required to implement the EF PHB in
   order to be considered DS-compliant.  However, when a DS-compliant
   node claims to implement the EF PHB, the implementation must conform
   to the specification given in this document.

   The next sections describe the EF PHB in detail and give examples of
   how it might be implemented.  The keywords "MUST", "MUST NOT",
   "REQUIRED", "SHOULD", "SHOULD NOT", and "MAY" that appear in this
   document are to be interpreted as described in [Bradner97].

2. Description of EF per-hop behavior

   The EF PHB is defined as a forwarding treatment for a particular
   diffserv aggregate where the departure rate of the aggregate's
   packets from any diffserv node must equal or exceed a configurable
   rate.  The EF traffic SHOULD receive this rate independent of the
   intensity of any other traffic attempting to transit the node.  It
   SHOULD average at least the configured rate when measured over any
   time interval equal to or longer than the time it takes to send an
   output link MTU sized packet at the configured rate.  (Behavior at
   time scales shorter than a packet time at the configured rate is




Jacobson, et al.            Standards Track                     [Page 2]


RFC 2598              An Expedited Forwarding PHB              June 1999


   deliberately not specified.) The configured minimum rate MUST be
   settable by a network administrator (using whatever mechanism the
   node supports for non-volatile configuration).

   If the EF PHB is implemented by a mechanism that allows unlimited
   preemption of other traffic (e.g., a priority queue), the
   implementation MUST include some means to limit the damage EF traffic
   could inflict on other traffic (e.g., a token bucket rate limiter).
   Traffic that exceeds this limit MUST be discarded. This maximum EF
   rate, and burst size if appropriate, MUST be settable by a network
   administrator (using whatever mechanism the node supports for non-
   volatile configuration). The minimum and maximum rates may be the
   same and configured by a single parameter.

   The Appendix describes how this PHB can be used to construct end-to-
   end services.

2.2 Example Mechanisms to Implement the EF PHB

   Several types of queue scheduling mechanisms may be employed to
   deliver the forwarding behavior described in section 2.1 and thus
   implement the EF PHB. A simple priority queue will give the
   appropriate behavior as long as there is no higher priority queue
   that could preempt the EF for more than a packet time at the
   configured rate.  (This could be accomplished by having a rate
   policer such as a token bucket associated with each priority queue to
   bound how much the queue can starve other traffic.)

   It's also possible to use a single queue in a group of queues
   serviced by a weighted round robin scheduler where the share of the
   output bandwidth assigned to the EF queue is equal to the configured
   rate.  This could be implemented, for example, using one PHB of a
   Class Selector Compliant set of PHBs [RFC2474].

   Another possible implementation is a CBQ [CBQ] scheduler that gives
   the EF queue priority up to the configured rate.

   All of these mechanisms have the basic properties required for the EF
   PHB though different choices result in different ancillary behavior
   such as jitter seen by individual microflows. See Appendix A.3 for
   simulations that quantify some of these differences.

2.3 Recommended codepoint for this PHB

   Codepoint 101110 is recommended for the EF PHB.






Jacobson, et al.            Standards Track                     [Page 3]


RFC 2598              An Expedited Forwarding PHB              June 1999


2.4 Mutability

   Packets marked for EF PHB MAY be remarked at a DS domain boundary
   only to other codepoints that satisfy the EF PHB.  Packets marked for
   EF PHBs SHOULD NOT be demoted or promoted to another PHB by a DS
   domain.

2.5 Tunneling

   When EF packets are tunneled, the tunneling packets must be marked as
   EF.

2.6 Interaction with other PHBs

   Other PHBs and PHB groups may be deployed in the same DS node or
   domain with the EF PHB as long as the requirement of section 2.1 is
   met.

3. Security Considerations

   To protect itself against denial of service attacks, the edge of a DS
   domain MUST strictly police all EF marked packets to a rate
   negotiated with the adjacent upstream domain.  (This rate must be <=
   the EF PHB configured rate.)  Packets in excess of the negotiated
   rate MUST be dropped.  If two adjacent domains have not negotiated an
   EF rate, the downstream domain MUST use 0 as the rate (i.e., drop all
   EF marked packets).

   Since the end-to-end premium service constructed from the EF PHB
   requires that the upstream domain police and shape EF marked traffic
   to meet the rate negotiated with the downstream domain, the
   downstream domain's policer should never have to drop packets.  Thus
   these drops SHOULD be noted (e.g., via SNMP traps) as possible
   security violations or serious misconfiguration. Similarly, since the
   aggregate EF traffic rate is constrained at every interior node, the
   EF queue should never overflow so if it does the drops SHOULD be
   noted as possible attacks or serious misconfiguration.

4. IANA Considerations

   This document allocates one codepoint, 101110, in Pool 1 of the code
   space defined by [RFC2474].









Jacobson, et al.            Standards Track                     [Page 4]


RFC 2598              An Expedited Forwarding PHB              June 1999


5. References

   [Bradner97] Bradner, S., "Key words for use in RFCs to Indicate
               Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2474]   Nichols, K., Blake, S., Baker, F. and D. Black,
               "Definition of the Differentiated Services Field (DS
               Field) in the IPv4 and IPv6 Headers", RFC 2474, December
               1998.

   [RFC2475]   Black, D., Blake, S., Carlson, M., Davies, E., Wang, Z.
               and W. Weiss, "An Architecture for Differentiated
               Services", RFC 2475, December 1998.

   [2BIT]      K. Nichols, V. Jacobson, and L. Zhang, "A Two-bit
               Differentiated Services Architecture for the Internet",
               Work in Progress, ftp://ftp.ee.lbl.gov/papers/dsarch.pdf

   [CBQ]       S. Floyd and V. Jacobson, "Link-sharing and Resource
               Management Models for Packet Networks", IEEE/ACM
               Transactions on Networking, Vol. 3 no. 4, pp. 365-386,
               August 1995.

   [RFC2415]   Poduri, K. and K. Nichols, "Simulation Studies of
               Increased Initial TCP Window Size", RFC 2415, September
               1998.

   [LCN]       K. Nichols, "Improving Network Simulation with Feedback",
               Proceedings of LCN '98, October 1998.






















Jacobson, et al.            Standards Track                     [Page 5]


RFC 2598              An Expedited Forwarding PHB              June 1999


6. Authors' Addresses

   Van Jacobson
   Cisco Systems, Inc
   170 W. Tasman Drive
   San Jose, CA 95134-1706

   EMail: van@cisco.com


   Kathleen Nichols
   Cisco Systems, Inc
   170 W. Tasman Drive
   San Jose, CA 95134-1706

   EMail: kmn@cisco.com


   Kedarnath Poduri
   Bay Networks, Inc.
   4401 Great America Parkway
   Santa Clara, CA 95052-8185

   EMail: kpoduri@baynetworks.com



























Jacobson, et al.            Standards Track                     [Page 6]


RFC 2598              An Expedited Forwarding PHB              June 1999


Appendix A: Example use of and experiences with the EF PHB

A.1 Virtual Leased Line Service

   A VLL Service, also known as Premium service [2BIT], is quantified by
   a peak bandwidth.

A.2 Experiences with its use in ESNET

   A prototype of the VLL service has been deployed on DOE's ESNet
   backbone.  This uses weighted-round-robin queuing features of Cisco
   75xx series routers to implement the EF PHB. The early tests have
   been very successful and work is in progress to make the service
   available on a routine production basis (see
   ftp://ftp.ee.lbl.gov/talks/vj-doeqos.pdf and
   ftp://ftp.ee.lbl.gov/talks/vj-i2qos-may98.pdf for details).

A.3 Simulation Results

A.3.1 Jitter variation

   In section 2.2, we pointed out that a number of mechanisms might be
   used to implement the EF PHB. The simplest of these is a priority
   queue (PQ) where the arrival rate of the queue is strictly less than
   its service rate. As jitter comes from the queuing delay along the
   path, a feature of this implementation is that EF-marked microflows
   will see very little jitter at their subscribed rate since packets
   spend little time in queues. The EF PHB does not have an explicit
   jitter requirement but it is clear from the definition that the
   expected jitter in a packet stream that uses a service based on the
   EF PHB will be less with PQ than with best-effort delivery. We used
   simulation to explore how weighted round-robin (WRR) compares to PQ
   in jitter. We chose these two since they"re the best and worst cases,
   respectively, for jitter and we wanted to supply rough guidelines for
   EF implementers choosing to use WRR or similar mechanisms.

   Our simulation model is implemented in a modified ns-2 described in
   [RFC2415] and [LCN]. We used the CBQ modules included with ns-2 as a
   basis to implement priority queuing and WRR. Our topology has six
   hops with decreasing bandwidth in the direction of a single 1.5 Mbps
   bottleneck link (see figure 6). Sources produce EF-marked packets at
   an average bit rate equal to their subscribed packet rate. Packets
   are produced with a variation of +-10% from the interpacket spacing
   at the subscribed packet rate.  The individual source rates were
   picked aggregate to 30% of the bottleneck link or 450 Kbps. A mixture
   of FTPs and HTTPs is then used to fill the link. Individual EF packet
   sources produce either all 160 byte packets or all 1500 byte packets.




Jacobson, et al.            Standards Track                     [Page 7]


RFC 2598              An Expedited Forwarding PHB              June 1999


   Though we present the statistics of flows with one size of packet,
   all of the experiments used a mixture of short and long packet EF
   sources so the EF queues had a mix of both packet lengths.

   We defined jitter as the absolute value of the difference between the
   arrival times of two adjacent packets minus their departure times,
   |(aj-dj) - (ai-di)|. For the target flow of each experiment, we
   record the median and 90th percentile values of jitter (expressed as
   % of the subscribed EF rate) in a table. The pdf version of this
   document contains graphs of the jitter percentiles.

   Our experiments compared the jitter of WRR and PQ implementations of
   the EF PHB. We assessed the effect of different choices of WRR queue
   weight and number of queues on jitter. For WRR, we define the
   service-to-arrival rate ratio as the service rate of the EF queue (or
   the queue"s minimum share of the output link) times the output link
   bandwidth divided by the peak arrival rate of EF-marked packets at
   the queue. Results will not be stable if the WRR weight is chosen to
   exactly balance arrival and departure rates thus we used a minimum
   service-to-arrival ratio of 1.03. In our simulations this means that
   the EF queue gets at least 31% of the output links. In WRR
   simulations we kept the link full with other traffic as described
   above, splitting the non-EF-marked traffic among the non-EF queues.
   (It should be clear from the experiment description that we are
   attempting to induce worst-case jitter and do not expect these
   settings or traffic to represent a "normal" operating point.)

   Our first set of experiments uses the minimal service-to-arrival
   ratio of 1.06 and we vary the number of individual microflows
   composing the EF aggregate from 2 to 36. We compare these to a PQ
   implementation with 24 flows. First, we examine a microflow at a
   subscribed rate of 56 Kbps sending 1500 byte packets, then one at the
   same rate but sending 160 byte packets. Table 1 shows the 50th and
   90th percentile jitter in percent of a packet time at the subscribed
   rate. Figure 1 plots the 1500 byte flows and figure 2 the 160 byte
   flows.  Note that a packet-time for a 1500 byte packet at 56 Kbps is
   214 ms, for a 160 byte packet 23 ms. The jitter for the large packets
   rarely exceeds half a subscribed rate packet-time, though most
   jitters for the small packets are at least one subscribed rate
   packet-time. Keep in mind that the EF aggregate is a mixture of small
   and large packets in all cases so short packets can wait for long
   packets in the EF queue. PQ gives a very low jitter.

   Table 1: Variation in jitter with number of EF flows: Service/arrival
   ratio of 1.06 and subscription rate of 56 Kbps (all values given as %
   of subscribed rate)





Jacobson, et al.            Standards Track                     [Page 8]


RFC 2598              An Expedited Forwarding PHB              June 1999


                           1500 byte pack. 160 byte packet
               # EF flows  50th %  90th %  50th %  90th %
                PQ (24)     1       5       17      43
                   2       11      47       96     513
                   4       12      35      100     278
                   8       10      25       96     126
                   24      18      47       96     143

   Next we look at the effects of increasing the service-to-arrival
   ratio. This means that EF packets should remain enqueued for less
   time though the bandwidth available to the other queues remains the
   same.  In this set of experiments the number of flows in the EF
   aggregate was fixed at eight and the total number of queues at five
   (four non-EF queues). Table 2 shows the results for 1500 and 160 byte
   flows.  Figures 3 plots the 1500 byte results and figure 4 the 160
   byte results. Performance gains leveled off at service-to-arrival
   ratios of 1.5. Note that the higher service-to-arrival ratios do not
   give the same performance as PQ, but now 90% of packets experience
   less than a subscribed packet-time of jitter even for the small
   packets.

   Table 2: Variation in Jitter of EF flows: service/arrival ratio
   varies, 8 flow aggregate, 56 Kbps subscribed rate

                   WRR     1500 byte pack. 160 byte packet
                   Ser/Arr 50th %  90th %  50th %  90th %
                    PQ      1       3       17      43
                   1.03    14      27      100     178
                   1.30     7      21       65     113
                   1.50     5      13       57     104
                   1.70     5      13       57     100
                   2.00     5      13       57     104
                   3.00     5      13       57     100

   Increasing the number of queues at the output interfaces can lead to
   more variability in the service time for EF packets so we carried out
   an experiment varying the number of queues at each output port. We
   fixed the number of flows in the aggregate to eight and used the
   minimal 1.03 service-to-arrival ratio. Results are shown in figure 5
   and table 3.  Figure 5 includes PQ with 8 flows as a baseline.











Jacobson, et al.            Standards Track                     [Page 9]


RFC 2598              An Expedited Forwarding PHB              June 1999


   Table 3: Variation in Jitter with Number of Queues at Output
   Interface: Service-to-arrival ratio is 1.03, 8 flow aggregate

                   # EF    1500 byte packet
                   flows   50th %  90th %
                   PQ (8)   1       3
                     2      7      21
                     4      7      21
                     6      8      22
                     8     10      23

   It appears that most jitter for WRR is low and can be reduced by a
   proper choice of the EF queue's WRR share of the output link with
   respect to its subscribed rate.  As noted, WRR is a worst case while
   PQ is the best case. Other possibilities include WFQ or CBQ with a
   fixed rate limit for the EF queue but giving it priority over other
   queues. We expect the latter to have performance nearly identical
   with PQ though future simulations are needed to verify this. We have
   not yet systematically explored effects of hop count, EF allocations
   other than 30% of the link bandwidth, or more complex topologies. The
   information in this section is not part of the EF PHB definition but
   provided simply as background to guide implementers.

A.3.2 VLL service

   We used simulation to see how well a VLL service built from the EF
   PHB behaved, that is, does it look like a `leased line' at the
   subscribed rate. In the simulations of the last section, none of the
   EF packets were dropped in the network and the target rate was always
   achieved for those CBR sources. However, we wanted to see if VLL
   really looks like a `wire' to a TCP using it. So we simulated long-
   lived FTPs using a VLL service. Table 4 gives the percentage of each
   link allocated to EF traffic (bandwidths are lower on the links with
   fewer EF microflows), the subscribed VLL rate, the average rate for
   the same type of sender-receiver pair connected by a full duplex
   dedicated link at the subscribed rate and the average of the VLL
   flows for each simulation (all sender-receiver pairs had the same
   value). Losses only occur when the input shaping buffer overflows but
   not in the network.  The target rate is not achieved due to the
   well-known TCP behavior.

             Table 4: Performance of FTPs using a VLL service

                % link     Average delivered rate (Kbps)
                to EF   Subscribed      Dedicated       VLL
                20      100             90              90
                40      150             143             143
                60      225             213             215



Jacobson, et al.            Standards Track                    [Page 10]


RFC 2598              An Expedited Forwarding PHB              June 1999


Full Copyright Statement

   Copyright (C) The Internet Society (1999).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS 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.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.



















Jacobson, et al.            Standards Track                    [Page 11]