INTERNET-DRAFT J. McCann, Digital Equipment Corporation March 24, 1997 Host Reachability Advertisement for IPv6 draft-mccann-ipv6-hra-00.txt Abstract This document describes a mechanism that can be used by IPv6 hosts to communicate information about their address configuration to neighboring routers. In particular, this mechanism is intended to allow multihomed hosts and hosts with anycast addresses to communicate this information to their neighboring routers. This document defines a new ICMPv6 informational message type, a "Host Reachability Advertisement" to carry this information. It also defines a second ICMPv6 message, a "Host Reachability Solicitation", that can be used to trigger Host Reachability Advertisements. Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Distribution of this document is unlimited. Expiration September 24, 1997 draft-mccann-ipv6-hra-00.txt [Page 1] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 Contents Abstract........................................................1 Status of this Memo.............................................1 Contents........................................................2 1. Introduction.................................................3 2. Terminology..................................................3 3. Protocol overview............................................4 3.1. Multihomed Host Example....................................4 3.2. Anycast Example............................................4 4. Message formats..............................................5 4.1. Host Reachability Solicitation message format..............5 4.2. Host Reachability Advertisement message format.............5 5. Protocol Requirements........................................7 5.1. Host specification.........................................7 5.1.1. Sending Host Reachability Solicitations..................7 5.1.2. Processing Received Host Reachability Solicitations......7 5.1.3. Sending Host Reachability Advertisements.................7 5.1.3.1. Sending Unsolicited HRAs...............................7 5.1.3.2. Sending Solicited HRAs.................................8 5.1.4. Processing Received Host Reachability Advertisements.....8 5.2. Router specification.......................................8 5.2.1. Sending Host Reachability Solicitations..................8 5.2.2. Processing Received Host Reachability Solicitations......8 5.2.3. Sending Host Reachability Advertisements.................8 5.2.4. Processing Received Host Reachability Advertisements.....8 5.2.5. Timers...................................................9 5.2.6. Interaction with Neighbor Unreachability Detection (NUD).9 5.3. Protocol constants.........................................9 6. Security considerations......................................9 Acknowledgements................................................9 Appendix A - Issues............................................10 References.....................................................11 Author's Address...............................................12 draft-mccann-ipv6-hra-00.txt [Page 2] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 1. Introduction This document describes a mechanism that can be used by IPv6 hosts to communicate information about their address configuration to neighboring routers. In particular, this mechanism is intended to allow hosts with multiple interfaces and hosts with anycast addresses to communicate this information to their neighboring routers. This document defines a new ICMPv6 informational message type, a "Host Reachability Advertisement" (HRA) to carry this information. HRAs are periodically transmitted. It also defines a second ICMPv6 message, a "Host Reachability Solicitation", (HRS) that can be used to trigger HRAs. The latter message type is intended to allow bootstrapping routers to avoid having to wait for the next periodic HRA. Both messages are for link-local use only. 2. Terminology node - a device that implements IPv6. router - a node that forwards IPv6 packets not explicitly addressed to itself. host - any node that is not a router. link - a communication facility or medium over which nodes can communicate at the link layer, i.e., the layer immediately below IPv6. Examples are Ethernets (simple or bridged); PPP links; X.25, Frame Relay, or ATM networks; and internet (or higher) layer "tunnels", such as tunnels over IPv4 or IPv6 itself. interface - a node's attachment to a link. address - an IPv6-layer identifier for an interface or a set of interfaces. packet - an IPv6 header plus payload. link MTU - the maximum transmission unit, i.e., maximum packet size in octets, that can be conveyed in one piece over a link. draft-mccann-ipv6-hra-00.txt [Page 3] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 3. Protocol overview 3.1. Multihomed Host Example HRA(src=fe80::a1, address1=2::a) ------------------------------------------------------ Link 1 fe80::a1 | 1::a | +-----+ +-----+ | A | | R |---- network +-----+ +-----+ fe80::a2 | 2::a | ------------------------------------------------------ Link 2 HRA(src=fe80::a2, address1=1::a) Host A transmits an HRA on Link 2 to inform router R that address 1::a can be reached through Host A's interface on Link 2 (address fe80::a2). Host A also transmits an HRA on Link 1 to inform router R that address 2::a can be reached through Hosts A's interface on Link 1 (address fe80::a1). 3.2. Anycast Example +-----+ | A | +-----+ fe80::a1 | 3::c ------------------------------------------------------ Link 1 HRA(src=fe80::a1, address1=3::c) | +-----+ | R |---- network +-----+ HRA(src=fe80::b2, address1=3::c) | ------------------------------------------------------ Link 2 fe80::b2 | 3::c +-----+ | B | +-----+ Hosts A and B are both configured with anycast address 3::c. Host A transmits an HRA on Link 1 to inform router R that address 3::c can be reached through Host A's interface on Link 1 (address fe80::a1). Host B transmits an HRA on Link 2 to inform router R that address 3::c can be reached through Host B's interface on Link 2 (address fe80::b2). draft-mccann-ipv6-hra-00.txt [Page 4] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 4. Message formats This section specifies the protocol message format of the Host Reachability Solicitation and the Host Reachability Advertisement. 4.1. Host Reachability Solicitation message format The Host Reachability Solicitation is an ICMPv6 informational message with the following format: 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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IPv6 Fields: Source Address Link-local unicast address of the sending interface. Destination Address Link-local all-nodes multicast address. Hop Limit 255 Priority 15 ICMPv6 Fields: Type TBD Code TBD Checksum The ICMPv6 checksum. See [ICMPv6]. Reserved This field is unused. It MUST be initialized to zero by the sender and MUST be ignored by the receiver. 4.2. Host Reachability Advertisement message format The Host Reachability Advertisement is an ICMPv6 informational message with the following format: draft-mccann-ipv6-hra-00.txt [Page 5] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Address[1] | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . . . . . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Address[n] | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IPv6 Fields: Source Address Link-local unicast address of the sending interface. Destination Address Link-local all-routers multicast address, or for an advertisement triggered by an HRS, this may be the source address from the HRS. Hop Limit 255 Priority 15 ICMPv6 Fields: Type TBD Code TBD Checksum The ICMPv6 checksum. See [ICMPv6]. Reserved This field is unused. It MUST be initialized to zero by the sender and MUST be ignored by the receiver. Address[1..n] One or more 128-bit IPv6 addresses configured on draft-mccann-ipv6-hra-00.txt [Page 6] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 the sending host. The number of addresses n is derived from the packet size. MUST be a unicast address. MUST NOT be a link-local address. Site- local addresses MUST belong to the same site as the sending interface. 5. Protocol Requirements This section specifies the protocol requirements for both hosts and routers. 5.1. Host specification 5.1.1. Sending Host Reachability Solicitations Hosts do not send HRSs. 5.1.2. Processing Received Host Reachability Solicitations A host MUST silently discard any received HRS that does not pass the following validity checks: - The IPv6 Source Address field contains a link-local address. - The IPv6 Hop Limit field has a value of 255. - ICMPv6 Checksum is valid. - ICMPv6 length (derived from the IP length) is 8 octets. A host receiving a valid HRS SHOULD send a HRA as described in the next section. 5.1.3. Sending Host Reachability Advertisements A host MAY send HRAs if configured to do so. The means by which a host is configured to send HRAs is beyond the scope of this document. The remainder of this section applies only to hosts which are configured to send HRAs. 5.1.3.1. Sending Unsolicited HRAs A host periodically multicasts HRAs to the link-local all-routers multicast address. The period is a random amount of time between HRA_PERIOD_MIN and HRA_PERIOD_MAX. The period is reset to a new draft-mccann-ipv6-hra-00.txt [Page 7] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 random value between HRA_PERIOD_MIN and HRA_PERIOD_MAX each time an Unsolicited HRA is sent. 5.1.3.2. Sending Solicited HRAs A host SHOULD send a HRA upon receiving a valid HRS. If the next Unsolicited HRA is scheduled to be sent within HRA_DELAY_MAX time, a separate Solicited HRA does not need to be sent. A Solicited HRA is unicast to the soliciting node. Sending a Solicited HRA SHOULD be delayed for a random amount of time between 0 and HRA_DELAY_MAX. 5.1.4. Processing Received Host Reachability Advertisements Hosts MUST silently ignore received HRAs. 5.2. Router specification 5.2.1. Sending Host Reachability Solicitations A router MAY send a HRS to elicit HRAs from hosts on a link. An HRS is sent to the link-local all-nodes multicast address. 5.2.2. Processing Received Host Reachability Solicitations Routers MUST silently ignore received HRSs. 5.2.3. Sending Host Reachability Advertisements Routers do not send HRAs. 5.2.4. Processing Received Host Reachability Advertisements A router MUST silently discard any received HRA that does not pass the following validity checks: - The IPv6 Source Address field contains a link-local address. - The IPv6 Hop Limit field has a value of 255. - ICMPv6 Checksum is valid. - The packet is properly authenticated (for packets containing an authentication header). draft-mccann-ipv6-hra-00.txt [Page 8] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 Upon receipt of a valid HRA, a router MAY update its routing tables to reflect the information contained in the HRA. A router MAY also communicate this information with other routers. The mechanisms used to accomplish the above are beyond the scope of this specification. 5.2.5. Timers A router that uses reachable address information from an HRA MUST maintain a timer for each address. Each time an HRA is received for an address, the timer is set to HRA_TIMEOUT seconds. If the timer expires, the router MUST consider the address no longer reachable on that path. 5.2.6. Interaction with Neighbor Unreachability Detection (NUD) If Neighbor Unreachability Detection (NUD) [ND] indicates that the source of an HRA is no longer reachable, the router MUST consider addresses received in an HRA from that source no longer reachable on that path. 5.3. Protocol constants HRA_PERIOD_MIN 15 seconds HRA_PERIOD_MAX 45 seconds HRA_DELAY_MAX 5 seconds HRA_TIMEOUT 4 * HRA_PERIOD_MAX 6. Security considerations The HRA provides a mechanism by which reachability information may be injected into the routing system. Routers may require HRAs to be authenticated in configurations where this is considered a threat. Acknowledgements The author wishes to acknowledge the following people for their review and constructive criticism of early drafts of this document: Jim Bound, Jitu Patel, Mike Shand, and Matt Thomas. draft-mccann-ipv6-hra-00.txt [Page 9] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 Appendix A - Issues - Should there be a way for hosts to tell routers that an address contained in a previous HRA is no longer reachable, or is the router timeout sufficient? - Should the HRA carry some sort of metric information for the addresses contained therein? draft-mccann-ipv6-hra-00.txt [Page 10] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 References [ICMPv6] A. Conta and S. Deering, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", RFC 1885, December 1995 [IPv6] S. Deering and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 1883, December 1995 [ND] T. Narten, E. Nordmark, and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 1970, August 1996 draft-mccann-ipv6-hra-00.txt [Page 11] INTERNET-DRAFT draft-mccann-ipv6-hra-00.txt March 24, 1997 Author's Address Jack McCann Digital Equipment Corporation 110 Spitbrook Road, ZKO3-3/U14 Nashua, NH 03062 Phone: +1 603 881 2608 Fax: +1 603 881 0120 Email: mccann@zk3.dec.com Expiration September 24, 1997 draft-mccann-ipv6-hra-00.txt [Page 12]