📄 rfc2461.txt
字号:
Network Working Group T. NartenRequest for Comments: 2461 IBMObsoletes: 1970 E. NordmarkCategory: 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............................. 26Narten, 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........................................ 70Narten, 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..................................... 931. 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. TERMINOLOGY2.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 anNarten, 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 processed properly by the receiving IP layer. For neighboring routers, reachability means that packets sent by a node's IP layer are delivered to the router's IP layer, and the router is indeed forwarding packets (i.e., it is configured as a router, not a host). For hosts, reachability means that packets sent by a node's IP layer are delivered to the neighbor host's IP layer.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -