RFC 4135
Goals of Detecting Network Attachment in IPv6
RFC 4135: Goals of Detecting Network Attachment in IPv6 ๐ฆ
- Network Working Group ๐ธ
- Authors: JH. Choi (Samsung AIT) and G. Daley (CTIE Monash University) ๐
- Category: Informational ๐
- Date: August 2005 ๐
- Obsoletes / Updates: nothing is listed in this header, so it doesn't obsolete or update any other RFC ๐ โโ๏ธ
Status of This Memo โจ
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
Copyright Notice ๐
Copyright (C) The Internet Society (2005).
Abstract ๐
okay so, when a host makes a brand new link-layer connection, it might or might not have a valid IP configuration for Internet connectivity ๐ it can check for a link change (aka figure out whether it actually moved to a different link), and then decide whether its IP config is still good โจ during link identity detection, it can also gather what it needs to start a new IP configuration if the IP subnet changed ๐ซถ this memo calls that whole procedure Detecting Network Attachment (DNA) ๐ฆ DNA schemes should be precise, sufficiently fast, secure, and of limited signaling ๐
Table of Contents ๐ง
1. Introduction ....................................................2
2. Problems in Detecting Network Attachment ........................3
2.1. Wireless Link Properties ...................................3
2.2. Link Identity Detection with a Single RA ...................3
2.3. Delays .....................................................4
3. Goals for Detecting Network Attachment ..........................5
3.1. Goals List .................................................6
4. Security Considerations .........................................6
5. Acknowledgements ................................................7
6. References ......................................................8
6.1. Normative References .......................................8
6.2. Informative References .....................................8
1. Introduction ๐
okay bestie, so when a host has set up a new link-layer connection, it can send and receive some IPv6 packets on that link, including the ones used for configuration ๐ but it only has Internet connectivity when it can exchange packets with off-link destinations ๐ธ
When a link-layer connection gets set up or re-set up, the host might not know whether its existing IP configuration still works for Internet connectivity ๐ค a subnet change could have happened when the host switched its point of attachment ๐ฆ
In practice, the host doesn't know which of its addresses are valid on the newly attached link ๐ญ it also doesn't know whether its existing default router is on this link, or whether its neighbor cache entries are valid ๐ getting each of these components right is necessary in order to send packets on and off the link โจ
To check the status of the existing configuration, a host may check whether a 'link change' has occurred ๐ in this document, the term 'link' is as defined in RFC 2461 [1] ๐ the notion 'link' is not identical with the notion 'subnet', as defined in RFC 3753 [2] ๐ง for example, there may be more than one subnet on a link, and a host connected to a link may be part of one or more of the subnets on the link ๐
Today, a link change means an IP configuration change ๐ฅ whenever a host detects that it has stayed at the same link, it can usually assume its IP configuration is still valid ๐ otherwise, the existing one is no longer valid, and a new configuration must be acquired ๐ so, to check whether an IP configuration is still valid, all that is required is that the host checks for link change ๐
While checking for link change, a host may collect some of the info it needs for a new IP configuration, like on-link prefixes โจ so when an IP subnet change has happened, the host can immediately start getting a new IP configuration ๐ this may reduce handoff delay and minimize signaling ๐ซถ
Rapid attachment detection is required for a device that changes subnet while it has ongoing sessions ๐ฅ this may be the case if a host is connected intermittently, is a mobile node, or has urgent data to send when it attaches to a link ๐ญ
Detecting Network Attachment (DNA) is the process by which a host collects the appropriate information and detects the identity of its currently attached link, so it can confirm that its IP configuration is valid ๐ฆ
DNA schemes are typically run per interface ๐ธ when a host has multiple interfaces, it checks for link changes separately on each one ๐
Here's a key thing: the DNA process does not include the actual IP configuration procedure ๐ for example, with respect to DHCP, the DNA process may determine that the host needs to get some configuration information from a DHCP server ๐ง but actually retrieving that info from a DHCP server is outside the scope of DNA ๐ซถ
This document only looks at the DNA procedure from the IPv6 point of view, unless it explicitly says otherwise ๐ so the term "IP" should be understood to mean IPv6, by default ๐ for the IPv4 case, refer to [7] โจ
2. Problems in Detecting Network Attachment ๐
A bunch of issues make DNA complicated ๐ญ first, wireless connectivity is not as clear-cut as wired connectivity ๐ก second, it's hard for a single Router Advertisement (RA) message to indicate a link change ๐ โโ๏ธ third, the current Router Discovery specification says that routers wait a random delay of 0-.5 seconds before responding with a solicited RA โณ that delay can be significant and may cause service disruption ๐
2.1. Wireless Link Properties ๐ถ
Unlike in wired environments, what counts as a wireless link changes over time and space ๐ wireless links don't have clear boundaries ๐ซง this is shown by the fact that a host may be within the coverage area of multiple (802.11) access points at the same time ๐ on top of that, connectivity on a wireless link can be super volatile, which can make link identity detection hard ๐ตโ๐ซ for example, it takes time for a host to check for link change ๐ฐ๏ธ if the host ping-pongs between two links and doesn't stay long enough on a given link, it can't finish the DNA procedure ๐โโ๏ธ๐จ
2.2. Link Identity Detection with a Single RA ๐
Usually, a host gets the info it needs for IP configuration from RA messages ๐จ based on the current definition [1], it's hard for a host to check for link change when it receives a single RA ๐ค
To detect link identity, a host may compare the information in an RA, such as router address or prefixes, with the info it has stored locally ๐๏ธ
The host may use received router addresses to check for link change ๐ง however, the router address in the source address field of an RA is of link-local scope, so its uniqueness isn't guaranteed outside a link ๐ซฃ if two different router interfaces on different links happen to have the same link-local address, the host can't detect that it moved from one link to another by checking the router address in RA messages ๐
The set of all global prefixes assigned to a link can represent link identity ๐ the host may compare the prefixes in an incoming RA with the ones it currently has stored ๐ but an unsolicited RA message can omit some prefixes for convenience [1], and it's not easy for a host to get and keep all the prefixes on a link with certainty ๐ฉ so neither the absence of a previously known prefix nor the presence of a previously unknown prefix in the RA guarantees that a link change has occurred ๐
Heads up: a missing or brand-new prefix in one RA is NOT proof that the link changed. Don't jump to conclusions, bestie ๐ โโ๏ธ
2.3. Delays โณ
The following issues cause DNA delay that may result in communication disruption ๐ฌ
1) Delay for receiving a hint ๐ฏ
A hint is an indication that a link change might have occurred ๐ the hint itself doesn't confirm a link change, but it starts the appropriate DNA procedures to detect the identity of the currently attached link ๐
Hints come in various forms and differ in how they indicate a possible link change ๐ they can be link-layer event notifications [6], the lack of an RA from the default router, or the receipt of a new RA ๐ฌ the time taken to receive a hint also varies โฑ๏ธ
As soon as a new link-layer connection has been made, the link layer may send a link-up notification to the IP layer ๐ a host may interpret the new link-layer connection as a hint for a possible link change ๐ก with link-layer support, a host can receive such a hint almost instantly โก
Mobile IPv6 [4] defines the use of RA Interval Timer expiry as a hint ๐งโโ๏ธ a host keeps monitoring for periodic RAs and interprets the lack of them as a hint ๐ต๏ธโโ๏ธ it may implement its own policy to decide how many missing RAs are needed before it treats that as a hint ๐ so the delay depends on the Router Advertisement interval โฐ
Without schemes such as those above, a host must receive a new RA from a new router to detect a possible link change ๐ค the detection time then also depends on the Router Advertisement frequency ๐
Periodic RA beaconing transmits packets within an interval that varies randomly between MinRtrAdvInterval and MaxRtrAdvInterval seconds ๐ฒ because a network attachment is unrelated to the advertisement time on the new link, hosts are expected to arrive, on average, halfway through the interval ๐ซ this is approximately 1.75 seconds with Neighbor Discovery [1] advertisement rates ๐ธ
2) Random delay execution for RS/RA exchange ๐ฒ
Router Solicitation and Router Advertisement messages are used for Router Discovery ๐ฎ according to [1], it is sometimes necessary for a host to wait a random amount of time before it may send an RS, and for a router to wait before it may reply with an RA โณ
According to RFC 2461 [1], the following apply:
- Before a host sends an initial solicitation, it SHOULD delay the transmission for a random amount of time between 0 and
MAX_RTR_SOLICITATION_DELAY(1 second). ๐ - Furthermore, any RA sent in response to a Router Solicitation MUST be delayed by a random time between 0 and
MAX_RA_DELAY_TIME(0.5 seconds). ๐ซถ
3. Goals for Detecting Network Attachment ๐ฏ
The DNA working group was chartered to define an improved scheme for detecting IPv6 network attachment ๐ฅฐ in this section, we define the goals that any such solution should aim to meet ๐
DNA solutions should correctly determine whether a link change has occurred โ they should also be fast enough that there is no service disruption or at most minimal disruption โก and they should neither flood the link with related signaling nor introduce new security holes ๐ โโ๏ธ๐
When defining new solutions, it's necessary to look into the usage of the available tools: Neighbor Solicitation/Neighbor Advertisement messages, RS/RA messages, link-layer event notifications [6], and other features ๐งฐ this will allow a precise description of procedures for efficient DNA Schemes ๐
Part 2 is coming next with the Goals List, Security Considerations, Acknowledgements, and References, so stay tuned, bestie ๐โจ
3.1. Goals List ๐
Okay bestie, here's the wishlist for DNA schemes ๐ง Ten goals, no cap.
G1 okay so DNA schemes should figure out which link they're attached to ๐, so they can check whether the IP configuration they already have is still valid ๐. They should also notice whether a link change has happened and, if it has and they need one, kick off the process of getting a new configuration ๐.
G2 DNA schemes should detect the identity of an attached link with minimal latency, lest there should be service disruption ๐ญ. Nobody wants the connection going dark mid-stream ๐.
G3 if a host hasn't actually changed links ๐ โโ๏ธ, DNA schemes should not falsely assume that it did, and an IP configuration change should not happen either ๐ธ.
G4 DNA schemes should not cause undue signaling on a link ๐. Nobody needs the whole network spammed with messages, periodt ๐ .
G5 DNA schemes should make use of existing signaling mechanisms where available โป๏ธ. Why reinvent the wheel when the wheel already exists ๐?
G6 DNA schemes should make use of signaling within the link (particularly link-local scope messages) ๐ , because communication off-link may not be achievable in the case of a link change ๐ต. Talking to the outside world might be impossible right after a switch, so keeping it local is the move โจ.
G7 DNA schemes should be compatible with security schemes such as Secure Neighbor Discovery [3] ๐. Security and DNA need to be besties, not enemies ๐ซถ.
G8 DNA schemes should not introduce new security vulnerabilities. A node that supports DNA schemes should not expose itself, or other nodes on the link, to additional man-in-the-middle, identity-revealing, or denial-of-service attacks ๐จ. This one is giving serious main character energy in the worst way ๐ค, so guard it hard ๐ก๏ธ.
G9 nodes (such as routers or hosts) that support DNA schemes should work appropriately with unmodified nodes that don't ๐ค. Be inclusive, even to the old-school devices ๐.
G10 hosts, especially in wireless environments, may perceive routers as reachable on different links ๐ก. DNA schemes should take into consideration the case where a host is attached to more than one link at the same time ๐ฆ. Multitasking, but make it networking ๐ง .
4. Security Considerations โจ
Okay, this part is serious, so let's go ๐ฅบ. The DNA process is super intertwined with the Neighbor Discovery protocol [1], and its trust model and threats have a lot in common with the ones in RFC 3756 [5] ๐ธ๏ธ. Nodes connected over wireless interfaces may be especially vulnerable to jamming, monitoring, and packet-insertion attacks ๐ป๐.
With unsecured DNA schemes, it is inadvisable for a host to adjust its security based on which network it believes it is attached to ๐ซ. For example, it would be inappropriate for a host to switch off its personal firewall just because it thinks it's on the home network ๐ ๐ฅ. Not that deep, not that trusting ๐ โโ๏ธ.
Even when authoritative information (routing and prefix state) is advertised, wireless network attackers may still stop soliciting nodes from receiving packets ๐. This may cause unnecessary IP configuration changes in some devices ๐ฉ. Attacks like this may also be used to push a host toward a particular configuration or network access ๐.
Devices that receive confirmations of reachability (for example, from upper-layer protocols) should know that, unless these indications are sufficiently authenticated, an attacker may falsely make reachability look real ๐ญ. Similarly, even if a reachability test is known to come from a trusted source, it should be ignored for reachability confirmation if the packets are not fresh or have been replayed ๐. This can shrink the window of opportunity for attackers who replay otherwise legit data โณ.
It may be dangerous to receive link-change notifications from the link layer and the network layer if they come from devices that aren't sufficiently authenticated ๐ฉ. In particular, a notification that authentication has completed at the link layer does not necessarily mean a security relationship exists at the network layer ๐. Additional authentication may be required at the network layer before changing the IP configuration ๐โจ.
5. Acknowledgements ๐ซถ
Erik Nordmark contributed a lot to the work that came before this document ๐. Ed Remmell's comments on the inconsistency of RA information were super illuminating ๐ก. The authors wish to express appreciation to Pekka Nikander for valuable feedback ๐ท. We gratefully acknowledge the generous help we got from Shubhranshu Singh in clarifying the structure of the arguments ๐ง. Thanks also to Brett Pentland, Nick Moore, Youn-Hee Han, JaeHoon Kim, Alper Yegin, Jim Bound, and Jari Arkko for their contributions to this document ๐.
6. References ๐
6.1. Normative References
- [1] Narten, T., Nordmark, E., and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 2461, December 1998.
- [2] Manner, J. and M. Kojo, "Mobility Related Terminology", RFC 3753, June 2004.
- [3] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure Neighbor Discovery (SEND)", RFC 3971, March 2005.
6.2. Informative References
- [4] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004.
- [5] Nikander, P., Kempf, J., and E. Nordmark, "IPv6 Neighbor Discovery (ND) Trust Models and Threats", RFC 3756, May 2004.
- [6] Yegin, A., "Link-layer Event Notifications for Detecting Network Attachments", work in progress, July 2005.
- [7] Aboba, B., "Detecting Network Attachment (DNA) in IPv4", work in progress, June 2005.
Authors' Addresses ๐
JinHyeock Choi
Samsung AIT
Communication & N/W Lab
P.O.Box 111 Suwon 440-600
KOREA
Phone: +82 31 280 9233
EMail: jinchoe@samsung.com
Greg Daley
CTIE Monash University
Centre for Telecommunications and Information Engineering
Monash University
Clayton 3800 Victoria
Australia
Phone: +61 3 9905 4655
EMail: greg.daley@eng.monash.edu.au
Full Copyright Statement โ๏ธ
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights ๐.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ๐.
Intellectual Property ๐
The IETF takes no position on the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or on whether any license under such rights might or might not be available ๐คทโโ๏ธ. It also doesn't claim to have made any independent effort to identify such rights. Info about how rights work for RFC documents lives in BCP 78 and BCP 79 ๐.
Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementers or users of this specification can be found in the IETF online IPR repository at http://www.ietf.org/ipr ๐.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology required to implement this standard ๐ซถ. Send that info to the IETF at ietf-ipr@ietf.org ๐.
Acknowledgement ๐
Funding for the RFC Editor function is currently provided by the Internet Society ๐.
๐ฆ where this page comes from
- ietf: rfc4135 2005-08
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms