Network-Based Mobility Extensions (Netext) | J. Korhonen |
Internet-Draft | Nokia Siemens Networks |
Updates: 5213 (if approved) | U. Nilsson |
Obsoletes: 5149 (if approved) | TeliaSonera |
Intended status: Standards Track | V. Devarapalli |
Expires: January 31, 2013 | August 01, 2012 |
Service Selection for Mobile IPv6 and Proxy Mobile IPv6
draft-ietf-netext-rfc5149bis-02.txt
In some Mobile IPv6 deployments, identifying the mobile node or the mobility service subscriber is not enough to distinguish between multiple services possibly provisioned to the mobile node and its mobility service subscription. A capability to specify different services in addition to the mobile node identity can be leveraged to provide flexibility for mobility service providers on provisioning multiple services to one mobility service subscription. This document describes a Service Selection Mobility Option for both conventional Mobile IPv6 and Proxy Mobile IPv6 that is intended to assist home agents and local mobility agents to make a specific service selection for the mobility service subscription during the binding registration procedure. This specification updates RFC5213 and obsoletes RFC5149.
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].
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). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http:/⁠/⁠datatracker.ietf.org/⁠drafts/⁠current/⁠.
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."
This Internet-Draft will expire on January 31, 2013.
Copyright (c) 2012 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.
Mobile IPv6 [RFC6275] can identify mobile nodes in various ways, including home addresses, Network Access Identifiers (NAIs) [RFC4282][RFC4283], and credentials suitable for the Internet Key Exchange Protocol version 2 (IKEv2) [RFC4877]. Proxy Mobile IPv6 [RFC5213] uses Home Network Prefix (HNP) and/or Mobile Node Identifier [RFC4283]. In some Mobile IPv6 deployments, identifying the mobile node or the mobility service subscriber via a Proxy Mobile IPv6 client [RFC5213] (hereafter, the mobile node and the Proxy Mobile IPv6 client are used interchangeably) is not enough to distinguish between multiple services possibly provisioned to the mobile node .
The capability to specify different services in addition to the mobile node identity can be leveraged to provide flexibility for mobility service providers to provide multiple services within the same mobility service subscription. For example:
This document describes a Service Selection Mobility Option for (Proxy) Mobile IPv6 that is intended to assist home agents or local mobility agents to make specific service selections for the mobility service subscription during the binding registration procedure. The service selection may affect home agent or local mobility agent routing decisions, Home Address or Home Network Prefix assignment policies, firewall settings, charging and security policies among others. The Service Selection option should be used in every (Proxy) Binding Update or Acknowledgement message.
Some of the potential use-cases were listed earlier in this section. The general aim is better manageability of services and service provisioning from the point of view of both operators and service providers. However, it should be understood that there are potential deployment possibilities where selecting a certain service may restrict simultaneous access to other services from a user's point of view. For example, services may be located in different administrative domains or external customer networks that practice excessive filtering of inbound and outbound traffic.
There are existing deployments using the Service Selection option. 3GPP PMIPv6-based Evolved Packet Core (EPC) [RFC6459] deployments use the Service Selection option to carry the Access Point Name (APN) [TS.23003]. Recently, service provider Wi-Fi services over residential architectures [I-D.gundavelli-v6ops-community-wifi-svcs] that intend to integrate into e.g., 3GPP EPC using PMIPv6, need Service Selection option again to carry the APN information for identifying a particular routing domain.
At most one Service Selection Mobility option SHOULD be included in any (Proxy) Binding Update message. If and only if the (Proxy) Binding Update message included the Service Selection Option, then the corresponding (Proxy) Binding Acknowledgement message SHOULD also contain the Service Selection option with the service name in the Identifier.
If the (Proxy) Binding Update message includes any authorization-related options (such as the Binding Authorization Data option [RFC6275]) or authentication related options (such as the Mobility Message Authentication option [RFC4285]), then the Service Selection option MUST appear before any mobility message authorization- or authentication-related options.
The Service Selection option SHOULD NOT be sent to a correspondent node. The mobile node cannot assume that the correspondent node has any knowledge about a specific service selection made between the mobile node and the home agent.
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 = 20 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Service Selection Mobility Option
The Service Selection option has no alignment requirement as such.
Section 5.4.1 of [RFC5213] describes various Binding Cache Entry (BCE) lookup variations in the local mobility agent. Some existing Proxy Mobile IPv6 deployments have added the Service Selection option as one of the used BCE lookup keys. This implies that the Service Selection option SHOULD be included in all Proxy Binding Update messages, especially when the Home Network Prefix is not readily available.
A mobile node or a Proxy Mobile IPv6 client MAY include, at most, one Service Selection Mobility Option into a (Proxy) Binding Update message. The option is used to identify the service to be associated with the binding registration and SHOULD only be included into the initial Binding Update message sent to a home agent. If the mobile node wishes to change the selected service, it is RECOMMENDED that the mobile node de-register the existing binding with the home agent before proceeding with a binding registration for a different service. The provisioning of the service identifiers to the mobile node or to the Proxy Mobile IPv6 client is out of the scope of this specification.
The placement of the Service Selection option is as follows: when present, this option MUST appear after the Mobile Node-Network Access Identifier (MN-NAI) option, if the MN-NAI option is present, and before any authorization- and authentication-related options. The Service Selection option can be used with any mobile node identification method such as a home address, an MN-NAI, and credentials suitable for IKEv2.
If the mobile node receives a (Proxy) Binding Acknowledgement with a Status Code set to SERVICE_AUTHORIZATION_FAILED and the mobile node has an existing binding with the Home Address or the Home Network Prefix used in the failed (Proxy) Binding Update message, the mobile node MUST delete the existing binding. If there is no existing binding, the mobile node proceeds as with any failed initial binding registration.
If the mobile node receives a (Proxy) Binding Acknowledgement with a Status Code set to MISSING_OR_UNKNOWN_SERVICE the mobile node proceeds as with any failed initial binding registration. The mobile node SHOULD log the event as it is usually an indication of a configuration error.
Upon receiving a (Proxy) Binding Update message with a Service Selection option, the home agent or the local mobility agent authenticates and authorizes the mobile node. If the home agent or the local mobility anchor supports the Service Selection and the Service Selection is required by the local policy, the home agent or the local mobility anchor MUST also verify that the mobile node is authorized for the service it included in the Service Selection option. The services the mobile node is authorized for SHOULD be part of the general mobile node subscription profile. If the mobile node is not authorized for the service, the home agent or the local mobility agent MUST deny the registration and send a (Proxy) Binding Acknowledgement with a Status Code set to SERVICE_AUTHORIZATION_FAILED (151). If the (Proxy) Binding Update does not contain the Service Selection option or the indicated service is unknown, the home agent or the local mobility agent SHOULD deny the registration and send a (Proxy) Binding Acknowledgement with a Status Code set to MISSING_OR_UNKNOWN_SERVICE (TBD).
If binding registration was successful in the home agent or the local mobility agent, then the (Proxy) Binding Acknowledgement SHOULD contain the Service Selection option with the service name in the Identifier.
The Service Selection option is used to assist the authorization and identifies a specific service that is to be authorized. The Service Selection option MAY also affect the Home Address or the Home Network Prefix allocation when, for example, used with the MN-NAI option. For example, for the same NAI there MAY be different Home Addresses or Home Network Prefixes depending on the identified service. Furthermore, the Service Selection option MAY also affect the routing of the outbound IP packets in the home agent or the local mobility agent depending on the selected service. The home agent MAY also apply different policy or quality of service treatment to traffic flows based on the selected service.
If the newly arrived (Proxy) Binding Update message with a Service Selection option indicates a change in the selected service, then the home agent MUST re-authorize the mobile node. Depending on the home agent or the local mobility agent policies, the services policies, Home Address or Home Network Prefix allocation policies, and the subscription policies, the home agent may or may not be able to authorize the mobile node to the new service. For example, the existing service and the new service could require different Home Network Prefixes. If the authorization fails, then the home agent or the local mobility agent MUST deny the registration, delete any binding with the existing Home Address or Home Network Prefix, and send a (Proxy) Binding Acknowledgement with a Status Code set to SERVICE_AUTHORIZATION_FAILED (151).
Unless the correspondent node and the home agent share the same knowledge about mobility services, the Service Selection option is more or less useless information to the correspondent node. The correspondent node SHOULD silently ignore the Service Selection option in this case.
There are deployment cases where the home agent and a correspondent node, for example, belong to the same administrative domain. In this case, it is possible that the correspondent node shares the same knowledge of the services as the home agent. Therefore, the correspondent node is, for example, able to provide service-based traffic handling to mobile nodes.
This specification defines one configuration object that controls the encoding of the service identifier string.
The protection for the Service Selection Mobility Option depends on the service that is being identified and eventually selected. If the service selection information should not be revealed on the wire, (Proxy) Binding Updates and (Proxy) Binding Acknowledgements should use Encapsulating Security Payload (ESP) [RFC4303] in transport mode with a non-null encryption transform to provide message confidentiality.
Service Selection Mobility Option is set to 20
SERVICE_AUTHORIZATION_FAILED is set to 151 MISSING_OR_UNKNOWN_SERVICE is set to TBD
A Mobile IPv6 Mobility Option type has been assigned for the following new mobility option from [RFC6275] "Mobility Options" registry. The mobility option is defined in Section 2:
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC6275] | Perkins, C., Johnson, D. and J. Arkko, "Mobility Support in IPv6", RFC 6275, July 2011. |
[RFC5213] | Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K. and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008. |
[NFKC] | Davis, M. and M. Durst, "Unicode Standard Annex #15; Unicode Normalization Forms", Unicode 5.0.0, October 2006. |
3GPP EPC PMIPv6-based interfaces echo the Service Selection option always back in Proxy Binding Acknowledgements. This is clarified from the RFC5149, which did not say anything about the Service Selection option in Proxy Binding Acknowledgement messages.
3GPP EPC decided to encode their Service Selection Identifiers using the [RFC1035] domain name style encoding [TS.23003]. Implementations has to take this into account when they intend to interoperate with 3GPP EPC.
3GPP EPC use the Service Selection option as one of the BCE lookup keys. This is additional to RFC5213 defined set of BCE lookup keys.
RFC5149 did not make a difference between a service authorization failure (SERVICE_AUTHORIZATION_FAILED) and a service not being provisioned in a home agent/local mobility agent or otherwise unknown (MISSING_OR_UNKNOWN_SERVICE).
RFC5149 has implementations by multiple vendors and there are several deployments. Furthermore, RFC5149 is not specific to 3GPP networks anymore.