Network working group                                             X. Xu
Internet Draft                                                   Huawei
Category: Standard Track                                     M. Eubanks
                                                         AmericaFree.TV
                                                                L. Yong
                                                                  Z. Li
                                                                 Huawei
                                                               N. Sheth
                                                                Juniper
                                                                 Y. Fan
                                                          China Telecom

Expires: April 2013                                     October 8, 2012


                         Encapsulating MPLS in UDP

                          draft-xu-mpls-in-udp-03

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 April 8, 2013.

Copyright Notice

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





Xu, et al.              Expires April 8, 2013                 [Page 1]


Internet-Draft          Encapsulating MPLS in UDP          October 2012

   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.

Abstract

   This document specifies one additional IP-based encapsulation
   technology for MPLS packets referred to as MPLS-in-UDP, which is
   intended to facilitate load-balancing the traffic of various MPLS
   applications such as MPLS-based L2VPN and L3VPN in the core of IP-
   enabled packet switch networks.

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 ................................................. 4
   3. Encapsulation in UDP ........................................ 4
   4. Signaling for Encapsulation in UDP .......................... 5
   5. Processing Functions ........................................ 5
   6. Applicability ............................................... 6
   7. Security Considerations ..................................... 6
   8. IANA Considerations ......................................... 6
   9. Acknowledgements ............................................ 7
   10. References ................................................. 7
      10.1. Normative References .................................. 7
      10.2. Informative References ................................ 7
   Authors' Addresses ............................................. 8












Xu, et al.              Expires April 8, 2013                 [Page 2]


Internet-Draft          Encapsulating MPLS in UDP          October 2012


1. Introduction

   Equal Cost Multi-Path (ECMP) and Link Aggregation Group (LAG) are
   widely used in the core of IP-enabled Packet Switch Networks (PSN)
   for load-balancing purposes. Most core routers (i.e., P routers) in
   the IP-enabled PSN are capable of load-balancing IP traffic flows
   across ECMP paths and/or LAG based on the hash of the five-tuple of
   UDP/TCP packets (i.e., source IP address, destination IP address,
   source port, destination port, and protocol) or some fields in the
   IP header of non-UDP/TCP packets (e.g., source IP address,
   destination IP address). However, with existing IP-based
   encapsulation methods as defined in [RFC4023] (e.g., MPLS-in-IP and
   MPLS-in-GRE), distinct customer traffic flows of various MPLS
   applications (e.g., MPLS-based L2VPN or L3VPN) between a given PE
   pair would be encapsulated with the same IP or GRE tunnel header
   prior to traversing the IP core. Since the encapsulating traffic is
   neither TCP nor UDP traffic, core routers could only perform hash
   calculation on the fields in the IP header of IP or GRE tunnels. As
   a result, core routers could not achieve an effective load-balancing
   for these traffic flows in the network due to the lack of adequate
   entropy information. In most service providers' backbones, MPLS
   forwarding capability is enabled by default and therefore the
   deployment of IP-based encapsulation method for MPLS packets (e.g.,
   MPLS-in-IP and MPLS-in-GRE) is not popular. As a result, the above
   load-balancing issue is unweighted. However, in most cloud data
   center network environments, data center operators tend to enable IP
   forwarding capability, rather than MPLS forwarding capability in the
   underlying data center networks due to certain reasons. In case
   MPLS-based L2VPN or L3VPN technology are adopted as a scalable data
   center network solution to support multi-tenancy in such
   environments, IP-based encapsulation method for MPLS packets would
   have to be used and therefore the above load-balancing issue would
   become significant.

   [RFC5640] describes a method for improving the load-balancing in
   Softwire mesh networks [RFC5565]. However, this method requires core
   routers to be able to perform hash calculation on the fields
   including the "load-balancing" field contained in the L2TPv3 or GRE
   tunnel header. [Entropy-Label] proposes to use the "entropy labels"
   for achieving a better load-balancing for MPLS traffic flows in the
   core of MPLS-enabled PSN. Although the entropy label could be
   inserted in the "Key" field of the GRE header by ingress PE routers
   in the case where the PSN is IP enabled rather than MPLS enabled, it
   still requires core routers to be capable of performing hash
   calculation on the "entropy label" contained in the GRE tunnel




Xu, et al.              Expires April 8, 2013                 [Page 3]


Internet-Draft          Encapsulating MPLS in UDP          October 2012

   header. Any of the above load-balancing methods requires a change to
   the date plane of core routers.

   This document describes a new IP-based encapsulation method for MPLS
   packets referred to as MPLS-in-UDP, which is intended to facilitate
   load-balancing the traffic of various MPLS applications such as
   MPLS-based L2VPN and L3VPN in the core of IP-enabled packet switch
   networks where the core routers could not be upgraded due to some
   reason.

2. Terminology

   This memo makes use of the terms defined in [RFC4364] and [RFC4664].

3. Encapsulation in UDP

   MPLS-in-IP messages have the following format:

   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 = MPLS        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           UDP Length          |        UDP Checksum           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                         MPLS 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 customer packets (e.g., the five
                tuple of UDP/TCP packets).  To ensure that the source
                port number is always in the range 49152 to 65535 which
                may be required in some cases, instead of calculating a
                16-bit hash, the ingress PE router could calculate a 14-
                bit hash and use those 14 bits as the least significant
                bits of the source port field while the most significant
                two bits would be set to binary 11. That still conveys
                14 bits of entropy information which would be enough as
                well in practice.

            Destination Port of UDP



Xu, et al.              Expires April 8, 2013                 [Page 4]


Internet-Draft          Encapsulating MPLS in UDP          October 2012

                This field is set to a value (TBD) indicating the MPLS
                packet encapsulated in the UDP header is a MPLS unicast
                one or a MPLS multicast one.

            UDP Length

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

            UDP Checksum

                The usage of this field is in accordance with the
                current UDP specification. To simplify the operation on
                egress PE router, this field is recommended to be set to
                zero.

4. Signaling for Encapsulation in UDP

   PE routers could signal the UDP tunnel encapsulation information
   among them by some means.

   In the case when BGP is used in the MPLS applications (e.g.,
   BGP/MPLS IP VPN [RFC4364]), the MPLS-in-UDP encapsulation
   information can be signaled by using the mechanism defined in [RFC
   5512]. In this case, a new Tunnel Type code for UDP tunnel
   technology needs to be assigned by IANA. If there is no explicit
   encapsulation information to signal using the Encapsulation SAFI for
   the UDP tunneling protocol, a BGP Encapsulation Extended Community
   with the Tunnel Type set to the value indicating UDP tunneling
   protocol would be enough. For example, such extended community could
   be attached to the update messages for NLRI announcement in the
   BGP/MPLS IP VPN case, or be attached to the update messages
   dedicated for auto-discovery in the VPLS [RFC4761, RFC4762] case
   where BGP-based auto-discovery is used. Otherwise, if more detailed
   information about the UDP tunnel technology is needed for signaling
   (e.g., to specify what MPLS application is allowed to use this MPLS-
   in-UDP encapsulation), a new TLV and even a set of sub-TLVs
   dedicated for UDP tunnel encapsulation technology that would be
   contained in the Tunnel Encapsulation attribute needs to be defined.

   More details about how to signal the MPLS-in-UDP encapsulation
   information will be described in a separate document.

5. Processing Functions

   This MPLS-in-UDP encapsulation causes MPLS packets to be forwarded
   through "IP UDP tunnels". When performing MPLS-in-UDP encapsulation



Xu, et al.              Expires April 8, 2013                 [Page 5]


Internet-Draft          Encapsulating MPLS in UDP          October 2012

   by an ingress PE router, the entropy value would be generated by the
   ingress PE router and then be filled in the Source Port field of the
   UDP header.

   P routers, upon receiving these UDP encapsulated packets, could
   balance these packets based on the hash of the five-tuple of UDP
   packets.

   Upon receiving these UDP encapsulated packets, egress PE routers
   would decapsulate them by removing the UDP headers and then process
   them accordingly.

6. Applicability

   Besides the MPLS-based L3VPN [RFC4364] and L2VPN [RFC4761, RFC4762]
   [E-VPN] applications, MPLS-in-UDP encapsulation could also be used
   in other MPLS applications including but not limited to 6PE [RFC4798]
   and PWE3 services.

7. Security Considerations

   Just like MPLS-in-GRE and MPLS-in-IP encapsulation formats, the
   MPLS-in-UDP encapsulation format defined in this document by itself
   cannot ensure the integrity and privacy of data packets being
   transported through the MPLS-in-UDP tunnels and cannot enable the
   tunnel decapsulators to authenticate the tunnel encapsulator. In the
   case where any of the above security issues is concerned, the MPLS-
   in-UDP tunnels SHOULD be secured with IPsec in transport mode. In
   this way, the UDP header would not be seeable to P routers anymore.
   As a result, the meaning of adopting MPLS-in-UDP encapsulation
   format as an alternative to MPLS-in-GRE and MPLS-in-IP encapsulation
   formats is lost. Hence, MPLS-in-UDP encapsulation format SHOULD be
   used only in the scenarios where all the security issues as
   mentioned above are not significant concerns. For example, in a data
   center environment, the whole network including P routers and PE
   routers are under the control of a single administrative entity and
   therefore there is no need to worry about the above security issues.

8. IANA Considerations

   Two distinct UDP destination port numbers indicating MPLS and MPLS
   with upstream-assigned label respectively need to be assigned by
   IANA.







Xu, et al.              Expires April 8, 2013                 [Page 6]


Internet-Draft          Encapsulating MPLS in UDP          October 2012

9. Acknowledgements

   Thanks to Shane Amante, Dino Farinacci, Keshava A K, Ivan Pepelnjak,
   Eric Rosen, Kireeti Kompella, Weiguo Hao, Zhenxiao Liu and Xing Tong
   for their valuable comments on the idea of MPLS-in-UDP encapsulation.

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.

   10.2. Informative References

   [RFC4364] Rosen, E and Y. Rekhter, "BGP/MPLS IP Virtual Private
             Networks (VPNs)", RFC 4364, February 2006.

   [RFC4664] Andersson, L. and Rosen, E. (Editors),"Framework for Layer
             2 Virtual Private Networks (L2VPNs)", RFC 4664, Sept 2006.

   [RFC4023] Worster, T., Rekhter, Y., and E. Rosen, "Encapsulating
             MPLS in IP or GRE", RFC4023, March 2005.

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

   [RFC6391] Bryant, S., Filsfils, C., Drafz, U., Kompella, V., Regan,
             J., and S. Amante, "Flow Aware Transport of Pseudowires
             over an MPLS Packet Switched Network", RFC6391, November
             2011

   [Entropy-Label] Kompella, K., Drake, J., Amante, S., Henderickx, W.,
             and L. Yong, "The Use of Entropy Labels in MPLS
             Forwarding", draft-ietf-mpls-entropy-label-01, work in
             progress, October, 2011.

   [RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation
             Subsequent Address Family Identifier (SAFI) and the
             BGP Tunnel Encapsulation Attribute", RFC 5512, April
             2009.

   [RFC4798] J Declerq et al., "Connecting IPv6 Islands over IPv4 MPLS
             using IPv6 Provider Edge Routers (6PE)", RFC4798, February
             2007.





Xu, et al.              Expires April 8, 2013                 [Page 7]


Internet-Draft          Encapsulating MPLS in UDP          October 2012

   [RFC4761] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service
             (VPLS) Using BGP for Auto-Discovery and Signaling", RFC
             4761, January 2007.

   [RFC4762] Lasserre, M. and V. Kompella, "Virtual Private LAN Service
             (VPLS) Using Label Distribution Protocol (LDP) Signaling",
             RFC 4762, January 2007.

   [E-VPN] Aggarwal et al., "BGP MPLS Based Ethernet VPN", draft-ietf-
             l2vpn-evpn-00.txt, work in progress, February, 2012.

Authors' Addresses

   Xiaohu Xu
   Huawei Technologies,
   Beijing, China

   Phone: +86-10-60610041
   Email: xuxiaohu@huawei.com


   Marshall Eubanks
   AmericaFree.TV LLC
   P.O. Box 141
   Clifton, Virginia  20124
   USA

   Phone: +1-703-501-4376
   Email: marshall.eubanks@gmail.com


   Lucy Yong
   Huawei USA
   1700 Alma Dr. Suite 500
   Plano, TX  75075
   US

   Email: lucyyong@huawei.com


   Nischal Sheth
   Juniper Networks
   1194 North Mathilda Avenue
   Sunnyvale, CA 94089 USA

   Email: nsheth@juniper.net




Xu, et al.              Expires April 8, 2013                 [Page 8]


Internet-Draft          Encapsulating MPLS in UDP          October 2012

   Zhenbin Li
   Huawei Technologies,
   Beijing, China

   Phone: +86-10-60613676
   Email: lizhenbin@huawei.com


   Yongbing Fan
   China Telecom
   Guangzhou, China.

   Phone: +86 20 38639121
   Email: fanyb@gsta.com




































Xu, et al.              Expires April 8, 2013                 [Page 9]