Source Address Selection for the Multicast Listener Discovery (MLD) Protocol
RFC 3590

Document Type RFC - Proposed Standard (September 2003; No errata)
Updates RFC 2710
Last updated 2015-10-14
Stream IETF
Formats plain text pdf html bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 3590 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD Erik Nordmark
IESG note 2003-09-10: RFC 3590 appears
Send notices to (None)
Network Working Group                                        B. Haberman
Request for Comments: 3590                              Caspian Networks
Updates: 2710                                             September 2003
Category: Standards Track

                    Source Address Selection for the
              Multicast Listener Discovery (MLD) Protocol

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

Abstract

   It has come to light that there is an issue with the selection of a
   suitable IPv6 source address for Multicast Listener Discovery (MLD)
   messages when a node is performing stateless address
   autoconfiguration.  This document is intended to clarify the rules on
   selecting an IPv6 address to use for MLD messages.

1.  Introduction

   The original specification of the Multicast Listener Discovery
   Protocol (MLD) for IPv6 [RFC 2710] mandates the use of a link-local
   IPv6 source address for the transmission of MLD messages.  In
   addition, MLD also requires nodes to send MLD Report messages when
   joining any IPv6 multicast group (except the All-Nodes address and
   addresses of scope less than 2).

   These MLD requirements conflict with the use of IPv6 multicast within
   the Neighbor Discovery Protocol [RFC 2461].  For stateless
   autoconfiguration, as defined in [RFC 2462], a node is required to
   join several IPv6 multicast groups in order to perform Duplicate
   Address Detection prior to its use.  Since the only address the node
   has is tentative, and cannot be used for communication, it does not
   have a suitable address to utilize as a source address.

Haberman                    Standards Track                     [Page 1]
RFC 3590       Source Address Selection for MLD Protocol  September 2003

   This document will clarify the IPv6 source address selection rules
   for use with MLD when no link-local addresses are available.

2.  Terminology

   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].

3.  Justification

   In [RFC 2710], Section 3 requires that all MLD messages be sent with
   a valid link-local IPv6 source address.  However, a node in the
   process of performing duplicate address detection for its link-local
   (LL) address will not have one available to use as a source address.
   For this reason, this document allows the unspecified address to be
   used as a source address for MLD messages being used during duplicate
   address detection.

   The discrepancies in the rules defined in [RFC 2710] and [RFC 2462]
   has led to implementation issues.  Several IPv6 implementations skip
   sending MLD Report messages during duplicate address detection
   because they have no valid link-local address.  This leads to
   operational problems when a node is attached to switches that perform
   MLD snooping.  In this scenario, duplicate address detection (DAD)
   will complete successfully and collisions can occur once the address
   is put into use because switches may not have forwarded the DAD
   messages to all nodes on the link as required.  This document fixes
   this problem by specifying that MLD reports are to be sent using an
   unspecified source address prior to DAD being started in order to
   ensure that messages sent to LL multicast addresses (e.g., including
   MLD) are forwarded to all appropriate nodes as required.

4.  MLD Source Address Selection Guidelines

   An MLD speaking node is required to choose a suitable IPv6 source
   address for all MLD messages (Report, Done, and Query).

   MLD Query messages MUST be sent with a valid link-local address as
   the IPv6 source address.  If a node (router or host) receives a query
   message with an IPv6 source address set to the unspecified address
   (::), it MUST silently discard the message and SHOULD log a warning.

   MLD Report and Done messages are sent with a link-local address as
   the IPv6 source address, if a valid address is available on the
   interface.  If a valid link-local address is not available (e.g., one
   has not been configured), the message is sent with the unspecified
   address (::) as the IPv6 source address.
Show full document text