Subject: [v6ops] How my Android phone got assigned with IPv6 address via 4G LTE?

From: Davey Song <[email-masked]>
Date: Mon, 27 Aug 2018 08:50:55 +0800

Hi folks,

Recently the IPv6 4G LTE of China moible and China Telecom is working. And
I got the address information on my android phone, like :

China Mobile : 2409:8900:8a10:6dof:4177:9599:de56:7092
China Telecom: 240e:ff:b10a:54a9:b5f7:5e4c:2f2d:9847

My question is : How these IPv6 addresses are assigned to my pohone and
what type of address they are?  They looks no EUI-64 address, without FFFE
in the middle of low 64 bits.  And it can not be done by DHCPv6 because I
heard Android does not support DHCPv6, right?  I'm not sure how my LTE
provider provisioning IPv6 address. So The only possbile way is
SLAAC+private address？

Anyone who can help me out on this question? Or share your experience on
how the mobile ISP commonly provison their users. Thanks.

Best regards,
Davey

---

From: Lorenzo Colitti <[email-masked]>
Date: Mon, 27 Aug 2018 10:01:39 +0900

See RFC 6459, and if you want more detail, the various 3GPP documents
listed in the references section of that RFC.

On Mon, Aug 27, 2018 at 9:51 AM Davey Song <[email-masked]> wrote:

> _______________________________________________
> v6ops mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/v6ops
>

---

From: "[email-masked]" <[email-masked]>
Date: Mon, 27 Aug 2018 09:13:23 +0800

Hi， Davey,

I think you can check 3GPP TS 23.401 version 10.3.0 Release 10 . in which the IPv6 allocation to UE is described as below,

"IPv6 Stateless Address autoconfiguration specified in RFC 4862 [18] is the basic mechanism to allocate /64 IPv6 prefix
to the UE. During default bearer establishment, the PDN GW sends the IPv6 prefix and Interface Identifier to the S-GW, and then
the S-GW forwards the IPv6 prefix and Interface Identifier to the MME or to the SGSN. The MME or the SGSN
forwards the IPv6 Interface Identifier to the UE. The MME does not forward the IPv6 prefix to the UE. If the UE
receives the IPv6 prefix from the SGSN during PDP Context Activation procedure, it shall ignore it."

From the above we can see that the Interface Identifier of UE is allocated by network side.

Chongfeng

[email-masked]
 
From: Davey Song
Date: 2018-08-27 08:50
To: v6ops
Subject: [v6ops] How my Android phone got assigned with IPv6 address via 4G LTE?
Hi folks,

Recently the IPv6 4G LTE of China moible and China Telecom is working. And I got the address information on my android phone, like :

My question is : How these IPv6 addresses are assigned to my pohone and what type of address they are?  They looks no EUI-64 address, without FFFE in the middle of low 64 bits.  And it can not be done by DHCPv6 because I heard Android does not support DHCPv6, right?  I'm not sure how my LTE provider provisioning IPv6 address. So The only possbile way is SLAAC+private address？  

Anyone who can help me out on this question? Or share your experience on how the mobile ISP commonly provison their users. Thanks. 

Best regards,
Davey

---

From: Davey Song <[email-masked]>
Date: Mon, 27 Aug 2018 09:19:28 +0800

Thanks for your information, Lorenzo and Dr. Xie , I will check that.

Davey

On Mon, 27 Aug 2018 at 09:13, [email-masked] <
[email-masked]> wrote:

> Hi， Davey,
>
> I think you can check 3GPP TS 23.401 version 10.3.0 Release 10 . in which
> the IPv6 allocation to UE is described as below,
>
> "
> IPv6 Stateless Address autoconfiguration specified in RFC 4862 [18] is the basic mechanism to allocate /64 IPv6 prefix
> to the UE.
> During default bearer establishment, the PDN GW sends the IPv6 prefix and Interface Identifier to the S-GW, and then
>
> ------------------------------
> *From:* Davey Song <[email-masked]>
> *Date:* 2018-08-27 08:50
> *To:* v6ops <[email-masked]>
> *Subject:* [v6ops] How my Android phone got assigned with IPv6 address
> via 4G LTE?
> Hi folks,
>

---

From: Lorenzo Colitti <[email-masked]>
Date: Mon, 27 Aug 2018 10:21:13 +0900

Actually I think per standards, the network only assigns the interface
identifier for the link-local address. The interface identifier(s) for the
global address(es) are assigned by the terminal in whatever way it wants to
assign them.

---

From: Davey Song <[email-masked]>
Date: Mon, 27 Aug 2018 09:29:24 +0800

So it is not neccsarily rfc7217 address?  Is it true that no one can 100%
sure what type of address (or which std it is using) for a specific IPv6
address assigned due to privacy consideration, right?

Davey
On Mon, 27 Aug 2018 at 09:21, Lorenzo Colitti <[email-masked]> wrote:

>> I think you can check 3GPP TS 23.401 version 10.3.0 Release 10 . in
>> which the IPv6 allocation to UE is described as below,
>>
>> "
>> Recently the IPv6 4G LTE of China moible and China Telecom is working.
>> And I got the address information on my android phone, like :
>>

---

From: Clark Gaylord <[email-masked]>
Date: Sun, 26 Aug 2018 21:36:53 -0400

>From RFC 6459: IPv6 Stateless Address Autoconfiguration (SLAAC), as
specified in [RFC4861] and [RFC4862], is the only supported address
configuration mechanism. Stateful DHCPv6-based address configuration
[RFC3315] is not supported by 3GPP specifications.

What you need to remember about SLAAC relative to the "FFFE" component is
that this is part of how we convert 48 bit MAC addresses (EUI-48) to 64
bits (the other part being a bit flip). If you have 64 bits of interface
address already, you don't need to stuff in 16 more bits. So don't let the
lack of FFFE confuse you; this isn't Ethernet. :-)

Enjoy
Clark

-- 

--
Clark Gaylord
[email-masked]
... Autocorrect may have improved this message ...

---

From: Lorenzo Colitti <[email-masked]>
Date: Mon, 27 Aug 2018 11:04:23 +0900

The terminal can generate whatever addresses it wants. Per 23.060 section
9.2.1.1:

=====
For stateless address autoconfiguration however, the MS can choose any
interface identifier to generate addresses other than link-local, without
involving the network. However, the UE shall not use any identifiers
defined in TS 23.003 [4] as the basis for generating the interface
identifier. For privacy, the UE may change the interface identifier used to
generate full IPv6 address as defined in TS 23.221 [80], without involving
the network. In particular, the SGSN and the GGSN are not updated with the
actual address used by the MS, as the prefix alone identifies the PDP
context.
=====

---

From: Davey Song <[email-masked]>
Date: Mon, 27 Aug 2018 11:46:37 +0800

Another question about the lifetime of the address.

How long will the address persist? I mean the lifetime of a IPv6 address
assigned.  I test with my phone that every time I turn on the  "Mobile
data", or switch from WIF, the IPv6 address changed. I'm not sure How long
it will persist. I check windows 10 on my laptop (netsh interface ipv6 show
privacy), the Maximum Preferred Lifetime is one day.

I ask the question because some application developer may build their app
based on the persistence of the IPv6 address. Mycurrent suggestion to them
is "DO NOT RELY on IPv6 PERSISTENCE" becuase it changes more frequently
than IPv4.  Is it right ?

Davey

On Mon, 27 Aug 2018 at 10:04, Lorenzo Colitti <[email-masked]> wrote:

>>>> Anyone who can help me out on this question? Or share your experience
>>>> on how the mobile ISP commonly provison their users. Thanks.
>>>>
>>>> Best regards,
>>>> Davey
>>>>

---

From: Erik Kline <[email-masked]>
Date: Mon, 27 Aug 2018 13:00:30 +0900

On Mon, 27 Aug 2018 at 12:47, Davey Song <[email-masked]> wrote:
> How long will the address persist? I mean the lifetime of a IPv6 address assigned.  I test with my phone that every time I turn on the  "Mobile data", or switch from WIF, the IPv6 address changed. I'm not sure How long it will persist. I check windows 10 on my laptop (netsh interface ipv6 show privacy), the Maximum Preferred Lifetime is one day.
>
> I ask the question because some application developer may build their app based on the persistence of the IPv6 address. Mycurrent suggestion to them is "DO NOT RELY on IPv6 PERSISTENCE" becuase it changes more frequently than IPv4.  Is it right ?

There are no guarantees at the IP layer of address persistence beyond
the lifetimes in the PIO/RA.

In general, any number of circumstances can cause the device to
disconnect from the network at any time.  When it next reconnects it
may be provisioned with an entirely different prefix, for example.  Of
course, there might be some contractual arrangement that a given
device is routed a known prefix, but that has no IP-layer
representation.

---

From: Brian E Carpenter <[email-masked]>
Date: Mon, 27 Aug 2018 16:26:51 +1200

> device is routed a known prefix, but that has no IP-layer

Not only that. Depending on the roaming situation, the device might
be switched between IPv6 and IPv4 without warning. Or (like mine)
it might have IPv6 connectivity sometimes on WiFi, even if the cell
operator only supports IPv4.

So apps also need complete dual stack agility at any time. No address
is persistent.

    Brian

---

From: George Michaelson <[email-masked]>
Date: Mon, 27 Aug 2018 15:04:51 +1000

I surprised people still treat an IP address in either 4 or 6 as an
endpoint identifier.

Its not an identifier. Its not a session identifier either. QUIC
doesn't use IP addresses as session IDs, it does address agility.
Multipath TCP likewise

I would think by now, we understand, that if you want state, the IP
address isn't the primary key to the state, something else has to be.
a give five-tuple is keyed on IP and port because at the protocol
level it has to be: I thats not something which should be taken out of
context and used "above" the {TCP, UDP}/IP level to determine things.
On Mon, Aug 27, 2018 at 2:27 PM Brian E Carpenter

---

From: "[email-masked]" <[email-masked]>
Date: Mon, 27 Aug 2018 13:39:14 +0800

If applications have the requirement of fixed IPv6 address for users in mobile network, the IPv6 address for each user can be pre-configured in HSS database, which has been supported in current 4G LTE architecture.  In addition, the BSS system should also be upgraded to support the capability of fixed IPv6 address for UE.

Chongfeng 

From: Brian E Carpenter
Date: 2018-08-27 12:26
To: Erik Kline; songlinjian
CC: [email-masked] WG
Subject: Re: [v6ops] How my Android phone got assigned with IPv6 address via 4G LTE?

 
    Brian

---

From: Davey Song <[email-masked]>
Date: Mon, 27 Aug 2018 14:07:01 +0800

> I surprised people still treat an IP address in either 4 or 6 as an

It is ture for many application develop who still live in IPv4 world, in
which IP address is viewed persistent and treated as an important user
profile such as geo-location info. That's why it is hard for them to
migrate their app back-end services to IPv6.

Davey

---

From: Mark Andrews <[email-masked]>
Date: Mon, 27 Aug 2018 16:18:40 +1000

> On 27 Aug 2018, at 4:07 pm, Davey Song <[email-masked]> wrote:
> 
> 
> It is ture for many application develop who still live in IPv4 world, in which IP address is viewed persistent and treated as an important user profile such as geo-location info. That's why it is hard for them to migrate their app back-end services to IPv6.

There is zero difference between IPv4 and IPv6 here.  IPv4 addresses are no
more stable than IPv6 addresses.  Geo location from IP is essentially the
same.  The IPv6 geoip databases may not be as complete but the data is
just or more stable as there isn’t a IPv6 address resale market.

Thats a excuse they give which doesn’t bear up to scrutiny.

Mark

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742              INTERNET: [email-masked]

---

From: Ca By <[email-masked]>
Date: Mon, 27 Aug 2018 08:49:12 -0700

On Sun, Aug 26, 2018 at 10:39 PM [email-masked] <
[email-masked]> wrote:

>
> If applications have the requirement of fixed IPv6 address for users in
> mobile network, the IPv6 address for each user can be pre-configured in HSS
> database, which has been supported in current 4G LTE architecture.  In
> addition, the BSS system should also be upgraded to support the
> capability of fixed IPv6 address for UE.
>
> Chongfeng
>

The IID is still independently assigned by the UE.

Only the first 64 bits can be reliably assigned by the network.

This has caused some pain for enterprise applications, and they have had to
use ipv4 instead of ipv6.

I know of a case regarding busines applications getting static ipv4 because
the admins could not initiate connections from the internet since the full
UE address is unknown

> *From:* Brian E Carpenter <[email-masked]>
> *Date:* 2018-08-27 12:26
> *To:* Erik Kline <ek=[email-masked]>; songlinjian
> <[email-masked]>
> *CC:* [email-masked] WG <[email-masked]>
> *Subject:* Re: [v6ops] How my Android phone got assigned with IPv6
> address via 4G LTE?
>
> >> How long will the address persist? I mean the lifetime of a IPv6
> address assigned.  I test with my phone that every time I turn on the
> "Mobile data", or switch from WIF, the IPv6 address changed. I'm not sure
> How long it will persist. I check windows 10 on my laptop (netsh interface
> ipv6 show privacy), the Maximum Preferred Lifetime is one day.
> >>
> >> I ask the question because some application developer may build their
> app based on the persistence of the IPv6 address. Mycurrent suggestion to
> them is "DO NOT RELY on IPv6 PERSISTENCE" becuase it changes more
> frequently than IPv4.  Is it right ?
> >

---

From: Brian E Carpenter <[email-masked]>
Date: Tue, 28 Aug 2018 09:27:52 +1200

> If applications have the requirement of fixed IPv6 address for users in mobile network, the IPv6 address for each user can be pre-configured in HSS database, which has been supported in current 4G…

Sorry, that can't possibly work for devices that frequently roam between
providers or switch technologies dynamically. My cell phone switches
between dual stack WiFi, 4G, and v4-only WiFi when I travel from home
to my office. That's at least 3 different addresses per trip. Any app
that cannot deal with that is useless.

   Brian

---

From: Erik Kline <[email-masked]>
Date: Tue, 28 Aug 2018 12:38:55 +0900

> I know of a case regarding busines applications getting static ipv4 because the admins could not initiate connections from the internet since the full UE address is unknown

The solution here is not fixing the address but using a rendezvous
protocol (probably with some authentication) so the host can advertise
its addresses and update them continuously as they change.

---

From: Mark Andrews <[email-masked]>
Date: Tue, 28 Aug 2018 13:52:59 +1000

We have one.  It is called DNS (STD13).  We have DNS UPDATE (RFC 2136) which
can be authenticated with TSIG (RFC 2845) or SIG(0) (RFC 2931).

There are name servers that have implemented this for over 2 decades now
and allow access control down to the <name,tuple,class> tuple level.

	zone example.com {
		type master;
		update-policy {
			grant * self .;
		};
	};

Add a KEY record for host.example.com to the zone then you can use DNS UPDATE
authenticated using SIG(0) to update records at host.example.com.

	zone example.com {
		type master;
		update-policy {
			grant * selfsub .;
		};
	};

Or if you want to also allow _prefix records use policy “selfsub”.

For TSIG you would use a HMAC key called host.example.com. 

Mark

> On 28 Aug 2018, at 1:38 pm, Erik Kline <ek=[email-masked]> wrote:
>

---

From: Erik Kline <[email-masked]>
Date: Tue, 28 Aug 2018 13:07:25 +0900

Yup, agreed.  I wasn't implying a protocol didn't exist, only that it
wasn't being used.

To be honest, I've never try to use DNS UPDATE as a client/in an
application, so I don't know if there are any unaddressed aspects to
its use *other* than simply trying in the first place.

---

From: Mark Andrews <[email-masked]>
Date: Tue, 28 Aug 2018 14:37:47 +1000

> On 28 Aug 2018, at 2:07 pm, Erik Kline <[email-masked]> wrote:
> 

* DNS UPDATE is used by Active Directory (using GSS-TSIG to authenticate).
* DNS UPDATE is used by DHCP servers with TSIG in enterprises to update
  forward and reverse zones.
* DNS UPDATE is/was used by DynDNS with TSIG and SRV to update forward zones
  from CPE routers usually.
* MacOS uses DNS UPDATE with TSIG and SRV to update forward zones.
  (System Preferences -> Sharing -> Edit -> Use Dynamic Global Hostname)

There is actually a good chance that it was used behind the scenes with
equipment that you have used. It’s just not used ubiquitously and it should
be.

Mark

---

From: "Rajiv Asati (rajiva)" <[email-masked]>
Date: Tue, 28 Aug 2018 12:15:21 +0000

With IPv6, usage of DDNS should be recommended as a good practice to get hostname - IP mapping. Also important is to formulate the host names that comply with sanity. 

Of course, the typical v4 practice of formulating hostnames by encoding the entire v4 address in the host name must not be followed. 

Perhaps, a topic for a different thread. 
Cheers,
Rajiv 

> On Aug 28, 2018, at 12:38 AM, Mark Andrews <[email-masked]> wrote:
> 
> 
>

---

From: Lee Howard <[email-masked]>
Date: Tue, 28 Aug 2018 10:34:25 -0400

> With IPv6, usage of DDNS should be recommended as a good practice to get hostname - IP mapping. Also important is to formulate the host names that comply with sanity.

Only if you care about hostname - IP mapping. It matters for some kinds 
of servers, and is handy for traceroutes. Hosts that are clients don't 
generally get looked up by name.
> Of course, the typical v4 practice of formulating hostnames by encoding the entire v4 address in the host name must not be followed.

It could be. "Sanity" (as you said above) is hard to define, especially 
when you don't want to give away private user information.

> Perhaps, a topic for a different thread.

This draft is very close to publication: 
https://datatracker.ietf.org/doc/draft-ietf-dnsop-isp-ip6rdns/
The AD has for a very few minor changes, which I hope to make in the 
next 48 hours. It still needs IETF Last Call.

Lee