RFC 8319

Support for Adjustable Maximum Router Lifetimes per Link

πŸ“… published February 2018, from ietf

Bestie, look at this paperwork glow-up πŸ’… This one is from the IETF, written by Suresh Krishnan (Kaloom), Jouni Korhonen (Nordic Semiconductor ASA), Samita Chakrabarti (Verizon), Erik Nordmark (Zededa), and Andrew Yourtchenko (Cisco). It's a Standards Track document, published in February 2018 under ISSN 2070-1721. It updates RFC 4861 (the IPv6 Neighbor Discovery spec) and that's the whole vibe: it's a tweak to NDP, not a brand-new protocol πŸ¦‹

Abstract ✨

Okay so IPv6 Neighbor Discovery already has rules for how long a router can wait between sending unsolicited multicast Router Advertisements (RAs), and for the maximum router lifetime. It also lets link-layer documents override those limits. This doc says: hey, let's allow those overrides on a per-link basis 🌸

It also updates RFC 4861 to raise both the max time between unsolicited multicast RAs and the max router lifetime. Main character energy for those timers πŸ‘‘

Status of This Memo 🌈

This is an Internet Standards Track document.

It's a product of the Internet Engineering Task Force (IETF), so it represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). For more on Internet Standards, check Section 2 of RFC 7841.

Want the current status, any errata, or a way to send feedback? Head to https://www.rfc-editor.org/info/rfc8319 πŸ’Œ

Copyright (c) 2018 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 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please read these carefully, because they spell out your rights and restrictions for 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 they're provided without warranty as described in the Simplified BSD License. Legal stuff, but it matters πŸ™ˆ

Table of Contents πŸ“

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
3.  Relationship between AdvDefaultLifetime and MaxRtrAdvInterval   3
4.  Updates to RFC 4861 . . . . . . . . . . . . . . . . . . . . .   4
5.  Host Behavior . . . . . . . . . . . . . . . . . . . . . . . .   5
6.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
  8.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
  8.2.  Informative References  . . . . . . . . . . . . . . . . .   6
Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   6
Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1. Introduction 🧚

IPv6 Neighbor Discovery depends on IP multicast, and that's built on the idea that multicast uses bandwidth well and doesn't interrupt network nodes all the time. Some data link layers don't natively support multicast, though. On those links, cutting down multicast traffic at all is a huge win πŸ™Œ

The problem? The fixed protocol constants in [RFC4861] make it hard to relax the Neighbor Discovery multicast timers. People have already written link-technology-specific clarifications on how to tune the Neighbor Discovery Protocol (NDP) constants for certain systems, to cut down on excess NDP traffic. For example, [RFC6459] and [RFC7066] cover 3GPP cellular links πŸ“±

This document updates the IPv6 Neighbor Discovery Protocol [RFC4861] so the maximum time between unsolicited multicast RAs from a router interface goes up, and the maximum router lifetime goes up too. Glow-up era 🌟

2. Requirements Language πŸŽ€

Here's the fine print. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here πŸ’…

3. Relationship between AdvDefaultLifetime and MaxRtrAdvInterval πŸ¦‹

Okay so MaxRtrAdvInterval is an upper bound on the time between two successive Router Advertisement messages. Because of that, you can think about how these two values relate using a ratio, K = AdvDefaultLifetime / MaxRtrAdvInterval. That ratio tells you how many Router Advertisements are guaranteed to go out before the router lifetime runs out 🫢

Now, if you assume unicast Solicited Router Advertisements or a perfectly stable network, and a theoretically perfect link with no losses, then K just above 1 is enough. That way the sent RA refreshes the router entry right before it expires. But on real links that allow some loss, you'd want K > 2 so a single RA loss is less likely to drop the router entry 😭

The exact math depends on the packet loss probability. Say you take a ballpark 1% chance of packet loss. Then K = 2 gives a 0.01% chance of an outage from packet loss, and K = 3 gives a 0.0001% chance, and so on. Flipping that around: with these parameters, K ~= 1 gives 99% reliability, K ~= 2 gives 99.99% reliability, and K ~= 3 gives 99.9999% reliability. Honestly, that's good enough for a lot of scenarios ✨

If your network has higher packet loss or you want more reliability, K can go even higher. On the flip side, some data link layers deliver reliably at Layer 2, so there you might even consider the "theoretical" K just above 1. The choice of these two parameters doesn't affect interoperability on its own, so this document doesn't put any specific constraints on their values beyond the guidelines in this section. Each link can optimize for its own use case πŸ“

Also, AdvDefaultLifetime MUST be set to a value greater than or equal to the selected MaxRtrAdvInterval. If it isn't, a router lifetime is guaranteed to expire before the new Router Advertisement has a chance to go out, and that creates an outage 🚨

4. Updates to RFC 4861 πŸ’–

This document updates Sections 4.2 and 6.2.1 of [RFC4861] to change the following router configuration variables.

In Section 4.2, inside the paragraph that defines Router Lifetime, change 9000 to 65535 seconds.

In Section 6.2.1, inside the paragraph that defines MaxRtrAdvInterval, change 1800 to 65535 seconds.

In Section 6.2.1, inside the paragraph that defines AdvDefaultLifetime, change 9000 to 65535 seconds.

As explained in Section 3, the probability of packet loss must be considered when choosing the relationship between MaxRtrAdvInterval and AdvDefaultLifetime 🧐

5. Host Behavior 🌸

Legacy hosts on a link with updated routers may have issues with a Router Lifetime of more than 9000 seconds. In the few implementations tested with general-purpose operating systems, setting this field to more than 9000 didn't seem to cause any issue. But some implementations might incorrectly reject such RAs, since RFC 4861 requires receivers to handle any value 😬

6. Security Considerations 🚨

Okay, this part is serious bestie πŸ”₯ On a link where Router Advertisements are few and far between, the damage a rogue router can do by sending an unsolicited RA gets way worse. You can prevent these rogue RAs with approaches like RA-Guard [RFC6105] and SEcure Neighbor Discovery (SEND) [RFC3971].

7. IANA Considerations 🧾

This document has no IANA actions.

8. References πŸ“š

8.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, <https://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, <https://www.rfc-editor.org/info/rfc4861>.

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.

8.2. Informative References

[RFC3971] Arkko, J., Ed., Kempf, J., Zill, B., and P. Nikander, "SEcure Neighbor Discovery (SEND)", RFC 3971, DOI 10.17487/RFC3971, March 2005, <https://www.rfc-editor.org/info/rfc3971>.

[RFC6105] Levy-Abegnoli, E., Van de Velde, G., Popoviciu, C., and J. Mohacsi, "IPv6 Router Advertisement Guard", RFC 6105, DOI 10.17487/RFC6105, February 2011, <https://www.rfc-editor.org/info/rfc6105>.

[RFC6459] Korhonen, J., Ed., Soininen, J., Patil, B., Savolainen, T., Bajko, G., and K. Iisakkila, "IPv6 in 3rd Generation Partnership Project (3GPP) Evolved Packet System (EPS)", RFC 6459, DOI 10.17487/RFC6459, January 2012, <https://www.rfc-editor.org/info/rfc6459>.

[RFC7066] Korhonen, J., Ed., Arkko, J., Ed., Savolainen, T., and S. Krishnan, "IPv6 for Third Generation Partnership Project (3GPP) Cellular Hosts", RFC 7066, DOI 10.17487/RFC7066, November 2013, <https://www.rfc-editor.org/info/rfc7066>.

Acknowledgements 🫢

The authors want to thank the members of the 6MAN efficient ND design team for the comments that led to this document. They also want to thank Lorenzo Colitti, Erik Kline, Jeena Rachel John, Brian Carpenter, Tim Chown, Fernando Gont, Warren Kumari, and Adam Roach for comments and suggestions that made it better πŸ’œ

Authors' Addresses πŸ’Œ

Suresh Krishnan Kaloom 335 Rue Peel Montreal, QC Canada Email: suresh@kaloom.com

Jouni Korhonen Nordic Semiconductor ASA Metsanneidonkuja 10 02130 Espoo Finland Email: jouni.nospam@gmail.com

Samita Chakrabarti Verizon United States of America Email: samita.chakrabarti@verizon.com

Erik Nordmark Zededa Santa Clara, CA United States of America Email: nordmark@acm.org

Andrew Yourtchenko Cisco 6b de Kleetlaan Diegem 1831 Belgium Email: ayourtch@cisco.com

πŸ“¦ where this page comes from