Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 1970

Neighbor Discovery for IP Version 6 (IPv6)

Pages: 82
Obsoleted by:  2461
Part 2 of 3 – Pages 27 to 55
First   Prev   Next

ToP   noToC   RFC1970 - Page 27   prevText
4.6.  Option Formats

   Neighbor Discovery messages include zero or more options, some of
   which may appear multiple times in the same message.  All options are
   of the form:

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Type      |    Length     |              ...              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                              ...                              ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Fields:

   Type           8-bit identifier of the type of option.  The options
                  defined in this document are:

                        Option Name                             Type

                     Source Link-Layer Address                    1
                     Target Link-Layer Address                    2
                     Prefix Information                           3
                     Redirected Header                            4
                     MTU                                          5


   Length         8-bit unsigned integer.  The length of the option in
                  units of 8 octets.  The value 0 is invalid.  Nodes
                  MUST silently discard an ND packet that contains an
                  option with length zero.
ToP   noToC   RFC1970 - Page 28
4.6.1.  Source/Target Link-layer Address

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Type      |    Length     |    Link-Layer Address ...
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Fields:

   Type
                  1 for Source Link-layer Address
                  2 for Target Link-layer Address

   Length         The length of the option in units of 8 octets.  For
                  example, the length for IEEE 802 addresses is 1
                  [IPv6-ETHER].

   Link-Layer Address
                  The variable length link-layer address.

                  The content and format of this field (including byte
                  and bit ordering) is expected to be specified in
                  specific documents that describe how IPv6 operates
                  over different link layers.  For instance, [IPv6-
                  ETHER].

Description
                  The Source Link-Layer Address option contains the
                  link-layer address of the sender of the packet.  It is
                  used in the Neighbor Solicitation, Router
                  Solicitation, and Router Advertisement packets.

                  The Target Link-Layer Address option contains the
                  link-layer address of the target.  It is used in
                  Neighbor Advertisement and Redirect packets.

                  These options MUST be silently ignored for other
                  Neighbor Discovery messages.
ToP   noToC   RFC1970 - Page 29
4.6.2.  Prefix Information

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Type      |    Length     | Prefix Length |L|A| Reserved1 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         Valid Lifetime                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Preferred Lifetime                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Reserved2                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     +                                                               +
     |                                                               |
     +                            Prefix                             +
     |                                                               |
     +                                                               +
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Fields:

   Type           3

   Length         4

   Prefix Length  8-bit unsigned integer.  The number of leading bits in
                  the Prefix that are valid.  The value ranges from 0 to
                  128.

   L              1-bit on-link flag.  When set, indicates that this
                  prefix can be used for on-link determination.  When
                  not set the advertisement makes no statement about
                  on-link or off-link properties of the prefix.  For
                  instance, the prefix might be used for address
                  configuration with some of the addresses belonging to
                  the prefix being on-link and others being off-link.

   A              1-bit autonomous address-configuration flag.  When set
                  indicates that this prefix can be used for autonomous
                  address configuration as specified in [ADDRCONF].

   Reserved1      6-bit unused field.  It MUST be initialized to zero by
                  the sender and MUST be ignored by the receiver.
ToP   noToC   RFC1970 - Page 30
   Valid Lifetime
                  32-bit unsigned integer.  The length of time in
                  seconds (relative to the time the packet is sent) that
                  the prefix is valid for the purpose of on-link
                  determination.  A value of all one bits (0xffffffff)
                  represents infinity.  The Valid Lifetime is also used
                  by [ADDRCONF].

   Preferred Lifetime
                  32-bit unsigned integer.  The length of time in
                  seconds (relative to the time the packet is sent) that
                  addresses generated from the prefix via stateless
                  address autoconfiguration remain preferred [ADDRCONF].
                  A value of all one bits (0xffffffff) represents
                  infinity.  See [ADDRCONF].

   Reserved2      This field is unused.  It MUST be initialized to zero
                  by the sender and MUST be ignored by the receiver.

   Prefix         An IP address or a prefix of an IP address.  The
                  Prefix Length field contains the number of valid
                  leading bits in the prefix.  The bits in the prefix
                  after the prefix length are reserved and MUST be
                  initialized to zero by the sender and ignored by the
                  receiver.  A router SHOULD NOT send a prefix option
                  for the link-local prefix and a host SHOULD ignore
                  such a prefix option.

Description
                  The Prefix Information option provide hosts with on-
                  link prefixes and prefixes for Address
                  Autoconfiguration.

                  The Prefix Information option appears in Router
                  Advertisement packets and MUST be silently ignored for
                  other messages.
ToP   noToC   RFC1970 - Page 31
4.6.3.  Redirected Header

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Type      |    Length     |            Reserved           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Reserved                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     ~                       IP header + data                        ~
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Fields:

   Type           4

   Length         The length of the option in units of 8 octets.

   Reserved       These fields are unused.  They MUST be initialized to
                  zero by the sender and MUST be ignored by the
                  receiver.

   IP header + data
                  The original packet truncated to ensure that the size
                  of the redirect message does not exceed 576 octets.

Description
                  The Redirected Header option is used in Redirect
                  messages and contains all or part of the packet that
                  is being redirected.

                  This option MUST be silently ignored for other
                  Neighbor Discovery messages.

4.6.4.  MTU

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Type      |    Length     |           Reserved            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              MTU                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
ToP   noToC   RFC1970 - Page 32
Fields:

   Type           5

   Length         1

   Reserved       This field is unused.  It MUST be initialized to zero
                  by the sender and MUST be ignored by the receiver.

   MTU            32-bit unsigned integer.  The recommended MTU for the
                  link.

Description
                  The MTU option is used in  Router Advertisement
                  messages to insure that all nodes on a link use the
                  same MTU value in those cases where the link MTU is
                  not well known.

                  This option MUST be silently ignored for other
                  Neighbor Discovery messages.

                  In configurations in which heterogeneous technologies
                  are bridged together, the maximum supported MTU may
                  differ from one segment to another.  If the bridges do
                  not generate ICMP Packet Too Big messages,
                  communicating nodes will be unable to use Path MTU to
                  dynamically determine the appropriate MTU on a per-
                  neighbor basis.  In such cases, routers use the MTU
                  option to specify an MTU value supported by all
                  segments.

5.  CONCEPTUAL MODEL OF A HOST

   This section describes a conceptual model of one possible data
   structure organization that hosts (and to some extent routers) will
   maintain in interacting with neighboring nodes.  The described
   organization is provided to facilitate the explanation of how the
   Neighbor Discovery protocol should behave.  This document does not
   mandate that implementations adhere to this model as long as their
   external behavior is consistent with that described in this document.

   This model is only concerned with the aspects of host behavior
   directly related to Neighbor Discovery.  In particular, it does not
   concern itself with such issues as source address selection or the
   selecting of an outgoing interface on a multihomed host.
ToP   noToC   RFC1970 - Page 33
5.1.  Conceptual Data Structures

   Hosts will need to maintain the following pieces of information for
   each interface:

   Neighbor Cache
                - A set of entries about individual neighbors to which
                  traffic has been sent recently.  Entries are keyed on
                  the neighbor's on-link unicast IP address and contain
                  such information as its link-layer address, a flag
                  indicating whether the neighbor is a router or a host
                  (called IsRouter in this document), a pointer to any
                  queued packets waiting for address resolution to
                  complete, etc.

                  A Neighbor Cache entry also contains information used
                  by the Neighbor Unreachability Detection algorithm,
                  including the reachability state, the number of
                  unanswered probes, and the time the next Neighbor
                  Unreachability Detection event is scheduled to take
                  place.

   Destination Cache
                - A set of entries about destinations to which traffic
                  has been sent recently.  The Destination Cache
                  includes both on-link and off-link destinations and
                  provides a level of indirection into the Neighbor
                  Cache; the Destination Cache maps a destination IP
                  address to the IP address of the next-hop neighbor.
                  This cache is updated with information learned from
                  Redirect messages.  Implementations may find it
                  convenient to store additional information not
                  directly related to Neighbor Discovery in Destination
                  Cache entries, such as the Path MTU (PMTU) and round
                  trip timers maintained by transport protocols.

   Prefix List  - A list of the prefixes that define a set of addresses
                  that are on-link.  Prefix List entries are created
                  from information received in Router Advertisements.
                  Each entry has an associated invalidation timer value
                  (extracted from the advertisement) used to expire
                  prefixes when they become invalid.  A special
                  "infinity" timer value specifies that a prefix remains
                  valid forever, unless a new (finite) value is received
                  in a subsequent advertisement.

                  The link-local prefix is considered to be on the
                  prefix list with an infinite invalidation timer
ToP   noToC   RFC1970 - Page 34
                  regardless of whether routers are advertising a prefix
                  for it.  Received Router Advertisements SHOULD NOT
                  modify the invalidation timer for the link-local
                  prefix.

   Default Router List
                - A list of routers to which packets may be sent.
                  Router list entries point to entries in the Neighbor
                  Cache; the algorithm for selecting a default router
                  favors routers known to be reachable over those whose
                  reachability is suspect.  Each entry also has an
                  associated invalidation timer value (extracted from
                  Router Advertisements) used to delete entries that are
                  no longer advertised.

   Note that the above conceptual data structures can be implemented
   using a variety of techniques.  One possible implementation is to use
   a single longest-match routing table for all of the above data
   structures.  Regardless of the specific implementation, it is
   critical that the Neighbor Cache entry for a router is shared by all
   Destination Cache entries using that router in order to prevent
   redundant Neighbor Unreachability Detection probes.

   Note also that other protocols (e.g. IPv6 Mobility) might add
   additional conceptual data structures.  An implementation is at
   liberty to implement such data structures in any way it pleases.  For
   example, an implementation could merge all conceptual data structures
   into a single routing table.

   The Neighbor Cache contains information maintained by the Neighbor
   Unreachability Detection algorithm.  A key piece of information is a
   neighbor's reachability state, which is one of five possible values.

   The following definitions are informal; precise definitions can be
   found in Section 7.3.2.

   INCOMPLETE  Address resolution is in progress and the link-layer
               address of the neighbor has not yet been determined.

   REACHABLE   Roughly speaking, the neighbor is known to have been
               reachable recently (within tens of seconds ago).

   STALE       The neighbor is no longer known to be reachable but until
               traffic is sent to the neighbor, no attempt should be
               made to verify its reachability.

   DELAY       The neighbor is no longer known to be reachable, and
               traffic has recently be sent to the neighbor.  Rather
ToP   noToC   RFC1970 - Page 35
               than probe the neighbor immediately, however, delay
               sending probes for a short while in order to give upper
               layer protocols a chance to provide reachability
               confirmation.

   PROBE       The neighbor is no longer known to be reachable, and
               unicast Neighbor Solicitation probes are being sent to
               verify reachability.

5.2.  Conceptual Sending Algorithm

   When sending a packet to a destination, a node uses a combination of
   the Destination Cache, the Prefix List, and the Default Router List
   to determine the IP address of the appropriate next hop, an operation
   known as "next-hop determination".  Once the IP address of the next
   hop is known, the Neighbor Cache is consulted for link-layer
   information about that neighbor.

   Next-hop determination for a given unicast destination operates as
   follows.  The sender performs a longest prefix match against the
   Prefix List to determine whether the packet's destination is on- or
   off-link.  If the destination is on-link, the next-hop address is the
   same as the packet's destination address.  Otherwise, the sender
   selects a router from the Default Router List (following the rules
   described in Section 6.3.6).  If the Default Router List is empty,
   the sender assumes that the destination is on-link.

   For efficiency reasons, next-hop determination is not performed on
   every packet that is sent.  Instead, the results of next-hop
   determination computations are saved in the Destination Cache (which
   also contains updates learned from Redirect messages).  When the
   sending node has a packet to send, it first examines the Destination
   Cache.  If no entry exists for the destination, next-hop
   determination is invoked to create a Destination Cache entry.

   Once the IP address of the next-hop node is known, the sender
   examines the Neighbor Cache for link-layer information about that
   neighbor.  If no entry exists, the sender creates one, sets its state
   to INCOMPLETE, initiates Address Resolution, and then queues the data
   packet pending completion of address resolution.  For multicast-
   capable interfaces Address Resolution consists of sending a Neighbor
   Solicitation message and waiting for a Neighbor Advertisement.  When
   a Neighbor Advertisement response is received, the link-layer
   addresses is entered in the Neighbor Cache entry and the queued
   packet is transmitted.  The address resolution mechanism is described
   in detail in Section 7.2.
ToP   noToC   RFC1970 - Page 36
   For multicast packets the next-hop is always the (multicast)
   destination address and is considered to be on-link.  The procedure
   for determining the link-layer address corresponding to a given IP
   multicast address can be found in a separate document that covers
   operating IP over a particular link type (e.g., [IPv6-ETHER]).

   Each time a Neighbor Cache entry is accessed while transmitting a
   unicast packet, the sender checks Neighbor Unreachability Detection
   related information according to the Neighbor Unreachability
   Detection algorithm (Section 7.3).  This unreachability check might
   result in the sender transmitting a unicast Neighbor Solicitation to
   verify that the neighbor is still reachable.

   Next-hop determination is done the first time traffic is sent to a
   destination.  As long as subsequent communication to that destination
   proceeds successfully, the Destination Cache entry continues to be
   used.  If at some point communication ceases to proceed, as
   determined by the Neighbor Unreachability Detection algorithm, next-
   hop determination may need to be performed again.  For example,
   traffic through a failed router should be switched to a working
   router.  Likewise, it may be possible to reroute traffic destined for
   a mobile node to a "mobility agent".

   Note that when a node redoes next-hop determination there is no need
   to discard the complete Destination Cache entry.  In fact, it is
   generally beneficial to retain such cached information as the PMTU
   and round trip timer values that may also be kept in the Destination
   Cache entry.

   Routers and multihomed hosts have multiple interfaces.  The remainder
   of this document assumes that all sent and received Neighbor
   Discovery messages refer to the interface of appropriate context.
   For example, when responding to a Router Solicitation, the
   corresponding Router Advertisement is sent out the interface on which
   the solicitation was received.

5.3.  Garbage Collection and Timeout Requirements

   The conceptual data structures described above use different
   mechanisms for discarding potentially stale or unused information.

   From the perspective of correctness there is no need to periodically
   purge Destination and Neighbor Cache entries.  Although stale
   information can potentially remain in the cache indefinitely, the
   Neighbor Unreachability Detection algorithm ensures that stale
   information is purged quickly if it is actually being used.
ToP   noToC   RFC1970 - Page 37
   To limit the storage needed for the Destination and Neighbor Caches,
   a node may need to garbage-collect old entries.  However, care must
   be taken to insure that sufficient space is always present to hold
   the working set of active entries.  A small cache may result in an
   excessive number of Neighbor Discovery messages if entries are
   discarded and rebuilt in quick succession.  Any LRU-based policy that
   only reclaims entries that have not been used in some time (e.g., ten
   minutes or more) should be adequate for garbage-collecting unused
   entries.

   A node should retain entries in the Default Router List and the
   Prefix List until their lifetimes expire.  However, a node may
   garbage collect entries prematurely if it is low on memory.  If not
   all routers are kept on the Default Router list, a node should retain
   at least two entries in the Default Router List (and preferably more)
   in order to maintain robust connectivity for off-link destinations.

   When removing an entry from the Prefix List there is no need to purge
   any entries from the Destination or Neighbor Caches.  Neighbor
   Unreachability Detection will efficiently purge any entries in these
   caches that have become invalid.  When removing an entry from the
   Default Router List, however, any entries in the Destination Cache
   that go through that router must perform next-hop determination again
   to select a new default router.

6.  ROUTER AND PREFIX DISCOVERY

   This section describes router and host behavior related to the Router
   Discovery portion of Neighbor Discovery.  Router Discovery is used to
   locate neighboring routers as well as learn prefixes and
   configuration parameters related to address autoconfiguration.

   Prefix Discovery is the process through which hosts learn the ranges
   of IP addresses that reside on-link and can be reached directly
   without going through a router.  Routers send Router Advertisements
   that indicate whether the sender is willing to be a default router.
   Router Advertisements also contain Prefix Information options that
   list the set of prefixes that identify on-link IP addresses.

   Stateless Address Autoconfiguration must also obtain subnet prefixes
   as part of configuring addresses.  Although the prefixes used for
   address autoconfiguration are logically distinct from those used for
   on-link determination, autoconfiguration information is piggybacked
   on Router Discovery messages to reduce network traffic.  Indeed, the
   same prefixes can be advertised for on-link determination and address
   autoconfiguration by specifying the appropriate flags in the Prefix
   Information options.  See [ADDRCONF] for details on how
   autoconfiguration information is processed.
ToP   noToC   RFC1970 - Page 38
6.1.  Message Validation

6.1.1.  Validation of Router Solicitation Messages

   Hosts MUST silently discard any received Router Solicitation
   Messages.

   A router MUST silently discard any received Router Solicitation
   messages that do not satisfy all of the following validity checks:

   - The IP Hop Limit field has a value of 255, i.e., the packet could
     not possibly have been forwarded by a router.

   - If the message includes an IP Authentication Header, the message
     authenticates correctly.

   - ICMP Checksum is valid.

   - ICMP Code is 0.

   - ICMP length (derived from the IP length) is 8 or more octets.

   - All included options have a length that is greater than zero.

   The contents of the Reserved field, and of any unrecognized options,
   MUST be ignored.  Future, backward-compatible changes to the protocol
   may specify the contents of the Reserved field or add new options;
   backward-incompatible changes may use different Code values.

   The contents of any defined options that are not specified to be used
   with Router Solicitation messages MUST be ignored and the packet
   processed as normal.  The only defined option that may appear is the
   Source Link-Layer Address option.

   A solicitation that passes the validity checks is called a "valid
   solicitation".

6.1.2.  Validation of Router Advertisement Messages

   A node MUST silently discard any received Router Advertisement
   messages that do not satisfy all of the following validity checks:

   - IP Source Address is a link-local address.  Routers must use their
     link-local address as the source for Router Advertisement and
     Redirect messages so that hosts can uniquely identify routers.

   - The IP Hop Limit field has a value of 255, i.e., the packet could
     not possibly have been forwarded by a router.
ToP   noToC   RFC1970 - Page 39
   - If the message includes an IP Authentication Header, the message
     authenticates correctly.

   - ICMP Checksum is valid.

   - ICMP Code is 0.

   - ICMP length (derived from the IP length) is 16 or more octets.

   - All included options have a length that is greater than zero.

   The contents of the Reserved field, and of any unrecognized options,
   MUST be ignored.  Future, backward-compatible changes to the protocol
   may specify the contents of the Reserved field or add new options;
   backward-incompatible changes may use different Code values.

   The contents of any defined options that are not specified to be used
   with Router Advertisement messages MUST be ignored and the packet
   processed as normal.  The only defined options that may appear are
   the Source Link-Layer Address, Prefix Information and MTU options.

   An advertisement that passes the validity checks is called a "valid
   advertisement".

6.2.  Router Specification

6.2.1.  Router Configuration Variables

   A router MUST allow for the following conceptual variables to be
   configured by system management.  The specific variable names are
   used for demonstration purposes only, and an implementation is not
   required to have them, so long as its external behavior is consistent
   with that described in this document.  Default values are specified
   to simplify configuration in common cases.

   The default values for some of the variables listed below may be
   overridden by specific documents that describe how IPv6 operates over
   different link layers.  This rule simplifies the configuration of
   Neighbor Discovery over link types with widely differing performance
   characteristics.

   For each multicast interface:

     AdvSendAdvertisements
                    A flag indicating whether or not the router sends
                    periodic Router Advertisements and responds to
                    Router Solicitations.
ToP   noToC   RFC1970 - Page 40
                    Default: FALSE

                    Note that AdvSendAdvertisements MUST be false by
                    default so that a node will not accidentally start
                    acting as a router unless it is explicitly
                    configured by system management to send Router
                    Advertisements.

     MaxRtrAdvInterval
                    The maximum time allowed between sending unsolicited
                    multicast Router Advertisements from the interface,
                    in seconds.  MUST be no less than 4 seconds and no
                    greater than 1800 seconds.

                    Default: 600 seconds

     MinRtrAdvInterval
                    The minimum time allowed between sending unsolicited
                    multicast Router Advertisements from the interface,
                    in seconds.  MUST be no less than 3 seconds and no
                    greater than .75 * MaxRtrAdvInterval.

                    Default: 0.33 * MaxRtrAdvInterval

     AdvManagedFlag
                    The true/false value to be placed in the "Managed
                    address configuration" flag field in the Router
                    Advertisement.  See [ADDRCONF].

                    Default: FALSE

     AdvOtherConfigFlag
                    The true/false value to be placed in the "Other
                    stateful configuration" flag field in the Router
                    Advertisement.  See [ADDRCONF].

                    Default: FALSE

     AdvLinkMTU     The value to be placed in MTU options sent by the
                    router.  A value of zero indicates that no MTU
                    options are sent.

                    Default: 0

     AdvReachableTime
                    The value to be placed in the Reachable Time field
                    in the Router Advertisement messages sent by the
                    router.  The value zero means unspecified (by this
ToP   noToC   RFC1970 - Page 41
                    router).  MUST be no greater than 3,600,000
                    milliseconds (1 hour).

                    Default: 0

     AdvRetransTimer
                    The value to be placed in the Retrans Timer field in
                    the Router Advertisement messages sent by the
                    router.  The value zero means unspecified (by this
                    router).

                    Default: 0

     AdvCurHopLimit
                    The default value to be placed in the Cur Hop Limit
                    field in the Router Advertisement messages sent by
                    the router.  The value should be set to that current
                    diameter of the Internet.  The value zero means
                    unspecified (by this router).

                    Default:  The value specified in the "Assigned
                    Numbers" RFC [ASSIGNED] that was in effect at the
                    time of implementation.

     AdvDefaultLifetime
                    The value to be placed in the Router Lifetime field
                    of Router Advertisements sent from the interface, in
                    seconds.  MUST be either zero or between
                    MaxRtrAdvInterval and 9000 seconds.  A value of zero
                    indicates that the router is not to be used as a
                    default router.

                    Default: 3 * MaxRtrAdvInterval

     AdvPrefixList
                    A list of prefixes to be placed in Prefix
                    Information options in Router Advertisement messages
                    sent from the interface.

                    Default: all prefixes that the router advertises via
                    routing protocols as being on-link for the interface
                    from which the advertisement is sent.  The link-
                    local prefix SHOULD NOT be included in the list of
                    advertised prefixes.

                    Each prefix has an associated:

                       AdvValidLifetime
ToP   noToC   RFC1970 - Page 42
                            The value to be placed in the Valid Lifetime
                            in the Prefix Information option, in
                            seconds.  The designated value of all 1's
                            (0xffffffff) represents infinity.

                            Default: infinity.

                       AdvOnLinkFlag
                            The value to be placed in the on-link flag
                            ("L-bit") field in the Prefix Information
                            option.

                            Default: TRUE

                    Automatic address configuration [ADDRCONF] defines
                    additional information associated with each the
                    prefixes:

                       AdvPreferredLifetime
                            The value to be placed in the Preferred
                            Lifetime in the Prefix Information option,
                            in seconds.  The designated value of all 1's
                            (0xffffffff) represents infinity.  See
                            [ADDRCONF].

                            Default: 604800 seconds (7 days)

                       AdvAutonomousFlag
                            The value to be placed in the Autonomous
                            Flag field in the Prefix Information option.
                            See [ADDRCONF].

                            Default: TRUE

   The above variables contain information that is placed in outgoing
   Router Advertisement messages.  Hosts use the received information to
   initialize a set of analogous variables that control their external
   behavior (see Section 6.3.2).  Some of these host variables (e.g.,
   CurHopLimit, RetransTimer, and ReachableTime) apply to all nodes
   including routers.  In practice, these variables may not actually be
   present on routers, since their contents can be derived from the
   variables described above.  However, external router behavior MUST be
   the same as host behavior with respect to these variables.  In
   particular, this includes the occasional randomization of the
   ReachableTime value as described in Section 6.3.2.

   Protocol constants are defined in Section 10.
ToP   noToC   RFC1970 - Page 43
6.2.2.  Becoming An Advertising Interface

   The term "advertising interface" refers to any functioning and
   enabled multicast interface that has at least one unicast IP address
   assigned to it and whose corresponding AdvSendAdvertisements flag is
   TRUE.  A router MUST NOT send Router Advertisements out any interface
   that is not an advertising interface.

   An interface may become an advertising interface at times other than
   system startup.  For example:

   - changing the AdvSendAdvertisements flag on an enabled interface
     from FALSE to TRUE, or

   - administratively enabling the interface, if it had been
     administratively disabled, and its AdvSendAdvertisements flag is
     TRUE, or

   - enabling IP forwarding capability (i.e., changing the system from
     being a host to being a router), when the interface's
     AdvSendAdvertisements flag is TRUE.

   A router MUST join the all-routers multicast address on an
   advertising interface.  Routers respond to Router Solicitations sent
   to the all-routers address and verify the consistency of Router
   Advertisements sent by neighboring routers.

6.2.3.  Router Advertisement Message Content

   A router sends periodic as well as solicited Router Advertisements
   out its advertising interfaces.  Outgoing Router Advertisements are
   filled with the following values consistent with the message format
   given in Section 4.2:

   - In the Router Lifetime field: the interface's configured
     AdvDefaultLifetime.

   - In the M and O flags: the interface's configured AdvManagedFlag and
     AdvOtherConfigFlag, respectively.  See [ADDRCONF].

   - In the Cur Hop Limit field: the interface's configured CurHopLimit.

   - In the Reachable Time field: the interface's configured
     AdvReachableTime.

   - In the Retrans Timer field: the interface's configured
     AdvRetransTimer.
ToP   noToC   RFC1970 - Page 44
   - In the options:

        o Source Link-Layer Address option: link-layer address of the
          sending interface.  This option MAY be omitted to facilitate
          in-bound load balancing over replicated interfaces.

        o MTU option: the interface's configured AdvLinkMTU value if the
          value is non-zero.  If AdvLinkMTU is zero the MTU option is
          not sent.

        o Prefix Information options: one Prefix Information option for
          each prefix listed in AdvPrefixList with the option fields set
          from the information in the AdvPrefixList entry as follows:

             - In the "on-link" flag: the entry's AdvOnLinkFlag.

             - In the Valid Lifetime field: the entry's
               AdvValidLifetime.

             - In the "Autonomous address configuration" flag: the
               entry's AdvAutonomousFlag.

             - In the Preferred Lifetime field: the entry's
               AdvPreferredLifetime.

   A router might want to send Router Advertisements without advertising
   itself as a default router.  For instance, a router might advertise
   prefixes for address autoconfiguration while not wishing to forward
   packets.  Such a router sets the Router Lifetime field in outgoing
   advertisements to zero.

   A router MAY choose not to include some or all options when sending
   unsolicited Router Advertisements.  For example, if prefix lifetimes
   are much longer than AdvDefaultLifetime, including them every few
   advertisements may be sufficient.  However, when responding to a
   Router Solicitation or while sending the first few initial
   unsolicited advertisements, a router SHOULD include all options so
   that all information (e.g., prefixes) is propagated quickly during
   system initialization.

   If including all options causes the size of an advertisement to
   exceed the link MTU, multiple advertisements can be sent, each
   containing a subset of the options.
ToP   noToC   RFC1970 - Page 45
6.2.4.  Sending Unsolicited Router Advertisements

   A host MUST NOT send Router Advertisement messages at any time.

   Unsolicited Router Advertisements are not strictly periodic: the
   interval between subsequent transmissions is randomized to reduce the
   probability of synchronization with the advertisements from other
   routers on the same link [SYNC].  Each advertising interface has its
   own timer.  Whenever a multicast advertisement is sent from an
   interface, the timer is reset to a uniformly-distributed random value
   between the interface's configured MinRtrAdvInterval and
   MaxRtrAdvInterval; expiration of the timer causes the next
   advertisement to be sent and a new random value to be chosen.

   For the first few advertisements (up to
   MAX_INITIAL_RTR_ADVERTISEMENTS) sent from an interface when it
   becomes an advertising interface, if the randomly chosen interval is
   greater than MAX_INITIAL_RTR_ADVERT_INTERVAL, the timer SHOULD be set
   to MAX_INITIAL_RTR_ADVERT_INTERVAL instead.  Using a smaller interval
   for the initial advertisements increases the likelihood of a router
   being discovered quickly when it first becomes available, in the
   presence of possible packet loss.

   The information contained in Router Advertisements may change through
   actions of system management.  For instance, the lifetime of
   advertised prefixes may change, new prefixes could be added, a router
   could cease to be a router (i.e., switch from being a router to being
   a host), etc.  In such cases, the router MAY transmit up to
   MAX_INITIAL_RTR_ADVERTISEMENTS unsolicited advertisements, using the
   same rules as when an interface becomes an advertising interface.

6.2.5.  Ceasing To Be An Advertising Interface

   An interface may cease to be an advertising interface, through
   actions of system management such as:

   - changing the AdvSendAdvertisements flag of an enabled interface
     from TRUE to FALSE, or

   - administratively disabling the interface, or

   - shutting down the system.

   In such cases the router SHOULD transmit one or more (but not more
   than MAX_FINAL_RTR_ADVERTISEMENTS) final multicast Router
   Advertisements on the interface with a Router Lifetime field of zero.
   In the case of a router becoming a host, the system SHOULD also
   depart from the all-routers IP multicast group on all interfaces on
ToP   noToC   RFC1970 - Page 46
   which the router supports IP multicast (whether or not they had been
   advertising interfaces).  In addition, the host MUST insure that
   subsequent Neighbor Advertisement messages sent from the interface
   have the Router flag set to zero.

   Note that system management may disable a router's IP forwarding
   capability (i.e., changing the system from being a router to being a
   host), a step that does not necessarily imply that the router's
   interfaces stop being advertising interfaces.  In such cases,
   subsequent Router Advertisements MUST set the Router Lifetime field
   to zero.

6.2.6.  Processing Router Solicitations

   A host MUST silently discard any received Router Solicitation
   messages.

   In addition to sending periodic, unsolicited advertisements, a router
   sends advertisements in response to valid solicitations received on
   an advertising interface.  A router MAY choose to unicast the
   response directly to the soliciting host's address (if the
   solicitation's source address is not the unspecified address), but
   the usual case is to multicast the response to the all-nodes group.
   In the latter case, the interface's interval timer is reset to a new
   random value, as if an unsolicited advertisement had just been sent
   (see Section 6.2.4).

   In all cases, Router Advertisements sent in response to a Router
   Solicitation MUST be delayed by a random time between 0 and
   MAX_RA_DELAY_TIME seconds. (If a single advertisement is sent in
   response to multiple solicitations, the delay is relative to the
   first solicitation.)  In addition, consecutive Router Advertisements
   sent to the all-nodes multicast address MUST be rate limited to no
   more than one advertisement every MIN_DELAY_BETWEEN_RAS seconds.

   A router might process Router Solicitations as follows:

 - Upon receipt of a Router Solicitation, compute a random delay within
   the range 0 through MAX_RA_DELAY_TIME.  If the computed value
   corresponds to a time later than the time the next multicast Router
   Advertisement is scheduled to be sent, ignore the random delay and
   send the advertisement at the already-scheduled time.

 - If the router sent a multicast Router Advertisement (solicited or
   unsolicited) within the last MIN_DELAY_BETWEEN_RAS seconds, schedule
   the advertisement to be sent at a time corresponding to
   MIN_DELAY_BETWEEN_RAS plus the random value after the previous
   advertisement was sent.  This ensures that the multicast Router
ToP   noToC   RFC1970 - Page 47
   Advertisements are rate limited.

 - Otherwise, schedule the sending of a Router Advertisement at the time
   given by the random value.

   Note that a router is permitted to send multicast Router
   Advertisements more frequently than indicated by the
   MinRtrAdvInterval configuration variable so long as the more frequent
   advertisements are responses to Router Solicitations.  In all cases,
   however, unsolicited multicast advertisements MUST NOT be sent more
   frequently than indicated by MinRtrAdvInterval.

   When a router receives a Router Solicitation and the Source Address
   is not the unspecified address, it records that the source of the
   packet is a neighbor by creating or updating the Neighbor Cache
   entry.  If the solicitation contains a Source Link-Layer Address
   option, and the router has a Neighbor Cache entry for the neighbor,
   the link-layer address SHOULD be updated in the Neighbor Cache.  If a
   Neighbor Cache entry is created for the source its reachability state
   MUST be set to STALE as specified in Section 7.3.3.  If a cache entry
   already exists and is updated with a different link-layer address the
   reachability state MUST also be set to STALE.  In either case the
   entry's IsRouter flag SHOULD be set to false.

   If the Source Address is the unspecified address the router MUST NOT
   create or update the Neighbor Cache entry.

6.2.7.  Router Advertisement Consistency

   Routers SHOULD inspect valid Router Advertisements sent by other
   routers and verify that the routers are advertising consistent
   information on a link.  Detected inconsistencies indicate that one or
   more routers might be misconfigured and SHOULD be logged to system or
   network management.  The minimum set of information to check
   includes:

 - Cur Hop Limit values (except for the unspecified value of zero).

 - Values of the M or O flags.

 - Reachable Time values (except for the unspecified value of zero).

 - Retrans Timer values (except for the unspecified value of zero).

 - Values in the MTU options.

 - Preferred and Valid Lifetimes for the same prefix.
ToP   noToC   RFC1970 - Page 48
   Note that it is not an error for different routers to advertise
   different sets of prefixes.  Also, some routers might leave some
   fields as unspecified, i.e., with the value zero, while other routers
   specify values.  The logging of errors SHOULD be restricted to
   conflicting information that causes hosts to switch from one value to
   another with each received advertisement.

   Any other action on reception of Router Advertisement messages by a
   router is beyond the scope of this document.

6.2.8.  Link-local Address Change

   The link-local address on a router SHOULD change rarely, if ever.
   Nodes receiving Neighbor Discovery messages use the source address to
   identify the sender.  If multiple packets from the same router
   contain different source addresses, nodes will assume they come from
   different routers, leading to undesirable behavior.  For example, a
   node will ignore Redirect messages that are believed to have been
   sent by a router other than the current first-hop router.  Thus the
   source address used in Router Advertisements sent by a particular
   router must be identical to the target address in a Redirect message
   when redirecting to that router.

   Using the link-local address to uniquely identify routers on the link
   has the benefit that the address a router is known by should not
   change when a site renumbers.

   If a router changes the link-local address for one of its interfaces,
   it SHOULD inform hosts of this change.  The router SHOULD multicast a
   few Router Advertisements from the old link-local address with the
   Router Lifetime field set to zero and also multicast a few Router
   Advertisements from the new link-local address.  The overall effect
   should be the same as if one interface ceases being an advertising
   interface, and a different one starts being an advertising interface.

6.3.  Host Specification

6.3.1.  Host Configuration Variables

   None.

6.3.2.  Host Variables

   A host maintains certain Neighbor Discovery related variables in
   addition to the data structures defined in Section 5.1.  The specific
   variable names are used for demonstration purposes only, and an
   implementation is not required to have them, so long as its external
   behavior is consistent with that described in this document.
ToP   noToC   RFC1970 - Page 49
   These variables have default values that are overridden by
   information received in Router Advertisement messages.  The default
   values are used when there is no router on the link or when all
   received Router Advertisements have left a particular value
   unspecified.

   The default values in this specification may be overridden by
   specific documents that describe how IP operates over different link
   layers.  This rule allows Neighbor Discovery to operate over links
   with widely varying performance characteristics.

   For each interface:

     LinkMTU        The MTU of the link.

                    Default: The valued defined in the specific document
                    that describes how IPv6 operates over the particular
                    link layer (e.g., [IPv6-ETHER]).

     CurHopLimit    The default hop limit to be used when sending
                    (unicast) IP packets.

                    Default: The value specified in the "Assigned
                    Numbers" RFC [ASSIGNED] that was in effect at the
                    time of implementation.

     BaseReachableTime
                    A base value used for computing the random
                    ReachableTime value.

                    Default: REACHABLE_TIME milliseconds.

     ReachableTime  The time a neighbor is considered reachable after
                    receiving a reachability confirmation.

                    This value should be a uniformly-distributed random
                    value between MIN_RANDOM_FACTOR and
                    MAX_RANDOM_FACTOR times BaseReachableTime
                    milliseconds.  A new random value should be
                    calculated when BaseReachableTime changes (due to
                    Router Advertisements) or at least every few hours
                    even if no Router Advertisements are received.

     RetransTimer   The time between retransmissions of Neighbor
                    Solicitation messages to a neighbor when resolving
                    the address or when probing the reachability of a
                    neighbor.
ToP   noToC   RFC1970 - Page 50
                    Default: RETRANS_TIMER milliseconds

6.3.3.  Interface Initialization

   The host joins the all-nodes multicast address on all multicast-
   capable interfaces.

6.3.4.  Processing Received Router Advertisements

   When multiple routers are present, the information advertised
   collectively by all routers may be a superset of the information
   contained in a single Router Advertisement.  Moreover, information
   may also be obtained through other dynamic means, such as stateful
   autoconfiguration.  Hosts accept the union of all received
   information; the receipt of a Router Advertisement MUST NOT
   invalidate all information received in a previous advertisement or
   from another source.  However, when received information for a
   specific parameter (e.g., Link MTU) or option (e.g., Lifetime on a
   specific Prefix) differs from information received earlier, and the
   parameter/option can only have one value, the most recently-received
   information is considered authoritative.

   Some Router Advertisement fields (e.g., Cur Hop Limit, Reachable Time
   and Retrans Timer) may contain a value denoting unspecified.  In such
   cases, the parameter should be ignored and the host should continue
   using whatever value it is already using.  In particular, a host MUST
   NOT interpret the unspecified value as meaning change back to the
   default value that was in use before the first Router Advertisement
   was received.  This rule prevents hosts from continually changing an
   internal variable when one router advertises a specific value, but
   other routers advertise the unspecified value.

   On receipt of a valid Router Advertisement, a host extracts the
   source address of the packet and does the following:

   - If the address is not already present in the host's Default Router
     List, and the advertisement's Router Lifetime is non-zero, create a
     new entry in the list, and initialize its invalidation timer value
     from the advertisement's Router Lifetime field.

   - If the address is already present in the host's Default Router List
     as a result of a previously-received advertisement, reset its
     invalidation timer to the Router Lifetime value in the newly-
     received advertisement.

   - If the address is already present in the host's Default Router List
     and the received Router Lifetime value is zero, immediately time-
     out the entry as specified in Section 6.3.5.
ToP   noToC   RFC1970 - Page 51
   To limit the storage needed for the Default Router List, a host MAY
   choose not to store all of the router addresses discovered via
   advertisements.  However, a host MUST retain at least two router
   addresses and SHOULD retain more.  Default router selections are made
   whenever communication to a destination appears to be failing.  Thus,
   the more routers on the list, the more likely an alternative working
   router can be found quickly (e.g., without having to wait for the
   next advertisement to arrive).

   If the received Cur Hop Limit value is non-zero the host SHOULD set
   its CurHopLimit variable to the received value.

   If the received Reachable Time value is non-zero the host SHOULD set
   its BaseReachableTime variable to the received value.  If the new
   value differs from the previous value, the host SHOULD recompute a
   new random ReachableTime value.  ReachableTime is computed as a
   uniformly-distributed random value between MIN_RANDOM_FACTOR and
   MAX_RANDOM_FACTOR times the BaseReachableTime.  Using a random
   component eliminates the possibility Neighbor Unreachability
   Detection messages synchronize with each other.

   In most cases, the advertised Reachable Time value will be the same
   in consecutive Router Advertisements and a host's BaseReachableTime
   rarely changes.  In such cases, an implementation SHOULD insure that
   a new random value gets recomputed at least once every few hours.

   The RetransTimer variable SHOULD be copied from the Retrans Timer
   field, if the received value is non-zero.

   After extracting information from the fixed part of the Router
   Advertisement message, the advertisement is scanned for valid
   options.  If the advertisement contains a Source Link-Layer Address
   option the link-layer address SHOULD be recorded in the Neighbor
   Cache entry for the router (creating an entry if necessary) and the
   IsRouter flag in the Neighbor Cache entry MUST be set to true.  The
   IsRouter flag is used by Neighbor Unreachability Detection to
   determine when a router changes to being a host (i.e., no longer
   capable of forwarding packets).  If a Neighbor Cache entry is created
   for the router its reachability state MUST be set to STALE as
   specified in Section 7.3.3.  If a cache entry already exists and is
   updated with a different link-layer address the reachability state
   MUST also be set to STALE.

   If the MTU option is present, hosts SHOULD copy the option's value
   into LinkMTU if the value does not exceed the default LinkMTU value
   specified in the link type specific document (e.g., [IPv6-ETHER]).
ToP   noToC   RFC1970 - Page 52
   Prefix Information options that have the "on-link" (L) flag set
   indicate a prefix identifying a range of addresses that should be
   considered on-link.  Note, however, that a Prefix Information option
   with the on-link flag set to zero conveys no information concerning
   on-link determination and MUST NOT be interpreted to mean that
   addresses covered by the prefix are off-link.  The default behavior
   (see Section 5.2) when no information is known about an address is to
   send the packets to a default router and the reception of a Prefix
   Information option with the "on-link " (L) flag set to zero does not
   change this behavior.  The reasons for an address being treated as
   on-link is specified in the definition of "on-link" in Section 2.1.
   Prefixes with the on-link flag set to zero would normally have the
   autonomous flag set and be used by [ADDRCONF].

   For each Prefix Information option with the on-link flag set, a host
   does the following:

   - If the prefix is the link-local prefix, silently ignore the Prefix
     Information option.

   - If the prefix is not already present in the Prefix List, and the
     Prefix Information option's Valid Lifetime field is non-zero,
     create a new entry for the prefix and initialize its invalidation
     timer to the Valid Lifetime value in the Prefix Information option.

   - If the prefix is already present in the host's Prefix List as the
     result of a previously-received advertisement, reset its
     invalidation timer to the Valid Lifetime value in the Prefix
     Information option.  If the new Lifetime value is zero, time-out
     the prefix immediately (see Section 6.3.5).

   - If the Prefix Information option's Valid Lifetime field is zero,
     and the prefix is not present in the host's Prefix List, silently
     ignore the option.

   Note: Implementations can choose to process the on-link aspects of
   the prefixes separately from the address autoconfiguration aspects of
   the prefixes by, e.g., passing a copy of each valid Router
   Advertisement message to both an "on-link" and an "addrconf"
   function.  Each function can then operate independently on the
   prefixes that have the appropriate flag set.

6.3.5.  Timing out Prefixes and Default Routers

   Whenever the invalidation timer expires for a Prefix List entry, that
   entry is discarded.  No existing Destination Cache entries need be
   updated, however.  Should a reachability problem arise with an
   existing Neighbor Cache entry, Neighbor Unreachability Detection will
ToP   noToC   RFC1970 - Page 53
   perform any needed recovery.

   Whenever the Lifetime of an entry in the Default Router List expires,
   that entry is discarded.  When removing a router from the Default
   Router list, the node MUST update the Destination Cache in such a way
   that all entries using the router perform next-hop determination
   again rather than continue sending traffic to the (deleted) router.

6.3.6.  Default Router Selection

   The algorithm for selecting a router depends in part on whether or
   not a router is known to be reachable.  The exact details of how a
   node keeps track of a neighbor's reachability state are covered in
   Section 7.3.  The algorithm for selecting a default router is invoked
   during next-hop determination when no Destination Cache entry exists
   for an off-link destination or when communication through an existing
   router appears to be failing.  Under normal conditions, a router
   would be selected the first time traffic is sent to a destination,
   with subsequent traffic for that destination using the same router as
   indicated in the Destination Cache modulo any changes to the
   Destination Cache caused by Redirect messages.

   The policy for selecting routers from the Default Router List is as
   follows:

  1) Routers that are reachable or probably reachable (i.e., in any
     state other than INCOMPLETE) SHOULD be preferred over routers whose
     reachability is unknown or suspect (i.e., in the INCOMPLETE state,
     or for which no Neighbor Cache entry exists).  An implementation
     may choose to always return the same router or cycle through the
     router list in a round-robin fashion as long as it always returns a
     reachable or a probably reachable router when one is available.

  2) When no routers on the list are known to be reachable or probably
     reachable, routers SHOULD be selected in a round-robin fashion, so
     that subsequent requests for a default router do not return the
     same router until all other routers have been selected.

     Cycling through the router list in this case ensures that all
     available routers are actively probed by the Neighbor
     Unreachability Detection algorithm.  A request for a default router
     is made in conjunction with the sending of a packet to a router,
     and the selected router will be probed for reachability as a side
     effect.

  3) If the Default Router List is empty, assume that all destinations
     are on-link as specified in Section 5.2.
ToP   noToC   RFC1970 - Page 54
6.3.7.  Sending Router Solicitations

   When an interface becomes enabled, a host may be unwilling to wait
   for the next unsolicited Router Advertisement to locate default
   routers or learn prefixes.  To obtain Router Advertisements quickly,
   a host SHOULD transmit up to MAX_RTR_SOLICITATIONS Router
   Solicitation messages each separated by at least
   RTR_SOLICITATION_INTERVAL seconds.  Router Solicitations may be sent
   after any of the following events:

   - The interface is initialized at system startup time.

   - The interface is reinitialized after a temporary interface failure
     or after being temporarily disabled by system management.

   - The system changes from being a router to being a host, by having
     its IP forwarding capability turned off by system management.

   - The host attaches to a link for the first time.

   - The host re-attaches to a link after being detached for some time.

   A host sends Router Solicitations to the all-routers multicast
   address.  The IP source address is set to either one of the
   interface's unicast addresses or the unspecified address.  The Source
   Link-Layer Address option SHOULD be set to the host's link-layer
   address, if the IP source address is a unicast address.

   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.  This serves to alleviate congestion when
   many hosts start up on a link at the same time, such as might happen
   after recovery from a power failure.  If a host has already performed
   a random delay since the interface became (re)enabled (e.g., as part
   of Duplicate Address Detection [ADDRCONF]) there is no need to delay
   again before sending the first Router Solicitation message.

   Once the host sends a Router Solicitation, and receives a valid
   Router Advertisement with a non-zero Router Lifetime, the host MUST
   desist from sending additional solicitations on that interface, until
   the next time one of the above events occurs.  Moreover, a host
   SHOULD send at least one solicitation in the case where an
   advertisement is received prior to having sent a solicitation.
   Unsolicited Router Advertisements may be incomplete (see Section
   6.2.3); solicited advertisements are expected to contain complete
   information.
ToP   noToC   RFC1970 - Page 55
   If a host sends MAX_RTR_SOLICITATIONS solicitations, and receives no
   Router Advertisements after having waited MAX_RTR_SOLICITATION_DELAY
   seconds after sending the last solicitation, the host concludes that
   there are no routers on the link for the purpose of [ADDRCONF].
   However, the host continues to receive and process Router
   Advertisements messages in the event that routers appear on the link.



(page 55 continued on part 3)

Next Section