draft-ietf-6man-enhanced-dad-05.txt   draft-ietf-6man-enhanced-dad-06.txt 
Network Working Group R. Asati Network Working Group R. Asati
Internet-Draft H. Singh Internet-Draft H. Singh
Updates: 4862, 4861, 3971 (if approved) W. Beebee Updates: 4862, 4861, 3971 (if approved) W. Beebee
Intended status: Standards Track Cisco Systems, Inc. Intended status: Standards Track C. Pignataro
Expires: November 3, 2014 E. Dart Expires: January 22, 2015 Cisco Systems, Inc.
E. Dart
Lawrence Berkeley National Laboratory Lawrence Berkeley National Laboratory
W. George W. George
Time Warner Cable Time Warner Cable
C. Pignataro July 21, 2014
Cisco Systems, Inc.
May 2, 2014
Enhanced Duplicate Address Detection Enhanced Duplicate Address Detection
draft-ietf-6man-enhanced-dad-05 draft-ietf-6man-enhanced-dad-06
Abstract Abstract
Appendix A of the IPv6 Duplicate Address Detection (DAD) document in Appendix A of the IPv6 Duplicate Address Detection (DAD) document in
RFC 4862 discusses Loopback Suppression and DAD. However, RFC 4862 RFC 4862 discusses Loopback Suppression and DAD. However, RFC 4862
does not settle on one specific automated means to detect loopback of does not settle on one specific automated means to detect loopback of
Neighbor Discovery (ND of RFC 4861) messages used by DAD. Several Neighbor Discovery (ND of RFC 4861) messages used by DAD. Several
service provider communities have expressed a need for automated service provider communities have expressed a need for automated
detection of looped backed ND messages used by DAD. This document detection of looped backed ND messages used by DAD. This document
includes mitigation techniques and then outlines the Enhanced DAD includes mitigation techniques and then outlines the Enhanced DAD
skipping to change at page 1, line 48 skipping to change at page 1, line 47
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 3, 2014. This Internet-Draft will expire on January 22, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Two Deployment Problems . . . . . . . . . . . . . . . . . 3
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Operational Mitigation Options . . . . . . . . . . . . . . . 4 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
3. Operational Mitigation Options . . . . . . . . . . . . . . . 5
3.1. Disable DAD on Interface . . . . . . . . . . . . . . . . 5 3.1. Disable DAD on Interface . . . . . . . . . . . . . . . . 5
3.2. Dynamic Disable/Enable of DAD Using Layer 2 Protocol . . 5 3.2. Dynamic Disable/Enable of DAD Using Layer-2 Protocol . . 5
3.3. Operational Considerations . . . . . . . . . . . . . . . 6 3.3. Operational Considerations . . . . . . . . . . . . . . . 6
4. The Enhanced DAD Algorithm . . . . . . . . . . . . . . . . . 6 4. The Enhanced DAD Algorithm . . . . . . . . . . . . . . . . . 6
4.1. General Rules . . . . . . . . . . . . . . . . . . . . . . 7 4.1. General Rules . . . . . . . . . . . . . . . . . . . . . . 7
4.2. Processing Rules for Senders . . . . . . . . . . . . . . 7 4.2. Processing Rules for Senders . . . . . . . . . . . . . . 7
4.3. Processing Rules for Receivers . . . . . . . . . . . . . 7 4.3. Processing Rules for Receivers . . . . . . . . . . . . . 7
4.4. Impact on SEND . . . . . . . . . . . . . . . . . . . . . 8 4.4. Impact on SEND . . . . . . . . . . . . . . . . . . . . . 8
4.5. Changes to RFC 4862 . . . . . . . . . . . . . . . . . . . 8 4.5. Changes to RFC 4862 . . . . . . . . . . . . . . . . . . . 8
4.6. Changes to RFC 4861 . . . . . . . . . . . . . . . . . . . 9 4.6. Changes to RFC 4861 . . . . . . . . . . . . . . . . . . . 9
4.7. Changes to RFC 3971 . . . . . . . . . . . . . . . . . . . 9 4.7. Changes to RFC 3971 . . . . . . . . . . . . . . . . . . . 9
5. Actions to Perform on Detecting a Genuine Duplicate . . . . . 9 5. Actions to Perform on Detecting a Genuine Duplicate . . . . . 9
6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10
9. Normative References . . . . . . . . . . . . . . . . . . . . 10 9. Normative References . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Terminology 1. Introduction
o DAD-failed state - Duplication Address Detection failure as
specified in [RFC4862]. Note even Optimistic DAD as specified in
[RFC4429] can fail due to a looped back DAD probe. This document
covers looped back detection for Optimistic DAD as well.
o Looped back message - also referred to as a reflected message.
The message sent by the sender is received by the sender due to
the network or a Upper Layer Protocol on the sender looping the
message back.
o Loopback - A function in which the router's interface (or the
circuit to which the router's interface is connected) is looped
back or connected to itself. Loopback causes packets sent by the
interface to be received by the interface, and results in
interface unavailability for regular data traffic forwarding. See
more details in section 9.1 of [RFC1583]. The Loopback function
is commonly used in an interface context to gain information on
the quality of the interface, by employing mechanisms such as
ICMPv6 pings, bit-error tests, etc. In a circuit context, it is
used in wide area environments including optical dense wave
division multiplexing (DWDM) and SONET/SDH for fault isolation
(e.g. by placing a loopback at different geographic locations
along the path of a wide area circuit to help locate a circuit
fault). The Loopback function may be employed locally or
remotely.
o NS(DAD) - shorthand notation to denote an Neighbor Solicitation
(NS) with unspecified IPv6 source-address issued during DAD.
1.1. Requirements Language
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 RFC 2119 [RFC2119].
2. Introduction
Appendix A of [RFC4862] discusses Loopback Suppression and Duplicate Appendix A of [RFC4862] discusses Loopback Suppression and Duplicate
Address Detection (DAD). However, [RFC4862] does not settle on one Address Detection (DAD). However, [RFC4862] does not settle on one
specific automated means to detect loopback of ND messages used by specific automated means to detect loopback of ND messages used by
DAD. One specific DAD message is a Neighbor Solicitation (NS), DAD. One specific DAD message is a Neighbor Solicitation (NS),
specified in [RFC4861]. The NS is issued by the network interface of specified in [RFC4861]. The NS is issued by the network interface of
an IPv6 node for DAD. Another message involved in DAD is a Neighbor an IPv6 node for DAD. Another message involved in DAD is a Neighbor
Advertisement (NA). The Enhanced DAD algorithm proposed in this Advertisement (NA). The Enhanced DAD algorithm proposed in this
document focuses on detecting an NS looped back to the transmitting document focuses on detecting an NS looped back to the transmitting
interface during the DAD operation. Detecting a looped back NA is of interface during the DAD operation. Detecting a looped back NA is of
no use because no problems with DAD will occur if a node receives a no use because no problems with DAD will occur if a node receives a
looped back NA. Detection of any other looped back ND messages looped back NA. Detection of any other looped back ND messages
outside of the DAD operation is not critical and thus this document outside of the DAD operation is not critical and thus this document
does not cover such detection. The document also includes a does not cover such detection. The document also includes a
Mitigation section that discusses means already available to mitigate Mitigation section that discusses means already available to mitigate
the loopback problem. the loopback problem.
1.1. Two Deployment Problems
In each problem articulated below, the IPv6 link-local address DAD
operation fails due to a looped back DAD probe. However, the looped
back DAD probe exists for any IPv6 address type including global
addresses.
Recently, service providers have reported a problem with DAD that is Recently, service providers have reported a problem with DAD that is
caused by looped back NS messages. The following is a description of caused by looped back NS messages. The following is a description of
the circumstances under which the problem arises. Loopback testing the circumstances under which the problem arises. Loopback testing
for troubleshooting purposes is underway on a circuit connected to an for troubleshooting purposes is underway on a circuit connected to an
interface on a router. The interface on the router is enabled for interface on a router. The interface on the router is enabled for
IPv6. The interface issues a NS for the IPv6 link-local address DAD. IPv6. The interface issues a NS for the IPv6 link-local address DAD.
The NS is reflected back to the router interface due to the loopback The NS is reflected back to the router interface due to the loopback
condition of the circuit, and the router interface enters a DAD- condition of the circuit, and the router interface enters a DAD-
failed state. After the circuit troubleshooting has concluded and failed state. After the circuit troubleshooting has concluded and
the loopback condition is removed, IPv4 will return to operation the loopback condition is removed, IPv4 will return to operation
without further manual intervention. However, IPv6 will remain in without further manual intervention. However, IPv6 will remain in
DAD-failed state until manual intervention on the router restores DAD-failed state until manual intervention on the router restores
IPv6 to operation. IPv6 to operation.
There are other conditions which will also trigger similar problems There are other conditions which will also trigger similar problems
with DAD Loopback. While the following example is not a common with DAD Loopback. While the following example is not a common
configuration, it has occurred in a large service provider network. configuration, it has occurred in a large service provider network.
It is necessary to address it in the proposed solution because the It is necessary to address it in the proposed solution because the
trigger scenario has the potential to cause significant IPv6 service trigger scenario has the potential to cause significant IPv6 service
outages when it does occur. Two broadband modems in the same outages when it does occur. Two broadband modems in the same home
location are served by the same service provider and both modems are are served by the same service provider and both modems are served by
served by one access concentrator and one layer 3 interface on the one access concentrator and one layer-3 interface on the access
access concentrator. The two modems have the Ethernet ports of each concentrator. The two modems have the Ethernet ports of each modem
modem connected to a network hub. The access concentrator serving connected to a network hub. The access concentrator serving the
the modems is the first-hop IPv6 router for the modems. The access modems is the first-hop IPv6 router for the modems. The network
concentrator also supports proxying of DAD messages. Each modem is interface of the access concentrator serving the two broadband modems
enabled for at least data services. The network interface of the is enabled for IPv6 and the interface issues a NS(DAD) message for
access concentrator serving the two broadband modems is enabled for the IPv6 link-local address. The NS message reaches one modem first
IPv6 and the interface issues a NS(DAD) message for the IPv6 link- and this modem sends the message to the network hub which sends the
local address. The NS message reaches one modem first and this modem message to the second modem which forwards the message back to the
sends the message to the network hub which sends the message to the access concentrator. The looped back NS message causes the network
second modem which forwards the message back to the access
concentrator. The looped back NS message causes the network
interface on the access concentrator to be in a DAD-failed state. interface on the access concentrator to be in a DAD-failed state.
Such a network interface typically serves up to 100 thousand Such a network interface typically serves up to hundred thousands
broadband modems causing all the modems (and hosts behind the modems) broadband modems causing all the modems (and hosts behind the modems)
to fail to get IPv6 online on the access network. Additionally, it to fail to get IPv6 online on the access network. Additionally, it
may be tedious for the access concentrator to find out which of the may be tedious for the access concentrator to find out which of the
six thousand or more homes looped back the DAD message. Clearly hundred thousand or more homes looped back the DAD message. Clearly
there is a need for automated detection of looped back NS messages there is a need for automated detection of looped back NS messages
during DAD operations by a node. during DAD operations by a node.
2. Terminology
o DAD-failed state - Duplication Address Detection failure as
specified in [RFC4862]. Note even Optimistic DAD as specified in
[RFC4429] can fail due to a looped back DAD probe. This document
covers looped back detection for Optimistic DAD as well.
o Looped back message - also referred to as a reflected message.
The message sent by the sender is received by the sender due to
the network or a Upper Layer Protocol on the sender looping the
message back.
o Loopback - A function in which the router's layer-3 interface (or
the circuit to which the router's interface is connected) is
looped back or connected to itself. Loopback causes packets sent
by the interface to be received by the interface, and results in
interface unavailability for regular data traffic forwarding. See
more details in section 9.1 of [RFC1583]. The Loopback function
is commonly used in an interface context to gain information on
the quality of the interface, by employing mechanisms such as
ICMPv6 pings, bit-error tests, etc. In a circuit context, it is
used in wide area environments including optical dense wave
division multiplexing (DWDM) and SONET/SDH for fault isolation
(e.g. by placing a loopback at different geographic locations
along the path of a wide area circuit to help locate a circuit
fault). The Loopback function may be employed locally or
remotely.
o NS(DAD) - shorthand notation to denote an Neighbor Solicitation
(NS) (as specified in [RFC4861]) with unspecified IPv6 source-
address issued during DAD.
2.1. Requirements Language
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].
3. Operational Mitigation Options 3. Operational Mitigation Options
Two mitigation options are described below. The mechanisms do not Two mitigation options are described below. The mechanisms do not
require any change to existing implementations. require any change to existing implementations.
3.1. Disable DAD on Interface 3.1. Disable DAD on Interface
One can disable DAD on an interface and then there is no NS(DAD) One can disable DAD on an interface and then there is no NS(DAD)
issued to be looped back. DAD is disabled by setting the interface's issued to be looped back. DAD is disabled by setting the interface's
DupAddrDetectTransmits variable to zero. While this mitigation may DupAddrDetectTransmits variable to zero. While this mitigation may
be the simplest the mitigation has three drawbacks. be the simplest the mitigation has three drawbacks.
It would likely require careful analysis of configuration on such It would likely require careful analysis of configuration on such
point-to-point interfaces, a one-time manual configuration on each of point-to-point interfaces, a one-time manual configuration on each of
such interfaces, and more importantly, genuine duplicates in the link such interfaces, and more importantly, genuine duplicates in the link
will not be detected. will not be detected.
A Service Provider router such as an access concentrator or network A Service Provider router such as an access concentrator or network
core router SHOULD support this mitigation strategy. core router SHOULD support this mitigation strategy.
3.2. Dynamic Disable/Enable of DAD Using Layer 2 Protocol 3.2. Dynamic Disable/Enable of DAD Using Layer-2 Protocol
It is possible that one or more layer 2 protocols include provisions It is possible that one or more layer-2 protocols include provisions
to detect the existence of a loopback on an interface circuit, to detect the existence of a loopback on an interface circuit,
usually by comparing protocol data sent and received. For example, usually by comparing protocol data sent and received. For example,
PPP uses magic number (section 6.4 of [RFC1661]) to detect a loopback PPP uses magic number (section 6.4 of [RFC1661]) to detect a loopback
on an interface. on an interface.
When a layer 2 protocol detects that a loopback is present on an When a layer-2 protocol detects that a loopback is present on an
interface circuit, the device MUST temporarily disable DAD on the interface circuit, the device MUST temporarily disable DAD on the
interface, and when the protocol detects that a loopback is no longer interface, and when the protocol detects that a loopback is no longer
present (or the interface state has changed), the device MUST present (or the interface state has changed), the device MUST
(re-)enable DAD on that interface. (re-)enable DAD on that interface.
This solution requires no protocol changes. This solution SHOULD be This solution requires no protocol changes. This solution SHOULD be
enabled by default, and MUST be a configurable option if the layer 2 enabled by default, and MUST be a configurable option if the layer-2
technology provides means for detecting loopback messages on an technology provides means for detecting loopback messages on an
interface circuit. interface circuit.
This mitigation has several benefits. They are This mitigation has several benefits. They are
1. It leverages layer 2 protocol's built-in loopback detection 1. It leverages layer-2 protocol's built-in loopback detection
capability, if available. capability, if available.
2. It scales better since it relies on an event-driven model which 2. It scales better since it relies on an event-driven model which
requires no additional state or timer. This may be a significant requires no additional state or timer. This may be a significant
scaling consideration on devices with hundreds or thousands of scaling consideration on devices with hundreds or thousands of
interfaces that may be in loopback for long periods of time (such interfaces that may be in loopback for long periods of time (such
as while awaiting turn-up or during long-duration intrusive bit as while awaiting turn-up or during long-duration intrusive bit
error rate tests). error rate tests).
3.3. Operational Considerations 3.3. Operational Considerations
skipping to change at page 6, line 41 skipping to change at page 6, line 43
message. The document proposes use of the Nonce Option specified in message. The document proposes use of the Nonce Option specified in
the SEND document of [RFC3971]. The nonce is a random number as the SEND document of [RFC3971]. The nonce is a random number as
specified in [RFC3971]. If SEND is enabled on the router and the specified in [RFC3971]. If SEND is enabled on the router and the
router also supports the Enhanced DAD algorithm (specified in this router also supports the Enhanced DAD algorithm (specified in this
document), there is integration with the Enhanced DAD algorithm and document), there is integration with the Enhanced DAD algorithm and
SEND. See more details in the Impact on SEND section in section 4.4. SEND. See more details in the Impact on SEND section in section 4.4.
Since a nonce is used only once, DAD for each IPv6 address of an Since a nonce is used only once, DAD for each IPv6 address of an
interface uses a different nonce. Additional details of the interface uses a different nonce. Additional details of the
algorithm are included in section 4.2. algorithm are included in section 4.2.
Six bytes of random nonce is sufficiently large for nonce collisions. Six bytes of random nonce is sufficiently large for collisions.
However if there is a collision because two nodes that are using the However if there is a collision because two nodes that are using the
same Target Address in their NS(DAD) generated the same random nonce, same Target Address in their NS(DAD) generated the same random nonce,
then the algorithm will incorrectly detect a looped back NS(DAD) when then the algorithm will incorrectly detect a looped back NS(DAD) when
a genuine address collision has occurred. Since each looped back a genuine address collision has occurred. Since each looped back
NS(DAD) event is logged to system management, the administrator of NS(DAD) event is logged to system management, the administrator of
the network will have access to the information necessary to the network will have access to the information necessary to
intervene manually. Also, because the nodes will have detected what intervene manually. Also, because the nodes will have detected what
appear to be looped back NS(DAD) messages, they will continue to appear to be looped back NS(DAD) messages, they will continue to
probe and it is unlikely that they will choose the same nonce the probe and it is unlikely that they will choose the same nonce the
second time (assuming quality random number generators). second time (assuming quality random number generators).
skipping to change at page 7, line 26 skipping to change at page 7, line 28
implement detection of looped back NS(DAD) messages during DAD for an implement detection of looped back NS(DAD) messages during DAD for an
interface address. interface address.
4.2. Processing Rules for Senders 4.2. Processing Rules for Senders
If a node has been configured to use the Enhanced DAD algorithm, when If a node has been configured to use the Enhanced DAD algorithm, when
sending a NS(DAD) for a tentative or optimistic interface address the sending a NS(DAD) for a tentative or optimistic interface address the
sender MUST generate a random nonce associated with the interface sender MUST generate a random nonce associated with the interface
address, MUST save the nonce, and MUST include the nonce in the Nonce address, MUST save the nonce, and MUST include the nonce in the Nonce
Option included in the NS(DAD). If the interface does not receive Option included in the NS(DAD). If the interface does not receive
any DAD failure indications within RetransTimer milliseconds after any DAD failure indications within RetransTimer milliseconds (see
having sent DupAddrDetectTransmits Neighbor Solicitations, the [RFC4861]) after having sent DupAddrDetectTransmits Neighbor
interface moves the Target Address to assigned state. If any probe Solicitations, the interface moves the Target Address to assigned
is looped back within RetransTimer milliseconds after having sent state.
DupAddrDetectTransmits NS(DAD) messages, the interface continues with
another MAX_MULTICAST_SOLICIT number of NS(DAD) messages spaced If any probe is looped back within RetransTimer milliseconds after
RetransTimer apart. If no probe is looped back within RetransTimer having sent DupAddrDetectTransmits NS(DAD) messages, the interface
milliseconds after MAX_MULTICAST_SOLICIT NS(DAD) messages are sent, continues with another MAX_MULTICAST_SOLICIT number of NS(DAD)
the probing stops else a new MAX_MULTICAST_SOLICIT number of NS(DAD) messages transmitted RetransTimer millseconds apart. If no probe is
messages sequence is initiated. The MAX_MULTICAST_SOLICIT number of looped back within RetransTimer milliseconds after
NS(DAD) messages sequence continues until the stop condition is MAX_MULTICAST_SOLICIT NS(DAD) messages are sent, the probing stops.
reached or manual intervention is undertaken. The interface moves The probing MAY be stopped via manual intervention. When probing is
the Target Address to assigned state. stopped, the interface moves the Target Address to assigned state.
4.3. Processing Rules for Receivers 4.3. Processing Rules for Receivers
If the node has been configured to use the Enhanced DAD algorithm and If the node has been configured to use the Enhanced DAD algorithm and
an interface on the node receives any NS(DAD) message where the an interface on the node receives any NS(DAD) message where the
Target Address matches the interface address (in tentative or Target Address matches the interface address (in tentative or
optimistic state), the receiver compares the nonce, if any, is optimistic state), the receiver compares the nonce included in the
included in the message with any saved nonce on the receiving message, if any, with any saved nonce on the receiving interface. If
interface. If a match is found, the node SHOULD log a system a match is found, the node SHOULD log a system management message,
management message, SHOULD update any statistics counter, MUST drop SHOULD update any statistics counter, MUST drop the received message.
the received message. If the received NS(DAD) message includes a If the received NS(DAD) message includes a nonce and no match is
nonce and no match is found with any saved nonce, the node SHOULD log found with any saved nonce, the node SHOULD log a system management
a system management message for DAD-failed and SHOULD update any message for DAD-failed and SHOULD update any statistics counter. If
statistics counter. If the interface does not receive any DAD the interface does not receive any DAD failure indications within
failure indications within RetransTimer milliseconds after having RetransTimer milliseconds after having sent DupAddrDetectTransmits
sent DupAddrDetectTransmits Neighbor Solicitations, the interface Neighbor Solicitations, the interface moves the Target Address to
moves the Target Address to assigned state. assigned state.
4.4. Impact on SEND 4.4. Impact on SEND
The SEND document uses the Nonce Option in the context of matching an The SEND document uses the Nonce Option in the context of matching an
NA with an NS. However, no text in SEND has an explicit mention of NA with an NS. However, no text in SEND has an explicit mention of
detecting looped back ND messages. If this document updates detecting looped back ND messages. If this document updates
[RFC4862], SEND should be updated to integrate with the Enhanced DAD [RFC4862], SEND should be updated to integrate with the Enhanced DAD
algorithm. A minor update to SEND would be to explicitly mention algorithm. A minor update to SEND would be to explicitly mention
that the nonce in SEND is also used by SEND to detect looped back NS that the nonce in SEND is also used by SEND to detect looped back NS
messages during DAD operations by the node. In a mixed SEND messages during DAD operations by the node. In a mixed SEND
skipping to change at page 8, line 32 skipping to change at page 8, line 35
The following text is added to the end of the Introduction section of The following text is added to the end of the Introduction section of
[RFC4862]. [RFC4862].
A network interface of an IPv6 node SHOULD implement the Enhanced DAD A network interface of an IPv6 node SHOULD implement the Enhanced DAD
algorithm. For example, if the interface on an IPv6 node is algorithm. For example, if the interface on an IPv6 node is
connected to a circuit that supports loopback testing, then the node connected to a circuit that supports loopback testing, then the node
should implement the Enhanced DAD algorithm that allows the IPv6 should implement the Enhanced DAD algorithm that allows the IPv6
interface to self-heal after loopback testing is ended on the interface to self-heal after loopback testing is ended on the
circuit. Another example is when the IPv6 interface resides on an circuit. Another example is when the IPv6 interface resides on an
access concentrator running DAD Proxy. The interface supports up to access concentrator running DAD Proxy. The interface supports up to
100 thousand IPv6 clients (broadband modems) connected to the hundred thousands IPv6 clients (broadband modems) connected to the
interface. If the interface performs DAD for its IPv6 link-local interface. If the interface performs DAD for its IPv6 link-local
address and if the DAD probe is reflected back to the interface, the address and if the DAD probe is reflected back to the interface, the
interface is stuck in DAD failed state and IPv6 services to the 100 interface is stuck in DAD failed state and IPv6 services to the
thousand clients is denied. Disabling DAD for such an IPv6 interface hundred thousands clients is denied. Disabling DAD for such an IPv6
on an access concentrator is not an option because the network also interface on an access concentrator is less desirable than
needs to detect genuine duplicates in the interface downstream implementing the algorithm because the network also needs to detect
network. The Enhanced DAD algorithm also facilitates detecting a genuine duplicates in the interface downstream network. The Enhanced
genuine duplicate for the interface on the access concentrator. See DAD algorithm also facilitates detecting a genuine duplicate for the
the Actions to Perform on Detecting a Genuine Duplicate section of interface on the access concentrator. See the Actions to Perform on
the Enhanced DAD document. Detecting a Genuine Duplicate section of the Enhanced DAD document.
The following text is added to the end of Appendix A of [RFC4862]. The following text is added to the end of Appendix A of [RFC4862].
The Enhanced DAD algorithm from TBD RFC is designed to detect looped The Enhanced DAD algorithm from draft-ietf-6man-enhanced-dad is
back DAD probes. A network interface of an IPv6 node SHOULD designed to detect looped back DAD probes. A network interface of an
implement the Enhanced DAD algorithm. IPv6 node SHOULD implement the Enhanced DAD algorithm.
4.6. Changes to RFC 4861 4.6. Changes to RFC 4861
The following text is appended to the RetransTimer variable The following text is appended to the RetransTimer variable
description in section 6.3.2 of [RFC4861]. description in section 6.3.2 of [RFC4861].
The RetransTimer may be overridden by a link-specific document if a The RetransTimer may be overridden by a link-specific document if a
node supports the Enhanced DAD algorithm. node supports the Enhanced DAD algorithm.
The following text is appended to the Source Address definition in The following text is appended to the Source Address definition in
skipping to change at page 9, line 34 skipping to change at page 9, line 34
The purpose of the Nonce option is to make sure that an advertisement The purpose of the Nonce option is to make sure that an advertisement
is a fresh response to a solicitation sent earlier by the node. is a fresh response to a solicitation sent earlier by the node.
New text is included below. New text is included below.
The purpose of the Nonce option is to make sure that an advertisement The purpose of the Nonce option is to make sure that an advertisement
is a fresh response to a solicitation sent earlier by the node. The is a fresh response to a solicitation sent earlier by the node. The
nonce is also used to detect looped back NS messages when the network nonce is also used to detect looped back NS messages when the network
interface performs DAD [RFC4862]. Detecting looped back DAD messages interface performs DAD [RFC4862]. Detecting looped back DAD messages
is covered by the Enhanced DAD algorithm as specified in TBD RFC. In is covered by the Enhanced DAD algorithm as specified in draft-ietf-
a mixed SEND environment with SEND and unsecured nodes, the lengths 6man-enhanced-dad. In a mixed SEND environment with SEND and
of the nonce used by SEND and unsecured nodes MUST be identical. unsecured nodes, the lengths of the nonce used by SEND and unsecured
nodes MUST be identical.
5. Actions to Perform on Detecting a Genuine Duplicate 5. Actions to Perform on Detecting a Genuine Duplicate
As described in paragraphs above the nonce can also serve to detect As described in paragraphs above the nonce can also serve to detect
genuine duplicates even when the network has potential for looping genuine duplicates even when the network has potential for looping
back ND messages. When a genuine duplicate is detected, the node back ND messages. When a genuine duplicate is detected, the node
follows the manual intervention specified in section 5.4.5 of follows the manual intervention specified in section 5.4.5 of
[RFC4862]. However, in certain networks such as an access network if [RFC4862]. However, in certain networks such as an access network if
the genuine duplicate matches the tentative or optimistic IPv6 the genuine duplicate matches the tentative or optimistic IPv6
address of a network interface of the access concentrator, automated address of a network interface of the access concentrator, automated
skipping to change at page 9, line 52 skipping to change at page 10, line 4
back ND messages. When a genuine duplicate is detected, the node back ND messages. When a genuine duplicate is detected, the node
follows the manual intervention specified in section 5.4.5 of follows the manual intervention specified in section 5.4.5 of
[RFC4862]. However, in certain networks such as an access network if [RFC4862]. However, in certain networks such as an access network if
the genuine duplicate matches the tentative or optimistic IPv6 the genuine duplicate matches the tentative or optimistic IPv6
address of a network interface of the access concentrator, automated address of a network interface of the access concentrator, automated
actions are proposed. actions are proposed.
One access network is a cable broadband deployment where the access One access network is a cable broadband deployment where the access
concentrator is the first-hop IPv6 router to several thousand concentrator is the first-hop IPv6 router to several thousand
broadband modems. The router also supports proxying of DAD messages. broadband modems. The router also supports proxying of DAD messages.
The network interface on the access concentrator initiates DAD for an The network interface on the access concentrator initiates DAD for an
IPv6 address and detects a genuine duplicate due to receiving an IPv6 address and detects a genuine duplicate due to receiving an
NS(DAD) or an NA message. On detecting such a duplicate the access NS(DAD) or an NA message. On detecting such a duplicate the access
concentrator logs a system management message, drops the received ND concentrator logs a system management message, drops the received ND
message, and blocks the modem on whose layer 2 service identifier the message, and blocks the modem on whose layer-2 service identifier the
NS(DAD) or NA message was received on. NS(DAD) or NA message was received on.
The network described above follows a trust model where a trusted The network described above follows a trust model where a trusted
router serves un-trusted IPv6 host nodes. Operators of such networks router serves un-trusted IPv6 host nodes. Operators of such networks
have a desire to take automated action if a network interface of the have a desire to take automated action if a network interface of the
trusted router has a tentative or optimistic address duplicate with a trusted router has a tentative or optimistic address duplicate with a
host served by trusted router interface. Any other network that host served by trusted router interface. Any other network that
follows the same trust model MAY use the automated actions proposed follows the same trust model MAY use the automated actions proposed
in this section. in this section.
6. Security Considerations 6. Security Considerations
The nonce can be exploited by a rogue deliberately changing the nonce The nonce can be exploited by a rogue deliberately changing the nonce
to fail the looped back detection specified by the Enhanced DAD to fail the looped back detection specified by the Enhanced DAD
algorithm. SEND is recommended to circumvent this exploit. For any algorithm. SEND is recommended to circumvent this exploit.
mitigation suggested in the document such as disabling DAD has an Additionally, the nonce does not protect against the DoS caused by a
obvious security issue before a remote node on the link can issue rogue node replying by fake NA to all DAD probes. SEND is
reflected NS(DAD) messages. Again, SEND is recommended for this recommended to circumvent this exploit. For any mitigation suggested
exploit. in the document such as disabling DAD has an obvious security issue
before a remote node on the link can issue reflected NS(DAD)
messages. Again, SEND is recommended for this exploit.
7. IANA Considerations 7. IANA Considerations
None. None.
8. Acknowledgements 8. Acknowledgements
Thanks (in alphabetical order by first name) to Dmitry Anipko, Eric Thanks (in alphabetical order by first name) to Dmitry Anipko, Eric
Levy-Abegnoli, Erik Nordmark, Fred Templin, Jouni Korhonen, Michael Levy-Abegnoli, Eric Vyncke, Erik Nordmark, Fred Templin, Jouni
Sinatra, Ole Troan, Ray Hunter, Suresh Krishnan, and Tassos Korhonen, Michael Sinatra, Ole Troan, Ray Hunter, Suresh Krishnan,
Chatzithomaoglou for their guidance and review of the document. and Tassos Chatzithomaoglou for their guidance and review of the
Thanks to Thomas Narten for encouraging this work. Thanks to Steinar document. Thanks to Thomas Narten for encouraging this work. Thanks
Haug and Scott Beuker for describing the use cases. to Steinar Haug and Scott Beuker for describing the use cases.
9. Normative References 9. Normative References
[RFC1583] Moy, J., "OSPF Version 2", RFC 1583, March 1994. [RFC1583] Moy, J., "OSPF Version 2", RFC 1583, March 1994.
[RFC1661] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, [RFC1661] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51,
RFC 1661, July 1994. RFC 1661, July 1994.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
skipping to change at page 12, line 4 skipping to change at page 12, line 4
Wes Beebee Wes Beebee
Cisco Systems, Inc. Cisco Systems, Inc.
1414 Massachusetts Ave. 1414 Massachusetts Ave.
Boxborough, MA 01719 Boxborough, MA 01719
USA USA
Phone: +1 978 936 2030 Phone: +1 978 936 2030
Email: wbeebee@cisco.com Email: wbeebee@cisco.com
URI: http://www.cisco.com/ URI: http://www.cisco.com/
Carlos Pignataro
Cisco Systems, Inc.
7200-12 Kit Creek Road
Research Triangle Park, NC 27709
USA
Email: cpignata@cisco.com
URI: http://www.cisco.com/
Eli Dart Eli Dart
Lawrence Berkeley National Laboratory Lawrence Berkeley National Laboratory
1 Cyclotron Road, Berkeley, CA 94720 1 Cyclotron Road, Berkeley, CA 94720
USA USA
Email: dart@es.net Email: dart@es.net
URI: http://www.es.net/ URI: http://www.es.net/
Wes George Wes George
Time Warner Cable Time Warner Cable
13820 Sunrise Valley Drive 13820 Sunrise Valley Drive
Herndon, VA 20171 Herndon, VA 20171
USA USA
Email: wesley.george@twcable.com Email: wesley.george@twcable.com
Carlos Pignataro
Cisco Systems, Inc.
7200-12 Kit Creek Road
Research Triangle Park, NC 27709
USA
Email: cpignata@cisco.com
URI: http://www.cisco.com/
 End of changes. 30 change blocks. 
122 lines changed or deleted 141 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/