RFC 7389
Separation of Control and User Plane for Proxy Mobile IPv6
RFC 7389: Separation of Control and User Plane for Proxy Mobile IPv6 π
bestie, this one is from October 2014 and it's a Standards Track doc π¦ It's published under ISSN 2070-1721. The authors are R. Wakikawa (Softbank Mobile), R. Pazhyannur and S. Gundavelli (Cisco), and C. Perkins (Futurewei Inc.) π The header doesn't list anything it obsoletes or updates, so it's standing on its own β¨
Abstract πΈ
okay so this doc is all about splitting the control plane (CP) from the user plane (UP) in a network built on Proxy Mobile IPv6 (PMIPv6) π§ Right now a mobile access gateway (MAG) can split its own control and user planes using the Alternate Care-of Address mobility option for IPv6, or the Alternate IPv4 Care-of Address option for IPv4. But the local mobility anchor (LMA) has no equivalent way to do that split, and that's the gap this fixes π This spec adds a new mobility option that lets an LMA hand out an alternate LMA address for the two-way user-plane traffic between the MAG and LMA. With it, the LMA can use one IP address for its user plane and a different one for its control plane, and that's giving flexibility π
Status of This Memo π
This is an Internet Standards Track document π
It's a product of the Internet Engineering Task Force (IETF), so it reflects what the IETF community agreed on. It got public review and the Internet Engineering Steering Group (IESG) approved it for publication. If you want more on Internet Standards, check Section 2 of RFC 5741 β¨
For the current status, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc7389 π
Copyright Notice π«Ά
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stand on the publication date. Read these carefully, because they spell out what you're allowed to do with the doc. Any Code Components pulled out of this document must include the Simplified BSD License text described in Section 4.e of the Trust Legal Provisions, and they come with no warranty, as the Simplified BSD License describes π₯
Table of Contents π
1. Introduction ....................................................2
2. Conventions and Terminology .....................................5
2.1. Conventions ................................................5
2.2. Terminology ................................................5
3. Additional Fields in Conceptual Data Structures .................6
4. LMA User-Plane Address Mobility Option ..........................6
5. Protocol Configuration Variable .................................8
6. IANA Considerations .............................................9
7. Security Considerations .........................................9
8. References .....................................................10
8.1. Normative References ......................................10
8.2. Informative References ....................................10
Acknowledgements ..................................................12
Authors' Addresses ................................................12
1. Introduction π§
okay the basics first π A PMIPv6 setup has two main players: the LMA (local mobility anchor) and the MAG (mobile access gateway). The link between them has a control plane and a user plane. The control plane handles the signaling, like the Proxy Binding Update (PBU) and Proxy Binding Acknowledgement (PBA) messages that set up a mobility binding. The control-plane parts of the MAG and LMA also build and tear down a two-way tunnel between them. The user plane is the part that actually carries the mobile node's IP traffic through that two-way tunnel between the MAG and LMA β¨
Widely used mobility systems for wireless networks need the IP transport for user-plane forwarding and control-plane traffic to be separate. That split gives LMA and MAG entities more flexible ways to be deployed in PMIPv6, as [MOBILE-SEPARATION] describes. To pull that off, the LMA's control-plane functions also need to be reachable at a different IP address from the one used for the user plane. Here's the problem though: PMIPv6 doesn't have a way for the LMA to split its control plane from its user plane. Right now, the LMA is required to tie the IP address of the tunnel source to the target IP address for control messages that come in from the MAG π
The control-plane and user-plane parts of a MAG or LMA usually live in the same physical box. But sometimes it makes sense to put them in separate physical entities. For example, in a WLAN (Wireless LAN) network, the MAG's control-plane piece might sit on the Access Controller (also called the Wireless LAN Controller (WLC)) while the MAG's user-plane piece sits on the WLAN Access Point. That way every control-plane message to the LMA gets centralized, and the user plane gets spread across many Access Points π Same idea on the LMA side: its control or user plane might need to be separated for different scaling needs. Or you might want the control plane in one geographic location while the user plane is spread across several locations π For instance, as Figure 1 shows, the LMA and MAG could keep one control session open for PMIPv6 signaling while keeping separate connectivity over Generic Routing Encapsulation (GRE) or IP-in-IP tunneling to forward user-plane traffic π¦
MAG LMA
+--------+ +--------+
+------+ | MAG-CP |--------------| LMA-CP | _----_
| MN | | | PMIPv6 | | _( )_
| |---- +--------+ +--------+ ===( Internet )
+------+ : : (_ _)
+--------+ +--------+ '----'
| MAG-UP |--------------| LMA-UP |
| | GRE/IP-in-IP | |
+--------+ /UDP +--------+
MN: Mobile Node
CP: Control Plane
UP: User Plane
Figure 1: Functional Separation of the Control and User Plane
[RFC6463] and [RFC6275] already make it possible to separate the control and user planes on the MAG side. Specifically, [RFC6463] defines the Alternate IPv4 Care-of Address option, and [RFC6275] defines the Alternate Care-of Address option for IPv6. The MAG can put an Alternate Care-of Address in the PBU, and if the LMA supports that option, a two-way tunnel gets set up between the LMA address and the MAG's Alternate Care-of Address. But neither of those docs defines a matching option that lets the LMA hand the MAG an alternate tunnel endpoint address π
So this spec adds a new mobility option that lets a local mobility anchor give the MAG an alternate LMA address to use for the two-way tunnel between the MAG and LMA, as Figure 1 shows β¨
The LMA control-plane and LMA user-plane functions usually run on the same IP node, so the interface between them is internal to the implementation. Deployments can also put them on separate IP nodes. When that happens, you need a protocol interface between the two functions. That part is outside the scope of this document π«Ά Possible options for that interface include OpenFlow [OpenFlow-Spec-v1.4.0], Forwarding and Control Element Separation (ForCES) [RFC5810], use of routing infrastructure [STATELESS-UPLANE], and vendor-specific approaches. This specification doesn't mandate any particular protocol interface, and it treats that interface as a generic one that's relevant to many other protocol systems beyond Proxy Mobile IPv6 π When the LMA control-plane and LMA user-plane functions are on separate IP nodes, the requirement about user-plane address anchoring (specified in Section 5.6.2 of [RFC5213] and Section 3.1.3 of [RFC5844]) must be met by the node that hosts the LMA user-plane functionality. The LMA user-plane node must be a topological anchor point for the IP address/prefixes allocated to the mobile node π₯
2. Conventions and Terminology πΈ
2.1. Conventions π
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] π
2.2. Terminology π§
3GPP terms can be found in [RFC6459] π Other mobility-related terms used in this document are interpreted as they're defined in [RFC5213] and [RFC5844]. On top of that, this document uses the following terms β¨
IP-in-IP
IP-within-IP Encapsulation [RFC2473] [RFC4213] π¦
GRE
Generic Routing Encapsulation [RFC1701] π
UDP Encapsulation
Encapsulation mode based on UDP transport specified in [RFC5844] π
LMA Control-Plane Address (LMA-CPA)
The IP address on the LMA that's used for sending and receiving control-plane traffic from the MAG π«Ά
LMA User-Plane Address (LMA-UPA)
The IP address on the LMA that's used for sending and receiving user-plane traffic from the MAG π
MAG Control-Plane Address (MAG-CPA)
The IP address on the MAG that's used for sending and receiving control-plane traffic from the LMA π₯
MAG User-Plane Address (MAG-UPA)
The IP address on the MAG that's used for sending and receiving user-plane traffic from the LMA. This address is also called the Alternate Care-of Address πΈ
3. Additional Fields in Conceptual Data Structures π
To support what this document specifies, the conceptual Binding Update List entry data structure kept by the LMA and the MAG gets extended with the following extra fields π§
- The IP address of the LMA that carries user-plane traffic. π¦
- The IP address of the LMA that handles control-plane traffic. π
4. LMA User-Plane Address Mobility Option β¨
Okay bestie, the LMA User-Plane Address mobility option is a brand-new mobility header option π made for PBU and PBA messages going between the LMA and the MAG π¦. It's how the LMA tells the MAG what its user-plane IPv6 or IPv4 address is π«Ά. A message can carry zero, one, or two instances of this option. If there are two, one instance must be for IPv4 transport and the other instance must be for IPv6 transport π.
This option has an alignment requirement of 8n+2. Here's the layout π:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
. .
+ LMA User-Plane Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: LMA User-Plane Address Mobility Option Format
Type
The Type is 59.
Length
This is an 8-bit, unsigned integer π’ giving the length of the option in octets. It leaves out the Type and Length fields themselves.
Reserved
This field is unused in this specification. The value MUST be set to zero (0) by the sender and MUST be ignored by the receiver. π
LMA User-Plane Address
This holds the 32-bit IPv4 address or the 128-bit IPv6 address of the LMA user plane π. When the option is included in a PBU message, this field can be a zero-length field, or it can have a value of ALL_ZERO, which means all bits in the 32-bit IPv4 address or the 128-bit IPv6 address are set to zero π.
When including the LMA User-Plane Address mobility option in the PBU, the MAG must apply the following rules:
- When using IPv4 transport for the user plane, the IP address field in the option MUST be either a zero-length field or a 4-octet field with
ALL_ZEROvalue. - When using IPv6 transport for the user plane, the IP address field in the option MUST be either a zero-length field or a 16-octet field with
ALL_ZEROvalue.
When the LMA includes the LMA User-Plane Address mobility option in the PBA, the IP address field in the option MUST be set to the LMA's IPv4 or IPv6 address carrying user-plane traffic π.
- When using IPv4 transport for the user plane, the IP address field in the option is the IPv4 address carrying user-plane traffic.
- When using IPv6 transport for the user plane, the IP address field in the option is the IPv6 address carrying user-plane traffic.
The encapsulation mode for the user plane between the MAG and the LMA has to be based on the considerations specified in [RFC5213] and [RFC5844]. That's the tea, so go check those π§.
5. Protocol Configuration Variable
This specification defines the following configuration variable, which must be configurable (e.g., by the system management) on the LMA and MAG mobility entities π. The configured value for this protocol variable MUST survive server reboots and service restarts, and MUST be the same for every LMA and MAG in the network domain supporting PMIPv6 β¨.
Domain-wide-LMA-UPA-Support
This variable indicates whether or not all the mobility entities in the PMIPv6 domain support the LMA User-Plane Address mobility option π¦.
When this variable on the MAG is set to zero (0), the MAG MUST indicate whether or not it supports this feature by including the LMA User-Plane Address mobility option in the PBU. If the option is not present in the PBU, the LMA SHALL disable this feature for the mobility session corresponding to the PBU π.
Setting this variable to one (1) on the MAG indicates that there is domain-wide support for this feature, and the MAG is not required to include the LMA User-Plane Address mobility option in the PBA. In this case, the MAG MAY choose not to include the LMA User-Plane Address mobility option in the PBU πΈ.
When this variable on the LMA is set to zero (0), the LMA MUST NOT include the LMA User-Plane Address mobility option in the PBA unless the MAG has indicated support for this feature by including the LMA User-Plane Address mobility option in the PBU message π ββοΈ.
Setting this variable to one (1) on the LMA indicates that there is domain-wide support for this feature, and the LMA SHOULD choose to include this LMA User-Plane Address mobility option in the PBA even if the option is not present in the PBU message π.
On both the LMA and the MAG, the default value for this variable is zero (0). This implies that the default behavior of a MAG is to include this option in the PBU, and the default behavior of an LMA is to include this option in a PBA only if the option is present in the PBU π.
6. IANA Considerations
This specification defines a new mobility header option, the LMA User-Plane Address mobility option π. The format of this option is described in Section 4. The Type value 59 for this mobility option has been allocated by IANA in the "Mobility Options" registry at <http://www.iana.org/assignments/mobility-parameters> π.
7. Security Considerations π₯
The Proxy Mobile IPv6 specification [RFC5213] requires the signaling messages between the MAG and the LMA to be protected using end-to-end security association(s) offering integrity and data origin authentication. The Proxy Mobile IPv6 specification also requires IPsec [RFC4301] to be a mandatory-to-implement security mechanism π.
This document specifies an approach where the control-plane and user-plane functions of the MAG and LMA are separated and hosted on different IP nodes. In such deployment models, the nodes hosting those respective control-plane functions still have to meet the [RFC5213] security requirement listed above. Specifically, the Proxy Mobile IPv6 signaling messages exchanged between these entities MUST be protected using end-to-end security association(s) offering integrity and data origin authentication. Furthermore, IPsec is a mandatory-to-implement security mechanism for the nodes hosting the control-plane function of the MAG and LMA. Additional documents may specify alternative security mechanisms for securing Proxy Mobile IPv6 signaling messages. The mobility entities in a Proxy Mobile IPv6 domain can enable a specific security mechanism based on either (1) static configuration or (2) dynamic negotiation (using any standard security negotiation protocols) π«Ά.
As per the Proxy Mobile IPv6 specification, the use of IPsec for protecting the mobile node's user-plane traffic is optional. This specification keeps the same requirement, and therefore requires the nodes hosting the user-plane functions of the MAG and the LMA to have IPsec as a mandatory-to-implement security mechanism, but makes the use of IPsec optional for user-plane traffic protection π¦.
The LMA User-Plane Address mobility option defined in this specification is for use in PBU and PBA messages. This option is carried like any other mobility header option as specified in [RFC5213]. Therefore, it inherits security guidelines from [RFC5213] π .
The IP address of the LMA user plane (the LMA-UPA), provided within the LMA User-Plane Address mobility option, MUST be a valid address under the administrative control associated with the LMA functional block. Not a random IP, periodt π.
If the LMA user-plane and the LMA control-plane functions are hosted in different entities, any control messages between these two entities containing the LMA User-Plane Address mobility option MUST be protected using end-to-end security association(s) offering integrity and data origin authentication π₯.
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,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005,
<http://www.rfc-editor.org/info/rfc4301>.
[RFC5213] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K.,
and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008,
<http://www.rfc-editor.org/info/rfc5213>.
[RFC5844] Wakikawa, R. and S. Gundavelli, "IPv4 Support for Proxy
Mobile IPv6", RFC 5844, May 2010,
<http://www.rfc-editor.org/info/rfc5844>.
8.2. Informative References
[MOBILE-SEPARATION]
Wakikawa, R., Matsushima, S., Patil, B., Chen, B.,
Joachimpillai, D., and H. Deng, "Requirements and use
cases for separating control and user planes in mobile
network architectures", Work in Progress,
draft-wakikawa-req-mobile-cp-separation-00, November 2013.
[OpenFlow-Spec-v1.4.0]
Open Networking Foundation, "OpenFlow Switch
Specification, Version 1.4.0", October 2013.
[RFC1701] Hanks, S., Li, T., Farinacci, D., and P. Traina, "Generic
Routing Encapsulation (GRE)", RFC 1701, October 1994,
<http://www.rfc-editor.org/info/rfc1701>.
[RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in
IPv6 Specification", RFC 2473, December 1998,
<http://www.rfc-editor.org/info/rfc2473>.
[RFC4213] Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms
for IPv6 Hosts and Routers", RFC 4213, October 2005,
<http://www.rfc-editor.org/info/rfc4213>.
[RFC5810] Doria, A., Hadi Salim, J., Haas, R., Khosravi, H., Wang,
W., Dong, L., Gopal, R., and J. Halpern, "Forwarding and
Control Element Separation (ForCES) Protocol
Specification", RFC 5810, March 2010,
<http://www.rfc-editor.org/info/rfc5810>.
[RFC6275] Perkins, C., Johnson, D., and J. Arkko, "Mobility Support
in IPv6", RFC 6275, July 2011,
<http://www.rfc-editor.org/info/rfc6275>.
[RFC6459] Korhonen, J., Soininen, J., Patil, B., Savolainen, T.,
Bajko, G., and K. Iisakkila, "IPv6 in 3rd Generation
Partnership Project (3GPP) Evolved Packet System (EPS)",
RFC 6459, January 2012,
<http://www.rfc-editor.org/info/rfc6459>.
[RFC6463] Korhonen, J., Gundavelli, S., Yokota, H., and X. Cui,
"Runtime Local Mobility Anchor (LMA) Assignment Support
for Proxy Mobile IPv6", RFC 6463, February 2012,
<http://www.rfc-editor.org/info/rfc6463>.
[STATELESS-UPLANE]
Matsushima, S. and R. Wakikawa, "Stateless user-plane
architecture for virtualized EPC (vEPC)", Work in
Progress, draft-matsushima-stateless-uplane-vepc-03,
July 2014.
Acknowledgements π
okay bestie, the authors have to give the NetExt Working Group a massive shoutout π£ they gave super valuable feedback on the different versions of this spec π π«Ά and the authors specifically want to thank John Kaippallimalil, Sridhar Bhaskaran, Nirav Salot, Bruno Landais, Brian Carpenter, Pete Resnick, Stephen Farrell, and Brian Haberman for their comments and suggestions that made this spec better β¨ literally iconic behavior π
Authors' Addresses π¦
here are the authors and how to reach them, no cap π
Ryuji Wakikawa
Softbank Mobile
1-9-1, Higashi-Shimbashi, Minato-Ku
Tokyo 105-7322
Japan
EMail: ryuji.wakikawa@gmail.com
Rajesh S. Pazhyannur
Cisco
170 West Tasman Drive
San Jose, CA 95134
United States
EMail: rpazhyan@cisco.com
Sri Gundavelli
Cisco
170 West Tasman Drive
San Jose, CA 95134
United States
EMail: sgundave@cisco.com
Charles E. Perkins
Futurewei Inc.
2330 Central Expressway
Santa Clara, CA 95050
United States
EMail: charliep@computer.org
π¦ where this page comes from
- ietf: rfc7389 2014-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms