Internet DRAFT - draft-wang-v6ops-flow-label-refelction

draft-wang-v6ops-flow-label-refelction



Network Working Group                                           A. Wang 
Internet Draft                                            China Telecom 
Intended status: Standard Track                                S. Jiang 
Expires: January 21, 2015                  Huawei Technologies Co., Ltd 
                                                          July 20, 2014 
                                   
 
                                      
                        IPv6 Flow Label Reflection 
               draft-wang-v6ops-flow-label-refelction-01.txt 


Abstract 

   IPv6 Flow Label field in IPv6 packet header is designed to 
   differentiate the various traffic flow session within network. The 
   current definition of IPv6 Flow Label focuses mainly on how the 
   packet source forms the value of this field and how the forwarder 
   in-path treats it. There is no analysis on the relation between the 
   flow label from source nodes and its corresponding value in return 
   packet. This draft analyzes the requirements for flow label 
   reflection between the upstream session and the corresponding 
   downstream session. Based on the analysis, the flow label reflection 
   mechanism is proposed in this document. 

Status of this Memo 

   This Internet-Draft is submitted in full conformance with the 
   provisions of BCP 78 and BCP 79. 

   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF). Note that other groups may also distribute 
   working documents as Internet-Drafts. The list of current Internet- 
   Drafts is at http://datatracker.ietf.org/drafts/current/. 

   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." 

      This Internet-Draft will expire on January 21, 2015. 

Copyright Notice 

   Copyright (c) 2014 IETF Trust and the persons identified as the 
   document authors. All rights reserved. 


 
 
 
Wang                  Expires January 15, 2015                [Page 1] 

Internet-Draft          Flow Label Reflection                July 2014 
    

   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 Simplified BSD License. 

Table of Contents 

    
   1. Introduction ................................................ 3 
   2. Conventions used in this document ........................... 3 
   3. Flow Label Reflection Requirements .......................... 3 
      3.1. Summary of the current usage for IPv6 Flow Label ....... 3 
      3.2. Requirements of Flow Label Reflection .................. 4 
         3.2.1. DS-Lite deployment Scenario ....................... 4 
         3.2.2. Deep Packet Inspection Scenario ................... 6 
         3.2.3. End to End QoS Deployment Scenario within Mobile 
         Network .................................................. 6 
   4. Recommendation and Benefit of Flow Label Reflection Mechanism 7 
   5. Detail Process for Flow Label Reflection .................... 8 
         5.1.1. DS-Lite environment ............................... 8 
         5.1.2. NAT64 environment ................................. 8 
         5.1.3. End to End IPv6 communication environment.......... 9 
      5.2. Influence to the current usage of IPv6 Flow Label  ..... 9 
   6. Conclusions ................................................. 9 
   7. Security Considerations ..................................... 9 
   8. IANA Considerations ........................................ 10 
   9. Acknowledgments ............................................ 10 
   10. References ................................................ 10 
      10.1. Normative References ................................. 10 
      10.2. Informative References ............................... 10 
                       










 
 
<Wang>                Expires January 15, 2015                [Page 2] 

Internet-Draft          Flow Label Reflection                July 2014 
    

1. Introduction 

   IPv6 flow label [RFC6437] is designed to differentiate the flow 
   session of IPv6 traffic; it can accelerate the clarification and 
   treatment of IPv6 traffic by the network devices in its forwarding 
   path. Currently, the usage of this field mainly focus on the traffic 
   load-balance in ECMP (Equal Cost Multi-Path) environment [RFC6438] 
   or the server load balance [RFC7098], these usages only exploit the 
   characteristic of IPv6 flow label field in one direction, and do not 
   consider the requirement to correlate the upstream and downstream 
   traffic of one session together to create new service model, to 
   simply the traffic policy deployment and to increase the accuracy of 
   network traffic recognition. 

   In this draft, we analyze the requirements of the flow label 
   reflection mechanism in several scenarios. There is administration 
   benefit for keeping flow label unchanged in the downstream and 
   upstream of one IPv6 traffic session.  The details IPv6 flow label 
   reflect process in DS-Lite, NAT64 [RFC6146] and IPv6 end-to-end 
   communication environment are also given. 

   Further deployment requirements and solutions are welcomed and will 
   be studied later. 

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].  



3. Flow Label Reflection Requirements 

3.1. Summary of the current usage for IPv6 Flow Label 

   [RFC6438] describe the usage of IPv6 Flow Label for ECMP and link 
   aggregation in Tunnels, it mainly utilize the random distribution 
   characteristic of IPv6 flow label. [RFC7098] also describe similar 
   usage case in server farm. All these usage scenarios consider only 
   the usage of IPv6 flow label in one direction, and do not utilize 
   fully the core definition and role of IPv6 flow label for one 
   session. From the point view of service provider, the upstream and 
   downstream of one session should be handled together, then give them 
   the same label value will be more beneficial. 


 
 
<Wang>                Expires January 15, 2015                [Page 3] 

Internet-Draft          Flow Label Reflection                July 2014 
    

   Following paragraph analyzes several scenarios that require IPv6 
   flow label reflection mechanism. Other use case needs to further 
   study. 

3.2. Requirements of Flow Label Reflection  

   This section describes some scenarios that require the IPv6 flow 
   label reflection in IPv6 source and destination nodes. Other similar 
   situations may be required further study.  

3.2.1. DS-Lite deployment Scenario 

   During IPv6 transition stage, some Internet Service Providers the 
   DS-Lite [RFC6333] technology to accelerate the deployment of IPv6 
   within their network. DS-Lite has the beneficial to eliminate the 
   needs to assign the IPv4 address to the subscribers and simplify the 
   administration of network, but it has one disadvantage that 
   encapsulates all IPv4 traffic from one customer into IPv6 packet and 
   the router in-path, such as BRAS, CR etc. cannot see the inner IPv4 
   destination information. 

   On the other hand, the Internet Service Providers want to 
   differentiate the traffic within their transport pipe, which is 
   based on the requirement from upper CP/SP (Content provider). The 
   general architecture to achieve this goal is illustrated in Figure-1: 

                    



















 
 
<Wang>                Expires January 15, 2015                [Page 4] 

Internet-Draft          Flow Label Reflection                July 2014 
    

                                 CP/SP 
                                    /\ 
                                   /  \\ 
                                 //     \ 
                                /        \\ 
                               /           \ 
                 CR           CR          Policy 
                  \          / \          Controller 
                   \        /   \\       --- 
                    \     //      \   --- 
                     \   /     ---AFTR 
                      \ /  ---- 
                     BRAS-- 
                      /-- 
                    //   --- 
                   /        --- 
                  /            - 
                 CPE            CPE 
                /  \ 
               /    \ 
              /      \ 
             /        \ 
           Host      Host 

                  Figure-1: DS-Lite Deployment Scenarios 

   Within Figure-1, CPE acts as B4 [RFC6333] to encapsulate the IPv4 
   traffic from host under it into IPv6 packet. According to the 
   current IPv6 node requirement, CPE is responsible to allocate one 
   random/well distribution value to the flow label, to indicate the 
   different IPv4 flow from host is belong to different flow session. 

   The encapsulate IPv6 traffic pass through BRAS and CR, ends in AFTR 
   [RFC6333] which will decapsulate IPv6 traffic into IPv4 packet and 
   return it to CR, the CR will pass the decapsulated IPv4 packet to 
   CP/SP. If the CP/SP wants more bandwidth or quick process, they will 
   deliver the destination IP and port information to the "Policy 
   Controller", which will control the AFTR and then to lift the 
   bandwidth limit on BRAS. 

   For BRAS to act correctly to the appointed IPv4 traffic, it should 
   know the corresponding IPv6 flow label. If the upstream IPv6 flow 
   label is different from the downstream IPv6 label, the ACL lists in 
   BRAS will be quite complex, the upstream and downstream of one 
   session must be processed separately. This will increase the burden 
   of service provider to deploy intelligent network policy.     

 
 
<Wang>                Expires January 15, 2015                [Page 5] 

Internet-Draft          Flow Label Reflection                July 2014 
    

3.2.2. Deep Packet Inspection Scenario 

   Internet service providers are now deploying more DPI (Deep packet 
   inspection) devices within their network to accomplish the 
   visualization of traffic type in their communication pipe and wish 
   to optimize their network structure based on these information. The 
   accuracy of the DPI devices' traffic recognition will influence the 
   effect of network optimization and controlling policy. 

   To increase the traffic recognition rate, the DPI device should 
   track the upstream and downstream of one session simultaneously, in 
   order to find the symptoms of various traffic, especially for P2P 
   traffic. If the IPv6 flow label of upstream and downstream is 
   different, and the three tuple <IPv6 source address, IPv6 
   destination address, flow label> is used to load balance among 
   different links between BRAS and CR, as illustrated in Figure-2, the 
   upstream and downstream of one session will be distributed into 
   different links and then to different DPI devices(DPI-A or DPI-B), 
   thus increases the difficult of traffic recognition that is based on 
   the correlation of downstream and upstream of one session.  

                              CR 
                            // \\ 
                           //   \\\-----DPI-A 
                          //     \\\ 
                         //      \-----DPI-B 
                        //         \\\ 
                       //           \ \ 
                     BRAS           BRAS 

     Figure-2 Deep Packet Inspection Deployment Scenarios in IPv6-Only 
                                Environment 

3.2.3. End to End QoS Deployment Scenario within Mobile Network 

   Under the mobile network environment, the service provider can 
   control the traffic parameter from UE directly. Based on the common 
   architecture as illustrated in Figure-3 below for end to end QoS 
   deployment within mobile networks, UE will get the QCI parameter 
   from PCRF, and the traffic from this UE will be treated differently 
   according to its service subscription. If the UE and PCRF have the 
   same mapping algorithm, the QCI parameters can be mapped to the IPv6 
   flow label in underlying transport layer. By keeping the value of 
   IPv6 flow label in upstream and downstream same, and based on the 
   mapping information and policy from PCRF, the transport devices can 
   treat the required flow different very easily.  

 
 
<Wang>                Expires January 15, 2015                [Page 6] 

Internet-Draft          Flow Label Reflection                July 2014 
    

   Specially, under the situation of UE to UE communicate directly, the 
   traffic initiated by the privilege user will be processed in high 
   priority, even it communicate with one low precedence user; and the 
   traffic initiated by the normal user will be processed in default 
   queue, even it communicate with one privilege user. This traffic 
   model matches with the service provider's business model and can be 
   easily accomplished. 

                                   PCRF 
                                   -- -- 
                                ---     --- 
              /----\         ---   ----    --         /----\ 
            //      \\     --     /    \     --     //      \\ 
       UE  | QCI Scope| PCEF/PGW backbone PCEF/PGW | QCI Scope| UE 
            \\      //            \    /            \\      // 
              \----/               ----               \----/ 

          Figure-3 End to End QoS deployment within Mobile Network 

                                      

4. Recommendation and Benefit of Flow Label Reflection Mechanism 

   Based on the scenarios described above, we propose the following 
   solution: 

   1. The value of IPv6 Flow Label SHOULD be reflected and kept 
      unchanged by the receiving IPv6 node.  

   2. Under such reflection mechanism, the IPv6 Flow Label will be used 
      unambiguously to indicate one session's upstream and downstream 
      traffic: 

      a) The service provider can easily apply the same policy to the 
         bi-direction traffic of one interested session;  

      b) The traffic analyzer can also easily correlate the upstream and 
         downstream of one session to find the symptoms of various 
         internet protocol.    

      c) The service provider can offer differentiated service based on 
         the user's privilege condition and their service in use, make 
         the Non-equivalent service possible under the end-to-end 
         communication model in mobile network environment.  

   3. The generation method of IPv6 flow label in source IPv6 node and 
      the forward behavior are still recommended to follow the 
 
 
<Wang>                Expires January 15, 2015                [Page 7] 

Internet-Draft          Flow Label Reflection                July 2014 
    

      guidelines in RFC 6437, that is the IPv6 flow label should be 
      generated randomly and distributed enough, the devices in the 
      traffic forwarding path should not changed it.    

5. Detail Process for Flow Label Reflection 

5.1.1. DS-Lite environment 

   Under DS-Lite environment, the B4/CPE and AFTR are the two ends of 
   IPv6 communication: 

      a) B4/CPE is responsible for the generation of IPv6 packet, and is 
         responsible for the initial value of IPv6 flow label. Because 
         all IPv4 traffic from it is encapsulated into one IPv6 tunnel 
         packet, the value of IPv6 flow label should distinguish the 
         inner different IPv4 flow. Recommending algorithm is to use the 
         5-tuple of IPv4 traffic as the input of hash function. 

      b) AFTR is responsible for the decapsulation of IPv6 traffic. The 
         original IPv6 flow label should be kept in the stateful table 
         in AFTR, along with the mapping entry of "private IPv4 
         source/port, IPv6 source address, public IPv4 source/port, 
         protocol".  

      c) Once the responsible IPv4 traffic back to AFTR, it should check 
         the above mapping table, NAT and encapsulate the IPv4 traffic, 
         set the IPv6 flow label of returned encapsulated IPv6 packet to 
         the previous stored value.  

5.1.2. NAT64 environment 

   Under NAT64 environment, the IPv6 host and the NAT64 device is the 
   two IPv6 communication ends: 

      a) IPv6 host is responsible for the generation of IPv6 packet, and 
         is responsible for the initial value of IPv6 flow label. 
         Recommending algorithm is to use the 5-tuple of IPv6 traffic as 
         the input of hash function. 

      b) NAT64 is the other end of IPv6 communication session. It should 
         record the original value of IPv6 flow label in upstream in its 
         NAT table, along with the mapping entry of "IPv6 source 
         address/port, public IPv4 source address/port, protocol" 

      c) Once the responsible IPv4 traffic back to NAT64 device, it 
         should retrieve the corresponding original value of IPv6 flow 

 
 
<Wang>                Expires January 15, 2015                [Page 8] 

Internet-Draft          Flow Label Reflection                July 2014 
    

         label in the above mentioned mapping table, put it in the 
         header of downstream converted IPv6 traffic. 

5.1.3. End to End IPv6 communication environment 

   It is simpler to do IPv6 flow label reflection under the end to end 
   Ipv6 communication environment: 

      a) IPv6 source host is responsible for the generation of IPv6 
         packet, and is responsible for the initial value of IPv6 flow 
         label. Recommending algorithm is to use the 5-tuple of IPv6 
         traffic as the input of hash function. 

      b) IPv6 destination host just copy the original IPv6 flow label to 
         its corresponding field in reply packet. 

      c) There is no need to keep the value of IPv6 flow label in 
         forwarding path. 

5.2. Influence to the current usage of IPv6 Flow Label 

   There is no any influence to the current proposed usages of IPv6 
   flow label. 

6. Conclusions 

   IPv6 flow label reflection mechanism makes the downstream and 
   upstream of one session be easily recognized, let the service 
   provider take the full control of one session's bi-direction traffic 
   and apply the same traffic policy to them. It also let the 
   correlation of traffic and then the recognition of various traffics 
   easier. Based on such mechanism, the service provider can also offer 
   Non-equivalent service in IPv6 end-to-end communication environment, 
   especially in the IPv6-based mobile network environment. 

7. Security Considerations 

   In order to keep the IPv6 flow label unchanged and same in the 
   upstream and downstream of one session, the in-path devices, which 
   is required in the IPv6 transition period, such as AFTR/NAT64 etc. 
   should be required to store the IPv6 flow label value, retrieve and 
   restore it in the downstream traffic. This may increase the burden 
   of such stateful devices within service provider's network and lower 
   the anti-attack capabilities of these devices.  This threat exists 
   only in the transition period and will disappear in the IPv6 end-to-
   end communication period. 

 
 
<Wang>                Expires January 15, 2015                [Page 9] 

Internet-Draft          Flow Label Reflection                July 2014 
    

8. IANA Considerations 

   There is no additional IANA requirement for this requirement. 

9. Acknowledgments 

   Valuable comments were received from Brian Carpenter. 

   This document was prepared using 2-Word-v2.0.template.dot. 

10. References 

10.1. Normative References 

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

   [RFC6146] M. Bagnulo, P. Matthews, I. van Beijnum," Stateful NAT64: 
             Network Address and Protocol Translation from IPv6 Clients 
             to IPv4 Servers" RFC 6146, April 2011 

   [RFC6333] A. Durand, R. Droms, J. Woodyatt, Y. Lee, "Dual-Stack Lite 
             Broadband Deployments Following IPv4 Exhaustion", RFC6333, 
             August 2011 

   [RFC6437] S. Amante, B. Carpenter, S. Jiang, J. Rajahalme, "IPv6 
             Flow Label Specification", RFC 6437, November 2011. 

   [RFC6438] B. Carpenter, S. Amante, "Using the IPv6 Flow Label for 
             Equal Cost Multipath Routing and Link Aggregation in 
             Tunnels", RFC 6438, November 2011. 

10.2. Informative References 

   [RFC7098] B. Carpenter, S. Jiang, W. Tarreau,"Using the IPv6 Flow 
             Label for Load Balancing in Server Farms", RFC 7098, 
             January 2014. 









 
 
<Wang>                Expires January 15, 2015               [Page 10] 

Internet-Draft          Flow Label Reflection                July 2014 
    

 

Authors' Addresses 

   Aijun Wang 
   China Telecom Cooperation Limited Beijing Research Institute  
   No.118, Xizhimenneidajie, Xicheng District, Beijing, 100035, China 
    
   Phone: 86-10-58552347 
   Email: wangaj@ctbri.com.cn 
    

   Jiang Sheng 
   Huawei Technologies Co., Ltd 
   Q14, Huawei Campus, No.156 Beiqing Road 
   Hai-Dian District, Beijing, 100095 
   P.R. China 
    
   Email: jiangsheng@huawei.com 
    


























 
 
<Wang>                Expires January 15, 2015               [Page 11]