Network Working Group L. Yong Ed. Internet Draft P. L. Yang Intended status: Standards Track Huawei Expires: December, 2010 June 18, 2010 Large Flow Classification in IPv6 Protocol draft-yong-6man-large-flow-classification-00.txt Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and 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 December 18, 2010. Copyright Notice Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the BSD License. Yong et al. Expires December 18, 2010 [Page 1] Internet-Draft Large Flow Classification June 2010 Abstract Network traffic has shown the combination of few very high bit rate flows (large flow) and huge amount of very low bit flows (small flow), which causes uneven load balance over ECMP paths. Differentiating large flow and small flow packets in IP/MPLS networks enables enhanced ECMP transport. Enhanced ECMP applies different distribution methods to large flow packets and small flow packets to improve the load balance. The classification also enables an effective congestion control. This draft proposes large flow classification in IPv6 protocol for this purpose. Table of Contents 1. Introduction...................................................2 2. Conventions used in this document..............................3 2.1. Terminology 3 3. IPv6 Protocol and Traffic Classification.......................4 3.1. Large Flow Classification 5 4. Backward Compatibility.........................................6 5. Security Considerations........................................6 6. IANA Considerations............................................6 7. References.....................................................7 7.1. Normative References 7 7.2. Informative References 7 8. Acknowledgments................................................7 1. Introduction In Packet Switched Network (PSN), "differentiated service" classification enables a network to perform different treatments on service type basis. For example, different queue processing allows the packets sent to high priority queue to be transported first and the packets sent to low priority queue to be transported after. These treatments let the high priority service traffic transported with less delay and delay various compared to the low priority service traffic. Another example is in congestion control. For some "real time" traffic, it is better to drop the packets than to buffer the packets at the congestion time while for some "file download" traffic, it is better to buffer the packets and transmit later. These QoS based "differentiated service" treatments aim on for the network to meet different service requirements. Existing traffic classification scheme is to facilitate "differentiated service" treatments. Today network traffic flows are generated by many different applications. They appears with very significant bit rate Yong Expires December 19 2010 [Page 2] Internet-Draft Large Flow Classification June 2010 differences such as the flows yield by web browsing and stock ticks vs. the flows by video stream and file download. Experiments have shown that applying the same treatment to large flows and small flows in ECMP or LAG process conducts performance issue or uneven load balance over multi paths. If the network uses stateful method for flow placement over the paths, a huge amount of small flows add a big burden for device to handle. If the network uses stateless method (hashing) that works well on when there is a large amount of micro-flows, the flows with significant high bit rate will cause uneven load balance on the paths. This results a desire for ECMP or LAG process to perform different treatments on large flows and small flows. Thus, the large flow classification is necessary. This classification lets the network performing better load balance over ECMP or LAG, which improves network resource utilization and efficiency. With large flow classification, the network can have several ways to perform different treatments. Appendix A of [Flow-Based-Load- Balance] gives one example. It uses hashing for all small flow placements and uses a table for large flow placements. The simulation uses the network traffic model and has shown the significant improvement on load balance when classifying a small amount of top bit rate ranked flows as large flows. The stateful large flow placement evenly distributes large flows over the paths. Other implementations can be done as well. The large flow classification also brings benefits in congestion control, i.e. just moving some large flows can release congestion condition. IPv6 protocol contains a flow label field. [FLOW-ECMP] has specified the rule to use IPv6 flow label in ECMP operation. ECMP operation applies both IP packets and label switched packets. This draft proposes to use one bit in Traffic Class field of IPv6 protocol for large flow classification. 2. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2.1. Terminology Flow: a group of packets that contain the same flow "identity" in their header. The network intends to transport the packets that Yong Expires December 19 2010 [Page 3] Internet-Draft Large Flow Classification June 2010 belong to the same flow over the same path so flow packet sequence is preserved. Large Flow: a flow comes to the network at the bit/packet rate that is on the top bit rate rank among all the flows Small Flow: a flow or data that does not belong to a large flow. 3. IPv6 Protocol and Traffic Classification Figure 1 illustrates IPv6 protocol [RFC2460]. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Source Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Destination Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version 4-bit Internet Protocol version number = 6 Traffic Class 8-bit traffic class field Flow Label 20-bit flow label Note: other fields are not related to this draft and omitted here. Figure 1 IPv6 Header Format Yong Expires December 19 2010 [Page 4] Internet-Draft Large Flow Classification June 2010 The 20-bit Flow Label field in the IPv6 header may be used by a source to label packets of a flow. A flow is uniquely identified by the combination of a source address and a non-zero flow label. Flow labels must be chosen (pseudo-)randomly and uniformly from the range 1 to FFFFF hex. [RFC3697] further specified that Flow Label of zero is used to indicate packets not part of any flow. Packet classifiers use the triplet of Flow Label, Source Address, and Destination Address fields to identify which flow a particular packet belongs to. Packets are processed in a flow-specific manner by the nodes that have been set up with flow-specific state. The 8-bit Traffic Class field in the IPv6 header is available for the use by originating nodes and/or forwarding routers to identify and distinguish between different classes or priorities of IPv6 packets. There are a number of experiments in the use of the IPv4 Type of Service and/or Precedence bits to provide various forms of "differentiated service" for IP packets, other than through the use of explicit flow set-up. This implies that, in today, flow label and traffic class are used in mutually exclusive in the network. The large flow classification proposed in this draft is for enhanced ECMP process that uses both flow label field and traffic class field. 3.1. Large Flow Classification The draft proposes to use one bit in Traffic Class field for large flow classification when the flow label is used on a packet. It suggests using 5th bit but willing to consider WG suggestion. When the bit is set to zero, it means the packet belonging to a small flow; when the bit is set to one, it means the packet belonging to a large flow. The flow ID is the combination of the flow field plus source address. When flow label value is zero, this bit does not present any meaning for enhanced ECMP process and can be redefined for other purpose. As mentioned in [Flow-Based-Load-Balance], large flow recognition should be performed at the edge router or tunnel end point (TEP) [FLOW-ECMP]. There are several ways to perform the large flow recognition. How to do that is outside the scope of this document. When edge router or TEP is able to perform the large flow recognition, it sets 5th bit to zero for all non-large flow packets, and sets 5th bit to one for all the large flow packets. Intermediate router then can perform advanced load balance by applying different treatments on large flow packets and small flow packets. Yong Expires December 19 2010 [Page 5] Internet-Draft Large Flow Classification June 2010 Large flow classification aims on flow classification, which enables advanced load balance process at intermediate routers. It has the different purpose from the DiffServ. One type service may contain both large and small flows. Large flow criteria can be determined by operator and set via policy at edge routers or TEP. Operator can be based on its network traffic condition and ECMP or LAG implementation to determine the large flow criteria. Note: Whatever advanced load balance process implemented at intermediate routers MUST meet the rules specified in [RFC3697]. 4. Backward Compatibility Large Flow Classification fully supports backward compatibility. For the packet with flow label filled with 0, the edge router or TEP do not perform large flow classification on the packets. Intermediate router SHOULD treat all the packets as small flow packets, which likes existing ECMP process. For the packet with flow label filled with non-zero value, there are four cases: ------------------------------------------------------------------ Large Flow | Differentiated | IR Process Rule Classification | Treatment at | At ER or TEP | Intermediate | | Router (IR) | ------------------------------------------------------------------ Support | Not Support | perform existing ECMP/LAG ------------------------------------------------------------------ Support | Not Support | perform existing ECMP/LAG ------------------------------------------------------------------ Not Support | Support | perform existing ECMP/LAG ------------------------------------------------------------------ Support | Support | Use advanced load balance ------------------------------------------------------------------ Figure 2 Intermediate Router Process Rules 5. Security Considerations This is for further study. 6. IANA Considerations IANA is for the further study. Yong Expires December 19 2010 [Page 6] Internet-Draft Large Flow Classification June 2010 7. References 7.1. Normative References [RFC2460] Deering, S., Hinden, R., "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1995. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3697] Rajahalme, J Conta, A. etc, "IPv6 Flow Label Specification", RFC 3697, March 2004. 7.2. Informative References [FLOW-ECMP] Carpenter B. Amante S., "Using the IPv6 flow label for equal cost multipath routing in tunnels", draft- carpenter-flow-ecmp-02, April 14 18, 2010 [Flow-Based-Load-Balance] Yong L., Yang P. L. "Large Flow Classification in Flow Aware Transport over PSN", draft-yong-pwe3-lfc-fat-PW-00.txt, February, 2010 8. Acknowledgments Authors like to thank Jiang Sheng for the review and suggestions. Yong Expires December 19 2010 [Page 7] Internet-Draft Large Flow Classification June 2010 Authors' Addresses Lucy Yong Huawei Technologies Co., Ltd. 1700 Alma Dr. Plano, TX 75075 US Phone: +14692295387 Email: lucyyong@huawei.com Peilin Yang Huawei Technologies Co., Ltd. No.91, Baixia Road, Nanjing 210001 P. R. China Phone: +86-25-84565881 EMail: yangpeilin@huawei.com Yong Expires December 19 2010 [Page 8]