RFC 7278

Extending an IPv6 /64 Prefix from a Third Generation Partnership Project (3GPP) Mobile Interface to a LAN Link

πŸ“… published June 2014, from ietf

RFC 7278: Extending an IPv6 /64 Prefix from a Third Generation Partnership Project (3GPP) Mobile Interface to a LAN Link πŸŽ€

Okay bestie, let's get into it πŸ’– This is an Informational RFC, so it's published for information and isn't an Internet Standard. It's from June 2014 and it's from the IETF (ISSN 2070-1721). The authors are C. Byrne (T-Mobile USA), D. Drown, and A. Vizdal (Deutsche Telekom AG). Its header doesn't list any Obsoletes or Updates, so it doesn't replace or change anything else. πŸ¦‹

Abstract ✨

Okay, the abstract is giving "here's the whole plot." It describes requirements for extending an IPv6 /64 prefix from a User Equipment Third Generation Partnership Project (3GPP) radio interface to a LAN link. It also describes two implementation examples. πŸ’…

Status of This Memo 🌸

Quick vibe check on status: this document is not an Internet Standards Track specification. It's published for informational purposes. 🧚

It's a product of the Internet Engineering Task Force (IETF), so it represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). Not every IESG-approved doc is a candidate for any level of Internet Standard, though. See Section 2 of RFC 5741 for that. πŸ”₯

For the current status, any errata, and how to send feedback, check http://www.rfc-editor.org/info/rfc7278. 🌈

Copyright (c) 2014 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 publication date. Please read these carefully, because they cover your rights and restrictions for this document. Code Components pulled out of this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License. ⭐

Table of Contents πŸ“

1. Introduction ....................................................3
2. The Challenge of Providing IPv6 Addresses to a LAN Link via a
   3GPP UE .........................................................4
3. Requirements for Extending the 3GPP Interface /64 IPv6
   Prefix to a LAN Link ............................................4
4. Example Methods for Extending the 3GPP Interface /64
   IPv6 Prefix to a LAN Link .......................................5
   4.1. General Behavior for All Example Scenarios .................5
   4.2. Example Scenario 1: Global Address Only Assigned to
        LAN Link ...................................................5
   4.3. Example Scenario 2: A Single Global Address Assigned to a
        3GPP Radio and LAN Link ....................................7
5. Security Considerations .........................................8
6. Acknowledgments .................................................8
7. Informative References ..........................................8

1. Introduction ✨

3GPP mobile cellular networks like GSM, UMTS, and LTE have architectural support for IPv6 [RFC6459]. Only 3GPP Release-10 and later of the 3GPP specification [TS.23401] supports DHCPv6 Prefix Delegation [RFC3633] for delegating IPv6 prefixes to a single LAN link, though. πŸ¦‹

So, to get IPv6 working in a LAN before DHCPv6 Prefix Delegation shows up in 3GPP networks and User Equipment (UE), this document lays out requirements and gives examples. It explains how the global /64 prefix assigned to the 3GPP UE radio interface can be extended from the 3GPP radio interface to a LAN link. πŸ’–

There are two scenarios where this might happen. In the first, the 3GPP node sets up and manages its own LAN (for example, an IEEE 802.11 Service Set Identifier (SSID)) and gives single-homed service to hosts that connect to it. In the second, the 3GPP node connects to an existing LAN and acts as a router to provide redundant or multi-homed IPv6 service. 🌸

This document is meant to cover the first scenario. It doesn't apply to the second, because the operational complexities of the second scenario aren't addressed here. πŸ™ˆ

This can be done by having the UE receive the globally unique /64 IPv6 prefix announced in the Router Advertisement (RA) [RFC4861] from the 3GPP radio interface, and then advertising that same IPv6 prefix to the LAN link with RA. For every case in this document's scope, the UE may be any device that works as an IPv6 router between the 3GPP network and a LAN. 🧚

This document describes requirements for extending an IPv6 prefix from a 3GPP radio interface to a LAN link, and it includes two practical implementation examples:

  1. The 3GPP UE only has a global-scope address on the LAN link.
  2. The 3GPP UE keeps the same consistent 128-bit global-scope IPv6 anycast address [RFC4291] on the 3GPP radio interface and the LAN link. The LAN link is configured as a /64, and the 3GPP radio interface is configured as a /128. πŸ’…

Section 4 covers the characteristics of each of the two example approaches. πŸ‘‘

1.2. Special Language πŸŽ€

Here's the important bit. 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 isn't a Standard, so conformance with it isn't required to claim conformance with IETF Standards for IPv6. 🌈

This document only uses the normative keywords for precision. ✨

Like [RFC6459] explains, 3GPP networks give each UE a /64 global-scope prefix using RA. DHCPv6 Prefix Delegation is an optional part of 3GPP Release-10, and no earlier releases cover it. πŸ¦‹

Neighbor Discovery Proxy (ND Proxy) [RFC4389] has been suggested as one way to extend the assigned /64 from the 3GPP radio interface to the LAN link. The catch is that ND Proxy is an Experimental protocol, and it has some limitations with loop avoidance. πŸ™ˆ

DHCPv6 is honestly the best way to delegate a prefix to a LAN link. The methods in this document SHOULD only be applied when deploying DHCPv6 Prefix Delegation isn't achievable in the 3GPP network and the UE. The methods described here are at various stages of implementation and deployment planning. The goal of this memo is to document the methods available for use before DHCPv6 is deployed. 🫢

R-1: The 3GPP network provided /64 prefix MUST be made available on the LAN link. ⭐

LAN attached devices shall be able to use the 3GPP network assigned IPv6 prefix (for example, using IPv6 Stateless Address Autoconfiguration - SLAAC [RFC4862]). 🧚

R-2: The UE MUST defend all of its IPv6 addresses on the LAN link. πŸ’–

Say a LAN attached node autoconfigures the same global IPv6 address that's used on the 3GPP interface. The UE must fail the Duplicate Address Detection (DAD) [RFC4862] process that the LAN node runs. πŸ‘‘

R-3: The LAN link configuration MUST be tightly coupled with the 3GPP link state. 🌈

R-4: The UE MUST decrement the time to live (TTL) when passing packets between IPv6 links across the UE. ✨

4.1. General Behavior for All Example Scenarios πŸ’…

As [RFC6459] describes, the 3GPP-network-assigned /64 is fully dedicated to the UE, and the gateway doesn't use any of the /64 addresses. The gateway routes the entire /64 to the UE and doesn't perform ND or Neighbor Unreachability Detection (NUD) [RFC4861]. πŸ”₯

Communication between the UE and the gateway only happens using link-local addresses, and the link is point-to-point. That lets the UE reliably manipulate the /64 from the 3GPP radio interface without hurting the point-to-point 3GPP radio link interface. 🫢

The LAN link RA configuration must be tightly coupled with the 3GPP link state. If the 3GPP link goes down or changes the IPv6 prefix, that state should be reflected in the LAN link IPv6 configuration. ⭐

Just like a standard IPv6 router, the packet TTL gets decremented when packets pass between IPv6 links across the UE. The UE uses the weak host model [RFC1122]. The RA function on the UE runs exclusively on the LAN link. πŸ’œ

The LAN-link-originated RA message carries a copy of the following 3GPP radio-link-received RA message option fields: πŸ“

  • MTU (if not provided by the 3GPP network, the UE will provide its 3GPP link MTU size)
  • Prefix Information

okay so in this one, the UE gets the RA from the 3GPP network but does NOT use a global address on the 3GPP interface 🫢 the /64 prefix info from that RA gets used to set up NDP on the LAN 🌸 the UE gives itself an IPv6 address on the LAN link from that RA, and the LAN link uses RA to announce the prefix to everyone on the LAN ✨ the LAN link interface defends its LAN IPv6 address with DAD πŸ›‘οΈ and the UE shall not run SLAAC to assign a global address on the 3GPP radio interface while routing is enabled πŸ™…β€β™€οΈ

this method lets the UE start and receive IPv6 comms as a host while also acting as an IPv6 router πŸ¦‹ the catch is that moving the prefix from the 3GPP radio to the LAN link might end some long-lived data connections during the switch from host-only mode to router-and-host mode 😭 the ones most at risk are connections that were specifically bound to the 3GPP radio interface πŸ’€ this one is a good fit if the UE (or the software on it) can't support multiple interfaces with the same anycast IPv6 address and the UE still needs global connectivity while it's acting as a router πŸŽ€

here's the general procedure for this scenario:

  1. The user activates router functionality for a LAN on the UE. πŸ”₯
  2. The UE checks to make sure the 3GPP interface is active and has an IPv6 address. If the interface does not have an IPv6 address, an attempt will be made to acquire one; otherwise, the procedure will terminate. 🧚
  3. In this example, the UE finds the 3GPP interface is active and has the IPv6 address 2001:db8:ac10:f002:1234:4567:0:9 assigned. 🌈
  4. The UE moves the address 2001:db8:ac10:f002:1234:4567:0:9 as a /64 from the 3GPP interfaces to the LAN link interface, disables the IPv6 SLAAC feature on the 3GPP radio interface to avoid address autoconfiguration, and begins announcing the prefix 2001:db8:ac10:f002::/64 via RA to the LAN. For this example, the LAN has 2001:db8:ac10:f002:1234:4567:0:9/64 and the 3GPP radio only has a link-local address. πŸ’–
  5. The UE directly processes all packets destined to itself at 2001:db8:ac10:f002:1234:4567:0:9. πŸ‘‘
  6. The UE, acting as a router running NDP on the LAN, will route packets to and from the LAN. IPv6 packets passing between interfaces will have the TTL decremented. πŸ“
  7. On the LAN link interface, there is no chance of address conflict since the address is defended using DAD. The 3GPP radio interface only has a link-local address. 🫢

in this method, the UE gives itself ONE address from the /64 that the 3GPP network announced via RA πŸ’œ that one address gets configured as anycast [RFC4291] on BOTH the 3GPP radio link (as a /128) and the LAN link (as a /64) 🌸 this is the iconic part because the UE keeps its long-lived data connections, since the 3GPP radio interface address doesn't change when router function gets turned on ✨

the tradeoff: this method may cause complications for certain software that may not support multiple interfaces with the same anycast IPv6 address, or that is sensitive to prefix length changes πŸ™ˆ it also makes it harder to keep uniqueness for Privacy Extensions [RFC4941] 😬 when Privacy Extensions are in use, all temporary addresses get copied from the 3GPP radio interface to the LAN link, and the preferred and valid lifetimes get synchronized so the temporary anycast addresses on both interfaces expire at the same time ⏰

there might also be more complex scenarios where the prefix length isn't changed and privacy extensions are supported by having the subnet span multiple interfaces, the way ND Proxy does [RFC4389] 🧠 but digging into that is out of scope for this doc, so we're leaving it for another day πŸ’…

here's the general procedure for this scenario:

  1. The user activates router functionality for a LAN on the UE. πŸ”₯
  2. The UE checks to make sure the 3GPP interface is active and has an IPv6 address. If the interface does not have an IPv6 address, an attempt will be made to acquire one; otherwise, the procedure will terminate. 🧚
  3. In this example, the UE finds the 3GPP interface is active and has the IPv6 address 2001:db8:ac10:f002:1234:4567:0:9 assigned. 🌈
  4. The UE moves the address 2001:db8:ac10:f002:1234:4567:0:9 as an anycast /64 from the 3GPP interface to the LAN interface and begins announcing the prefix 2001:db8:ac10:f002::/64 via RA to the LAN. The 3GPP interface maintains the same IPv6 anycast address with a /128. For this example, the LAN has 2001:db8:ac10:f002:1234:4567:0:9/64 and the 3GPP radio interface has 2001:db8:ac10:f002:1234:4567:0:9/128. πŸ’–
  5. The UE directly processes all packets destined to itself at 2001:db8:ac10:f002:1234:4567:0:9. πŸ‘‘
  6. On the LAN interface, there is no chance of address conflict since the address is defended using DAD. The 3GPP radio interface only has a /128 and no other systems on the 3GPP radio point-to-point link may use the global /64. 🫢

5. Security Considerations πŸ”

okay this part is SERIOUS bestie 😀 since the UE is switching from an IPv6 host mode to an IPv6 router-and-host mode, basic IPv6 Customer Premises Equipment (CPE) security functions [RFC6092] SHOULD be applied πŸ›‘οΈ

also, even with temporary IPv6 addresses, the mobile-network-provided /64 prefix is shared by ALL the LAN-attached devices, which could be a privacy concern πŸ‘€ a prefix from a nomadic device (like a smartphone) isn't long-lived anyway, because of re-attaches from a device reload, traveling through loosely covered areas, etc. πŸšΆβ€β™€οΈ the network gives a new IPv6 prefix after a successful re-attach πŸ”„

3GPP-mobile-network-capable CPEs (like a router) are likely to keep the mobile network data connection up for much longer 🏠 some mobile networks reset the connection regularly (e.g., every 24 hours), and others don't πŸ€·β€β™€οΈ so privacy-concerned users shall take appropriate measures to not keep their IPv6 prefixes long lived 🫣

ngl this is the part to screenshot and send to your privacy-obsessed friends πŸ“Έ

6. Acknowledgments πŸŽ€

huge thank you to everyone who reviewed and discussed this doc 🫢 Dave Thaler, Sylvain Decremps, Mark Smith, Dmitry Anipko, Masanobu Kawashima, Teemu Savolainen, Mikael Abrahamsson, Eric Vyncke, Alexandru Petrescu, Jouni Korhonen, Lorenzo Colitti, Julien Laganier, Owen DeLong, Holger Metschulat, Yaron Sheffer, and Victor Kuarsingh πŸ’œ special shoutout to Ann Cerveny for the language review πŸ’…βœ¨


7. Informative References πŸ“š

here are all the references, iykyk πŸ€“

[RFC1122]  Braden, R., Ed., "Requirements for Internet Hosts -
           Communication Layers", STD 3, RFC 1122, October 1989.

[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.

[RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
           Architecture", RFC 4291, February 2006.

[RFC4389]  Thaler, D., Talwar, M., and C. Patel, "Neighbor Discovery
           Proxies (ND Proxy)", RFC 4389, April 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.

[RFC6092]  Woodyatt, J., Ed., "Recommended Simple Security
           Capabilities in Customer Premises Equipment (CPE) for
           Providing Residential IPv6 Internet Service", RFC 6092,
           January 2011.

[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, January 2012.

[TS.23401] 3GPP, "General Packet Radio Service (GPRS) enhancements
           for Evolved Universal Terrestrial Radio Access Network
           (E-UTRAN) access", 3GPP TS 23.401 10.0.0, June 2010.

Authors' Addresses πŸ§‘β€πŸ’»

Cameron Byrne
T-Mobile USA
Bellevue, Washington, USA
EMail: Cameron.Byrne@T-Mobile.com


Dan Drown
EMail: Dan@Drown.org


Ales Vizdal
Deutsche Telekom AG
Tomickova 2144/1
Prague, 149 00
Czech Republic
EMail: Ales.Vizdal@T-Mobile.cz
πŸ“¦ where this page comes from