Simplifying superior networking with DHCPv6 Prefix Delegation


IPv4 complicates app code and causes battery impression

Most of right now’s Web visitors nonetheless makes use of IPv4, which can not present clear end-to-end connectivity to apps. IPv4 solely offers 232 addresses – a lot lower than the variety of gadgets on right now’s Web – so it’s not potential to assign a public IPv4 deal with to each Android machine, not to mention to particular person apps or features inside a tool. So most Web customers have personal IPv4 addresses, and share a public IPv4 deal with with different customers of the identical community utilizing Community Handle Translation (NAT). NAT makes it tough to construct superior networking apps comparable to video calling apps or VPNs, as a result of these kinds of apps have to periodically ship packets to maintain NAT classes alive (which hurts battery) and implement complicated protocols comparable to STUN to permit gadgets to attach to one another by NAT.

Why IPv6 hasn’t solved this downside but

The brand new model of the Web protocol, IPv6 – now utilized by about half of all Google customers – offers just about limitless deal with house and the power for gadgets to make use of a number of addresses. When each machine can get world IPv6 addresses, there isn’t any want to make use of NAT for deal with sharing! However though the deal with house itself is not restricted, the present IPv6 deal with task strategies used on Wi-Fi, comparable to SLAAC and DHCPv6 IA_NA, nonetheless have limitations.

For one factor, each SLAAC and DHCPv6 IA_NA require the community to take care of state for every particular person deal with, so assigning quite a lot of IPv6 addresses to each Android machine could cause scaling points on the community. This implies it’s usually not potential to assign IPv6 addresses to VMs or containers throughout the machine, or to wearable gadgets and different tethered gadgets linked to it. For instance, in case your app is working on a wearable machine linked to an Android telephone,  or on a pill tethered to an Android telephone that’s linked to Wi-Fi, it possible received’t have IPv6 connectivity and might want to cope with the complexities and battery impression of NAT.

Moreover, we’ve heard suggestions from some customers and community operators that they want extra management over the IPv6 addresses utilized by Android gadgets. Till now, Android solely supported SLAAC, which doesn’t permit networks to assign predictable IPv6 addresses, and makes it tougher to trace the mapping between IPv6 addresses and the gadgets utilizing them. This has restricted the supply of IPv6 on Android gadgets on some networks.

The answer: devoted IPv6 deal with blocks with DHCPv6 PD

To beat these drawbacks, now we have added help for DHCPv6 Prefix Delegation (PD) as outlined in RFC 8415 and RFC 9762. The Android community stack can now request a devoted prefix from the community, and if it obtains a prefix, it’ll use it to acquire IPv6 connectivity. In future releases, the machine will be capable of share the prefix with wearable gadgets, tethered gadgets, digital machines, and stub networks comparable to Thread, offering all these gadgets with world IPv6 connectivity. This really realizes the potential of IPv6 to permit end-to-end, scalable connectivity to a vast variety of gadgets and features, with out requiring NAT. And since the prefix is assigned by the community, community operators can use current DHCPv6 logging infrastructure to trace which machine is utilizing which prefix (see RFC 9663 for steerage to community operators on deploying DHCPv6 PD).

This enables networks to completely notice the potential of IPv6: gadgets keep the pliability of SLAAC, comparable to the power to make use of an almost limitless variety of addresses, and the community maintains the manageability and accountability of a standard DHCPv6 setup. We hope that this may permit extra networks to transition to IPv6, offering apps with end-to-end IPv6 connectivity and decreasing the necessity for NAT traversal and keepalives.

What this implies for app builders

DHCPv6 PD help is predicted to roll out to most gadgets working Android 11 and above earlier than the top of the yr through a Google Play System Replace. No motion is required to benefit from it – it’ll simply transparently present IPv6 connectivity on networks that help it. We hope this transformation encourages extra networks to undertake IPv6, resulting in improved battery life, reliability, and code simplicity in these complicated networking situations. And if in case you have a fancy networking app, and your app or server doesn’t help IPv6, now is likely to be an excellent time to leverage it to enhance reliability and battery life.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles