home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.lbl.gov / 2014.05.ftp.ee.lbl.gov.tar / ftp.ee.lbl.gov / papers / draft-ietf-diffserv-phb-ef-02.txt < prev    next >
Text File  |  1999-02-16  |  20KB  |  441 lines

  1. Internet Engineering Task Force                Van Jacobson
  2. Differentiated Services Working Group             Kathleen Nichols
  3. Internet Draft                        Cisco Systems
  4. Expires August, 1999                    Kedarnath Poduri
  5.                             Bay Networks
  6.                             February, 1999
  7.  
  8.  
  9.             An Expedited Forwarding PHB
  10.         <draft-ietf-diffserv-phb-ef-02.txt>
  11.  
  12.  
  13. Status of this Memo
  14.  
  15.     This document is an Internet-Draft and is in full conformance 
  16.     with all provisions of Section 10 of RFC2026.
  17.  
  18.     This document is a product of the IETF Differentiated Services
  19.     Working Group.  Comments are solicited and should be directed
  20.     to the working group mailing list.
  21.  
  22.     Internet-Drafts are working documents of the Internet Engineering
  23.     Task Force (IETF), its areas, and its working groups.  Note that
  24.     other groups may also distribute working documents as
  25.     Internet-Drafts.
  26.  
  27.     Internet-Drafts are draft documents valid for a maximum of six
  28.     months and may be updated, replaced, or obsoleted by other
  29.     documents at any time.  It is inappropriate to use Internet-
  30.     Drafts as reference material or to cite them other than as
  31.     "work in progress."
  32.  
  33.     The list of current Internet-Drafts can be accessed at
  34.     http://www.ietf.org/ietf/1id-abstracts.txt
  35.  
  36.     The list of Internet-Draft Shadow Directories can be accessed at
  37.     http://www.ietf.org/shadow.html.
  38.  
  39.     Distribution of this memo is unlimited.
  40.  
  41.  
  42. Abstract
  43.  
  44.     The definition of PHBs (per-hop forwarding behaviors) is a 
  45.     critical part of the work of the Diffserv Working Group.  This 
  46.     document describes a PHB called Expedited Forwarding. We show the 
  47.     generality of this PHB by noting that it can be produced by more 
  48.     than one mechanism and give an example of its use to produce at 
  49.     least one service, a Virtual Leased Line.  A recommended 
  50.     codepoint for this PHB is given.
  51.  
  52.     A pdf version of this document is available at 
  53.     ftp://ftp.ee.lbl.gov/papers/ef_phb.pdf 
  54.  
  55.  
  56. 1.  Introduction
  57.  
  58.     Network nodes that implement the differentiated services 
  59.     enhancements to IP use a codepoint in the IP header to select a 
  60.     per-hop behavior (PHB) as the specific forwarding treatment for 
  61.     that packet [RFC2474, RFC2475].  This draft describes a 
  62.     particular PHB called expedited forwarding (EF). The EF PHB can 
  63.     be used to build a low loss, low latency, low jitter, assured 
  64.     bandwidth, end-to-end service through DS domains.  Such a service 
  65.     appears to the endpoints like a point-to-point connection or a 
  66.     ævirtual leased lineÆ.  This service has also been described as 
  67.     Premium service [2BIT]. 
  68.  
  69.     Loss, latency and jitter are all due to the queues traffic 
  70.     experiences while transiting the network.  Therefore providing 
  71.     low loss, latency and jitter for some traffic aggregate means 
  72.     ensuring that the aggregate sees no (or very small) queues.  
  73.     Queues arise when (short-term) traffic arrival rate exceeds 
  74.     departure rate at some node.  Thus a service that ensures no 
  75.     queues for some aggregate is equivalent to bounding rates such 
  76.     that, at every transit node, the aggregate's maximum arrival rate 
  77.     is less than that aggregate's minimum departure rate. 
  78.  
  79.     Creating such a service has two parts:
  80.  
  81.      1)    Configuring nodes so that the aggregate has a well-defined 
  82.     minimum departure rate. (æWell-definedÆ means independent of the 
  83.     dynamic state of the node.  In particular, independent of the 
  84.     intensity of other traffic at the node.)
  85.  
  86.      2)    Conditioning the aggregate (via policing and shaping) so that its 
  87.     arrival rate at any node is always less than that node's 
  88.     configured minimum departure rate.
  89.  
  90.     The EF PHB provides the first part of the service.  The network 
  91.     boundary traffic conditioners described in [RFC2475] provide the 
  92.     second part.
  93.  
  94.     The EF PHB is not a mandatory part of the Differentiated Services 
  95.     architecture, i.e., a node is not required to implement the EF 
  96.     PHB in order to be considered DS-compliant.  However, when a DS-
  97.     compliant node claims to implement the EF PHB, the implementation 
  98.     must conform to the specification given in this document.
  99.  
  100.     The next sections describe the EF PHB in detail and give examples 
  101.     of how it might be implemented.  The keywords æMUSTÆ, æMUST NOTÆ, 
  102.     æREQUIREDÆ, æSHOULDÆ, æSHOULD NOTÆ, and æMAYÆ that appear in this 
  103.     document are to be interpreted as described in [Bradner97].
  104.  
  105. 2. Description of EF per-hop behavior
  106.  
  107.     The EF PHB is defined as a forwarding treatment for a particular 
  108.     diffserv aggregate where the departure rate of the aggregate's 
  109.     packets from any diffserv node must equal or exceed a 
  110.     configurable rate.  The EF traffic SHOULD receive this rate 
  111.     independent of the intensity of any other traffic attempting to 
  112.     transit the node.  It SHOULD average at least the configured rate 
  113.     when measured over any time interval equal to or longer than the 
  114.     time it takes to send an output link MTU sized packet at the 
  115.     configured rate.  (Behavior at time scales shorter than a packet 
  116.     time at the configured rate is deliberately not specified.) The 
  117.     configured minimum rate MUST be settable by a network 
  118.     administrator (using whatever mechanism the node supports for 
  119.     non-volatile configuration).
  120.  
  121.     If the EF PHB is implemented by a mechanism that allows unlimited 
  122.     preemption of other traffic (e.g., a priority queue), the 
  123.     implementation MUST include some means to limit the damage EF 
  124.     traffic could inflict on other traffic (e.g., a token bucket rate 
  125.     limiter). Traffic that exceeds this limit MUST be discarded. This 
  126.     maximum EF rate, and burst size if appropriate, MUST be settable 
  127.     by a network administrator (using whatever mechanism the node 
  128.     supports for non-volatile configuration). The minimum and maximum 
  129.     rates may be the same and configured by a single parameter.
  130.  
  131.     The Appendix describes how this PHB can be used to construct end-
  132.     to-end services.
  133.  
  134. 2.2 Example Mechanisms to Implement the EF PHB
  135.  
  136.     Several types of queue scheduling mechanisms may be employed to 
  137.     deliver the forwarding behavior described in section 2.1 and thus 
  138.     implement the EF PHB. A simple priority queue will give the 
  139.     appropriate behavior as long as there is no higher priority queue 
  140.     that could preempt the EF for more than a packet time at the 
  141.     configured rate.  (This could be accomplished by having a rate 
  142.     policer such as a token bucket associated with each priority 
  143.     queue to bound how much the queue can starve other traffic.)
  144.  
  145.     It's also possible to use a single queue in a group of queues 
  146.     serviced by a weighted round robin scheduler where the share of 
  147.     the output bandwidth assigned to the EF queue is equal to the 
  148.     configured rate.  This could be implemented, for example, using 
  149.     one PHB of a Class Selector Compliant set of PHBs [RFC2474].
  150.  
  151.     Another possible implementation is a CBQ [CBQ] scheduler that 
  152.     gives the EF queue priority up to the configured rate.
  153.  
  154.     All of these mechanisms have the basic properties required for 
  155.     the EF PHB though different choices result in different ancillary 
  156.     behavior such as jitter seen by individual microflows. See 
  157.     Appendix A.3 for simulations that quantify some of these differences.
  158.  
  159. 2.3 Recommended codepoint for this PHB
  160.  
  161.     Codepoint 101110 is recommended for the EF PHB.
  162.  
  163. 2.4 Mutability
  164.  
  165.     Packets marked for EF PHB MAY be remarked at a DS domain boundary 
  166.     only to other codepoints that satisfy the EF PHB.  Packets marked 
  167.     for EF PHBs SHOULD NOT be demoted or promoted to another PHB by a 
  168.     DS domain. 
  169.  
  170. 2.5 Tunneling
  171.  
  172.     When EF packets are tunneled, the tunneling packets must be 
  173.     marked as EF.
  174.  
  175. 2.6 Interaction with other PHBs
  176.  
  177.     Other PHBs and PHB groups may be deployed in the same DS node or 
  178.     domain with the EF PHB as long as the requirement of section 2.1 
  179.     is met.
  180.  
  181. 3. Security Considerations
  182.  
  183.     To protect itself against denial of service attacks, the edge of 
  184.     a DS domain MUST strictly police all EF marked packets to a rate 
  185.     negotiated with the adjacent upstream domain.  (This rate must be 
  186.     <= the EF PHB configured rate.)  Packets in excess of the 
  187.     negotiated rate MUST be dropped.  If two adjacent domains have 
  188.     not negotiated an EF rate, the downstream domain MUST use 0 as 
  189.     the rate (i.e., drop all EF marked packets).
  190.  
  191.     Since the end-to-end premium service constructed from the EF PHB 
  192.     requires that the upstream domain police and shape EF marked 
  193.     traffic to meet the rate negotiated with the downstream domain, 
  194.     the downstream domain's policer should never have to drop 
  195.     packets.  Thus these drops SHOULD be noted (e.g., via SNMP traps) 
  196.     as possible security violations or serious misconfiguration.  
  197.     Similarly, since the aggregate EF traffic rate is constrained at 
  198.     every interior node, the EF queue should never overflow so if it 
  199.     does the drops SHOULD be noted as possible attacks or serious 
  200.     misconfiguration.
  201.  
  202. 4. References
  203.  
  204.     [Bradner97] S. Bradner, æKey words for use in RFCs to Indicate 
  205.     Requirement LevelsÆ, Internet RFC 2119, March 1997.
  206.  
  207.     [RFC2474] K. Nichols, S. Blake, F. Baker, and D. Black, 
  208.     æDefinition of the Differentiated Services Field (DS Field) in 
  209.     the IPv4 and IPv6 HeadersÆ, Internet RFC 2474, December 1998.
  210.  
  211.     [RFC2475] D. Black, S. Blake, M. Carlson, E. Davies, Z. Wang, and 
  212.     W. Weiss, æAn Architecture for Differentiated ServicesÆ,   
  213.     Internet RFC 2475, December 1998.
  214.  
  215.     [2BIT] K. Nichols, V. Jacobson, and L. Zhang, æA Two-bit 
  216.     Differentiated Services Architecture for the InternetÆ, Internet 
  217.     Draft <draft-nichols-diff-svc-arch-00.txt>, November 1997, 
  218.     ftp://ftp.ee.lbl.gov/papers/dsarch.pdf
  219.  
  220.     [CBQ] S. Floyd and V. Jacobson, æLink-sharing and Resource 
  221.     Management Models for Packet NetworksÆ, IEEE/ACM Transactions on 
  222.     Networking, Vol. 3 no. 4, pp. 365-386, August 1995.
  223.  
  224.     [RFC2415] K. Poduri and K. Nichols, æSimulation Studies of 
  225.     Increased Initial TCP Window SizeÆ,   Internet RFC 2415, 
  226.     September 1998.
  227.  
  228.     [LCN] K. Nichols, æImproving Network Simulation with 
  229.     FeedbackÆ, Proceedings of LCN '98, October, 1998
  230.  
  231. 5. Authors' Addresses
  232.  
  233.     Van Jacobson
  234.     Cisco Systems, Inc
  235.     170 W. Tasman Drive
  236.     San Jose, CA 95134-1706
  237.     van@cisco.com
  238.  
  239.     Kathleen Nichols
  240.     Cisco Systems, Inc
  241.     170 W. Tasman Drive
  242.     San Jose, CA 95134-1706
  243.     kmn@cisco.com
  244.  
  245.     Kedarnath Poduri
  246.     Bay Networks, Inc.
  247.     4401 Great America Parkway
  248.     Santa Clara, CA 95052-8185
  249.     kpoduri@baynetworks.com
  250.  
  251. Appendix A: Example use of and experiences with the EF PHB
  252.  
  253. A.1 Virtual Leased Line Service
  254.  
  255.     A VLL Service, also known as Premium service [2BIT], is 
  256.     quantified by a peak bandwidth. 
  257.  
  258. A.2 Experiences with its use in ESNET
  259.  
  260.     A prototype of the VLL service has been deployed on DOE's ESNet 
  261.     backbone.  This uses weighted-round-robin queuing features of 
  262.     Cisco 75xx series routers to implement the EF PHB. The early 
  263.     tests have been very successful and work is in progress to make 
  264.     the service available on a routine production basis (see 
  265.     ftp://ftp.ee.lbl.gov/talks/vj-doeqos.pdf and 
  266.     ftp://ftp.ee.lbl.gov/talks/vj-i2qos-may98.pdf for details). 
  267.  
  268. A.3 Simulation Results
  269.  
  270. A.3.1 Jitter variation
  271.  
  272.     In section 2.2, we pointed out that a number of mechanisms might 
  273.     be used to implement the EF PHB. The simplest of these is a 
  274.     priority queue (PQ) where the arrival rate of the queue is 
  275.     strictly less than its service rate. As jitter comes from the 
  276.     queuing delay along the path, a feature of this implementation is 
  277.     that EF-marked microflows will see very little jitter at their 
  278.     subscribed rate since packets spend little time in queues. The EF 
  279.     PHB does not have an explicit jitter requirement but it is clear 
  280.     from the definition that the expected jitter in a packet stream 
  281.     that uses a service based on the EF PHB will be less with PQ than 
  282.     with best-effort delivery. We used simulation to explore how 
  283.     weighted round-robin (WRR) compares to PQ in jitter. We chose 
  284.     these two since theyÆre the best and worst cases, respectively, 
  285.     for jitter and we wanted to supply rough guidelines for EF 
  286.     implementers choosing to use WRR or similar mechanisms. 
  287.  
  288.     Our simulation model is implemented in a modified ns-2 described 
  289.     in [RFC2415] and [LCN]. We used the CBQ modules included with ns-
  290.     2 as a basis to implement priority queuing and WRR. Our topology 
  291.     has six hops with decreasing bandwidth in the direction of a 
  292.     single 1.5 Mbps bottleneck link (see figure 6). Sources produce 
  293.     EF-marked packets at an average bit rate equal to their 
  294.     subscribed packet rate. Packets are produced with a variation of 
  295.     +-10% from the interpacket spacing at the subscribed packet rate. 
  296.     The individual source rates were picked aggregate to 30% of the 
  297.     bottleneck link or 450 Kbps. A mixture of FTPs and HTTPs is then 
  298.     used to fill the link. Individual EF packet sources produce 
  299.     either all 160 byte packets or all 1500 byte packets. Though we 
  300.     present the statistics of flows with one size of packet, all of 
  301.     the experiments used a mixture of short and long packet EF 
  302.     sources so the EF queues had a mix of both packet lengths.
  303.  
  304.     We defined jitter as the absolute value of the difference between 
  305.     the arrival times of two adjacent packets minus their departure 
  306.     times, |(aj-dj) - (ai-di)|. For the target flow of each 
  307.     experiment, we record the median and 90th percentile values of 
  308.     jitter (expressed as % of the subscribed EF rate) in a table. The 
  309.     pdf version of this document contains graphs of the jitter 
  310.     percentiles.
  311.  
  312.     Our experiments compared the jitter of WRR and PQ implementations 
  313.     of the EF PHB. We assessed the effect of different choices of WRR 
  314.     queue weight and number of queues on jitter. For WRR, we define 
  315.     the service-to-arrival rate ratio as the service rate of the EF 
  316.     queue (or the queueÆs minimum share of the output link) times the 
  317.     output link bandwidth divided by the peak arrival rate of EF-
  318.     marked packets at the queue. Results will not be stable if the 
  319.     WRR weight is chosen to exactly balance arrival and departure 
  320.     rates thus we used a minimum service-to-arrival ratio of 1.03. In 
  321.     our simulations this means that the EF queue gets at least 31% of 
  322.     the output links. In WRR simulations we kept the link full with 
  323.     other traffic as described above, splitting the non-EF-marked 
  324.     traffic among the non-EF queues. (It should be clear from the 
  325.     experiment description that we are attempting to induce worst-
  326.     case jitter and do not expect these settings or traffic to 
  327.     represent a ænormalÆ operating point.)
  328.      
  329.     Our first set of experiments uses the minimal service-to-arrival 
  330.     ratio of 1.06 and we vary the number of individual microflows 
  331.     composing the EF aggregate from 2 to 36. We compare these to a PQ 
  332.     implementation with 24 flows. First, we examine a microflow at a 
  333.     subscribed rate of 56 Kbps sending 1500 byte packets, then one at 
  334.     the same rate but sending 160 byte packets. Table 1 shows the 
  335.     50th and 90th percentile jitter in percent of a packet time at the 
  336.     subscribed rate. Figure 1 plots the 1500 byte flows and figure 2 
  337.     the 160 byte flows.  Note that a packet-time for a 1500 byte 
  338.     packet at 56 Kbps is 214 ms, for a 160 byte packet 23 ms. The 
  339.     jitter for the large packets rarely exceeds half a subscribed 
  340.     rate packet-time, though most jitters for the small packets are 
  341.     at least one subscribed rate packet-time. Keep in mind that the 
  342.     EF aggregate is a mixture of small and large packets in all cases 
  343.     so short packets can wait for long packets in the EF queue. PQ 
  344.     gives a very low jitter.
  345.  
  346.     Table 1: Variation in jitter with number of EF flows:
  347.     Service/arrival ratio of 1.06 and subscription rate of 56 Kbps
  348.     (all values given as % of subscribed rate)
  349.  
  350.             1500 byte pack.    160 byte packet
  351.         # EF flows    50th %  90th %    50th %  90th %
  352.          PQ (24)     1     5     17     43
  353.         2    11    47     96    513
  354.         4    12    35    100    278
  355.         8    10    25     96    126
  356.         24    18    47     96    143
  357.  
  358.     Next we look at the effects of increasing the service-to-arrival 
  359.     ratio. This means that EF packets should remain enqueued for less 
  360.     time though the bandwidth available to the other queues remains 
  361.     the same. In this set of experiments the number of flows in the 
  362.     EF aggregate was fixed at eight and the total number of queues at 
  363.     five (four non-EF queues). Table 2 shows the results for 1500 and 
  364.     160 byte flows. Figures 3 plots the 1500 byte results and figure 
  365.     4 the 160 byte results. Performance gains leveled off at service-
  366.     to-arrival ratios of 1.5. Note that the higher service-to-arrival 
  367.     ratios do not give the same performance as PQ, but now 90% of 
  368.     packets experience less than a subscribed packet-time of jitter 
  369.     even for the small packets.
  370.  
  371.     Table 2: Variation in Jitter of EF flows: service/arrival ratio varies, 
  372.     8 flow aggregate, 56 Kbps subscribed rate
  373.  
  374.         WRR    1500 byte pack.    160 byte packet
  375.         Ser/Arr    50th %    90th %    50th %    90th %
  376.          PQ     1     3     17     43
  377.         1.03    14    27    100    178
  378.         1.30     7    21     65    113
  379.         1.50     5    13     57    104
  380.         1.70     5    13     57    100
  381.         2.00     5    13     57    104
  382.         3.00     5    13     57    100    
  383.  
  384.     Increasing the number of queues at the output interfaces can lead 
  385.     to more variability in the service time for EF packets so we 
  386.     carried out an experiment varying the number of queues at each 
  387.     output port. We fixed the number of flows in the aggregate to 
  388.     eight and used the minimal 1.03 service-to-arrival ratio. Results 
  389.     are shown in figure 5 and table 3.  Figure 5 includes PQ with 8 
  390.     flows as a baseline.
  391.      
  392.     Table 3: Variation in Jitter with Number of Queues at Output Interface:
  393.     Service-to-arrival ratio is 1.03, 8 flow aggregate
  394.  
  395.         # EF    1500 byte packet
  396.         flows    50th %    90th %
  397.         PQ (8)     1     3
  398.           2     7    21
  399.           4     7    21
  400.           6     8    22
  401.           8    10    23
  402.  
  403.     It appears that most jitter for WRR is low and can be reduced by 
  404.     a proper choice of the EF queue's WRR share of the output link 
  405.     with respect to its subscribed rate.  As noted, WRR is a worst 
  406.     case while PQ is the best case. Other possibilities include WFQ 
  407.     or CBQ with a fixed rate limit for the EF queue but giving it 
  408.     priority over other queues. We expect the latter to have 
  409.     performance nearly identical with PQ though future simulations 
  410.     are needed to verify this. We have not yet systematically 
  411.     explored effects of hop count, EF allocations other than 30% of 
  412.     the link bandwidth, or more complex topologies. The information 
  413.     in this section is not part of the EF PHB definition but provided 
  414.     simply as background to guide implementers.
  415.  
  416.  
  417. A.3.2 VLL service
  418.  
  419.     We used simulation to see how well a VLL service built from the 
  420.     EF PHB behaved, that is, does it look like a `leased line' at the 
  421.     subscribed rate. In the simulations of the last section, none of 
  422.     the EF packets were dropped in the network and the target rate 
  423.     was always achieved for those CBR sources. However, we wanted to 
  424.     see if VLL really looks like a `wire' to a TCP using it. So we 
  425.     simulated long-lived FTPs using a VLL service. Table 4 gives the 
  426.     percentage of each link allocated to EF traffic (bandwidths are 
  427.     lower on the links with fewer EF microflows), the subscribed VLL 
  428.     rate, the average rate for the same type of sender-receiver pair 
  429.     connected by a full duplex dedicated link at the subscribed rate 
  430.     and the average of the VLL flows for each simulation (all sender-
  431.     receiver pairs had the same value). Losses only occur when the 
  432.     input shaping buffer overflows but not in the network. The target 
  433.     rate is not achieved due to the well-known TCP behavior.
  434.  
  435.     Table 4: Performance of FTPs using a VLL service
  436.  
  437.         % link       Average delivered rate (Kbps)
  438.         to EF    Subscribed    Dedicated    VLL
  439.         20    100        90        90
  440.         40    150        143        143
  441.         60    225        213        215