RFC 7389

Separation of Control and User Plane for Proxy Mobile IPv6

πŸ“… published October 2014, from ietf

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 (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_ZERO value.
  • 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_ZERO value.

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