RA Energy: Reducing Energy Consumption of Router Advertisements
How often a network should send IPv6 Router Advertisements so that battery-powered hosts are not woken up too often.
Yourtchenko, A. and L. Colitti, "Reducing Energy Consumption of Router Advertisements", BCP 202, RFC 7772, DOI 10.17487/RFC7772, February 2016, <https://www.rfc-editor.org/info/rfc7772>.
@misc{rfc7772,
series = {Request for Comments},
number = 7772,
howpublished = {RFC 7772},
publisher = {RFC Editor},
doi = {10.17487/RFC7772},
url = {https://www.rfc-editor.org/info/rfc7772},
author = {A. Yourtchenko and L. Colitti},
title = {{Reducing Energy Consumption of Router Advertisements}},
pagetotal = 6,
year = 2016,
month = feb,
} RFC text
Contents
Internet Engineering Task Force (IETF) A. Yourtchenko
Request for Comments: 7772 Cisco
BCP: 202 L. Colitti
Category: Best Current Practice Google
ISSN: 2070-1721 February 2016
Reducing Energy Consumption of Router Advertisements
Abstract
Frequent Router Advertisement messages can severely impact host power
consumption. This document recommends operational practices to avoid
such impact.
Status of This Memo
This memo documents an Internet Best Current Practice.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
BCPs is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7772.
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) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Problem Scenarios . . . . . . . . . . . . . . . . . . . . . . 2
2.1. Solicited Multicast RAs on Large Networks . . . . . . . . 2
2.2. Frequent Periodic Router Advertisements . . . . . . . . . 3
3. Consequences . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Router Advertisement Frequency . . . . . . . . . . . . . . . 3
5. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 4
5.1. Network-Side Recommendations . . . . . . . . . . . . . . 4
5.2. Device-Side Recommendations . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Normative References . . . . . . . . . . . . . . . . . . 5
7.2. Informative References . . . . . . . . . . . . . . . . . 6
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
Routing information is communicated to IPv6 hosts by Router
Advertisement (RA) messages [RFC4861]. If these messages are sent
too frequently, they can severely impact power consumption on
battery-powered hosts.
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 [RFC2119].
2. Problem Scenarios
2.1. Solicited Multicast RAs on Large Networks
On links with a large number of battery-powered devices, sending
solicited multicast Router Advertisements can severely impact host
power consumption. This is because every time a device joins the
network, all devices on the network receive a multicast Router
Advertisement. In the worst case, if devices are continually joining
and leaving the network, and the network is large enough, then all
devices on the network will receive solicited Router Advertisements
at the maximum rate specified by Section 6.2.6 of [RFC4861], which is
one every 3 seconds.
2.2. Frequent Periodic Router Advertisements
Some networks send periodic multicast Router Advertisements very
frequently (e.g., once every few seconds). This may be due to a
desire to minimize customer impact of network renumbering events,
which in some large residential networks occur relatively frequently.
In the presence of hosts that ignore RAs or even all IPv6 packets
when in sleep mode, such networks may see a need to send RAs
frequently in order to avoid leaving devices with non-functional IPv6
configurations for extended periods of time. Unfortunately, this has
severe impact on battery life.
3. Consequences
Observed effects of frequently sending Router Advertisement messages
to battery-powered devices include:
o Some hosts simply experience bad battery life on these networks
and otherwise operate normally. This is frustrating for users of
these networks.
o Some hosts react by dropping all Router Advertisement messages
when in power-saving mode on any network, e.g.,
<https://code.google.com/p/android/issues/detail?id=32662>. This
causes devices to lose connectivity when in power-saving mode,
potentially disrupting background network communications, because
the device is no longer able to send packets or acknowledge
received traffic.
o Some hosts react by dropping *all* IPv6 packets when in power-
saving mode, <http://www.gossamer-threads.com/lists/nsp/
ipv6/54641>. This disrupts network communications.
Compounding the problem, when dealing with devices that drop Router
Advertisements when in power saving mode, some network administrators
work around the problem by sending RAs even more frequently. This
causes devices to engage in even more aggressive filtering.
4. Router Advertisement Frequency
The appropriate frequency of periodic RAs depends on how constrained
the network devices are.
o Laptop-class devices will likely experience no noticeable battery-
life impact, even if RAs are sent every few seconds.
o Tablets, phones, and watches experience it more noticeably. At
the time of writing, current-generation devices might consume on
the order of 5 mA when the main processor is asleep. Upon
receiving a packet, they might consume on the order of 200 mA for
250 ms, as the packet causes the main processor to wake up,
process the RA, attend to other pending tasks, and then go back to
sleep. Thus, on such devices, the cost of receiving one RA will
be approximately 0.014 mAh.
In order to limit the amount of power used to receive Router
Advertisements to, say, 2% of idle power (i.e., to impact idle
battery life by no more than 2%), the average power budget for
receiving RAs must be no more than 0.1 mA, or approximately 7 RAs
per hour. Due to background multicast loss and the tendency of
current devices to rate-limit multicast when asleep, many of these
RAs might not reach the device. Thus, the minimum lifetimes for
RA configuration parameters such as default router lifetime might
reasonably be 5-10 times the RA period, or roughly 45-90 minutes.
An impact of 2% relative to measured idle current is negligible,
since on this sort of device average power consumption is
typically much higher than idle power consumption.
o Specialized devices in non-general-purpose networks such as sensor
networks might have tighter requirements. In these environments,
even longer RA intervals might be appropriate.
5. Recommendations
5.1. Network-Side Recommendations
1. Router manufacturers SHOULD allow network administrators to
configure the routers to respond to Router Solicitations with
unicast Router Advertisements if:
* The Router Solicitation's source address is not the
unspecified address, and:
* The solicitation contains a valid Source Link-Layer Address
option.
2. Administrators of networks that serve large numbers (tens or
hundreds) of battery-powered devices SHOULD enable this behavior.
3. Networks that serve battery-powered devices SHOULD NOT send
multicast RAs too frequently (see Section 4) unless the
information in the RA packet has substantially changed. If there
is a desire to ensure that hosts pick up configuration changes
quickly, those networks MAY send frequent Router Advertisements
for a limited period of time (e.g., not more than one minute)
immediately after a configuration change.
No protocol changes are required. Responding to Router Solicitations
with unicast Router Advertisements is already allowed by Section
6.2.6 of [RFC4861], and Router Advertisement intervals are already
configurable by the administrator to a wide range of values.
5.2. Device-Side Recommendations
1. Maintaining IPv6 connectivity requires that hosts be able to
receive periodic multicast RAs [RFC4861]. Therefore, hosts that
process unicast packets sent while they are asleep MUST also
process multicast RAs sent while they are asleep. Battery-
powered hosts MAY rate-limit identical RAs if they are sent too
frequently.
2. Battery-powered devices that do not intend to maintain IPv6
connectivity while asleep SHOULD either disconnect from the
network, abandoning all IPv6 configuration on that network, or
perform Detecting Network Attachment in IPv6 (DNAv6) procedures
[RFC6059] when waking up.
6. Security Considerations
Misconfigured or malicious hosts sending rogue Router Advertisements
[RFC6104] can also severely impact power consumption on battery-
powered hosts if they send a significant number of such messages.
Any IPv6 network where there is potential for misconfigured or
malicious hosts should take appropriate countermeasures to mitigate
the problem.
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
DOI 10.17487/RFC4861, September 2007,
<http://www.rfc-editor.org/info/rfc4861>.
[RFC6059] Krishnan, S. and G. Daley, "Simple Procedures for
Detecting Network Attachment in IPv6", RFC 6059,
DOI 10.17487/RFC6059, November 2010,
<http://www.rfc-editor.org/info/rfc6059>.
7.2. Informative References
[RFC6104] Chown, T. and S. Venaas, "Rogue IPv6 Router Advertisement
Problem Statement", RFC 6104, DOI 10.17487/RFC6104,
February 2011, <http://www.rfc-editor.org/info/rfc6104>.
Acknowledgements
The authors wish to thank Steven Barth, Frank Bulk, David Farmer,
Igor Gashinsky, Ray Hunter, Erik Kline, Erik Nordmark, Alexandru
Petrescu, Libor Polcak, Mark Smith, Jinmei Tatuya, and James Woodyatt
for feedback and helpful suggestions.
Authors' Addresses
Andrew Yourtchenko
Cisco
7a de Kleetlaan
Diegem, 1831
Belgium
Phone: +32 2 704 5494
Email: ayourtch@cisco.com
Lorenzo Colitti
Google
Roppongi 6-10-1
Minato, Tokyo 106-6126
Japan
Email: lorenzo@google.com
ISO Plain Language
On this page
§1Introduction
Routing information reaches IPv6 hosts through Router Advertisement (RA) messages, defined in RFC 4861. If those messages are sent too frequently, they can severely affect the power consumption of battery-powered hosts.
The RFC makes no change to any protocol. It describes two situations that waste power, what those situations do to hosts, and then gives recommendations for networks and for devices, all of them using behaviour that is already allowed.
Routers use advertisements to tell IPv6 hosts about the network. A host that is asleep has to wake up for each one, which uses battery. This RFC changes nothing in the protocol. It says how often advertisements should be sent and how a network can answer a single host without waking up all the others.
§2Two Situations That Waste Power
The first situation is solicited multicast RAs on large networks. Every time a device joins the network, all devices on that network receive a multicast Router Advertisement. In the worst case, when devices keep joining and leaving and the network is large enough, every device receives solicited Router Advertisements at the maximum rate allowed by Section 6.2.6 of RFC 4861, which is one every 3 seconds.
The second situation is frequent periodic Router Advertisements. Some networks send periodic multicast advertisements very often, for example once every few seconds. This can come from a wish to limit the customer impact of network renumbering events, which occur relatively often in some large residential networks. Where hosts ignore RAs, or even ignore all IPv6 packets, while in sleep mode, such a network may feel it has to send RAs frequently so that devices are not left with a non-functional IPv6 configuration for a long time. That has a severe impact on battery life.
Two patterns cost power. First, when a device joins a large network, the router's multicast advertisement reaches every device, not just the one that joined. Second, some networks send advertisements every few seconds on their own. Hosts that sleep through them then lose their IPv6 settings, so the network keeps sending them, and the power cost climbs.
§3What Hosts Do When Advertisements Are Too Frequent
The RFC lists three observed effects of sending Router Advertisements frequently to battery-powered devices.
- Some hosts simply have bad battery life on these networks and otherwise operate normally, which is frustrating for the people who use them.
- Some hosts react by dropping all Router Advertisement messages when they are in power-saving mode, on any network. Those devices then lose connectivity while in power-saving mode, which can disrupt background network communication, because the device can no longer send packets or acknowledge received traffic.
- Some hosts react by dropping all IPv6 packets when they are in power-saving mode, which disrupts network communication entirely.
The problem then compounds. Faced with devices that drop Router Advertisements in power-saving mode, some administrators work around it by sending advertisements even more often, which makes the devices filter more aggressively.
Hosts react badly to frequent advertisements. Some simply lose battery life. Some stop listening to advertisements while they sleep, and then they cannot send anything or acknowledge traffic. Some stop listening to all IPv6 traffic. Sending more advertisements makes it worse, because the hosts filter more.
- Short battery lifeSome hosts work normally but their batteries drain faster.
- All advertisements droppedSome hosts ignore every Router Advertisement in power-saving mode and lose connectivity.
- All IPv6 droppedSome hosts ignore every IPv6 packet in power-saving mode, which stops network communication.
§4Choosing an Advertisement Frequency
The right frequency for periodic advertisements depends on how constrained the devices are.
Laptop-class devices will likely notice no impact on battery life, even if advertisements are sent every few seconds. Tablets, phones and watches notice it more. At the time of writing, current-generation devices might consume on the order of 5 mA while the main processor is asleep, and on receiving a packet they might consume on the order of 200 mA for 250 ms, because the packet wakes the processor, which processes the advertisement, attends to other pending tasks and goes back to sleep. On such a device, one advertisement costs approximately 0.014 mAh.
To keep the power used for receiving advertisements at, say, 2% of idle power, so that idle battery life is affected by no more than 2%, the average power budget for receiving advertisements must be no more than 0.1 mA, which is approximately 7 advertisements per hour. Because background multicast can be lost, and because current devices tend to rate-limit multicast while asleep, many of these advertisements may never reach the device. The minimum lifetime for advertisement configuration parameters such as the default router lifetime might reasonably be 5 to 10 times the advertisement period, or roughly 45 to 90 minutes.
An impact of 2% relative to measured idle current is negligible on this kind of device, because its average power consumption is typically much higher than its idle power consumption. Specialized devices in non-general-purpose networks, such as sensor networks, might have tighter requirements, and even longer advertisement intervals might be appropriate there.
Laptops barely notice. A phone or a watch notices, and the RFC works out a figure: with about 5 mA of idle current and about 200 mA for 250 ms when a packet arrives, one advertisement costs about 0.014 mAh. To spend no more than 2% of idle power, the network can send about 7 advertisements an hour, and the settings the host keeps, such as the default router lifetime, should last 5 to 10 times that, which is 45 to 90 minutes.
| Device class | Effect of frequent advertisements | Advice in the RFC |
|---|---|---|
| Laptop-class THIS RFC | No noticeable battery-life impact | Can tolerate advertisements every few seconds |
| Tablets, phones, watches THIS RFC | Noticeable | About 7 per hour, with lifetimes of 45 to 90 minutes |
| Sensors and other specialized devices THIS RFC | Can be tighter than general-purpose devices | Even longer intervals may be appropriate |
§5.1Recommendations for Networks
Router manufacturers SHOULD let administrators configure the routers to answer a Router Solicitation with a unicast Router Advertisement when two conditions hold: the solicitation's source address is not the unspecified address, and the solicitation contains a valid Source Link-Layer Address option. Administrators of networks that serve large numbers of battery-powered devices, tens or hundreds of them, SHOULD enable that behaviour.
Networks that serve battery-powered devices SHOULD NOT send multicast advertisements too frequently, unless the information in the advertisement packet has substantially changed. A network that wants hosts to pick up a configuration change quickly MAY send frequent advertisements for a limited time, for example not more than one minute, immediately after the change.
No protocol changes are required. Answering a Router Solicitation with a unicast advertisement is already allowed by Section 6.2.6 of RFC 4861, and the intervals between advertisements are already configurable by the administrator over a wide range of values.
A router should be able to answer a solicitation from one host with a unicast advertisement that only that host receives. Networks with many battery-powered devices should turn that on, and should not send multicast advertisements often unless the settings in them have really changed. If the settings have changed, a short burst of advertisements, not more than a minute, is allowed.
- Router SolicitationSent with a real source address and a valid Source Link-Layer Address option.
- Unicast Router AdvertisementOnly the host that asked is woken up, instead of every device on the link.
§5.2Recommendations for Devices
Keeping IPv6 connectivity requires that hosts can receive periodic multicast advertisements. A host that processes unicast packets sent while it is asleep must therefore also process multicast advertisements sent while it is asleep. A battery-powered host MAY rate-limit identical advertisements that arrive too frequently.
A battery-powered device that does not intend to keep IPv6 connectivity while it is asleep should either disconnect from the network, abandoning all IPv6 configuration there, or run the Detecting Network Attachment in IPv6 (DNAv6) procedures of RFC 6059 when it wakes up.
A host that listens for unicast traffic while it sleeps has to listen for multicast advertisements too, or it loses its IPv6 settings. A host that does not want that should drop off the network while it sleeps and check for the network again when it wakes up.
§6Security Considerations
Misconfigured or malicious hosts that send rogue Router Advertisements, described in RFC 6104, can also severely affect the power consumption of battery-powered hosts if they send a significant number of such messages. Any IPv6 network where misconfigured or malicious hosts are possible should take appropriate countermeasures to reduce the problem.
A host that sends fake advertisements can drain the battery of other hosts in the same way. Networks where that is possible should have a way to stop it.