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]