idnits 2.17.1 draft-xu-mpls-in-udp-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 3, 2012) is 4161 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC5460' is mentioned on line 124, but not defined == Missing Reference: 'RFC 5512' is mentioned on line 204, but not defined ** Obsolete undefined reference: RFC 5512 (Obsoleted by RFC 9012) == Unused Reference: 'RFC6391' is defined on line 299, but no explicit reference was found in the text == Unused Reference: 'RFC6790' is defined on line 304, but no explicit reference was found in the text == Outdated reference: A later version (-06) exists of draft-ietf-mpls-entropy-label-01 -- Obsolete informational reference (is this intentional?): RFC 5512 (Obsoleted by RFC 9012) == Outdated reference: A later version (-11) exists of draft-ietf-l2vpn-evpn-00 Summary: 1 error (**), 0 flaws (~~), 7 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network working group X. Xu 2 Internet Draft Huawei 3 Category: Standard Track N. Sheth 4 Contrail Systems 5 L. Yong 6 Z. Li 7 Huawei 8 Y. Fan 9 China Telecom 11 Expires: May 2013 December 3, 2012 13 Encapsulating MPLS in UDP 15 draft-xu-mpls-in-udp-04 17 Abstract 19 Existing technologies to encapsulate MPLS over IP are not adequate 20 for efficient load balancing across IP networks. This document 21 specifies additional IP-based encapsulation technology, referred to 22 as MPLS-in-UDP, which can facilitate the load balancing of MPLS 23 application traffic, such as L2VPN and L3VPN traffic, across IP 24 networks. 26 Status of this Memo 28 This Internet-Draft is submitted to IETF in full conformance with 29 the provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF), its areas, and its working groups. Note that 33 other groups may also distribute working documents as Internet- 34 Drafts. 36 Internet-Drafts are draft documents valid for a maximum of six 37 months and may be updated, replaced, or obsoleted by other documents 38 at any time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 The list of current Internet-Drafts can be accessed at 42 http://www.ietf.org/ietf/1id-abstracts.txt. 44 The list of Internet-Draft Shadow Directories can be accessed at 45 http://www.ietf.org/shadow.html. 47 This Internet-Draft will expire on May 3, 2013. 49 Copyright Notice 51 Copyright (c) 2009 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents 56 (http://trustee.ietf.org/license-info) in effect on the date of 57 publication of this document. Please review these documents 58 carefully, as they describe your rights and restrictions with 59 respect to this document. 61 Conventions used in this document 63 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 64 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 65 document are to be interpreted as described in RFC-2119 [RFC2119]. 67 Table of Contents 69 1. Introduction ................................................ 3 70 1.1. Existing Technologies .................................. 3 71 1.2. Motivations for MPLS-in-UDP Encapsulation .............. 4 72 2. Terminology ................................................. 4 73 3. Encapsulation in UDP......................................... 4 74 4. Signaling for Encapsulation in UDP .......................... 5 75 5. Processing Procedures ....................................... 5 76 6. Applicability ............................................... 6 77 7. Security Considerations ..................................... 6 78 8. IANA Considerations ......................................... 6 79 9. Acknowledgements ............................................ 6 80 10. References ................................................. 7 81 10.1. Normative References .................................. 7 82 10.2. Informative References ................................ 7 83 Authors' Addresses ............................................. 8 85 1. Introduction 87 To fully utilize the bandwidth available in IP networks and/or 88 facilitate recovery from a link or node failure, load balancing of 89 traffic over Equal Cost Multi-Path (ECMP) and/or Link Aggregation 90 Group (LAG) across the IP networks is widely used. In effect, most 91 existing core routers in IP networks are already capable of 92 distributing IP traffic flows over ECMP paths and/or LAG based on 93 the hash of the five-tuple of UDP/TCP packets (i.e., source IP 94 address, destination IP address, source port, destination port, and 95 protocol). 97 In Practice, there are some Multi-Protocol Label Switching (MPLS) 98 application scenarios where the traffic of MPLS applications (e.g., 99 MPLS-based Layer2 Virtual Private Network (L2VPN) or Layer3 Virtual 100 Private Network (L3VPN) needs to be transported through IP-based 101 tunnels, rather than MPLS tunnels. For example, MPLS-based L2VPN or 102 L3VPN technologies may be used for interconnecting geographically 103 dispersed enterprise data centers or branch offices across IP Wide 104 Area Networks (WAN) where enterprise own router devices are deployed 105 as L2VPN or L3VPN PE routers. In this case, the load balance of the 106 MPLS application traffic across IP networks is much desirable. 108 1.1. Existing Technologies 110 With existing IP-based encapsulation methods for MPLS applications, 111 such as MPLS-in-IP and MPLS-in-Generic Routing Encapsulation (GRE) 112 [RFC4023] or even MPLS-in-Layer Two Tunneling Protocol - Version 3 113 (L2TPv3)[RFC4817], distinct customer traffic flows between a given 114 PE router pair would be encapsulated with the same IP-based tunnel 115 headers prior to traversing the core of the IP WAN. Since the 116 encapsulated traffic is neither TCP nor UDP traffic, core routers 117 could only perform hash calculation on fields in the IP headers of 118 those tunnels (i.e., source IP address, destination IP address). As 119 a result, core routers could not achieve a fine-grained load 120 balancing of these traffic flows across the network core due to the 121 lack of adequate entropy information. 123 [RFC5640] describes a method for improving the load balancing 124 efficiency in a network carrying Softwire Mesh [RFC5460] service 125 over L2TPv3 and GRE encapsulation. However, this method requires 126 core routers to be capable of performing hash calculation on the 127 "load-balancing" field contained in the tunnel encapsulation headers 128 (i.e., the Session ID field in the L2TPv3 header or the Key field in 129 the GRE header), which means a non-trivial change to the date plane 130 of core routers. 132 1.2. Motivations for MPLS-in-UDP Encapsulation 134 On basis of the fact that most existing core routers (i.e., P 135 routers in the context of MPLS-based L2VPN or L3VPN) are already 136 capable of balancing IP traffic flows over the IP networks based on 137 the hash of the five-tuple of UDP/TCP packets, it would be 138 advantageous to use MPLS-in-UDP encapsulation instead of MPLS-in-GRE 139 or MPLS-in-L2TPv3 in such environments. In this way, the default 140 load-balancing capability of existing core routers as mentioned 141 above can be utilized directly without requiring any change to them. 143 2. Terminology 145 This memo makes use of the terms defined in [RFC4364] and [RFC4664]. 147 3. Encapsulation in UDP 149 MPLS-in-UDP encapsulation format is shown as follows: 151 0 1 2 3 152 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 153 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 154 | Source Port = entropy | Dest Port = MPLS | 155 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 156 | UDP Length | UDP Checksum | 157 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 158 | | 159 ~ MPLS Packet ~ 160 | | 161 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 163 Source Port of UDP 165 This field contains an entropy value that is generated 166 by the ingress PE router. For example, the entropy value 167 can be generated by performing hash calculation on 168 certain fields in the customer packets (e.g., the five 169 tuple of UDP/TCP packets). To ensure that the source 170 port number is always in the range 49152 to 65535 which 171 may be required in some cases, instead of calculating a 172 16-bit hash, the ingress PE router could calculate a 14- 173 bit hash and use those 14 bits as the least significant 174 bits of the source port field while the most significant 175 two bits would be set to binary 11. That still conveys 176 14 bits of entropy information which would be enough as 177 well in practice. 179 Destination Port of UDP 181 This field is set to a value (TBD) indicating the MPLS 182 packet encapsulated in the UDP header is a MPLS one or a 183 MPLS one with upstream-assigned label. 185 UDP Length 187 The usage of this field is in accordance with the 188 current UDP specification. 190 UDP Checksum 192 The usage of this field is in accordance with the 193 current UDP specification. To simplify the operation on 194 egress PE routers, this field is recommended to be set 195 to zero. 197 4. Signaling for Encapsulation in UDP 199 It is necessary for two end points of a tunnel to signal the tunnel 200 encapsulation attributes in some situations. [RFC5512] specifies 201 Border Gateway Protocol (BGP) protocol extensions and the mechanisms 202 for BGP routers to signal tunnel encapsulation attributes among them. 203 In those MPLS applications (e.g., BGP/MPLS IP VPN [RFC4364]) where 204 BGP is used, the approach defined in [RFC 5512] applies to the UDP 205 tunneling encapsulation as well by simply requesting a new Tunnel 206 Type code for the UDP tunneling encapsulation from IANA. 208 Since the UDP tunneling encapsulation may apply to other 209 applications besides MPLS, e.g., IP, details about signaling the UDP 210 tunnel encapsulation attributes would be described in a separate 211 document. 213 5. Processing Procedures 215 This MPLS-in-UDP encapsulation causes MPLS packets to be forwarded 216 through "UDP tunnels". When performing MPLS-in-UDP encapsulation by 217 an ingress PE router, the entropy value would be generated by the 218 ingress PE router and then be filled in the Source Port field of the 219 UDP header. 221 P routers, upon receiving these UDP encapsulated packets, could 222 balance these packets based on the hash of the five-tuple of UDP 223 packets. 225 Upon receiving these UDP encapsulated packets, egress PE routers 226 would decapsulate them by removing the UDP headers and then process 227 them accordingly. 229 As for other processing procedures such as preventing fragmentation 230 and reassembly, TTL and differentiated services, the corresponding 231 procedures defined in [RFC4023] SHOULD be followed. 233 6. Applicability 235 Besides the MPLS-based L3VPN [RFC4364] and L2VPN [RFC4761, RFC4762] 236 [E-VPN] applications, MPLS-in-UDP encapsulation could apply to other 237 MPLS applications including but not limited to 6PE [RFC4798] and 238 PWE3 services. 240 7. Security Considerations 242 Just like MPLS-in-GRE and MPLS-in-IP encapsulation formats, the 243 MPLS-in-UDP encapsulation format defined in this document by itself 244 cannot ensure the integrity and privacy of data packets being 245 transported through the MPLS-in-UDP tunnels and cannot enable the 246 tunnel decapsulators to authenticate the tunnel encapsulator. In the 247 case where any of the above security issues is concerned, the MPLS- 248 in-UDP tunnels SHOULD be secured with IPsec in transport mode. In 249 this way, the UDP header would not be seeable to P routers anymore. 250 As a result, the meaning of adopting MPLS-in-UDP encapsulation 251 format as an alternative to MPLS-in-GRE and MPLS-in-IP encapsulation 252 formats is lost. Hence, MPLS-in-UDP encapsulation format SHOULD be 253 used only in the scenarios where all the security issues as 254 mentioned above are not significant concerns. For example, in a data 255 center environment, the whole network including P routers and PE 256 routers are under the control of a single administrative entity and 257 therefore there is no need to worry about the above security issues. 259 8. IANA Considerations 261 Two distinct UDP destination port numbers indicating MPLS and MPLS 262 with upstream-assigned label respectively need to be assigned by 263 IANA. 265 9. Acknowledgements 267 Thanks to Shane Amante, Dino Farinacci, Keshava A K, Ivan Pepelnjak, 268 Eric Rosen, Andrew G. Malis, Kireeti Kompella, Marshall Eubanks, 269 Weiguo Hao, Zhenxiao Liu and Xing Tong for their valuable comments 270 on the idea of MPLS-in-UDP encapsulation. Thanks to Daniel King, 271 Gregory Mirsky and Eric Osborne for their valuable reviews on this 272 draft. 274 10. References 276 10.1. Normative References 278 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 279 Requirement Levels", BCP 14, RFC 2119, March 1997. 281 10.2. Informative References 283 [RFC4364] Rosen, E and Y. Rekhter, "BGP/MPLS IP Virtual Private 284 Networks (VPNs)", RFC 4364, February 2006. 286 [RFC4664] Andersson, L. and Rosen, E. (Editors),"Framework for Layer 287 2 Virtual Private Networks (L2VPNs)", RFC 4664, Sept 2006. 289 [RFC4023] Worster, T., Rekhter, Y., and E. Rosen, "Encapsulating 290 MPLS in IP or GRE", RFC4023, March 2005. 292 [RFC4817] M. Townsley, C. Pignataro, S. Wainner, T. Seely and J. 293 Young, " Encapsulation of MPLS over Layer 2 Tunneling 294 Protocol Version 3, March 2007. 296 [RFC5640] Filsfils, C., Mohapatra, P., and C. Pignataro, "Load- 297 Balancing for Mesh Softwires", RFC 5640, August 2009. 299 [RFC6391] Bryant, S., Filsfils, C., Drafz, U., Kompella, V., Regan, 300 J., and S. Amante, "Flow Aware Transport of Pseudowires 301 over an MPLS Packet Switched Network", RFC6391, November 302 2011 304 [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and L. 305 Yong, "The Use of Entropy Labels in MPLS Forwarding", 306 draft-ietf-mpls-entropy-label-01, work in progress, 307 October, 2011. 309 [RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation 310 Subsequent Address Family Identifier (SAFI) and the 311 BGP Tunnel Encapsulation Attribute", RFC 5512, April 312 2009. 314 [RFC4798] J Declerq et al., "Connecting IPv6 Islands over IPv4 MPLS 315 using IPv6 Provider Edge Routers (6PE)", RFC4798, February 316 2007. 318 [RFC4761] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service 319 (VPLS) Using BGP for Auto-Discovery and Signaling", RFC 320 4761, January 2007. 322 [RFC4762] Lasserre, M. and V. Kompella, "Virtual Private LAN Service 323 (VPLS) Using Label Distribution Protocol (LDP) Signaling", 324 RFC 4762, January 2007. 326 [E-VPN] Aggarwal et al., "BGP MPLS Based Ethernet VPN", draft-ietf- 327 l2vpn-evpn-00.txt, work in progress, February, 2012. 329 Authors' Addresses 331 Xiaohu Xu 332 Huawei Technologies, 333 Beijing, China 334 Phone: +86-10-60610041 335 Email: xuxiaohu@huawei.com 337 Nischal Sheth 338 Contrail Systems 339 Email: nsheth@contrailsystems.com 341 Lucy Yong 342 Huawei USA 343 1700 Alma Dr. Suite 500 344 Plano, TX 75075, US 345 Email: lucyyong@huawei.com 347 Zhenbin Li 348 Huawei Technologies, 349 Beijing, China 350 Phone: +86-10-60613676 351 Email: lizhenbin@huawei.com 353 Yongbing Fan 354 China Telecom 355 Guangzhou, China. 356 Phone: +86 20 38639121 357 Email: fanyb@gsta.com