RFC 7849
An IPv6 Profile for 3GPP Mobile Devices
An IPv6 Profile for 3GPP Mobile Devices π±β¨
Independent Submission, Request for Comments 7849, May 2016, Category: Informational, ISSN 2070-1721. The authors are D. Binet and M. Boucadair from Orange, A. Vizdal from Deutsche Telekom AG, G. Chen from China Mobile, N. Heatley from EE, R. Chandler from eircom | meteor, D. Michaud from Rogers Communications, D. Lopez from Telefonica I+D, and W. Haeffner from Vodafone. π It's an informational doc, not a Standards Track spec, and it doesn't obsolete or update any earlier RFCs.
Abstract
okay so this doc defines a profile that's a superset of the connection to IPv6 cellular networks from the IPv6 for Third Generation Partnership Project (3GPP) Cellular Hosts document. It's giving a whole upgrade π¦ This document defines a profile that is a superset of the connections to IPv6 cellular networks defined in "IPv6 for Third Generation Partnership Project (3GPP) Cellular Hosts" (RFC 7066). Yes, it's said twice, and yes, that's the abstract π
Both mobile hosts and mobile devices that can share their 3GPP mobile connectivity are in scope. Main character energy for both π
IESG Note
The consensus-based IETF description of IPv6 functionality for cellular hosts is described in RFC 7066. So RFC 7066 is the official IETF word on this π
Status of This Memo
Bestie, read this part, it matters π«Ά This document is not an Internet Standards Track specification. It's published for informational purposes only, not as a standard.
This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor chose to publish it at their discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not a candidate for any level of Internet Standard, see Section 2 of RFC 5741. Not a standard, not even a candidate π
Info about the current status of this document, any errata, and how to send feedback is at http://www.rfc-editor.org/info/rfc7849. πΈ
Copyright Notice
Copyright (c) 2016 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) as in effect on the date of publication. Please read these carefully, because they describe your rights and restrictions with respect to this document. Legal stuff, but it's important π
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Connectivity Recommendations . . . . . . . . . . . . . . . . 6
3. Recommendations for Cellular Devices with LAN Capabilities . 11
4. Advanced Recommendations . . . . . . . . . . . . . . . . . . 13
5. Security Considerations . . . . . . . . . . . . . . . . . . . 15
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.1. Normative References . . . . . . . . . . . . . . . . . . 16
6.2. Informative References . . . . . . . . . . . . . . . . . 17
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21
1. Introduction β¨
IPv6 deployment in 3GPP mobile networks is the only viable solution to the exhaustion of IPv4 addresses in those networks. π Several mobile operators have already deployed IPv6 [RFC2460] or are in the pre-deployment phase. One big hurdle, as some mobile operators see it, is that working IPv6 implementations aren't really available in mobile devices (e.g., Section 3.3 of [OECD]). π€
[RFC7066] lists a set of features that cellular hosts should support to connect to 3GPP mobile networks. Given recent IPv6 production deployments, extra features that make IPv6-only deployments easier while still reaching IPv4-only services should be considered. π§
This document fills that gap π Concretely, it lists ways to make sure IPv4 service works over an IPv6-only connection, given how many mobile operators are adopting that model. Those operators require that customers on an IPv6-only model see no service degradation compared to customers with legacy IPv4-only devices. No downgrades, period π
This document defines an IPv6 profile for mobile devices that lists specifications from various Standards Developing Organizations (including 3GPP, IETF, and the Global System for Mobile Communications Association (GSMA)). The goals are:
- List, in one single document, a comprehensive list of IPv6 features for a mobile device, covering both IPv6-only and dual-stack mobile deployment contexts. These features cover various packet core architectures such as General Packet Radio Service (GPRS) or Evolved Packet Core (EPC). π
- Help operators prepare their detailed device requirement lists (to be exchanged with device suppliers). This is also a contribution to harmonising operators' requirements towards device vendors. π€
- Inform vendors about a set of features that allow IPv6 connectivity and IPv4 service continuity (over an IPv6-only transport). π¦
The recommendations don't include 3GPP release details. If you want those, check Section 6.2 of [RFC6459], and more details can be found at [R3GPP]. π
Some features in this profile might need dedicated functions to be activated on the network side. Listing those network-side functions is out of scope for this document π
A detailed overview of IPv6 support in 3GPP architectures is in [RFC6459]. IPv6-only considerations in mobile networks are discussed further in [RFC6342]. β¨
This document is organised like this:
- Section 2 lists generic recommendations, including functionalities to provide IPv4 service over an IPv6-only connectivity. π
- Section 3 lists a set of recommendations for cellular devices with Local Area Network (LAN) capabilities (e.g., Customer Edge (CE) routers with a cellular access link, dongles with tethering features). πΆ
- Section 4 identifies a set of advanced recommendations to meet the requirements of critical services such as VoLTE (Voice over LTE). π
1.1. Terminology
This document uses the terms defined in [RFC6459]. On top of that, these terms are used:
- 3GPP cellular host (or "cellular host" for short): a 3GPP device that can connect to 3GPP mobile networks. π±
- 3GPP cellular device (or "cellular device" for short): a cellular host that supports the capability to share its 3GPP mobile connectivity. π₯
- IPv4 service continuity: the features used to provide access to IPv4-only services for customers on an IPv6-only connection. A typical example of an IPv4 service continuity technique is Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers (NAT64) [RFC6146]. π«
PREFIX64 denotes an IPv6 prefix used to build IPv4-converted IPv6 addresses [RFC6052]. π«Ά
1.2. Scope π¦
okay so bestie, a 3GPP mobile network can hook up all kinds of User Equipment (UE) π±, like a regular mobile phone or a CE router π. Because the terminals are sooo different from each other, we need a set of IPv6 functionalities that works for ANY node that plugs straight into a 3GPP mobile network π . That's what this document is all about β¨.
The machine-to-machine (M2M) devices profile is not in scope here, so we're skipping that one π.
The doc is set up to give generic IPv6 recs that work for every node no matter what it does (like a host or a CE router) or what services it supports (like Session Initiation Protocol (SIP) [RFC3261] π). It also has sections for devices that provide some LAN functions, like mobile CE routers or broadband dongles π.
The recs below work for both 3GPP GPRS and 3GPP Evolved Packet System (EPS) π. For EPS, the term "PDN-Connection" is used instead of PDP-Context, so keep that in mind π§. Other non-3GPP accesses [TS.23402] are out of scope for this doc π ββοΈ.
This profile is a superset of the IPv6 profile for 3GPP Cellular Hosts [RFC7066], which is itself a superset of IPv6 Node Requirements [RFC6434] π. It's for cellular nodes, including GPRS and EPC, that need features to keep IPv4 service delivery working over an IPv6-only transport, on top of the base IPv6 service π. It also covers cellular CE routers used in all sorts of mobile broadband deployments πΆ. Some recs were inspired by real deployment experiences, like roaming π. And this profile sketches out recs so cellular devices behave deterministically when the same configuration info arrives over several channels π₯.
When [RFC7066] and [RFC6434] disagree (for example, on Neighbor Discovery Protocol), this profile sides with [RFC7066] π . Neighbor Discovery Protocol support is mandatory in a 3GPP cellular environment, because it's the only way to convey an IPv6 prefix to the 3GPP cellular device π«Ά. Also, Maximum Transmission Unit (MTU) communication via Router Advertisement (RA) must be supported, since lots of 3GPP networks don't have a standard MTU setting π.
This profile uses stronger language for Prefix Delegation than [RFC7066] does π₯. The big reason is that cellular networks are more and more seen as an alternative to fixed networks for home IP-based services, especially with smartphones and 3GPP data dongles π±. We need an efficient way to assign larger prefixes to cellular hosts so each LAN segment can get its own /64 prefix, and so multi-link subnet issues get avoided β¨. Supporting this in both cellular and fixed networks is key for fixed-mobile convergence π¦.
Using address-family-dependent Application Programming Interfaces (APIs) or hard-coded IPv4 address literals may lead to broken applications when IPv6 connectivity is in use π. So means to minimize broken applications should be encouraged when the cellular host is attached to an IPv6-only network πΈ. Specifically:
- name resolution libraries (e.g., [RFC3596]) must support both IPv4 and IPv6;
- applications must be independent of the underlying IP address family; and
- applications relying upon Uniform Resource Identifiers (URIs) must follow [RFC3986] and its updates.
Heads up, some IETF specifications (e.g., SIP [RFC3261]) contain broken IPv6 Augmented Backus-Naur Form (ABNF) and rules for comparing URIs with embedded IPv6 addresses π¨. The fixes (e.g., [RFC5954]) must be used instead π«Ά.
The recommendations in each section are listed in a priority order π.
This document is not a standard, so conforming to it isn't required to claim conformance with IETF standards for IPv6 π. Complying with this profile doesn't require supporting every enclosed item π. Obviously, the full set of features may not be required in some deployment contexts π§. Still, the authors believe that not supporting relevant features in this profile (like Customer-Side Translator (CLAT) [RFC6877]) may lead to a degraded level of service π.
2. Connectivity Recommendations πΈ
This section lays out the main connectivity recs a cellular host should follow to attach to a network using IPv6, on top of what [RFC6434] and [RFC7066] already define β¨. Both dual-stack and IPv6-only deployment models are covered π¦. The IPv4 service continuity features are listed here because they're critical for operators running an IPv6-only deployment model π. These recs also apply to cellular devices (see Section 3) π±.
C_REC#1: So each operator can pick their own strategy for IPv6 introduction, the cellular host must support both IPv6 and IPv4v6 PDP-Contexts [TS.23060] π . Whether an IPv4, IPv6, or IPv4v6 PDP-Context request gets accepted depends on the cellular network configuration π.
C_REC#2: The cellular host must comply with the behavior defined in [TS.23060], [TS.23401], and [TS.24008] when requesting a PDP-Context type π.
Specifically, the cellular host must request an IPv6 PDP-Context by default if it's IPv6-only, and it must request an IPv4v6 PDP-Context if it's dual-stack, or when it isn't aware of the connectivity types requested by devices connected to it (for example, a cellular host with LAN capabilities, as discussed in Section 3) π§:
- If the requested IPv4v6 PDP-Context isn't supported by the network but the IPv4 and IPv6 PDP types are allowed, the cellular host will be configured with an IPv4 address or an IPv6 prefix by the network. It must initiate another PDP-Context activation of the other address family, in addition to the one already activated for a given Access Point Name (APN). The whole point of initiating a second PDP-Context is to achieve dual-stack connectivity by means of two PDP-Contexts π.
- If the subscription data or network configuration 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 network tells the cellular host about the allowed Packet Data Protocol (PDP) types by means of Session Management (SM) cause codes π¨. In particular, these cause codes can be returned:
cause #50 "PDP type IPv4 only allowed": the network uses this cause code to say that only PDP type IPv4 is allowed for the requested Public Data Network (PDN) connectivity π₯.cause #51 "PDP type IPv6 only allowed": the network uses this cause code to say that only PDP type IPv6 is allowed for the requested PDN connectivity π.cause #52 "single address bearers only allowed": the network uses this cause code to say that the requested PDN connectivity is accepted, with the restriction that only single IP version bearers are allowed β.
The text above focuses on the specification (an excerpt from [TS.23060], [TS.23401], and [TS.24008]) that explains the behavior for requesting IPv6-related PDP-Context(s) π¦.
C_REC#3: The cellular host must support the Protocol Configuration Options (PCOs) [TS.24008] to retrieve the IPv6 address(es) of the Recursive DNS server(s) π.
The 3GPP network communicates parameters by means of the protocol configuration options information element when it activates, modifies, or deactivates a PDP-Context π‘. PCO is a convenient method to tell the cellular host about various services, including DNS server information π. It doesn't need any additional protocol to be supported by the cellular host, and it's already deployed in IPv4 cellular networks to convey that same DNS information π.
C_REC#4: The cellular host must support IPv6-aware Traffic Flow Templates (TFTs) [TS.24008] π«Ά.
Traffic Flow Templates use a packet filter to couple IP traffic with a PDP-Context π§. That way, a dedicated PDP-Context and radio resources can be provided by the cellular network for certain IP traffic π₯.
C_REC#5: If the cellular host receives the DNS information over several channels for the same interface, the following preference order must be followed π:
- PCO
- RA
3. DHCPv6 β¨
okay so this one is about being consistent π the whole point is that every cellular host behaves the same way no matter which channel the DNS info shows up through. no surprises, no chaos π§
C_REC#6: okay roaming can get messy π because of potential operational deficiencies in some roaming situations, the cellular host must be able to be configured with a home PDP-Context type(s) and a roaming PDP-Context type(s). the roaming profile exists to limit the PDP type(s) the cellular host requests when it's out of the home network. and yes, distinct PDP type(s) and APN(s) can be configured for home and roaming, which is iconic π
a detailed breakdown of roaming failure cases lives in [RFC7445] π
the config can be local to the device or managed dynamically using something like Open Mobile Alliance (OMA) management. the support of dynamic means is encouraged πΈ
C_REC#7: to keep IPv4 service continuity in an IPv6-only deployment, the cellular host should support a method to learn PREFIX64(s) β¨
so with NAT64, IPv6-enabled apps that rely on address referrals will fail, because an IPv6-only client can't use an IPv4 address it got in a referral π this feature fixes the referral problem, since an IPv6-enabled app can build IPv4-embedded IPv6 addresses [RFC6052]. it also helps you tell IPv4-converted IPv6 addresses apart from native IPv6 ones π«Ά
in other words, this feature takes some weight off both the CLAT module and the NAT64 devices π see Section 3 of [RFC7051] for an inventory of the issues around discovering PREFIX64(s).
in PCP environments, cellular hosts should follow [RFC7225] 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 [RFC7050] to retrieve the PREFIX64. β¨
C_REC#8: to keep IPv4 service continuity in an IPv6-only deployment, the cellular host should implement the CLAT [RFC6877] function in compliance with [RFC6052], [RFC6145], and [RFC6146] π¦
the CLAT function lets IPv4-only apps and IPv4 referrals work on IPv6-only connectivity. the more apps that are address family independent, the less the CLAT function gets called on π and it requires a NAT64 capability [RFC6146] in the network.
the cellular host should only invoke CLAT in the absence of IPv4 connectivity on the cellular side, i.e., when the network does not assign an IPv4 address on the cellular interface. note, NAT64 assumes an IPv6-only mode [RFC6146] π
the IPv4 Service Continuity Prefix used by CLAT is defined in [RFC7335].
CLAT and/or NAT64 do not interfere with native IPv6 communications. π
CLAT may not be required in some contexts, e.g., if other solutions such as Bump-in-the-Host (BIH) [RFC6535] are supported π
the cellular device can act as a CE router connecting various IP hosts on a LAN segment, and that's also the case with WLAN (Wireless LAN) tethering or a WLAN hotspot from the cellular device π§ some of these hosts can be dual-stack, while others are IPv6-only or IPv4-only. IPv6-only connectivity on the cellular device does not allow IPv4-only sessions to be established for hosts on its LAN segment π IPv4 session establishment initiated from hosts on the LAN side and destined for IPv4 nodes must be maintained. a solution is to integrate the CLAT function into the LAN segment in the cellular device π«Ά
C_REC#9: the cellular host may be able to be configured to limit PDP type(s) for a given APN. the default mode is to allow all supported PDP types. note, C_REC#2 discusses the default behavior for requesting PDP-Context type(s) π
this is useful for lining up the UE's behavior with (1) service-specific constraints, such as using IPv6-only for VoLTE, (2) network conditions around support for specific PDP types (e.g., IPv4v6 PDP-Context is not supported), (3) IPv4 sunset objectives, (4) subscription data, etc. π
note, a cellular host switching its connection between an IPv6-specific APN and an IPv4-specific APN will interrupt related network connections. some apps may consider that a brokenness situation π
the config can be local to the device or managed dynamically using, for example, OMA management. the support of dynamic means is encouraged πΈ
3. Recommendations for Cellular Devices with LAN Capabilities β¨
this section is all about cellular devices (think CE routers, smartphones, or dongles with tethering features) that give IP connectivity to other devices connected to them π in this case, every connected device shares the same 2G, 3G, or LTE connection. on top of the generic recommendations in Section 2, these cellular devices have to meet the recommendations below π
L_REC#1: for deployments that require the same /64 prefix be shared, the cellular device should support [RFC7278] to enable sharing a /64 prefix between the LAN and the WAN interfaces. the WAN interface is the one towards the Gateway GPRS Support Node (GGSN) / Packet Data Network Gateway (PGW) π¦
Prefix Delegation (refer to L_REC#2) is the target solution for distributing prefixes on the LAN side, but because the device may attach to earlier 3GPP release networks, a means to share a /64 prefix is also recommended [RFC7278] π«Ά and [RFC7278] must be invoked only if Prefix Delegation is not in use. β¨
L_REC#2: the cellular device must support Prefix Delegation capabilities [RFC3633] and must support the 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 seen as an alternative to fixed broadband for delivering home IP-based services, especially with the rise of smartphones and 3GPP data dongles π so there's a real need for an efficient mechanism to assign larger prefixes (other than /64s) to cellular hosts. that way each LAN segment can get its own /64 prefix and multi-link subnet issues get avoided π
if a prefix is delegated to a cellular host using DHCPv6, the cellular device will be configured with two prefixes:
- one for the 3GPP link, allocated using the Stateless Address Autoconfiguration (SLAAC) mechanism, and
- another one delegated for LANs, acquired during the Prefix Delegation operation.
note, 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 the Prefix Exclude Option, the delegating router (GGSN/PGW) will have to ensure compliance with [RFC3633] (e.g., halving the delegated prefix and assigning the WAN prefix out of the first half, and the prefix to be delegated to the terminal from the second half) π
because Prefix Delegation capabilities may not be available in some attached networks, L_REC#1 is strongly recommended to accommodate early deployments π
L_REC#3: the cellular CE router must be compliant with the requirements specified in [RFC7084] π
there are several deployments, particularly in emerging countries, that rely on mobile networks to provide broadband services (e.g., customers are given mobile CE routers) πΈ
note, this profile does not require the IPv4 service continuity techniques listed in Section 4.4 of [RFC7084], because those are specific to fixed networks. IPv4 service continuity techniques specific to mobile networks are included in this profile β¨
this recommendation doesn't apply to handsets with tethering capabilities. it's specific to cellular CE routers, so you get the same IPv6 functional parity for both fixed and cellular CE routers π«Ά modern CE routers have advanced functions like link aggregation, which optimizes network usage by aggregating the connectivity resources offered via various interfaces (e.g., Digital Subscriber Line (DSL), LTE, WLAN, etc.) or by offloading traffic via a subset of interfaces. keeping IPv6 feature parity across these interface types is important for specification efficiency, service design simplification, and validation effort optimization π
L_REC#4: if an RA MTU is advertised from the 3GPP network, the cellular device should send RAs to the downstream attached LAN devices with the same MTU as seen on the mobile interface π₯
receiving and relaying RA MTU values helps the mobile core network run more smoothly, since end nodes transmit packets that don't exceed the MTU size of the mobile network's tunnels that use the GPRS Tunneling Protocol (GTP) π¦
[TS.23060] indicates that providing a link MTU value of 1358 octets to the 3GPP cellular device will prevent IP layer fragmentation within the transport network between the cellular device and the GGSN/PGW π more details about link MTU considerations can be found in Annex C of [TS.23060] β¨
4. Advanced Recommendations β¨
okay so this section is the "upgrade your phone to VIP" part π it's got a set of advanced recommendations for critical services like VoLTE ππ«Ά and they apply to mobile hosts, including mobile devices π±
A_REC#1: ROHC for IPv6 ποΈ
bestie, the cellular host MUST support the RObust Header Compression (ROHC) RTP Profile (0x0001) and the ROHC UDP Profile (0x0002) for IPv6 [RFC5795] π other ROHC profiles MAY be supported too, no cap πΈ
okay why does this matter?? bandwidth in cellular networks has to be squeezed as much as possible π₯Ί ROHC cuts down on bandwidth use and helps with the fact that IPv6 headers are chunkier than IPv4 ones π it's giving "compress me daddy" energy fr π
the "RTP/UDP/IP" ROHC profile (0x0001) compresses RTP packets, and the "UDP/IP" ROHC profile (0x0002) compresses Real-time Transport Control Protocol (RTCP) packets π both are REQUIRED for VoLTE by Section 4.1 of IR.92.7.0 [IR92] β¨
note from [IR92]: the host MUST be able to apply the compression to packets that are carried over the voice-media-dedicated radio bearer π¨ so it's not optional, it's a whole vibe check π
A_REC#2: PCP π¦
bestie, the cellular host SHOULD support PCP [RFC6887] π
the vibe here is battery life ππ keep-alive messages drain the battery, and PCP helps with that. it also lets incoming connections reach the cellular device π² since stateful devices like NAT64 and IPv6 Firewalls can be deployed on wireless networks, the cellular host can use PCP to control those network-based NAT64 and IPv6 Firewall functions. that cuts down on per-application signaling and saves battery too π§
according to [Power], a cellular device with a keep-alive interval of 20 seconds (the default in [RFC3948], for example) uses 29 mA (2G) / 34 mA (3G) π bump the interval to 40 seconds and it drops to 16 mA (2G) / 24 mA (3G) π at 150 seconds it's 9.1 mA (2G) / 16 mA (3G) π and at 180 seconds it's 7.3 mA (2G) / 14 mA (3G) β with no keep-alive at all, it's 5.2 mA (2G) / 6.1 mA (3G) π«§ and if multiple apps are sending those messages (like SIP, IPsec, etc.), the impact gets even worse π
PCP also lets cellular hosts manage protocols that carry IP addresses and/or port numbers (see Section 2.2 of [RFC6889]) without needing Application Level Gateways (ALGs) turned on at the network side, like on NAT64 π§ββοΈ skipping ALGs makes it way easier to build a service without being tied to the underlying transport network π β¨
A_REC#3: DNS64 in the host for DNSSEC π
bestie, the cellular host SHOULD embed a DNS64 function ([RFC6147]) π this is needed so host-based validation of DNS Security Extensions (DNSSEC) keeps working in an IPv6-only connectivity with NAT64 deployment context π«Ά
this is called "DNS64 in stub-resolver mode" in [RFC6147] π
as Section 5.5 of [RFC6147] discusses, a security-aware and validating host MUST perform the DNS64 function locally π‘οΈ the reason? synthetic AAAA records can't be successfully validated in a host π so learning the PREFIX64 used to build IPv4-converted IPv6 addresses lets you use DNSSEC [RFC4033] [RFC4034] [RFC4035] π₯ the means to configure or discover a PREFIX64 are REQUIRED on the cellular device, as discussed in C_REC#7 β¨
[RFC7051] explains why a security-aware and validating host has to do DNS64 locally and why it has to be able to learn the proper PREFIX64(s) πΈ
A_REC#4: Prefer native IPv6 π
bestie, when the cellular host is dual-stack connected (i.e., configured with an IPv4 address and IPv6 prefix), it SHOULD support means to prefer a native IPv6 connection over a connection established through translation devices (e.g., NAT44 and NAT64) π
when both IPv4 and IPv6 DNS servers are configured, a dual-stack host MUST first contact its IPv6 DNS server π this way it gets to offload the IPv4-only DNS servers π«Ά
cellular hosts SHOULD follow the procedure in [RFC6724] for source address selection π¦
5. Security Considerations π
the security considerations in [RFC7066] and [RFC6459] have to be taken into account π¨
for cellular CE routers, compliance with L_REC#3 means compliance with [RFC7084] π« which in turn recommends compliance with Recommended Simple Security Capabilities in Customer Premises Equipment (CPE) for Providing Residential IPv6 Internet Service [RFC6092] π so the security considerations in Section 6 of [RFC6092] are relevant too π and it bears repeating here that the true impact of stateful filtering may be a reduction in security π¬ the IETF also makes no statement, expressed or implied, about whether using the capabilities described in any of these documents actually improves security for any individual users or for the Internet community as a whole π
the cellular host MUST be able to generate IPv6 addresses that preserve privacy π΅οΈββοΈπ« turning on the privacy extension (e.g., using [RFC7217]) makes it harder to track a host over time compared to using a permanent Interface Identifier π¦ but tracking is still possible based on the first 64 bits of the IPv6 address π means to prevent that kind of tracking may be enabled on the network side π‘οΈ and note: privacy extensions are REQUIRED by regulatory bodies in some countries π
host-based validation of DNSSEC is discussed in A_REC#3 (see Section 4) π
6. References π
6.1. Normative References
[IR92] GSMA, "IMS Profile for Voice and SMS", Official Document
IR.92 - IMS Profile for Voice and SMS, V7.0, March 2013,
<http://www.gsma.com/newsroom/wp-content/uploads/2013/04/
IR.92-v7.0.pdf>.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
December 1998, <http://www.rfc-editor.org/info/rfc2460>.
[RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi,
"DNS Extensions to Support IP Version 6", RFC 3596,
DOI 10.17487/RFC3596, October 2003,
<http://www.rfc-editor.org/info/rfc3596>.
[RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
Host Configuration Protocol (DHCP) version 6", RFC 3633,
DOI 10.17487/RFC3633, December 2003,
<http://www.rfc-editor.org/info/rfc3633>.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, DOI 10.17487/RFC3986, January 2005,
<http://www.rfc-editor.org/info/rfc3986>.
[RFC5795] Sandlund, K., Pelletier, G., and L-E. Jonsson, "The RObust
Header Compression (ROHC) Framework", RFC 5795,
DOI 10.17487/RFC5795, March 2010,
<http://www.rfc-editor.org/info/rfc5795>.
[RFC5954] Gurbani, V., Ed., Carpenter, B., Ed., and B. Tate, Ed.,
"Essential Correction for IPv6 ABNF and URI Comparison in
RFC 3261", RFC 5954, DOI 10.17487/RFC5954, August 2010,
<http://www.rfc-editor.org/info/rfc5954>.
[RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
DOI 10.17487/RFC6052, October 2010,
<http://www.rfc-editor.org/info/rfc6052>.
[RFC6603] Korhonen, J., Ed., Savolainen, T., Krishnan, S., and O.
Troan, "Prefix Exclude Option for DHCPv6-based Prefix
Delegation", RFC 6603, DOI 10.17487/RFC6603, May 2012,
<http://www.rfc-editor.org/info/rfc6603>.
[RFC7066] Korhonen, J., Ed., Arkko, J., Ed., Savolainen, T., and S.
Krishnan, "IPv6 for Third Generation Partnership Project
(3GPP) Cellular Hosts", RFC 7066, DOI 10.17487/RFC7066,
November 2013, <http://www.rfc-editor.org/info/rfc7066>.
[TS.23060]
3GPP, "General Packet Radio Service (GPRS); Service
description; Stage 2", 3GPP TS 23.060 13.6.0, March 2016,
<http://www.3gpp.org/DynaReport/23060.htm>.
[TS.23401]
3GPP, "General Packet Radio Service (GPRS) enhancements
for Evolved Universal Terrestrial Radio Access Network
(E-UTRAN) access", 3GPP TS 23.401 13.6.1, March 2016,
<http://www.3gpp.org/DynaReport/23401.htm>.
[TS.24008]
3GPP, "Mobile radio interface Layer 3 specification; Core
network protocols; Stage 3", 3GPP TS 24.008 13.5.0, March
2016, <http://www.3gpp.org/DynaReport/24008.htm>.
6.2. Informative References π
okay bestie, these are the extra reads π€ they're not strictly required to implement the thing, but they explain the why behind it. the whole gang is here: the OECD economics report, the 3GPP release notes, and a whole stack of RFCs on NAT64, DNS64, PCP, and 464XLAT π¦
[OECD]Organisation for Economic Co-operation and Development (OECD), "The Economics of the Transition to Internet Protocol version 6 (IPv6)", DOI 10.1787/5jxt46d07bhc-en, November 2014,<http://www.oecd.org/officialdocuments/publicdisplaydocumentpdf/?cote=DSTI/ICCP/CISP%282014%293/FINAL&docLanguage=En>.[Power]Haverinen, H., Siren, J., and P. Eronen, "Energy Consumption of Always-On Applications in WCDMA Networks", Proceedings of IEEE 65: Vehicular Technology Conference, VTC2007-Spring, pp 964-968, DOI 10.1109/VETECS.2007.207, April 2007,<http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=4212635>.[R3GPP]3GPP, "The Mobile Broadband Standard: Releases", 2016,<http://www.3gpp.org/specifications/67-releases>.[RFC3261]Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, DOI 10.17487/RFC3261, June 2002,<http://www.rfc-editor.org/info/rfc3261>.[RFC3948]Huttunen, A., Swander, B., Volpe, V., DiBurro, L., and M. Stenberg, "UDP Encapsulation of IPsec ESP Packets", RFC 3948, DOI 10.17487/RFC3948, January 2005,<http://www.rfc-editor.org/info/rfc3948>.[RFC4033]Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, DOI 10.17487/RFC4033, March 2005,<http://www.rfc-editor.org/info/rfc4033>.[RFC4034]Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Resource Records for the DNS Security Extensions", RFC 4034, DOI 10.17487/RFC4034, March 2005,<http://www.rfc-editor.org/info/rfc4034>.[RFC4035]Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Protocol Modifications for the DNS Security Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005,<http://www.rfc-editor.org/info/rfc4035>.[RFC6092]Woodyatt, J., Ed., "Recommended Simple Security Capabilities in Customer Premises Equipment (CPE) for Providing Residential IPv6 Internet Service", RFC 6092, DOI 10.17487/RFC6092, January 2011,<http://www.rfc-editor.org/info/rfc6092>.[RFC6145]Li, X., Bao, C., and F. Baker, "IP/ICMP Translation Algorithm", RFC 6145, DOI 10.17487/RFC6145, April 2011,<http://www.rfc-editor.org/info/rfc6145>.[RFC6146]Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers", RFC 6146, DOI 10.17487/RFC6146, April 2011,<http://www.rfc-editor.org/info/rfc6146>.[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, DOI 10.17487/RFC6147, April 2011,<http://www.rfc-editor.org/info/rfc6147>.[RFC6342]Koodli, R., "Mobile Networks Considerations for IPv6 Deployment", RFC 6342, DOI 10.17487/RFC6342, August 2011,<http://www.rfc-editor.org/info/rfc6342>.[RFC6434]Jankiewicz, E., Loughney, J., and T. Narten, "IPv6 Node Requirements", RFC 6434, DOI 10.17487/RFC6434, December 2011,<http://www.rfc-editor.org/info/rfc6434>.[RFC6459]Korhonen, J., Ed., Soininen, J., Patil, B., Savolainen, T., Bajko, G., and K. Iisakkila, "IPv6 in 3rd Generation Partnership Project (3GPP) Evolved Packet System (EPS)", RFC 6459, DOI 10.17487/RFC6459, January 2012,<http://www.rfc-editor.org/info/rfc6459>.[RFC6535]Huang, B., Deng, H., and T. Savolainen, "Dual-Stack Hosts Using "Bump-in-the-Host" (BIH)", RFC 6535, DOI 10.17487/RFC6535, February 2012,<http://www.rfc-editor.org/info/rfc6535>.[RFC6724]Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown, "Default Address Selection for Internet Protocol Version 6 (IPv6)", RFC 6724, DOI 10.17487/RFC6724, September 2012,<http://www.rfc-editor.org/info/rfc6724>.[RFC6877]Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT: Combination of Stateful and Stateless Translation", RFC 6877, DOI 10.17487/RFC6877, April 2013,<http://www.rfc-editor.org/info/rfc6877>.[RFC6887]Wing, D., Ed., Cheshire, S., Boucadair, M., Penno, R., and P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, DOI 10.17487/RFC6887, April 2013,<http://www.rfc-editor.org/info/rfc6887>.[RFC6889]Penno, R., Saxena, T., Boucadair, M., and S. Sivakumar, "Analysis of Stateful 64 Translation", RFC 6889, DOI 10.17487/RFC6889, April 2013,<http://www.rfc-editor.org/info/rfc6889>.[RFC7050]Savolainen, T., Korhonen, J., and D. Wing, "Discovery of the IPv6 Prefix Used for IPv6 Address Synthesis", RFC 7050, DOI 10.17487/RFC7050, November 2013,<http://www.rfc-editor.org/info/rfc7050>.[RFC7051]Korhonen, J., Ed. and T. Savolainen, Ed., "Analysis of Solution Proposals for Hosts to Learn NAT64 Prefix", RFC 7051, DOI 10.17487/RFC7051, November 2013,<http://www.rfc-editor.org/info/rfc7051>.[RFC7084]Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic Requirements for IPv6 Customer Edge Routers", RFC 7084, DOI 10.17487/RFC7084, November 2013,<http://www.rfc-editor.org/info/rfc7084>.[RFC7217]Gont, F., "A Method for Generating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Autoconfiguration (SLAAC)", RFC 7217, DOI 10.17487/RFC7217, April 2014,<http://www.rfc-editor.org/info/rfc7217>.[RFC7225]Boucadair, M., "Discovering NAT64 IPv6 Prefixes Using the Port Control Protocol (PCP)", RFC 7225, DOI 10.17487/RFC7225, May 2014,<http://www.rfc-editor.org/info/rfc7225>.[RFC7278]Byrne, C., Drown, D., and A. Vizdal, "Extending an IPv6 /64 Prefix from a Third Generation Partnership Project (3GPP) Mobile Interface to a LAN Link", RFC 7278, DOI 10.17487/RFC7278, June 2014,<http://www.rfc-editor.org/info/rfc7278>.[RFC7335]Byrne, C., "IPv4 Service Continuity Prefix", RFC 7335, DOI 10.17487/RFC7335, August 2014,<http://www.rfc-editor.org/info/rfc7335>.[RFC7445]Chen, G., Deng, H., Michaud, D., Korhonen, J., and M. Boucadair, "Analysis of Failure Cases in IPv6 Roaming Scenarios", RFC 7445, DOI 10.17487/RFC7445, March 2015,<http://www.rfc-editor.org/info/rfc7445>.[TS.23402]3GPP, "Architecture enhancements for non-3GPP accesses", 3GPP TS 23.401 13.5.0, March 2016,<http://www.3gpp.org/DynaReport/23402.htm>.
Acknowledgements π«Ά
okay the thank-you list is SO long and I love it π huge thanks to C. Byrne, H. Soliman, H. Singh, L. Colliti, T. Lemon, B. Sarikaya, M. Mawatari, M. Abrahamsson, P. Vickers, V. Kuarsingh, E. Kline, S. Josefsson, A. Baryun, J. Woodyatt, T. Kossut, B. Stark, and A. Petrescu for the chats on the v6ops mailing list and for all the comments π
also thanks to A. Farrel, B. Haberman, and K. Moriarty for the comments during the IESG review π
and special thanks to T. Savolainen, J. Korhonen, J. Jaeggli, F. Baker, L.M. Contreras Murillo, and M. Abrahamsson for their detailed reviews and comments π these people really read every line, iconic behaviour β¨
Authors' Addresses π¦
meet the authors, bestie π here's where to find each of them:
David Binet πΈ
David Binet
Orange
Rennes
France
Email: david.binet@orange.com
Mohamed Boucadair π§
Mohamed Boucadair
Orange
Rennes 35000
France
Email: mohamed.boucadair@orange.com
Ales Vizdal π
Ales Vizdal
Deutsche Telekom AG
Tomickova 2144/1
Prague, 148 00
Czech Republic
Email: Ales.Vizdal@T-Mobile.cz
Gang Chen π
Gang Chen
China Mobile
29, Jinrong Avenue
Xicheng District, Beijing 100033
China
Email: phdgang@gmail.com, chengang@chinamobile.com
Nick Heatley β
Nick Heatley
EE
The Point, 37 North Wharf Road,
London W2 1AG
United Kingdom
Email: nick.heatley@ee.co.uk
Ross Chandler π
Ross Chandler
eircom | meteor
1HSQ
St. John's Road
Dublin 8
Ireland
Email: ross@eircom.net
Dave Michaud π
Dave Michaud
Rogers Communications
8200 Dixie Rd.
Brampton, ON L6T 0C1
Canada
Email: dave.michaud@rci.rogers.com
Diego R. Lopez π₯
Diego R. Lopez
Telefonica I+D
Don Ramon de la Cruz, 82
Madrid 28006
Spain
Phone: +34 913 129 041
Email: diego.r.lopez@telefonica.com
Walter Haeffner π«Ά
Walter Haeffner
Vodafone D2 GmbH
Ferdinand-Braun-Platz 1
Duesseldorf 40549
Germany
Email: walter.haeffner@vodafone.com
π¦ where this page comes from
- ietf: rfc7849 2016-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms