RS Retransmission: Packet-Loss Resiliency for Router Solicitations
Hosts keep sending IPv6 Router Solicitations with exponential backoff instead of giving up after three tries.
Krishnan, S., Anipko, D., and D. Thaler, "Packet-Loss Resiliency for Router Solicitations", RFC 7559, DOI 10.17487/RFC7559, May 2015, <https://www.rfc-editor.org/info/rfc7559>.
@misc{rfc7559,
series = {Request for Comments},
number = 7559,
howpublished = {RFC 7559},
publisher = {RFC Editor},
doi = {10.17487/RFC7559},
url = {https://www.rfc-editor.org/info/rfc7559},
author = {S. Krishnan and D. Anipko and D. Thaler},
title = {{Packet-Loss Resiliency for Router Solicitations}},
pagetotal = 6,
year = 2015,
month = may,
} RFC text
Contents
Internet Engineering Task Force (IETF) S. Krishnan
Request for Comments: 7559 Ericsson
Updates: 4861 D. Anipko
Category: Standards Track Unaffiliated
ISSN: 2070-1721 D. Thaler
Microsoft
May 2015
Packet-Loss Resiliency for Router Solicitations
Abstract
When an interface on a host is initialized, the host transmits Router
Solicitations in order to minimize the amount of time it needs to
wait until the next unsolicited multicast Router Advertisement is
received. In certain scenarios, these Router Solicitations
transmitted by the host might be lost. This document specifies a
mechanism for hosts to cope with the loss of the initial Router
Solicitations.
Status of This Memo
This is an Internet Standards Track document.
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
Internet Standards 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/rfc7559.
Copyright Notice
Copyright (c) 2015 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
1.1. Conventions Used in This Document . . . . . . . . . . . . 3
2. Proposed Algorithm . . . . . . . . . . . . . . . . . . . . . 3
2.1. Stopping the Retransmissions . . . . . . . . . . . . . . 3
3. Configuring the Use of Retransmissions . . . . . . . . . . . 4
4. Known Limitations . . . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
6.1. Normative References . . . . . . . . . . . . . . . . . . 5
6.2. Informative References . . . . . . . . . . . . . . . . . 5
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 5
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
As specified in [RFC4861], when an interface on a host is
initialized, in order to obtain Router Advertisements quickly, a host
transmits up to MAX_RTR_SOLICITATIONS (3) Router Solicitation (RS)
messages, each separated by at least RTR_SOLICITATION_INTERVAL (4)
seconds. In certain scenarios, these Router Solicitations
transmitted by the host might be lost. For example, the host is
connected to a bridged residential gateway over Ethernet or Wi-Fi.
LAN connectivity is achieved at interface initialization, but the
upstream WAN connectivity is not active yet. In this case, the host
just gives up after the initial RS retransmits.
Once the initial RSs are lost, the host gives up and assumes that
there are no routers on the link as specified in Section 6.3.7 of
[RFC4861]. The host will not have any form of Internet connectivity
until the next unsolicited multicast Router Advertisement is
received. These Router Advertisements are transmitted at most
MaxRtrAdvInterval seconds apart (maximum value 1800 seconds). Thus,
in the worst-case scenario a host would be without any connectivity
for 30 minutes. This delay may be unacceptable in some scenarios.
1.1. Conventions Used in This Document
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. Proposed Algorithm
To achieve resiliency to packet loss, the host needs to continue
retransmitting the Router Solicitations until it receives a Router
Advertisement, or until it is willing to accept that no router
exists. If the host continues retransmitting the RSs at
RTR_SOLICITATION_INTERVAL second intervals, it may cause excessive
network traffic if a large number of such hosts exists. To achieve
resiliency while keeping the aggregate network traffic low, the host
can use some form of exponential backoff algorithm to retransmit the
RSs.
Hosts complying to this specification MUST use the exponential
backoff algorithm for retransmits that is described in Section 14 of
[RFC3315] in order to continuously retransmit the Router
Solicitations until a Router Advertisement is received. The hosts
SHOULD use the following variables as input to the retransmission
algorithm:
IRT (Initial Retransmission Time): 4 seconds
MRT (Maximum Retransmission Time): 3600 seconds
MRC (Maximum Retransmission Count): 0
MRD (Maximum Retransmission Duration): 0
The initial value IRT was chosen to be in line with the current
retransmission interval (RTR_SOLICITATION_INTERVAL) that is specified
by [RFC4861], and the maximum retransmission time MRT was chosen to
be in line with the new value of SOL_MAX_RT as specified by
[RFC7083]. This is to ensure that the short-term behavior of the RSs
is similar to what is experienced in current networks, and that
longer-term persistent retransmission behavior trends towards being
similar to that of DHCPv6 [RFC3315] [RFC7083].
2.1. Stopping the Retransmissions
On multicast-capable links, the hosts following this specification
SHOULD stop retransmitting the RSs when Router Discovery is
successful (i.e., an RA with a non-zero Router Lifetime that results
in a default route is received). If an RA is received from a router
and it does not result in a default route (i.e., Router Lifetime is
zero), the host MUST continue retransmitting the RSs.
On non-multicast links, the hosts following this specification MUST
continue retransmitting the RSs even after an RA that results in a
default route is received. This is required because, in such links,
sending an RA can only be triggered by an RS. Please note that such
links have special mechanisms for sending RSs as well. For example,
the mechanism specified in Section 8.3.4 of the Intra-Site Automatic
Tunnel Addressing Protocol (ISATAP) [RFC5214] unicasts the RSs to
specific routers.
3. Configuring the Use of Retransmissions
Implementations of this specification are encouraged to provide a
configuration option to enable or disable potentially infinite RS
retransmissions. If a configuration option is provided, it MUST
enable RS retransmissions by default. Providing an option to enable/
disable retransmissions on a per-interface basis allows network
operators to configure RS behavior in the most applicable way for
each connected link.
4. Known Limitations
When an IPv6-capable host attaches to a network that does not have
IPv6 enabled, it transmits 3 (MAX_RTR_SOLICITATIONS) Router
Solicitations as specified in [RFC4861]. If it receives no Router
Advertisements, it assumes that there are no routers present on the
link and it ceases to send further RSs. With the mechanism specified
in this document, the host will continue to retransmit RSs
indefinitely at the rate of approximately 1 RS per hour. It is
unclear how to differentiate between such a network with no IPv6
routers and a link where an IPv6 router is temporarily unreachable
but could become reachable in the future.
5. Security Considerations
This document does not present any additional security issues beyond
those discussed in [RFC4861] and those RFCs that update [RFC4861].
6. References
6.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>.
[RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
C., and M. Carney, "Dynamic Host Configuration Protocol
for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July
2003, <http://www.rfc-editor.org/info/rfc3315>.
[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>.
[RFC7083] Droms, R., "Modification to Default Values of SOL_MAX_RT
and INF_MAX_RT", RFC 7083, DOI 10.17487/RFC7083, November
2013, <http://www.rfc-editor.org/info/rfc7083>.
6.2. Informative References
[RFC5214] Templin, F., Gleeson, T., and D. Thaler, "Intra-Site
Automatic Tunnel Addressing Protocol (ISATAP)", RFC 5214,
DOI 10.17487/RFC5214, March 2008,
<http://www.rfc-editor.org/info/rfc5214>.
Acknowledgements
The authors would like to thank Steve Baillargeon, Erik Kline, Andrew
Yourtchenko, Ole Troan, Erik Nordmark, Lorenzo Colitti, Thomas
Narten, Ran Atkinson, Allison Mankin, Les Ginsberg, Brian Carpenter,
Barry Leiba, Brian Haberman, Spencer Dawkins, Alia Atlas, Stephen
Farrell, and Mehmet Ersue for their reviews and suggestions that made
this document better.
Authors' Addresses
Suresh Krishnan
Ericsson
8400 Decarie Blvd.
Town of Mount Royal, QC
Canada
Phone: +1 514 345 7900 x42871
EMail: suresh.krishnan@ericsson.com
Dmitry Anipko
Unaffiliated
Phone: +1 425 442 6356
EMail: dmitry.anipko@gmail.com
Dave Thaler
Microsoft
One Microsoft Way
Redmond, WA
United States
EMail: dthaler@microsoft.com
AI ELI5
On this page
§1Why Lost Solicitations Hurt
When an interface on an IPv6 host is initialized, RFC 4861 has the host send up to MAX_RTR_SOLICITATIONS (3) Router Solicitation (RS) messages, each separated by at least RTR_SOLICITATION_INTERVAL (4) seconds. The goal is to get a Router Advertisement quickly instead of waiting.
These solicitations can be lost. The RFC gives an example: a host is connected over Ethernet or Wi-Fi to a bridged residential gateway. Local connectivity works at interface initialization, but the upstream WAN connectivity is not active yet. The host then gives up after its initial retransmissions.
The host calls out for a router three times and then stops listening for answers. If the router was not ready yet, the host is stuck.
§1.1How Long a Host Can Be Stranded
After the initial solicitations are lost, the host assumes there are no routers on the link, as RFC 4861 specifies. It then has no Internet connectivity until the next unsolicited multicast Router Advertisement arrives.
Those advertisements are sent at most MaxRtrAdvInterval seconds apart, with a maximum value of 1800 seconds. In the worst case, a host is therefore without connectivity for 30 minutes, which the RFC says may be unacceptable in some scenarios.
If the router only announces itself every half hour, a host that missed the message might sit there for up to 30 minutes with nothing to do.
§2The Retransmission Algorithm
Continuing to send at the fixed 4-second interval could create too much traffic if many hosts do it. So hosts following this specification MUST use the exponential backoff algorithm from Section 14 of RFC 3315 (DHCPv6) to keep retransmitting Router Solicitations until a Router Advertisement is received.
Hosts SHOULD use these inputs:
IRT(initial retransmission time): 4 secondsMRT(maximum retransmission time): 3600 secondsMRC(maximum retransmission count): 0MRD(maximum retransmission duration): 0
The 4-second start matches the existing RTR_SOLICITATION_INTERVAL from RFC 4861, and the 3600-second cap matches the new SOL_MAX_RT value in RFC 7083. Short-term behavior therefore looks like today's networks, while long-term behavior trends toward that of DHCPv6.
The host asks again after 4 seconds, then waits longer and longer between tries, up to an hour, so it does not annoy everyone else on the network.
- IRTInitial retransmission time: 4 seconds.
- MRTMaximum retransmission time: 3600 seconds.
- MRCMaximum retransmission count: 0.
- MRDMaximum retransmission duration: 0.
§2.1When to Stop Retransmitting
On links that support multicast, hosts SHOULD stop retransmitting when Router Discovery succeeds, meaning an advertisement with a non-zero Router Lifetime that results in a default route is received. If an advertisement arrives that does not result in a default route (Router Lifetime is zero), the host MUST keep retransmitting.
On non-multicast links the rule is stricter: hosts MUST continue retransmitting even after an advertisement that gives a default route. On such links an advertisement can only be triggered by a solicitation. The RFC notes that these links have special ways of sending solicitations, for example ISATAP unicasts them to specific routers.
Once a real router answers and says it can send your traffic out, you can stop asking. An answer that says it cannot help does not count.
§3Configuration and Known Limitations
Implementations are encouraged to offer a configuration option to enable or disable potentially infinite retransmissions. If such an option exists, retransmissions MUST be enabled by default. Making it per-interface lets operators tune the behavior for each connected link.
There is one known limitation. When a host attaches to a network without IPv6, it previously sent 3 solicitations and stopped. With this mechanism it keeps retransmitting indefinitely at roughly 1 solicitation per hour. The RFC says it is unclear how to tell such a network apart from one where an IPv6 router is temporarily unreachable.
The price of never giving up is that a host on a network with no router keeps knocking about once an hour forever.
§4Security Considerations
The RFC states that it does not present any additional security issues beyond those discussed in RFC 4861 and in the RFCs that update it.
This change does not open any new doors for bad guys beyond the ones that already existed.