Internet Draft R. Cohen Expires: September 2000 A. Zavalkovsky draft-ronc-domain-phb-set-specification-00.txt N. Elfassy Cisco Systems March 2000 Domain Per Hop Behavior Set Specification Abstract This memo introduces the concept of Domain PHB sets. A Domain PHB set allow the network administrator to control and tune PHB parameters within its DS domain in an abstract form. Derivation of specific configuration parameters from the Domain PHB set is included as well. 1. Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of section 10 of RFC2026. 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. To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). 2. Introduction IETF Differential Service WG has standardized the EF PHB and AF PHB Group. Within a DS Domain, the network administrator needs to choose the set of standard and private PHBs he/she intends to use, and tune their parameters. As all PHBs provisioned on the domain need to share bandwidth and buffer resources in each hop, tuning should be Expiration: September 2000 [Page 1] Draft Domain PHB Set Specification March 2000 made on the PHB set selected for the domain, and not individually per each PHB. This memo describes an abstract representation of the set of PHBs and a minimal set of parameters for their tuning. The intention is to provide tuning parameters that do not depend on particular mechanisms of individual queues implemented on each device. A standard definition of a PHB set is a mean for interoperability between different devices and vendors. 3. PHB set specification 3.1 Specification Terminology used in this memo is taken from [DSARCH] and [NEWTERMS]. The PHB Set specification is organized as a table of entries. Each entry contains parameters for a single PHB. Following parameters are defined per PHB: - Name: An identifying name for the PHB. Examples include EF, Mission Critical, AF12, etc. - DSCP: A PHB selector. Each PHB must have a distinct DSCP value. - Scheduling Class: A number identifying all PHBs that belong to the same scheduling class. Order of packets must be preserved for all PHB with the same scheduling class. - Default Class: A Boolean flag that must be set on one and only one of the PHB entries. This specifies the default PHB provided to flows with an unspecified PHB selector. The flag is set by default for Best Effort PHB. - Immediate Forwarding: A Boolean flag that specifies whether immediate forwarding of packets belonging to this PHB is required. This flag is set in EF PHB. - Reserved Bandwidth: Bandwidth in Kb/sec reserved for the behavior aggregate. For PHBs that do not require immediate forwarding, the reserved bandwidth value determines the minimal bandwidth reserved for this service. In immediate forwarding PHBs, the reserved bandwidth indicates the Maximal bandwidth allowed for this behavior aggregate. This limiting bandwidth is required in order not to starve other behavior aggregates. All PHBs with the same scheduling class share the same reserved bandwidth value. - Forwarding Factor: A percentage of the scheduling resources consumed by the behavior aggregate. This is an alternative representation of the reserved bandwidth field. It allows the network administrator to manage its scheduling resources without knowledge of the particular link speeds. Within a domain PHB set, a mixed assignment of forwarding factors to some scheduling classes and reserved bandwidth Expiration: September 2000 [Page 2] Draft Domain PHB Set Specification March 2000 to others classes is allowed. - Reserved Packets: Number of packets reserved in queue prior to discard. Large values allows sustain of bursts. Within a scheduling class, this parameter specifies the relative drop precedence of PHBs. For example, within the AF PHB group, the total number of packets reserved for A1x is assigned to A11, while smaller numbers of packets are reserved for the A12 and A13 PHBs respectively. - Buffer Factor: A percentage of the buffer resources kept for this behavior aggregate. This is an alternative representation of the Reserved Packets field. It allows the network administrator to manage its buffer resources without knowledge of the particular queue lengths. In order to translate the buffer factor field into Actual Reserved Packet field, a global parameter specifying the total buffer space should be used. The sum of buffer factors assigned to the scheduling classes is 100%. Within each scheduling class, the buffer factor specifies the relative drop precedence of the PHBs. - Traffic type: A flag that specifies whether the traffic of this behavior aggregate is elastic or not. Most TCP traffic is elastic, as it can adapt to the available network resources. RED discard mechanism is useful for elastic PHBs. An example for non-elastic traffic is UDP traffic carrying Voice. For this type of traffic, RED does not provide any benefit. - Packet Size: A parameter that describes the typical packet size in bytes of traffic of this behavior aggregate. This parameter is used when there is a need to arrive at a byte count representation of reserved packets field. For some schedulers a drain-size parameter is required per queue. Drain size determines the number of bytes a scheduler fetches from each queue in each cycle. The ratio between drain-sizes is determined by either the ratio between the reserved bandwidth field or the ratio between the forwarding factors. Drain-size absolute values per queue should approximate a multiple of a typical packet size and not be smaller than one packet size of the PHB the queue serves. - Max Per Hop Delay: A parameter that describes the maximal delay in msecs before a packet of this behavior aggregate is forwarded. This parameter is relevant mostly to immediate forwarding PHBs. On slow speed interfaces, this parameter allows to calculate whether fragmentation and interleave of packets is required. Examples of such mechanisms include MPPP or Frame-Relay FRF-12 LFI. The fragment size (fs) is determined according to the following formula: fs = max-phop-delay/link-speed. If fs is larger than link MTU, fragmentation and interleave is not required. Expiration: September 2000 [Page 3] Draft Domain PHB Set Specification March 2000 3.2 Example: PHB set with AF and EF PHBs In this example the network administrator wishes to provide QoS for different applications. The primary applications he/she considers are Voice-over-IP and Mission Critical applications. The user decides to use the EF PHB to answer the tight delay and jitter requirements of VOIP traffic, and provide 'better than best effort' PHB to the mission critical applications. For the latter purpose, the network administrator chooses an AF-like PHB. As not all PHBs of the AF PHB groups were required, only a single AF class, AF1x is used, using only AF11 and AF12. +----------------+--------+--------+--------+--------+ | Name | BE | AF11 | AF12 | EF | +----------------+--------+--------+--------+--------+ | DSCP | 0 | 10 | 12 | 46 | +----------------+--------+--------+--------+--------+ | Scheduling | 0 | 1 | 1 | 2 | | Class | | | | | +----------------+--------+--------+--------+--------+ | Default |default | | | | +----------------+--------+--------+--------+--------+ | Immediate | | | |Immediat| +----------------+--------+--------+--------+--------+ | Reserved | 64Kb/s |512Kb/s | ----- |512Kb/s | | Bandwidth | | | | | +----------------+--------+--------+--------+--------+ | Forwarding | | | | | | Factor | | | | | +----------------+--------+--------+--------+--------+ | Reserved | | | | | | Packets | | | | | +----------------+--------+--------+--------+--------+ | Buffer | 30% | 60% | 30% | 10% | | Factor | | | | | +----------------+--------+--------+--------+--------+ | Packet Size | 1500 | 1500 | 1500 | 200 | +----------------+--------+--------+--------+--------+ | Traffic Type |elastic |elastic |elastic |non-elas| +----------------+--------+--------+--------+--------+ | Per Hop Delay | -- | -- | -- | 20msec | +----------------+--------+--------+--------+--------+ The network administrator in this example chose to specify the reserved bandwidth. On specific interfaces within the system the forwarding factor can be calculated. The AF12 PHB reserved bandwidth is equal to the AF11 specification. He/she chose to partition the buffer space using the buffer factor parameter. Translation to reserved packet in queue can be done on specific interface according to the total buffer space on this interface. The buffer factor of AF12 is smaller than the buffer factor of AF12, reflecting the higher drop precedence. Expiration: September 2000 [Page 4] Draft Domain PHB Set Specification March 2000 4. Mapping a PHB Set to device configuration The PHB set specification allows automatic construction of set of specific device configuration parameters. Current work within the Differential Service WG offers several alternatives to model PHB configuration on devices [DMIB, PIB]. In each model, the required configuration of queues and actions can be derived from the PHB set specification. One can construct queue configurations in each of the models that can not be derived from a PHB set. We believe that the PHB set specification should model only viable PHBs, in a relatively simple way. For example, some queue models allow for multiple scheduling priority levels. As the need of more than two levels of priority is yet to be proven to lead to meaningful PHBs, we chose to provide only one priority level denoted by the intermediate forwarding flag. Here we provide an example of how queue and actions define in [DMIB] can be configured. We refer to [DMIB] for detailed explanations of each of the fields. Queues are modeled as a set of independent FIFO queues, each with the following parameters: DiffServQueueEntry ::= SEQUENCE { diffServQueueNumber INTEGER, diffServQueueMinimumRate Unsigned32, diffServQueueMaximumRate Unsigned32, diffServQueuePriority Unsigned32, diffServQueueNextTCB RowPointer, diffServQueueStatus RowStatus } The example PHB set defined above can be mapped to: +-----------------------+-------+------+-------+ | Name | BE | AF | EF | +-----------------------+-------+------+-------+ | DServQueueNumber | 1 | 2 | 3 | +-----------------------+-------+------+-------+ | DServQueueMinimumRate | 64 | 512 | -- | +-----------------------+-------+------+-------+ | DservQueueMaximumRate | -- | -- | 512 | +-----------------------+-------+------+-------+ | DServQueuePriority | 0 | 0 | 1 | +-----------------------+-------+------+-------+ | DServQueueNextTCB | NULL | NULL | NULL | +-----------------------+-------+------+-------+ In order to get full PHB configuration within the model introduced in [DMIB], the action entry configuration should be specified as well. The actions are modeled using: Expiration: September 2000 [Page 5] Draft Domain PHB Set Specification March 2000 DiffServActionEntry ::= SEQUENCE { diffServActionNumber INTEGER, diffServActionNext RowPointer, diffServActionDSCP Dscp, diffServActionMinThreshold Unsigned32, diffServActionMaxThreshold Unsigned32, diffServActionDropPolicy INTEGER, diffServActionStatus RowStatus } We have omitted the statistic counters. The example PHB set provided above is mapped to the following: +-----------------------+-------+------+------+------+ | DservActionNumber | 1 | 2 | 3 | 4 | +-----------------------+-------+------+------+------+ | DservActionNext |queue1 |queue2|queue2|queue3| +-----------------------+-------+------+------+------+ | DServActionDSCP | BE | AF11 | AF12 | EF | +-----------------------+-------+------+------+------+ | DservActionMinThreshold 2pckts|4pckts|2pckts|2pckts| +-----------------------+-------+------+------+------+ | DservActionMaxThreshold 6pckts|12pckt|6pckts|2pckts| +-----------------------+-------+------+------+------+ | DservActionDropPolicy |random |random|random| tail | +-----------------------+-------+------+------+------+ We assume here that the total-packet-in-queue parameter is set to 20 packets. The buffer factor percentages determine the max thresholds. The minimum thresholds are not determined by the PHB set specification. We believe that RED minimal thresholds can be determined automatically either according to best practice by automatically adjusting to network behavior. For RED thresholds, we have set the min threshold to be 1/3 of the max threshold. Fragmentation and interleave are not modeled within [DMIB]. Some links may not be able to admit the reserved bandwidth required for eachof the scheduling classes. The provisioning system used should detect these links and report back an admission error. Some devices may not be able to implement this PHB set, either because not enough queues are available, or because the scheduler can not provide preemptive scheduling. The provisioning system used should detect those deficient devices and report back an error. In order to provide best approximate PHB configuration that can be implemented on a deficient device, additional information should be specified in the PHB set. For example, if only 2 queues are available on the device, the PHB set should specify whether AF and BE should be mapped to the same queue, or whether EF and AF should. Heuristics and additional information required for mapping PHB sets to deficient devices are outside of the scope of this document. Expiration: September 2000 [Page 6] Draft Domain PHB Set Specification March 2000 5. Acknowledgments 6. Security Considerations Management of PHBs within a DS Domain requires adequate security measures. These measures are outside the scope of this memo and should be covered in the appropriate protocols used for provisioning the network. 7. Intellectual Property Considerations Cisco may have IPR on material contained in this draft. Upon approval by the IESG of the relevant Internet standards track specification and if any patents issue to Cisco or its subsidiaries with claims that are necessary for practicing this standard, any party will be able to obtain the right to implement, use and distribute the technology or works when implementing, using or distributing technology based upon the specific specification(s) under openly specified, reasonable, non- discriminatory terms. 8. Reference [EF] V. Jacobson, K. Nichols, K. Poduri, " An Expedited Forwarding PHB", RFC2598, September 1999 [AF] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured Forwarding PHB Group", RFC2597, September 1999 [DSARCH] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, "An Architecture for Differentiated Services", RFC2475, December 1998 [NEWTERMS] D. Grossman, "New Terminology for Diffserv", draft-ietf-diffserv-new-terms-00.txt, October 1999 [DMIB] F. Baker, "Management Information Base for the Differentiated Services Architecture", draft-ietf-diffserv-mib-00.txt, July 1999. [PIB] M. Fine, K. McCloghrie, j. Seligson, K. Chan, S. Hahn, A. Smith, "Quality of Service Policy Information Base", draft-mfine-cops-pib-01.txt, 25 September 1999 Expiration: September 2000 [Page 6] Draft Domain PHB Set Specification March 2000 9. Authors' Address Ron Cohen Cisco Systems, Inc. Phone: +972-9-9700064 4 Maskit St. Email: ronc@cisco.com Herzeliya Pituach, Israel 46766 Arthur Zavalkovsky Cisco Systems, Inc. Phone: +972-9-9700088 4 Maskit St. Email: arthurz@cisco.com Herzeliya Pituach, Israel 46766 Nitsan Elfassy Cisco Systems, Inc. Phone: +972-9-9700066 4 Maskit St. Email: nitsan@cisco.com Herzeliya Pituach, Israel 46766 Expiration: September 2000 [Page 7]