rfc2461.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,451 行 · 第 1/5 页

TXT
1,451
字号






Network Working Group                                        T. Narten
Request for Comments: 2461                                         IBM
Obsoletes: 1970                                            E. Nordmark
Category: Standards Track                             Sun Microsystems
                                                            W. Simpson
                                                            Daydreamer
                                                         December 1998


               Neighbor Discovery for IP Version 6 (IPv6)

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 (1998).  All Rights Reserved.

Abstract

   This document specifies the Neighbor Discovery protocol for IP
   Version 6.  IPv6 nodes on the same link use Neighbor Discovery to
   discover each other's presence, to determine each other's link-layer
   addresses, to find routers and to maintain reachability information
   about the paths to active neighbors.

   Table of Contents

   1.  INTRODUCTION.............................................    3
   2.  TERMINOLOGY..............................................    4
      2.1.  General.............................................    4
      2.2.  Link Types..........................................    7
      2.3.  Addresses...........................................    8
      2.4.  Requirements........................................    9
   3.  PROTOCOL OVERVIEW........................................    9
      3.1.  Comparison with IPv4................................   13
      3.2.  Supported Link Types................................   15
   4.  MESSAGE FORMATS..........................................   17
      4.1.  Router Solicitation Message Format..................   17
      4.2.  Router Advertisement Message Format.................   18
      4.3.  Neighbor Solicitation Message Format................   21
      4.4.  Neighbor Advertisement Message Format...............   23
      4.5.  Redirect Message Format.............................   26



Narten, et. al.             Standards Track                     [Page 1]

RFC 2461              Neighbor Discovery for IPv6          December 1998


      4.6.  Option Formats......................................   28
         4.6.1.  Source/Target Link-layer Address...............   28
         4.6.2.  Prefix Information.............................   29
         4.6.3.  Redirected Header..............................   31
         4.6.4.  MTU............................................   32
   5.  CONCEPTUAL MODEL OF A HOST...............................   33
      5.1.  Conceptual Data Structures..........................   33
      5.2.  Conceptual Sending Algorithm........................   35
      5.3.  Garbage Collection and Timeout Requirements.........   37
   6.  ROUTER AND PREFIX DISCOVERY..............................   37
      6.1.  Message Validation..................................   38
         6.1.1.  Validation of Router Solicitation Messages.....   38
         6.1.2.  Validation of Router Advertisement Messages....   39
      6.2.  Router Specification................................   40
         6.2.1.  Router Configuration Variables.................   40
         6.2.2.  Becoming An Advertising Interface..............   44
         6.2.3.  Router Advertisement Message Content...........   44
         6.2.4.  Sending Unsolicited Router Advertisements......   46
         6.2.5.  Ceasing To Be An Advertising Interface.........   46
         6.2.6.  Processing Router Solicitations................   47
         6.2.7.  Router Advertisement Consistency...............   48
         6.2.8.  Link-local Address Change......................   49
      6.3.  Host Specification..................................   50
         6.3.1.  Host Configuration Variables...................   50
         6.3.2.  Host Variables.................................   50
         6.3.3.  Interface Initialization.......................   51
         6.3.4.  Processing Received Router Advertisements......   51
         6.3.5.  Timing out Prefixes and Default Routers........   54
         6.3.6.  Default Router Selection.......................   54
         6.3.7.  Sending Router Solicitations...................   55
   7.  ADDRESS RESOLUTION AND NEIGHBOR UNREACHABILITY DETECTION.   56
      7.1.  Message Validation..................................   57
         7.1.1.  Validation of Neighbor Solicitations...........   57
         7.1.2.  Validation of Neighbor Advertisements..........   58
      7.2.  Address Resolution..................................   58
         7.2.1.  Interface Initialization.......................   59
         7.2.2.  Sending Neighbor Solicitations.................   59
         7.2.3.  Receipt of Neighbor Solicitations..............   60
         7.2.4.  Sending Solicited Neighbor Advertisements......   61
         7.2.5.  Receipt of Neighbor Advertisements.............   62
         7.2.6.  Sending Unsolicited Neighbor Advertisements....   64
         7.2.7.  Anycast Neighbor Advertisements................   65
         7.2.8.  Proxy Neighbor Advertisements..................   65
      7.3.  Neighbor Unreachability Detection...................   66
         7.3.1.  Reachability Confirmation......................   66
         7.3.2.  Neighbor Cache Entry States....................   67
         7.3.3.  Node Behavior..................................   68
   8.  REDIRECT FUNCTION........................................   70



Narten, et. al.             Standards Track                     [Page 2]

RFC 2461              Neighbor Discovery for IPv6          December 1998


      8.1.  Validation of Redirect Messages.....................   71
      8.2.  Router Specification................................   72
      8.3.  Host Specification..................................   73
   9.  EXTENSIBILITY - OPTION PROCESSING........................   74
   10.  PROTOCOL CONSTANTS......................................   75
   11.  SECURITY CONSIDERATIONS.................................   76
   12.  RENUMBERING CONSIDERATIONS..............................   78

   References...................................................   80
   Authors' Addresses...........................................   81
   Appendix A: Multihomed Hosts.................................   82
   Appendix B: Future Extensions................................   84
   Appendix C: State Machine for the Reachability State.........   85
   Appendix D: Summary of ISROUTER Rules........................   88
   Appendix E: Implementation Issues............................   89
       Appendix E.1: Reachability confirmations.................   89
   Appendix F: Changes since RFC 1970...........................   91
   Full Copyright Statement.....................................   93

1.  INTRODUCTION

   This specification defines the Neighbor Discovery (ND) protocol for
   Internet Protocol Version 6 (IPv6).  Nodes (hosts and routers) use
   Neighbor Discovery to determine the link-layer addresses for
   neighbors known to reside on attached links and to quickly purge
   cached values that become invalid.  Hosts also use Neighbor Discovery
   to find neighboring routers that are willing to forward packets on
   their behalf.  Finally, nodes use the protocol to actively keep track
   of which neighbors are reachable and which are not, and to detect
   changed link-layer addresses.  When a router or the path to a router
   fails, a host actively searches for functioning alternates.

   Unless specified otherwise (in a document that covers operating IP
   over a particular link type) this document applies to all link types.
   However, because ND uses link-layer multicast for some of its
   services, it is possible that on some link types (e.g., NBMA links)
   alternative protocols or mechanisms to implement those services will
   be specified (in the appropriate document covering the operation of
   IP over a particular link type).  The services described in this
   document that are not directly dependent on multicast, such as
   Redirects, Next-hop determination, Neighbor Unreachability Detection,
   etc., are expected to be provided as specified in this document.  The
   details of how one uses ND on NBMA links is an area for further
   study.

   The authors would like to acknowledge the contributions of the IPNGWG
   working group and, in particular, (in alphabetical order) Ran
   Atkinson, Jim Bound, Scott Bradner, Alex Conta, Stephen Deering,



Narten, et. al.             Standards Track                     [Page 3]

RFC 2461              Neighbor Discovery for IPv6          December 1998


   Richard Draves, Francis Dupont, Robert Elz, Robert Gilligan, Robert
   Hinden, Allison Mankin, Dan McDonald, Charles Perkins, Matt Thomas,
   and Susan Thomson.

2.  TERMINOLOGY

2.1.  General

   IP          - Internet Protocol Version 6.  The terms IPv4 and
                 IPv6 are used only in contexts where necessary to avoid
                 ambiguity.

   ICMP        - Internet Message Control Protocol for the Internet
                 Protocol Version 6.  The terms ICMPv4 and ICMPv6 are
                 used only in contexts where necessary to avoid
                 ambiguity.

   node        - a device that implements IP.

   router      - a node that forwards IP packets not explicitly
                 addressed to itself.

   host        - any node that is not a router.

   upper layer - a protocol layer immediately above IP.  Examples are
                 transport protocols such as TCP and UDP, control
                 protocols such as ICMP, routing protocols such as OSPF,
                 and internet or lower-layer protocols being "tunneled"
                 over (i.e., encapsulated in) IP such as IPX, AppleTalk,
                 or IP itself.

   link        - a communication facility or medium over which nodes can
                 communicate at the link layer, i.e., the layer
                 immediately below IP.  Examples are Ethernets (simple
                 or bridged), PPP links, X.25, Frame Relay, or ATM
                 networks as well as internet (or higher) layer
                 "tunnels", such as tunnels over IPv4 or IPv6 itself.

   interface   - a node's attachment to a link.

   neighbors   - nodes attached to the same link.

   address     - an IP-layer identifier for an interface or a set of
                 interfaces.

   anycast address
               - an identifier for a set of interfaces (typically
                 belonging to different nodes).  A packet sent to an



Narten, et. al.             Standards Track                     [Page 4]

RFC 2461              Neighbor Discovery for IPv6          December 1998


                 anycast address is delivered to one of the interfaces
                 identified by that address (the "nearest" one,
                 according to the routing protocol's measure of
                 distance).  See [ADDR-ARCH].

                 Note that an anycast address is syntactically
                 indistinguishable from a unicast address.  Thus, nodes
                 sending packets to anycast addresses don't generally
                 know that an anycast address is being used.  Throughout
                 the rest of this document, references to unicast
                 addresses also apply to anycast addresses in those
                 cases where the node is unaware that a unicast address
                 is actually an anycast address.

   prefix      - a bit string that consists of some number of initial
                 bits of an address.

   link-layer address
               - a link-layer identifier for an interface.  Examples
                 include IEEE 802 addresses for Ethernet links and E.164
                 addresses for ISDN links.

   on-link     - an address that is assigned to an interface on a
                 specified link.  A node considers an address to be on-
                 link if:

                    - it is covered by one of the link's prefixes, or

                    - a neighboring router specifies the address as
                      the target of a Redirect message, or

                    - a Neighbor Advertisement message is received for
                      the (target) address, or

                    - any Neighbor Discovery message is received from
                      the address.

   off-link    - the opposite of "on-link"; an address that is not
                 assigned to any interfaces on the specified link.

   longest prefix match
               - The process of determining which prefix (if any) in
                 a set of prefixes covers a target address.  A target
                 address is covered by a prefix if all of the bits in
                 the prefix match the left-most bits of the target
                 address.  When multiple prefixes cover an address,
                 the longest prefix is the one that matches.




Narten, et. al.             Standards Track                     [Page 5]

RFC 2461              Neighbor Discovery for IPv6          December 1998


   reachability
               - whether or not the one-way "forward" path to a
                 neighbor is functioning properly.  In particular,
                 whether packets sent to a neighbor are reaching the
                 IP layer on the neighboring machine and are being

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?