Internet Protocol Version 6 (IPv6) Profile for Mobile Devices
draft-ietf-v6ops-mobile-device-profile-01
This document specifies an IPv6 profile for mobile devices. It lists the set of features a mobile device is to be compliant with to connect to an IPv6-only or dual-stack mobile network.
This document defines a different profile than the one for general connection to IPv6 mobile networks defined in [RFC3316]. In particular, this document identifies also features to ensure IPv4 service continuity over an IPv6-only transport.
Both Hosts and devices with LAN capabilities are in scope.
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 September 28, 2013.
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.
1. Introduction
IPv6 deployment in mobile networks is the only perennial solution to the exhaustion of IPv4 addresses in those networks. Several mobile operators already deployed IPv6 or are in the pre-deployment phase. One of the major hurdles encountered by mobile operators is the availability of non-broken IPv6 implementation in mobile devices. Some vendors are already proposing some mobile devices with a set of IPv6 features, but the majority of devices are still lacking IPv6 support.
[RFC3316] lists a set of features to be supported by cellular hosts to connect to 3GPP cellular networks. Since the publication of that document, new functions have been specified within the 3GPP and the IETF whilst others have been updated. Moreover, in the light of recent IPv6 production deployments, additional features to facilitate IPv6-only deployments while accessing IPv4-only service are to be considered.
This document defines a different profile than the one for general connection to IPv6 mobile networks defined in [RFC3316]; in particular:
- It lists an extended list of required features while [I-D.ietf-v6ops-rfc3316bis] identifies issues and explains how to implement basic IPv6 features in a mobile context.
- It identifies also features to ensure IPv4 service continuity over an IPv6-only transport.
This document specifies an IPv6 profile for mobile devices listing required specifications produced by various SDOs (in particular 3GPP and IETF). The objectives of this effort are:
- List in one single document all requirements a mobile device is to comply with to connect to an IPv6 or dual stack mobile network. These requirements cover various network types such as GPRS, EPC or Wi-Fi network.
- Help Operators with the detailed device requirement list preparation (to be exchanged with device suppliers). This is also a contribution to harmonize Operators’ requirements towards device vendors.
- Vendors to be aware of a minimal set of requirements to allow for IPv6 connectivity and IPv4 service continuity (over an IPv6- only transport).
Pointers to some requirements listed in [RFC6434] are included in this profile. The justification for using a stronger language compared to what is specified in [RFC6434] is provided for some requirements.
Some of the features listed in this profile document require to activate dedicated functions at the network side. It is out of scope of this document to list these network-side functions.
A detailed overview of IPv6 support in 3GPP architectures is provided in [RFC6459].
This document makes use of the terms defined in [RFC6459].
PREFIX64 denotes an IPv6 prefix used to build IPv4-converted IPv6 addresses [RFC6052].
Various types of nodes can be connected to 3GPP networks requiring specific functions. Indeed, a 3GPP network can be used to connect user equipment such as a mobile telephone, a CPE or a machine-to-machine (M2M) device. Because of this diversity of terminals, it is necessary to define a set of IPv6 functionalities valid for any node directly connecting to a 3GPP network. This document describes these functionalities.
This document is structured to initially provide the generic IPv6 requirements which are valid for all nodes, whatever their function or service (e.g., SIP [RFC3261]) capability. The document also contains, dedicated sections covering specific functionalities the specific device types must support (e.g., smartphones, devices providing some LAN functions (mobile CPE or broadband dongles)).
M2M devices profile is out of scope.
The requirements listed below are valid for both 3GPP GPRS and 3GPP EPS access. For EPS, "PDN type" terminology is used instead of "PDP context".
1.2. Special Language
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 document is not a standard. It uses the normative keywords only for precision.
- REQ#1:
- The cellular host MUST be compliant with Section 5.9.1 (IPv6 Addressing Architecture) and Section 5.8 (ICMPv6 support) of [RFC6434].
- REQ#2:
- The cellular host MUST support both IPv6 and IPv4v6 PDP Contexts.
- This allows each operator to select their own strategy regarding IPv6 introduction. Both IPv6 and IPv4v6 PDP contexts MUST be supported in addition to the IPv4 PDP context. IPv4, IPv6 or IPv4v6 PDP-Context request acceptance depends on the mobile network configuration.
- REQ#3:
- The cellular host MUST comply with the behavior defined in [TS.23060] [TS.23401] [TS.24008] for requesting a PDP context type. In particular, the cellular host MUST request an IPv6 PDP context if the cellular host is IPv6-only and requesting an IPv4v6 PDP context if the cellular host is dual stack or when the cellular host is not aware of connectivity types requested by devices connected to it (e.g., cellular host with LAN capabilities):
- If the requested IPv4v6 PDP context is not supported by the network, but IPv4 and IPv6 PDP types are allowed, then the cellular host will be configured with an IPv4 address and/or an IPv6 prefix by the network. It MAY initiate another PDP request in addition to the one already activated for a given APN.
- If the requested PDP type and subscription data allows only one IP address family (IPv4 or IPv6), the cellular host MUST NOT request a second PDP context to the same APN for the other IP address family.
The text above focuses on the specification part which explains the behavior for requesting IPv6-related PDP context(s). Understanding this behavior is important to avoid having broken IPv6 implementations in cellular devices.
- REQ#4:
- The cellular host MUST support the PCO (Protocol Configuration Options) [TS.24008] to retrieve the IPv6 address(es) of the Recursive DNS server(s).
- In-band signaling is a convenient method to inform the cellular host about various services, including DNS server information. It does not require any specific protocol to be supported and it is already deployed in IPv4 cellular networks to convey such DNS information.
- REQ#5:
- The cellular host MUST support IPv6 aware Traffic Flow Templates (TFT) [TS.24008].
- Traffic Flow Templates are employing a Packet Filter to couple an IP traffic with a PDP-Context. Thus a dedicated PDP-Context and radio resources can be provided by the mobile network for certain IP traffic.
- REQ#6:
- The device MUST support the Neighbor Discovery Protocol ([RFC4861] and [RFC5942]).
- This is a stronger form compared to what is specified in Section 12.2 of [RFC6434]. The support of Neighbor Discovery Protocol is mandatory in mobile environment as it is the only way to convey IPv6 prefix towards the mobile device.
- In particular, MTU communication via Router Advertisement SHOULD be supported since many 3GPP networks do not have a standard MTU setting due to inconsistencies in GTP [RFC3314] mobility tunnel infrastructure deployments.
- REQ#8:
- The cellular host MUST support IPv6 Stateless Address Autoconfiguration ([RFC4862]) apart from the exceptions noted in [TS.23060] (3G) and [TS.23401] (LTE):
- Stateless mode is the only way to configure a cellular host. The GGSN must allocate a prefix that is unique within its scope to each primary PDP context.
- The cellular host MUST use the interface identifier sent in PDP Context Accept message to configure its link local address. The cellular host may use a different Interface Identifiers to configure its global addresses.
- REQ#9:
- The cellular host must comply with Section 7.3 of [RFC6434].
- The support of Router Advertisement Options for DNS configuration allows for a consistent method of informing cellular hosts about DNS recursive servers across various types of access networks. The cellular host SHOULD support RA-based DNS information discovery.
- REQ#10:
- The cellular host must comply with Section 7.2.1 of [RFC6434].
- Stateless DHCPv6 is useful to retrieve other information than DNS.
- If [RFC6106] is not supported, the cellular host SHOULD retrieve DNS information using stateless DHCPv6 [RFC3736].
- If the cellular host receives the DNS information in several channels for the same interface, the following preference order MUST be followed:
- PCP
- RA
- DHCPv6
- REQ#11:
- The cellular host SHOULD support a method to locally construct IPv4-embedded IPv6 addresses [RFC6052]. A method to learn PREFIX64 SHOULD be supported by the cellular host.
- This solves the issue when applications use IPv4 referrals on IPv6-only access networks.
- In PCP-based environments, cellular hosts SHOULD follow [I-D.ietf-pcp-nat64-prefix64] to learn the IPv6 Prefix used by an upstream PCP-controlled NAT64 device. If PCP is not enabled, the cellular host SHOULD implement the method specified in [I-D.ietf-behave-nat64-discovery-heuristic] to retrieve the PREFIX64.
- REQ#12:
- The cellular host SHOULD implement the Customer Side Translator (CLAT, [I-D.ietf-v6ops-464xlat]) function which is compliant with [RFC6052][RFC6145][RFC6146].
- CLAT function in the cellular host allows for IPv4-only application and IPv4-referals to work on an IPv6-only PDP. CLAT function requires a NAT64 capability [RFC6146] in the core network.
- REQ#13:
- The cellular device SHOULD embed a DNS64 function [RFC6147].
- Local DNS64 functionality allows for compatibility with DNSSEC. Means to configure or discover a PREFIX64 is also required on the cellular device.
- REQ#14:
- The cellular host SHOULD support PCP [I-D.ietf-pcp-base].
- The support of PCP is seen as a driver to save battery consumption exacerbated by keepalive messages. PCP also gives the possibility of enabling incoming connections to the user. Indeed, because several stateful devices may be deployed in mobile networks (e.g., NAT and/or Firewalls), PCP can be used by the cellular host to control network based NAT and Firewall functions which will reduce per-application signaling and save battery consumption.
- REQ#15:
- When the cellular host is dual stack connected, it SHOULD support means to prefer native IPv6 connection over connection established through translation devices (e.g., NAT44 and NAT64).
- REQ#16:
- The cellular host SHOULD support Happy Eyeballs procedure defined in [RFC6555].
- REQ#17:
- The cellular host SHOULD NOT perform Duplicate Address Detection (DAD) for these Global IPv6 addresses (as the GGSN or PDN-GW must not configure any IPv6 addresses using the prefix allocated to the cellular host). Refer to Section 4 for DAD considerations on the LAN interface when the 3GPP connection is shared.
- REQ#18:
- The cellular device MAY embed a BIH function [RFC6535] facilitating the communication between an IPv4 application and an IPv6 server.
2.1. WiFi Connectivity
It is increasingly common for cellular hosts have a Wi-Fi interface in addition to their cellular interface. These hosts are likely to be connected to private or public hotspots. Below are listed some generic requirements:
- REQ#19:
- IPv6 MUST be supported on the Wi-Fi interface. In particular, IPv6-only connectivity MUST be supported over the Wi-Fi interface.
- Recent tests revealed that IPv4 configuration is required to enable IPv6-only connectivity. Indeed, some cellular handsets can access a Wi-Fi IPv6-only network by configuring first a static IPv4 address. Once the device is connected to the network and the wlan0 interface got an IPv6 global address, the IPv4 address can be deleted from the configuration. This avoids the device to ask automatically for a DHCPv4 server, and allows to connect to IPv6-only networks.
- IPv6 Stateless Address Autoconfiguration ([RFC4862]) MUST be supported.
- REQ#20:
- DHCPv6 client SHOULD be supported on Wi-Fi interface.
- REQ#21:
- Wi-Fi interface SHOULD support Router Advertisement Options for DNS configuration (See Section Section 7.3 of [RFC6434]). If the device receives the DNS information in several channels for the same interface, the following preference order MUST be followed:
- RA
- DHCPv6
3. Advanced Requirements
- REQ#22:
- The cellular host must comply with Section 5.6.1 of [RFC6434]. If the MTU used by cellular hosts is larger than 1280 bytes, they can rely on Path MTU discovery function to discover the real path MTU.
- REQ#23:
- The cellular host must comply with Section 5.9.3 of [RFC6434] for the support of the Privacy Extensions for Stateless Address Autoconfiguration in IPv6.
- The activation of privacy extension makes it more difficult to track a host over time when compared to using a permanent interface identifier. [RFC4941] does not require any DAD mechanism to be activated as the GGSN (or PDN-GW) MUST NOT configure any global address based on the prefix allocated to the cellular host.
- REQ#24:
- The cellular host SHOULD support ROHC for IPv6 ([RFC5795]).
- Bandwidth in mobile environments must be optimized as much as possible. ROHC provides a solution to reduce bandwidth consumption and to reduce the impact of having bigger packet headers in IPv6 compared to IPv4.
- REQ#25:
- The cellular host SHOULD support IPv6 Router Advertisement Flags Options ([RFC5175]).
- This is a stronger form compared to what is specified in [RFC6434]. The justification is some flags are used by the GGSN (or PDN-GW) to inform cellular hosts about the autoconfiguration process.
- REQ#26:
- The cellular host must comply with Section 5.3 of [RFC6434] and SHOULD support Router Advertisement extension for communicating default router preferences and more-specific routes as described in [RFC4191].
- This function can be used for instance for traffic offload.
This section focuses on cellular devices (e.g., CPE, smartphones or dongles with tethering features) which provide IP connectivity to other devices connected to them. In such case, all connected devices are sharing the same GPRS, UMTS or EPS connection. In addition to the generic requirements listed in Section 2, these cellular devices have to meet the requirements listed below.
- REQ#27:
- The cellular device MUST support Prefix Delegation capabilities [RFC3633] and MUST support Prefix Exclude Option for DHCPv6-based Prefix Delegation as defined in [RFC6603]. Particularly, it MUST behave as a Requesting Router.
- REQ#28:
- The cellular device MUST be compliant with the CPE requirements specified in [RFC6204].
- REQ#29:
- For deployments requiring to share the same /64 prefix, the cellular device SHOULD support [I-D.ietf-v6ops-64share] to enable sharing a /64 prefix between the 3GPP interface towards the GGSN (WAN interface) and the LAN interfaces.
- REQ#30:
- The cellular device SHOULD support the Customer Side Translator (CLAT) [I-D.ietf-v6ops-464xlat].
- Various IP devices are likely to be connected to cellular device, acting as a CPE. Some of these devices can be dual-stack, others are IPv6-only or IPv4-only. IPv6-only connectivity for cellular device does not allow IPv4-only sessions to be established for hosts connected on the LAN segment of cellular devices.
- In order to allow IPv4 sessions establishment initiated from devices located on LAN segment side and target IPv4 nodes, a solution consists in integrating the CLAT function in the cellular device. As elaborated in Section 2, the CLAT function allows also IPv4 applications to continue running over an IPv6-only host.
- REQ#31:
- If a RA MTU is advertised from the 3GPP network, the cellular device SHOULD relay that upstream MTU information to the downstream attached LAN devices in RA.
- Since 3GPP networks extensively use IP-in-IP/UDP GTP tunnels, the effective MTU is frequently effectively reduced to 1440 bytes. While a host may generate packets with an MTU of 1500 bytes, this results in undesirable fragmentation of the GTP IP/UDP packets.
- Receiving and relaying RA MTU values facilitates a more harmonious functioning of the mobile core network where end nodes transmit packets that do not exceed the MTU size of the mobile network’s GTP tunnels.
5. APIs & Applications
- REQ#32:
- Name resolution libraries MUST support both IPv4 and IPv6.
- In particular, the cellular host MUST support [RFC3596].
- REQ#33:
- Applications MUST be independent of the underlying IP address family.
- This means applications must be IP version agnostic.
- REQ#34:
- Applications using URIs MUST follow [RFC3986]. For example, SIP applications MUST follow the correction defined in [RFC5954].
The security considerations identified in [RFC3316] are to be taken into account.
- REQ#35:
- If the cellular device provides LAN features, it SHOULD be compliant with the security requirements specified in [RFC6092].
This document does not require any action from IANA.
Many thanks to H. Soliman, H. Singh, L. Colliti, T. Lemon, B. Sarikaya, J. Korhonen, M. Mawatari, M. Abrahamsson, P. Vickers, V. Kuarsingh, and J. Woodyatt for the discussion in the v6ops mailing list.
9. References
9.1. Normative References
[RFC2119]
|
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC6434]
|
Jankiewicz, E., Loughney, J. and T. Narten, "IPv6 Node Requirements", RFC 6434, December 2011. |
[RFC6106]
|
Jeong, J., Park, S., Beloeil, L. and S. Madanapalli, "IPv6 Router Advertisement Options for DNS Configuration", RFC 6106, November 2010. |
[RFC6052]
|
Bao, C., Huitema, C., Bagnulo, M., Boucadair, M. and X. Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, October 2010. |
[RFC4862]
|
Thomson, S., Narten, T. and T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, September 2007. |
[RFC4941]
|
Narten, T., Draves, R. and S. Krishnan, "Privacy Extensions for Stateless Address Autoconfiguration in IPv6", RFC 4941, September 2007. |
[RFC6145]
|
Li, X., Bao, C. and F. Baker, "IP/ICMP Translation Algorithm", RFC 6145, April 2011. |
[RFC6146]
|
Bagnulo, M., Matthews, P. and I. van Beijnum, "Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers", RFC 6146, April 2011. |
[RFC3633]
|
Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6", RFC 3633, December 2003. |
[RFC6603]
|
Korhonen, J., Savolainen, T., Krishnan, S. and O. Troan, "Prefix Exclude Option for DHCPv6-based Prefix Delegation", RFC 6603, May 2012. |
[RFC5175]
|
Haberman, B. and R. Hinden, "IPv6 Router Advertisement Flags Option", RFC 5175, March 2008. |
[RFC4861]
|
Narten, T., Nordmark, E., Simpson, W. and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, September 2007. |
[RFC5954]
|
Gurbani, V., Carpenter, B. and B. Tate, "Essential Correction for IPv6 ABNF and URI Comparison in RFC 3261", RFC 5954, August 2010. |
[RFC3596]
|
Thomson, S., Huitema, C., Ksinant, V. and M. Souissi, "DNS Extensions to Support IP Version 6", RFC 3596, October 2003. |
[RFC6147]
|
Bagnulo, M., Sullivan, A., Matthews, P. and I. van Beijnum, "DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers", RFC 6147, April 2011. |
[RFC5795]
|
Sandlund, K., Pelletier, G. and L-E. Jonsson, "The RObust Header Compression (ROHC) Framework", RFC 5795, March 2010. |
[RFC5942]
|
Singh, H., Beebee, W. and E. Nordmark, "IPv6 Subnet Model: The Relationship between Links and Subnet Prefixes", RFC 5942, July 2010. |
[RFC3736]
|
Droms, R., "Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6", RFC 3736, April 2004. |
[RFC4191]
|
Draves, R. and D. Thaler, "Default Router Preferences and More-Specific Routes", RFC 4191, November 2005. |
[RFC3986]
|
Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. |
[RFC6724]
|
Thaler, D., Draves, R., Matsumoto, A. and T. Chown, "Default Address Selection for Internet Protocol Version 6 (IPv6)", RFC 6724, September 2012. |
[RFC6535]
|
Huang, B., Deng, H. and T. Savolainen, "Dual-Stack Hosts Using "Bump-in-the-Host" (BIH)", RFC 6535, February 2012. |
[RFC6555]
|
Wing, D. and A. Yourtchenko, "Happy Eyeballs: Success with Dual-Stack Hosts", RFC 6555, April 2012. |
[RFC3261]
|
Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. |
9.2. Informative References
[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. |
[RFC6092]
|
Woodyatt, J., "Recommended Simple Security Capabilities in Customer Premises Equipment (CPE) for Providing Residential IPv6 Internet Service", RFC 6092, January 2011. |
[RFC6204]
|
Singh, H., Beebee, W., Donley, C., Stark, B. and O. Troan, "Basic Requirements for IPv6 Customer Edge Routers", RFC 6204, April 2011. |
[RFC3314]
|
Wasserman, M., "Recommendations for IPv6 in Third Generation Partnership Project (3GPP) Standards", RFC 3314, September 2002. |
[RFC3316]
|
Arkko, J., Kuijpers, G., Soliman, H., Loughney, J. and J. Wiljakka, "Internet Protocol Version 6 (IPv6) for Some Second and Third Generation Cellular Hosts", RFC 3316, April 2003. |
[I-D.ietf-v6ops-rfc3316bis]
|
Korhonen, J., Arkko, J., Savolainen, T. and S. Krishnan, "IPv6 for 3GPP Cellular Hosts", Internet-Draft draft-ietf-v6ops-rfc3316bis-00, November 2012. |
[I-D.ietf-pcp-nat64-prefix64]
|
Boucadair, M., "Learn NAT64 PREFIX64s using PCP", Internet-Draft draft-ietf-pcp-nat64-prefix64-00, February 2013. |
[I-D.ietf-mif-happy-eyeballs-extension]
|
Chen, G., Williams, C., Wing, D. and A. Yourtchenko, "Happy Eyeballs Extension for Multiple Interfaces", Internet-Draft draft-ietf-mif-happy-eyeballs-extension-01, October 2012. |
[I-D.ietf-behave-nat64-discovery-heuristic]
|
Savolainen, T., Korhonen, J. and D. Wing, "Discovery of the IPv6 Prefix Used for IPv6 Address Synthesis", Internet-Draft draft-ietf-behave-nat64-discovery-heuristic-13, November 2012. |
[I-D.ietf-pcp-base]
|
Wing, D., Cheshire, S., Boucadair, M., Penno, R. and P. Selkirk, "Port Control Protocol (PCP)", Internet-Draft draft-ietf-pcp-base-29, November 2012. |
[I-D.ietf-v6ops-464xlat]
|
Mawatari, M., Kawashima, M. and C. Byrne, "464XLAT: Combination of Stateful and Stateless Translation", Internet-Draft draft-ietf-v6ops-464xlat-09, January 2013. |
[I-D.ietf-v6ops-64share]
|
Byrne, C., Drown, D. and V. Ales, "Extending an IPv6 /64 Prefix from a 3GPP Mobile Interface to a LAN", Internet-Draft draft-ietf-v6ops-64share-03, February 2013. |
[TS.23060]
|
3GPP, , "General Packet Radio Service (GPRS); Service description; Stage 2", September 2011. |
[TS.24008]
|
3GPP, , "Mobile radio interface Layer 3 specification; Core network protocols; Stage 3", June 2011. |
[TS.23401]
|
3GPP, , "General Packet Radio Service (GPRS) enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access", September 2011. |