Internet Engineering Task Force Steve Silverman INTERNET DRAFT Houston Associates Expires: Aug. 2003 February 2003 Dan Sullivan Houston Associates Mike Pierce Artel Don Choi Defense Information Systems Agency draft-silverman-diffserv-mlefphb-00.txt Multi-Level Expedited Forwarding Per Hop Behavior (MLEF PHB) 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. Abstract Some networks require certain connections to have greater priority than others. This draft defines a new PHB (Per Hop Behavior), the Multi-Level Expedited Forwarding (MLEF) (patent pending) PHB. The standard Expedited Forwarding PHB (RFC3246) defines a PHB for applications requiring low latency. This document extends that concept and defines a PHB with multiple priority levels for applications requiring low latency. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and Silverman Expires - Aug. 2003 [Page 1] Internet-Draft Multi-Level Expedited Forwarding PHB Feb. 2003 "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [ ]. Table of Contents 1 INTRODUCTION 2 1.1 Background 3 2 Applicability 3 2.1 Scope 3 3 Overview 3 4 Packet Processing 4 5 Security Considerations 4 6 References 4 7 Author's Addresses 5 8 ISSUES 5 8.1 Name 5 8.2 Byte vs. Packet count 5 8.3 Maximum Packet Size 6 9 Appendix - Examples 6 9.1 Sample Procedure 6 9.2 Sample Configuration for Emergency Services 7 9.3 Sample Configuration for MLPP 7 1 INTRODUCTION This draft defines an experimental Per Hop Behavior (PHB) to support the Multi-Level Precedence & Preemption function (MLPP) which is required by the U.S. Department of Defense and various other government organizations in both the US and other countries. This draft is an extension of RFC 3246. RFC 3246 requires that packets be dropped if in excess of the "negotiated rate". This draft extends the EF PHB and describes a dropping algorithm based on multiple Differentiated Services Code Points (DSCPs) values by providing different amounts of buffering for different DSCPs. 1.1 Background Military networks are often unable to provision all of the bandwidth that their users need. The widespread use of mobile platforms (limiting the use of fiber optic trunks), the need to avoid detection, and the exposure to unexpected loss of resources aggravate this problem. A partial solution to this problem is the Multi-Level Precedence & Preemption function (MLPP). This assigns priority to certain users. If there is congestion in the voice network, higher priority calls get precedence for various resources relative to lower priority users. In certain private networks, some users may be preempted by higher priority users. This function is intended for use in those private networks that require this function. THIS DOES NOT INCLUDE PREEMPTION IN THE PUBLIC NETWORK. In the traditional Circuit-Switched telephone networks, this function has been supported for forty years. Silverman Expires - July 2003 [Page 2] Internet-Draft Multi-Level Expedited Forwarding PHB Feb. 2003 2 Applicability This PHB will be experimental and optional and is expected to be deployed only on certain private networks. 2.1 Scope This draft defines the Per Hop Behavior (PHB) to support multiple priority levels in Expedited Forwarding. It does not define the signaling required to establish the priority connections, the accounting that might be required, or security issues that should be addressed in conjunction with the use of this PHB. 3 Overview Expedited Forwarding [RFC3246] limited the buffer queue of an output port to a size that would not introduce significant delay into a hop by monitoring the queue occupancy and admitting new packets to the queue only if the buffer occupancy was below a configured threshold. This resulted in dropping of packets that were in excess of the configured capacity. MLEF extends this by making the thresholds for dropping packets a function of class, which is based on priority level. The buffer size, the Differentiated Services Code Points (DSCPs) for each class, and the per class thresholds may be configured for each router supporting this option. Draft-pierce-ieprep-pref-treat-examples-00 describes how this Multi-level packet dropping procedure replaces the need for actual preemption. 4 Packet Processing A configuration/initialization procedure would calculate the maximum count in the buffer for each traffic class. (MaxClassCnt(i) ). This is the maximum buffer percentage times the buffer size. A maximum packet size should be specified as part of configuration. As each packet is received, any packet larger than that maximum should be dropped. The current Buffer Occupancy Count (BOC), expressed as a number of packets, is then checked against the threshold limit for the Class (MaxClassCnt) and, if the BOC is less than the limit, the packet is enqueued on the MLEF output queue. If the BOC is greater than or equal to this limit, the packet is discarded. All processing for this could be done at the byte level rather than the packet level. The process has been described dealing with packets because at this time we believe that this will simplify the processing and minimize the calculation load. If subsequent analysis shows that working with byte counts is more efficient, that approach would be equivalent to the packet approach. Such an implementation would have no impact on Silverman Expires - Aug. 2003 [Page 3] Internet-Draft Multi-Level Expedited Forwarding PHB Feb. 2003 interoperability since this process affects which packets are forwarded but does not change any packets. 5 Security Considerations This document addresses a way to provide multiple priority levels to sessions that require Expedited Forwarding. Since the network can not provide special service to all users, some form of security is required so that only authorized users can invoke these services. 6 References 1 Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 2 Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. 3 Davie, B., "An Expedited Forwarding PHB (Per-Hop Behavior)" RFC3246 4 Draft-pierce-ieprep-pref-treat-examples-00 7 Author's Addresses Steve Silverman Houston Associates Inc. 4601 N. Fairfax Drive, Arlington, VA 22203> Phone: 540 631-0711 Email: Dan Sullivan Houston Associates Inc. 4601 N. Fairfax Drive, Arlington, VA 22203> Phone:703 284-8837 Email: dsullivan@hai.com Michael Pierce Artel 1893 Preston White Drive Reston, VA 20191 Phone: +1 410.817.4795 Email: pierce1m@ncr.disa.mil Don Choi DISA 5600 Columbia Pike Falls Church, VA 22041-2717 Phone: +1 703.681.2312 Email: choid@ncr.disa.mil Silverman Expires - Aug. 2003 [Page 4] Internet-Draft Multi-Level Expedited Forwarding PHB Feb. 2003 8 ISSUES Questions to be addressed before this is submitted. 8.1 Name MLPP or Assured Services ?? 8.2 Byte vs. Packet count Byte work would be much more cumbersome to execute or code. That's why we originally did it as packet count. 8.3 Maximum Packet Size This is a sensitive issue but we think it is key to making this work. Large packets will trample voice. If we want to make something usable, we have to explain the realities and let whoever is in charge decide what they want to do. It is not a minor tweak of the protocol. Fragmentation and limited packet size are necessary to support voice over low bandwidth (E1 and under) lines. It should be noted that this is not an issue particular to MLEF. It is fundamental to voice traffic over any protocol that does not fragment large packets. 9 Appendix - Examples 9.1 Sample Procedure The following is one possible way to implement the function described above. Variables N = number of classes in the system. One DSCP per class i is the index for the traffic classes. It may take the value from 1 to N. MaxPacketSize: the maximum packet size for a packet using this behavior MaxPacketCnt: Number of packets buffered in this router for a port for the MLEF PHB. Output bandwidth rate times .75 (leaving something for router control) * the maximum time that can be added to a packet and still have it useful for voice (50 ms) / bits/pkt. This assumes several routers are in the call path. BP(i) For each class, the buffer percentage that can be used (range [0 - 1]) MaxClassCnt(i) For each class, = MaxPacketCnt * BP(i) rounded up to an integer BOC Buffer Occupancy Count The number of MLEF packets in the buffer. Procedures: Initial procedure: Calculate PC(i) For each incoming packet: If pkt size > MaxPacketSize either discard packet or move to best effort queue If BOC >= PC(i) discard packet If BOC < PC(i) then enqueue packet and increment BOC End Silverman Expires - Aug. 2003 [Page 5] Internet-Draft Multi-Level Expedited Forwarding PHB Feb. 2003 Outgoing Packet For each packet to be transmitted, dequeue packet, transmit, decrement BOC End 9.2 Sample Configuration for MLPP This is an example of how the PHB could be used to support the DOD requirement for MLPP. It defines 5 classes of traffic. The calculation is for a T1, 1.54 Mb/s. The 200 byte packet size assumes G.711, and 20 ms samples. Number levels 5 Max Size pkt 200 Number pkts 36 DSCP Name Buffer % pkts Rounded 42 Flash O 100 36 36 43 Flash 0.85 30.6 31 44 Immediate 0.7 25.2 26 45 Priority 0.6 21.6 22 46 Routine 0.5 18 18 Multi-Level Expedited Forwarding (MLEF PHB) February 2003 Silverman Expires - Aug. 2003 [Page 5]