Is IPv6 responsible for killing your smartphone’s battery life?
How many internet-connected devices are there in your life right now? Dozens upon dozens? When we take that number and start multiplying it by the billions of users out there, it’s no surprise that the internet long ago found itself running up against the 32-bit address-space limitation of the old IPv4 protocol, allowing a little fewer than 4.3 billion unique devices to be online. Luckily, the powers that be started working on a fix decades ago, and IPv6 has address space to spare. Unfortunately, the ongoing transition to IPv6 may be taking an unnecessary toll on our smartphones, as engineers point to a potentially battery-draining problem.
IPv6 supports a packet type called Router Advertisement that’s supposed to help manage the connection of new devices. The problem is the frequency at which these RA packets are sent out over IPv6 networks, coming as often as once every three seconds.
Even when a smartphone’s not otherwise in use, its SoC needs to wake up and process these RA packets, preventing it from staying in low-power sleep mode. One estimate suggests that waking up and dealing with a single RA packet consumes something like 0.014 mAh – so if we’re doing one every three seconds, that’s 16.8 mAh an hour, or about 400 mAh over the course of a day.
What’s to be done? We need these RA packets for IPv6 to properly function, but the packets don’t have to arrive quite so frequently. The authors behind this advisory suggest that scaling things back to seven times an hour would be plenty sufficient – and that would knock idle power consumption down to under 3 mAh a day. Right now the ball’s in the court of sysadmins everywhere, but for the sake of our phones’ batteries, we’re hoping they seriously take this change under advisement.