V6OPS Working Group D. Binet Internet-Draft M. Boucadair Updates: 3316 (if approved) France Telecom Intended status: Informational A. Vizdal Expires: March 28, 2013 Deutsche Telekom AG C. Byrne T-Mobile September 24, 2012 Internet Protocol Version 6 (IPv6) for Cellular Hosts draft-binet-v6ops-cellular-host-reqs-rfc3316update-02 Abstract This document lists a set of IPv6-related requirements to be supported by cellular hosts. This document updates RFC3316. Requirements 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]. Status of this Memo 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 March 28, 2013. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. Binet, et al. Expires March 28, 2013 [Page 1] Internet-Draft IPv6 for Cellular Hosts September 2012 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Connectivity Requirements . . . . . . . . . . . . . . . . . . 4 2.1. WiFi Connectivity . . . . . . . . . . . . . . . . . . . . 7 3. Advanced Requirements . . . . . . . . . . . . . . . . . . . . 7 4. Cellular Devices with LAN Capabilities . . . . . . . . . . . . 8 5. APIs & Applications . . . . . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 9.1. Normative References . . . . . . . . . . . . . . . . . . . 10 9.2. Informative References . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 Binet, et al. Expires March 28, 2013 [Page 2] Internet-Draft IPv6 for Cellular Hosts September 2012 1. Introduction [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 3GPP and IETF while others have been updated. Moreover, in light of recent IPv6 production deployments, additional features to ease IPv6-only deployments while continuing accessing to IPv4-only service are to be considered. This document updates [RFC3316] with new functionalities to be supported by cellular hosts. Note [RFC3316] considered only GPRS and UMTS networks; this document also considers EPS (Evolved Packet System). 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]. 1.1. Scope Various types of nodes are likely to be connected to 3GPP networks and will require specific functions. Indeed, a 3GPP network can be used to connect a phone, a CPE, machine-to-machine (M2M) device, etc. Because of the diversity of terminals which may connect to 3GPP networks, this document provides first some generic IPv6 functionalities which are valid for any node to be directly connected to 3GPP networks, whatever its function or whatever the services (e.g., DNS, SIP) it supports. Then, dedicated sections are included to cover specific functionalities to be supported by some type of devices (e.g., smartphones, devices providing some LAN functions (mobile CPE or broadband dongles), M2M devices). M2M devices specifications are not considered in the first version of this document. 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 ". Binet, et al. Expires March 28, 2013 [Page 3] Internet-Draft IPv6 for Cellular Hosts September 2012 2. Connectivity Requirements REQ#1: The cellular host MUST support IPv6 addressing architecture ([RFC4291]). For address representation, [RFC5952] MUST be supported. REQ#2: The cellular host MUST support both IPv6 PDP and IPv4v6 PDP contexts This allows each operator to select its own strategy regarding IPv6 introduction. Both IPv6 and IPv4v6 PDP contexts MUST be supported in addition to IPv4 PDP context. IPv4, IPv6 or IPv4v6 PDP-Context request accept depends on the mobile network support and configuration. REQ#3: The cellular host MUST comply with the behavior defined in [TS.23060] and [TS.24008] in terms of requested 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 PDP context IPv4v6 is not supported but IPv4 and IPv6 PDP types are allowed, the cellular host is configured with an IPv4 address or an IPv6 prefix. It MAY initiate another PDP request than 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. 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. Binet, et al. Expires March 28, 2013 [Page 4] Internet-Draft IPv6 for Cellular Hosts September 2012 REQ#5: The cellular host MUST support IPv6 aware Traffic Flow Templates (TFT) [TS.24008]. REQ#6: The cellular host SHOULD support Router Advertisement Options [RFC6106] for DNS configuration. The support of this function allows for consistent method to inform cellular host about DNS recursive server across various access network types. The cellular host SHOULD support RA- based DNS information discovery. REQ#7: The cellular host SHOULD embed a DHCPv6 client [RFC3736] In order to get some consistent way to inform cellular host about DNS recursive server across various access networks and in case [RFC6106] is not supported, the cellular host SHOULD retrieving DNS information using stateless DHCPv6 [RFC3736]. REQ#8: The cellular host SHOULD support a method to locally construct IPv4-embedded IPv6 addresses [RFC6052]. This allows to solve issues related to application which uses referral with IPv4 literals. REQ#9: Particularly, the cellular host SHOULD support Customer Side Translator function (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#10: The cellular device MAY embed a BIH function [RFC6535] facilitating the communication between IPv4 application and IPv6 server. REQ#11: The cellular device SHOULD embed a DNS64 function [RFC6147]. This allows to be compatible with DNSSEC. A means to configure PREFIX64 is required to be supported. REQ#12: 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 b keepalive messages and also to allow for successful incoming connections. Indeed, because several stateful devices may be enabled in mobile networks (e.g., NAT, Binet, et al. Expires March 28, 2013 [Page 5] Internet-Draft IPv6 for Cellular Hosts September 2012 Firewalls), PCP can be used by the cellular host to control and to retrieve lifetime of NAT bindings, to ease NAT and Firewall traversal for applications embedding IP address, to reduce keep-alive messages and inherently save battery consumption. REQ#13: A method to learn PREFIX64 SHOULD be supported by cellular hosts. The cellular host SHOULD implement the method specified in [I-D.ietf-behave-nat64-discovery-heuristic] to retrieve the PREFIX64. REQ#14: The cellular host SHOULD support means to prefer native IPv6 connection instead of crossing IPv4/IPv6 interworking devices or NAT44 when the cellular host gets dual stack connectivity. Cellular hosts SHOULD follow the procedure specified in [RFC6724] for address source selection. Some potential issues are discussed in [I-D.ietf-mif-happy-eyeballs-extension] for MIFed devices. REQ#15: The cellular host SHOULD support the procedure defined in [RFC6555]. REQ#16: The cellular host MUST support ICMPv6 ([RFC4443]) The base protocol MUST be fully implemented by every IPv6 node as indicated in Section 2 of [RFC4443]. REQ#17: The device MUST support the Neighbor Discovery Protocol ([RFC4861] and [RFC5942]). REQ#18: The cellular host MUST support Stateless Address Auto Configuration ([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. Binet, et al. Expires March 28, 2013 [Page 6] Internet-Draft IPv6 for Cellular Hosts September 2012 REQ#19: 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). 2.1. WiFi Connectivity It is more and more common that cellular hosts have some Wi-Fi interfaces in addition to cellular interface. These hosts are likely to be connected to private or public hotspots. Below are listed some generic requirements: REQ#20: IPv6 MUST be supported on the Wi-Fi interface. REQ#21: DHCPv6 client SHOULD be supported on Wi-Fi interface ([RFC3736]) REQ#22: Wi-Fi interface SHOULD support Router Advertisement Options for DNS configuration ([RFC6106]) 3. Advanced Requirements REQ#23: The cellular host SHOULD support the Privacy Extensions for Stateless Address Autoconfiguration in IPv6 ([RFC4941]) The activation of privacy extension makes it hard to track a host compared to using the same interface identifier over the time. [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 header in IPv6 compared to IPv4. REQ#25: The cellular host SHOULD support IPv6 Router Advertisement Flags Options ([RFC5175]). Some flags are used by GGSN (or PDN-GW) to inform cellular hosts about autoconfiguration process. Binet, et al. Expires March 28, 2013 [Page 7] Internet-Draft IPv6 for Cellular Hosts September 2012 REQ#26: The cellular host SHOULD support Path MTU discovery ([RFC1981]). If MTU used by cellular hosts is larger than 1280 bytes, they can rely on Path MTU discovery function to discover real path MTU. REQ#27: The cellular host SHOULD support IPsec version 2 tunnel mode (IKE2, [RFC5996]). REQ#28: The cellular host SHOULD support Router Advertisement extension for communicating default router preferences and more- specific routes [RFC4191]. REQ#29: The cellular host MAY support [RFC5555]. 4. Cellular Devices with LAN Capabilities Cellular devices may provide some IP service access to other devices connected to them. In such case, all connected devices are sharing the same GPRS, UMTS or EPS connection. These cellular devices can be a CPE or specific cellular hosts commercialized to set up rapidly LANs in various environment, or it can also be a smartphone or a dongles with tethering features. In addition to the generic requirements listed in Section 2, these hosts will have to embed specific functions in order to allow other IP-enabled devices to get IP connectivity services through these cellular devices. Prefix delegation which allows to allocate a shorter prefix to a cellular host is only available since 3GPP Release 10. For deployments requiring to share the same /64 prefix, the cellular device MUST support a mechanism (e.g., ND Proxy function [RFC4389]) to enable sharing a /64 prefix between the 3GPP interface towards the GGSN (WAN interface) and the LAN interfaces. Note, ND Proxy [RFC4389] has some limitations regarding Duplicate Address Detection and multilink subnet requirements but it provides IPv6 connectivity in some basic scenarios. REQ#30: 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. Cellular networks are more and more perceived as an alternative to fixed networks for home services delivery; especially with the advent of smartphones and dongles. There is a need for an efficient mechanism to assign shorter prefix than /64 to cellular hosts so that each LAN segment can get its own /64 prefix and multilink subnet issues to be avoided. Binet, et al. Expires March 28, 2013 [Page 8] Internet-Draft IPv6 for Cellular Hosts September 2012 In case a prefix is delegated to a cellular host using DHCPv6, the cellular device will be configured with two prefixes: (1) one for 3GPP link allocated using SLAAC mechanism and (2) another one delegated for LANs acquired during Prefix Delegation operation. Note that the 3GPP network architecture requires both the WAN and the Delegated Prefix to be aggregatable, so the subscriber can be identified using a single prefix. Without Prefix Exclude Option, the delegating router (GGSN/ PDN-GW) will have to assure [RFC3633] compliancy (e.g., halving the Delegated prefix and assigning the WAN prefix out of the 1st half and the prefix to be delegated to the terminal from the 2nd half). REQ#31: The cellular device SHOULD support 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 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#32: The cellular device MUST be compliant with CPE requirements specified in [RFC6204]. [DISCUSSION NOTE: Check whether a reference to [I-D.ietf-v6ops-ipv6-cpe-router-bis] is to be added too.] 5. APIs & Applications REQ#33: Name resolution libraries MUST support both IPv4 and IPv6. REQ#34: Applications MUST be independent of the underlying IP address family. Binet, et al. Expires March 28, 2013 [Page 9] Internet-Draft IPv6 for Cellular Hosts September 2012 REQ#35: Applications using URIs MUST follow [RFC3986]. For example, SIP applications MUST follow the correction defined in [RFC5954]. 6. Security Considerations Security considerations identified in [RFC3316] are to be taken into account. REQ#36: If the cellular device provides LAN features, it SHOULD be compliant with security requirements specified in [RFC6092]. 7. IANA Considerations This document does not require any action from IANA. 8. Acknowledgements Many thanks to H. Soliman, H. Singh, L. Colliti, T. Lemon, B. Sarikaya, J. Korhonen and G. Chen for the discussion in the v6ops mailing list. 9. References 9.1. Normative References [RFC1981] McCann, J., Deering, S., and J. Mogul, "Path MTU Discovery for IP version 6", RFC 1981, August 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6", RFC 3633, December 2003. [RFC3736] Droms, R., "Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6", RFC 3736, April 2004. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and More-Specific Routes", RFC 4191, November 2005. Binet, et al. Expires March 28, 2013 [Page 10] Internet-Draft IPv6 for Cellular Hosts September 2012 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006. [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", RFC 4443, March 2006. [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, September 2007. [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. [RFC5175] Haberman, B. and R. Hinden, "IPv6 Router Advertisement Flags Option", RFC 5175, March 2008. [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. [RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 Address Text Representation", RFC 5952, August 2010. [RFC5954] Gurbani, V., Carpenter, B., and B. Tate, "Essential Correction for IPv6 ABNF and URI Comparison in RFC 3261", RFC 5954, August 2010. [RFC5996] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen, "Internet Key Exchange Protocol Version 2 (IKEv2)", RFC 5996, September 2010. [RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, October 2010. [RFC6106] Jeong, J., Park, S., Beloeil, L., and S. Madanapalli, "IPv6 Router Advertisement Options for DNS Configuration", RFC 6106, November 2010. Binet, et al. Expires March 28, 2013 [Page 11] Internet-Draft IPv6 for Cellular Hosts September 2012 [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. [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. [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. [RFC6603] Korhonen, J., Savolainen, T., Krishnan, S., and O. Troan, "Prefix Exclude Option for DHCPv6-based Prefix Delegation", RFC 6603, May 2012. [RFC6724] Thaler, D., Draves, R., Matsumoto, A., and T. Chown, "Default Address Selection for Internet Protocol Version 6 (IPv6)", RFC 6724, September 2012. 9.2. Informative References [I-D.ietf-behave-nat64-discovery-heuristic] Savolainen, T., Korhonen, J., and D. Wing, "Discovery of IPv6 Prefix Used for IPv6 Address Synthesis", draft-ietf-behave-nat64-discovery-heuristic-11 (work in progress), July 2012. [I-D.ietf-mif-happy-eyeballs-extension] Chen, G., Williams, C., Wing, D., and A. Yourtchenko, "Happy Eyeballs Extension for Multiple Interfaces", draft-ietf-mif-happy-eyeballs-extension-00 (work in progress), July 2012. [I-D.ietf-pcp-base] Wing, D., Cheshire, S., Boucadair, M., Penno, R., and P. Selkirk, "Port Control Protocol (PCP)", draft-ietf-pcp-base-27 (work in progress), September 2012. [I-D.ietf-v6ops-464xlat] Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT: Combination of Stateful and Stateless Translation", Binet, et al. Expires March 28, 2013 [Page 12] Internet-Draft IPv6 for Cellular Hosts September 2012 draft-ietf-v6ops-464xlat-08 (work in progress), September 2012. [I-D.ietf-v6ops-ipv6-cpe-router-bis] Singh, H., Beebee, W., Donley, C., Stark, B., and O. Troan, "Advanced Requirements for IPv6 Customer Edge Routers", draft-ietf-v6ops-ipv6-cpe-router-bis-01 (work in progress), July 2011. [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. [RFC4389] Thaler, D., Talwar, M., and C. Patel, "Neighbor Discovery Proxies (ND Proxy)", RFC 4389, April 2006. [RFC5555] Soliman, H., "Mobile IPv6 Support for Dual Stack Hosts and Routers", RFC 5555, June 2009. [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. [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. [TS.23060] 3GPP, "General Packet Radio Service (GPRS); Service description; Stage 2", September 2011. [TS.23401] 3GPP, "General Packet Radio Service (GPRS) enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access", September 2011. [TS.24008] 3GPP, "Mobile radio interface Layer 3 specification; Core network protocols; Stage 3", June 2011. Binet, et al. Expires March 28, 2013 [Page 13] Internet-Draft IPv6 for Cellular Hosts September 2012 Authors' Addresses David Binet France Telecom Rennes, France Email: david.binet@orange.com Mohamed Boucadair France Telecom Rennes, 35000 France Email: mohamed.boucadair@orange.com Ales Vizdal Deutsche Telekom AG Phone: Email: ales.vizdal@t-mobile.cz URI: Cameron Byrne T-Mobile USA Phone: Email: Cameron.Byrne@T-Mobile.com Binet, et al. Expires March 28, 2013 [Page 14]