Network Working Group                                              X. Xu
Internet Draft                                                   L. Yong
Category: Standard Track                                          Huawei

                                                                  Y. Lee
                                                                 Comcast

                                                                  Y. Fan
                                                           China Telecom

                                                                R. Asati
                                                                   Cisco

                                                          I. van Beijnum
                                                Institute IMDEA Networks

Expires: January 2014                                       July 1, 2013


                          Encapsulating IP in UDP

                       draft-xu-softwire-ip-in-udp-02

Abstract

   Existing Softwire encapsulation technologies are not adequate for
   efficient load balancing of Softwire service traffic across IP
   networks. This document specifies additional Softwire encapsulation
   technology, referred to as IP-in-User Datagram Protocol (UDP), which
   can facilitate the load balancing of Softwire service traffic across
   IP networks.

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






Xu, et al.             Expires January 1, 2014                [Page 1]


Internet-Draft          Encapsulating IP in UDP               July 2013

   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 January 1, 2014.

Copyright Notice

   Copyright (c) 2013 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 Simplified BSD License.

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 RFC-2119 [RFC2119].

Table of Contents

   1. Introduction ................................................ 3
   2. Terminology ................................................. 3
   3. Encapsulation in UDP ........................................ 3
   4. Processing Procedures ....................................... 4
   5. Encapsulation Considerations ................................ 5
   6. Security Considerations ..................................... 5
   7. IANA Considerations ......................................... 5
   8. Acknowledgements ............................................ 5
   9. References .................................................. 6
      9.1. Normative References ................................... 6
      9.2. Informative References ................................. 6
   Authors' Addresses ............................................. 7







Xu, et al.             Expires January 1, 2014                [Page 2]


Internet-Draft          Encapsulating IP in UDP               July 2013


1. Introduction

   To fully utilize the bandwidth available in IP networks and/or
   facilitate recovery from a link or node failure, load balancing of
   traffic over Equal Cost Multi-Path (ECMP) and/or Link Aggregation
   Group (LAG) across IP networks is widely used. In practice, most
   existing core routers in IP networks support distributing IP traffic
   flows over ECMP paths and/or LAG based on the hash of the five-tuple
   of User Datagram Protocol (UDP)[RFC768] and Transmission Control
   Protocol (TCP) packets (i.e., source IP address, destination IP
   address, source port, destination port, and protocol).

   [RFC5640] describes a method for improving the load balancing
   efficiency in a network carrying Softwire Mesh service [RFC5565] over
   Layer Two Tunneling Protocol - Version 3 (L2TPv3) [RFC3931] and
   Generic Routing Encapsulation (GRE)[RFC2784] encapsulations. However,
   this method requires core routers to perform hash calculation on the
   "load-balancing" field contained in tunnel encapsulation headers
   (i.e., the Session ID field in L2TPv3 headers or the Key field in GRE
   headers), which is not widely supported by existing core routers.

   Since most existing core routers already support balancing IP traffic
   flows based on the hash of the five-tuple of UDP packets, by
   encapsulating Softwire service traffic into UDP tunnels, it will
   enable existing core routers to perform efficient load-balancing of
   the Softwire service traffic without requiring any change to them.
   Therefore, this specification defines an IP-in-UDP encapsulation
   method for Software service including both mesh and hub-spoke modes.

   IPv6 flow label has been proposed as an entropy field for load
   balancing in IPv6 network environment [RFC6437]. However, as stated
   in [RFC6936], the end-to-end use of flow labels for load balancing is
   a long-term solution and therefore the use of load balancing using
   the transport header fields would continue until any widespread
   deployment is finally achieved. As such, IP-in-UDP encapsulation
   would still have a practical application value in the IPv6 networks
   during this transition timeframe.

2. Terminology

   This memo makes use of the terms defined in [RFC5565].

3. Encapsulation in UDP

   IP-in-UDP encapsulation format is shown as follows:




Xu, et al.             Expires January 1, 2014                [Page 3]


Internet-Draft          Encapsulating IP in UDP               July 2013

   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Source Port = Entropy      |       Dest Port = TBD         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           UDP Length          |        UDP Checksum           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                         IP Packet                             ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Source Port of UDP

                This field contains an entropy value that is generated by
                the ingress PE router. For example, the entropy value can
                be generated by performing hash calculation on certain
                fields in the received customer IP packets (e.g., the
                five tuple of UDP/TCP packets).

            Destination Port of UDP

                This field is set to a value (TBD) indicating the
                encapsulated payload in the UDP header is an IP packet.
                As for whether the encapsulated IP packet is IPv4 or IPv6,
                it would be determined according to the Version field in
                the IP header of the encapsulated IP packet.

            UDP Length

                The usage of this field is in accordance with the current
                UDP specification [RFC768].

            UDP Checksum

                The usage of this field is in accordance with the current
                UDP specification. To simplify the operation on egress PE
                routers, this field is recommended to be set to zero in
                IPv4 UDP encapsulation case, and even in IPv6
                UDP encapsulation case if appropriate [RFC6935][RFC6936].


4. Processing Procedures

   This IP-in-UDP encapsulation causes E-IP [RFC5565] packets to be
   forwarded across an I-IP [RFC5565] transit core via "UDP tunnels".
   While performing IP-in-UDP encapsulation, an ingress AFBR (e.g. PE



Xu, et al.             Expires January 1, 2014                [Page 4]


Internet-Draft          Encapsulating IP in UDP               July 2013

   router) would generate an entropy value and encode it in the Source
   Port field of the UDP header.

   Transit routers, upon receiving these UDP encapsulated IP packets,
   could balance these packets based on their chosen hashing algorithm.

   Egress AFBRs receiving these UDP encapsulated IP packets MUST
   decapsulate these packets by removing the UDP header and then forward
   them accordingly (assuming that the Destination Port was set to the
   reserved value pertaining to IP).

5. Encapsulation Considerations

   Similar to all other Softwire tunneling technologies, IP-in-UDP
   encapsualtion introduces overheads and reduces the effective Maximum
   Transmision Unit (MTU) size. IP-in-UDP encapsulation may also impact
   Time-to-Live (TTL) or Hop Count (HC) and Differentiated Services
   (DSCP). Hence, IP-in-UDP MUST follow the corresponding procedures
   defined in [RFC2003].

   If an ingress AFBR performs fragmentation on an E-IP packet before
   encapsulating, it MUST use the same source UDP port for all
   fragmented packets so as to ensures these fragmented packets are
   always forwarded on the same path.

6. Security Considerations

   The security consideration for IP-in-UDP encapsulation format is the
   same as that for the existing Softwire encapsulation methods for
   Softwire service such as IP-in-IP.

7. IANA Considerations

   A UDP destination port number which indicates the encapsulated
   payload following the UDP header is an IP packet needs to be assigned
   by IANA.

8. Acknowledgements

   Thanks to Vivek Kumar, Carlos Pignataro and Mark Townsley for their
   valuable comments on the initial idea of this document. Thanks to
   Andrew G. Malis for his valuable comments on this document.








Xu, et al.             Expires January 1, 2014                [Page 5]


Internet-Draft          Encapsulating IP in UDP               July 2013

9. References

   9.1. Normative References

   [RFC768]  Postel, J., "User Datagram Protocol", STD 6, RFC 768,
             August 1980.

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

   9.2. Informative References

   [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003,
             October 1996.

   [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
             (IPv6) Specification", RFC 2460, December 1998.

   [RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms
             for IPv6 Hosts and Routers", RFC 4213, October 2005.

   [RFC5565] Wu, J., Cui, Y., Metz, C. and E. Rosen, "Softwire Mesh
             Framework", RFC 5565, June 2009.

   [RFC5640] Filsfils, C., Mohapatra, P., and C. Pignataro, "Load-
             Balancing for Mesh Softwires", RFC 5640, August 2009.

   [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P.
             Traina, "Generic Routing Encapsulation (GRE)", RFC 2784,
             March 2000.

   [RFC3931] Lau, J., Townsley, M., and I. Goyret, "Layer Two Tunneling
             Protocol - Version 3 (L2TPv3)", RFC 3931, March 2005.

   [RFC6935] Eubanks, M., Chimento, P. and M. Westerlund, "IPv6 and UDP
             Checksums for Tunneled Packets", RFC 6935, April 2013.

   [RFC6936] Fairhurst, G. and M. Westerlund, "Applicability Statement
             for the Use of IPv6 UDP Datagrams with Zero Checksums",
             RFC 6936, April 2013.

   [MPLS-in-UDP] Xu, X., Sheth, N., Yong, L., Pignataro, C., Fan, Y and
             Z. Li, "Encapsulating MPLS in UDP", draft-ietf-mpls-in-udp-
             02.txt (work in progress), June 2013.






Xu, et al.             Expires January 1, 2014                [Page 6]


Internet-Draft          Encapsulating IP in UDP               July 2013

Authors' Addresses

   Xiaohu Xu
   Huawei Technologies,
   Beijing, China
   Phone: +86-10-60610041
   Email: xuxiaohu@huawei.com


   Lucy Yong
   Huawei USA
   5340 Legacy Dr.
   Plano TX75025
   Phone: 469-277-5837
   Email: Lucy.yong@huawei.com


   Yiu Lee
   Comcast
   One Comcast Center
   Philadelphia, PA 1903
   USA
   Email: Yiu_Lee@Cable.Comcast.com


   Yongbing Fan
   China Telecom
   Guangzhou, China.
   Phone: +86 20 38639121
   Email: fanyb@gsta.com


   Rajiv Asati
   Cisco Systems
   7025-4 Kit Creek Rd
   PO Box 14987
   Research Triangle Park, NC 27709
   USA
   Email: rajiva@cisco.com


   Iljitsch van Beijnum
   Institute IMDEA Networks
   Avda. del Mar Mediterraneo, 22
   Leganes, Madrid  28918
   Spain
   Email: iljitsch@muada.com



Xu, et al.             Expires January 1, 2014                [Page 7]