Network Working Group X. Xu Internet Draft L. Yong Category: Standard Track Huawei Y. Lee Comcast Y. Fan China Telecom Expires: August 2013 February 18, 2013 Encapsulating IP in UDP draft-xu-softwire-ip-in-udp-01 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." 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. Xu, et al. Expires August 18, 2013 [Page 1] Internet-Draft Encapsulating IP in UDP February 2013 This Internet-Draft will expire on August 18, 2013. 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. Security Considerations ..................................... 5 6. IANA Considerations ......................................... 5 7. Acknowledgements ............................................ 5 8. References .................................................. 5 8.1. Normative References ................................... 5 8.2. Informative References ................................. 6 Authors' Addresses ............................................. 6 Xu, et al. Expires August 18, 2013 [Page 2] Internet-Draft Encapsulating IP in UDP February 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 Softwire service. 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 August 18, 2013 [Page 3] Internet-Draft Encapsulating IP in UDP February 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 = IP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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 customer 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. 4. Processing Procedures This IP-in-UDP encapsulation causes E-IP [RFC5565] packets to be forwarded across an I-IP transit core via "UDP tunnels". When performing IP-in-UDP encapsulation by an ingress AFBR, the entropy value would be generated by the ingress PE router and then be filled in the Source Port field of the UDP header. Xu, et al. Expires August 18, 2013 [Page 4] Internet-Draft Encapsulating IP in UDP February 2013 Transit routers, upon receiving these UDP encapsulated packets, could balance these packets based on the hash of the five-tuple of UDP packets. Egress AFBRs receiving these UDP encapsulated packets MUST decapsulate these packets by removing the UDP header and then forward them accordingly. 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) 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. 5. 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. 6. IANA Considerations A new UDP destination port number which indicates the encapsulated payload following the UDP header is an IP packet needs to be assigned by IANA. 7. Acknowledgements Thanks to Vivek Kumar, Carlos Pignataro and Mark Townsley for their valuable comments on the initial idea of this draft. Thanks to Andrew G. Malis for his valuable comments on this draft. 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Xu, et al. Expires August 18, 2013 [Page 5] Internet-Draft Encapsulating IP in UDP February 2013 8.2. Informative References [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, October 1996. [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. [RFC768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August 1980. [I-D.ietf-6man-udpchecksums] Eubanks, M., Chimento, P., and M. Westerlund, "UDP Checksums for Tunneled Packets", draft-ietf-6man-udpchecksums-04 (work in progress), September 2012. [I-D.ietf-6man-udpzero] Fairhurst, G. and M. Westerlund, "Applicability Statement for the use of IPv6 UDP Datagrams with Zero Checksums", draft-ietf-6man-udpzero-07 (work in progress), October 2012. [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-00.txt (work in progress), January 2013. Authors' Addresses Xiaohu Xu Huawei Technologies, Beijing, China Phone: +86-10-60610041 Email: xuxiaohu@huawei.com Xu, et al. Expires August 18, 2013 [Page 6] Internet-Draft Encapsulating IP in UDP February 2013 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