view Side-By-Side changes
ADDRCONF Working Group SusanThomson (Bellcore)Thomson, Bellcore INTERNET-DRAFTJuly 7,Thomas Narten, IBM <draft-ietf-addrconf-ipv6-auto-04.txt> October 4, 1995<draft-ietf-addrconf-ipv6-auto-03.txt>IPv6 Stateless Address Autoconfiguration Status of this Memo This document is a submission to the ADDRCONF Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the addrconf@cisco.com mailing list. 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. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "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 ds.internic.net, nic.nordu.net, ftp.nisc.sri.com or munnari.oz.au. Distribution of this memo is unlimited. This Internet Draft expires April 4, 1996. Abstract This document specifies howa node configures a link-local address per interface, and howhosts autoconfigure addresses for their interfaces in IP version 6. In particular, the document describes the steps a hostconfigures a list of global or site- local addresses per interface, without any manual configuration. Statelesstakes in determining whether address autoconfigurationis only one mechanism availableshould be used, and if so, whether tohosts; stateful address configuration is also available. Whileuse the statefuladdress configuration is outsidemechanism, thescope of this document, it is specified how hosts determine which configuration method must be used. Thestateless mechanism or both. This document also specifiesa protocol for detecting whetherstateless address autoconfiguration, and how nodes verify the uniqueness of an addressis a duplicate whenbefore assigning it to an interface. Stateful address autoconfiguration isinitially configured. Expires January 7, 1995specified elsewhere. draft-ietf-addrconf-ipv6-auto-04.txt [Page 1] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 Contents Status of this Memo....................................... 1 1. INTRODUCTION.......................................... 3 2. TERMINOLOGY........................................... 4 2.1. Requirements..................................... 7 3. DESIGN GOALS.......................................... 8 4. PROTOCOL OVERVIEW..................................... 9 4.1. Site Renumbering................................. 10 5. PROTOCOL SPECIFICATION................................ 11 5.1. Host Configuration Variables..................... 11 5.2. Autoconfiguration-Related Variables.............. 12 5.3. Creation of Link-Local Addresses................. 12 5.4. Verifying The Uniqueness Of An Address........... 13 5.4.1. Message Validation.......................... 14 5.4.2. Sending Neighbor Solicitation Messages...... 14 5.4.3. Receiving Neighbor Solicitation and Advertisement Messages 15 5.5. Creation of Global- and Site-Local Addresses..... 16 5.5.1. Sending Router Solicitations................ 16 5.5.2. Absence of Router Advertisements............ 16 5.5.3. Router Advertisement Processing............. 16 5.5.4. Address Lifetime Expiry..................... 18 5.6. ConfigurationJulyConsistency........................ 18 6. OPEN ISSUES/TODO...................................... 19 7. SECURITY CONSIDERATIONS............................... 20 8. REFERENCES............................................ 20 AUTHORS' ADDRESSES........................................ 20 draft-ietf-addrconf-ipv6-auto-04.txt [Page 2] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 1. INTRODUCTIONIn IPv6, a host has two mechanisms available to form a globalThis document specifies how hosts autoconfigure their interfaces in IP version 6. The autoconfiguration process includes determining what information should be autoconfigured (addresses, other information, orsite-local address that require no manual configuration: the state- less methodboth), and in thestateful method. Incase of addresses, whether they should be obtained through the statelessmethod, no external state is maintained formechanism, thepurpose of indicating tostateless mechanism, or both. This document also specifies stateless address autoconfiguration. Stateful address autoconfiguration is specified elsewhere. IPv6 defines both ahost the list of addresses to use for an interface. Rather,stateful and stateless address autoconfiguration mechanism. Stateless autoconfiguration requires no manual configuration of hosts, minimal (if any) configuration of routers, and no additional servers. The stateless mechanism allows a hostformsto generate its own addresses using alistcombination ofaddresses algorithmicallylocally available information and information advertised byconcatenating each of the net- workrouters. Routers advertise prefixesofthat identify theattached link tosubnet(s) associated with a link, while hosts generate an "interface token" that uniquely identifies an interfacetoken unique per link. The interface tokenon a subnet. An address isdefined to be link-dependent and may beformed by combining thehardware address,two. In the absence of routers, a host can only generate link-local addresses. However, link-local addresses are sufficient forexample.allowing communication among nodes attached to the same link. Incontrast, state is maintained inthe statefuladdress configuration, typically inautoconfiguration model, hosts obtain interface addresses from a server.For example, the IPv6 Dynamic Host Configuration Protocol is an exampleServers maintain a database that keeps track ofstateful address autoconfiguration. Stateless autoconfiguration is designed to make address configuration very simplewhich addresses have been assigned touse and implement, and is suitable for environments with simple topologies, e.g. routerless networks, and for environ- ments where system administrative control is not desired, e.g. plug- and-play environments.which hosts. Incontrast,addition to addresses, statefuladdressservers can also supply configurationis designed to support flexible address assignment and is suitable for more sophisticated topologiesinformation andfor environments where system administrative control is desired, e.g. corporate networks. Any node can use stateless addressparameters to a host. The stateful autoconfiguration mechanism allows hosts toformobtain addresses, other configuration information or both from a server. Stateless and stateful autoconfiguration complement each other. For example, alink- local address per interface. Ahost can useeitherstatelessor statefulautoconfiguration(or both)to configureglobal or site- local addresses for an interface.its own addresses, but use stateful autoconfiguration to obtain other information. Stateful autoconfiguration is described in [DHCPv6]. Thechoice of mechanism for confi- guring global or site-local addressesstateless approach isitself configurable, and requires no manual configuration per host. One of the basic assumptions of stateless autoconfigurationused when a site isthatnot particularly concerned with thetoken used to formexact addressesper interface is at leasthosts use, so long as they are uniqueper link. However, whatever theand properly routable. The stateful approach is used when a site requires tighter control over exact address assignments. Both stateful and stateless address autoconfiguration may be used simultaneously. The site administrator specifies which type oftokens used, interface tokens are not guaranteedautoconfiguration toalways be unique in practice becauseuse through the setting oferrorsappropriate fields inassignment. Thus, it is possible that IPv6 addresses formed using stateless autoconfiguration are not unique among all nodes on a link. Since duplicateRouter Advertisement messages [DISCOVERY]. IPv6 addresses arevery difficultleased totrack down when they occur, this document also specifies a procedurean interface fordetecting duplicate addresses. Notea fixed (possibly infinite) length of time. Each address has an associated lifetime that indicates how long thealgorithm does not only apply to addresses autoconfigured using the stateless mode. It should be usedaddress is bound toverifyan interface. When a lifetime expires, theuniqueness of any address, for example, addresses con- figured usingbinding (and address) becomes invalid and thestateful mode or manually configured addresses. Expires January 7, 1995address may draft-ietf-addrconf-ipv6-auto-04.txt [Page2]3] INTERNET-DRAFT IPv6 Stateless AddressConfiguration JulyAutoconfiguration October 1995This document describes how a node configures a link-local address perbe reassigned to another interfaceusing statelesselsewhere in the Internet. To handle the expiration of addressautoconfiguration, and how a host configures global or site-local unicast addresses per interface using statelessbindings gracefully, an addressautoconfiguration. Statefulgoes through two distinct phases while assigned to an interface. Initially, an addressautocon- figurationisoutside"preferred", meaning that its use in arbitrary communication is unrestricted. Later, an address becomes "deprecated" in anticipation that its current interface binding will become invalid. While in a deprecated state, thescopeuse ofthis document. However,address is discouraged, but not strictly forbidden. New communication (e.g., thedocu- ment does specify howopening of ahost determines whether tonew TCP connection) gives preference to using a non-deprecated address, with use of thestateless mechanism ordeprecated address restricted to applications that have been using thestateful mechanism for configuring global or site- local addresses. Thedeprecated address already and would have difficulty switching to another address without a service disruption. Finally, this documentalsodescribes the algorithmused bya node employs todetect ifverify that an address it is about to assign to an interface is unique on the link. The "duplicate address detection" algorithm is used before an address is actually used, independent of whether the address was obtained via stateless or stateful autoconfiguration. The autoconfiguration process specified in this document applies only to hosts and not routers. Since host autoconfiguration uses information advertised by routers, routers will need to be configured by some other means. However, it is possible for routers to use the mechanism described in this document for generating a link-local address. All nodes (not only hosts) should use the duplicatewhen initially configured. Expires January 7, 1995 [Page 3] INTERNET-DRAFT Stateless Address Configuration July 1995address detection procedure. Section 2 provides definitions for terminology used throughout this document. Section 3 describes the design goals that lead to the current autoconfiguration procedure. Section 4 provides an overview of the protocol, while Section 5 describes the protocol in detail. 2. TERMINOLOGY IP - Internet Protocol Version 6. The terms IPv4 and IPv6 are used only in contexts where necessary to avoid ambiguity. node - a device that implementsIPv6.IP. router - a node that forwardsIPv6IP packets not explicitly addressed to itself. host - any node that is not a router. upper layer - a protocol layer immediately aboveIPv6.IP. Examples are draft-ietf-addrconf-ipv6-auto-04.txt [Page 4] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 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)IPv6IP such as IPX, AppleTalk, orIPv6IP itself. link - a communication facility or medium over which nodes can communicate at the link layer, i.e., the layer immediately belowIPv6.IP. 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.neighbors - nodes attached to the same link.interface - a node's attachment to a link. autoconfigurable interface - an interface that has been configured by system management to perform autoconfiguration. packet - anIPv6IP 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. target - a node about which address resolution information is sought, or a node which is the new first-hop when being redirected.address - anIPv6-layerIP-layer identifier for an interface or a set of interfaces. unicast address - an identifier for a single interface. A packet sent to a unicast address is delivered to the interfaceExpires January 7, 1995 [Page 4] INTERNET-DRAFT Stateless Address Configuration July 1995identified by that address.anycastmulticast address - an identifier for a set of interfaces (typically belonging to different nodes). A packet sent toan anycasta multicast address is delivered toone of theall interfaces identified by thataddress (the "nearest" one, according to the routing protocols' measure of distance).address. solicited-node multicast address -an identifier for a set of interfaces (typically belonging to different nodes). A packet sent toa multicast addressis deliveredtoall interfaces identified by that address.which Neighbor Solicitation messages are sent. The algorithm for computing the address is given in [DISCOVERY]. link-layer address - a link-layer identifier for an interface. Examplesareinclude IEEE 802 addresses for Ethernetlinks,links and E.164 addresses for ISDN links. link-local address - an addresswith ahaving link-only scope thatis limitedcan be used tothe locallyreach neighboring nodes attached to the same link. All draft-ietf-addrconf-ipv6-auto-04.txt [Page 5] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 interfaces have a link-local unicast address. site-local address - an addresswith ahaving scope that is limited to the local site. global address - an address with unlimited scope. communication - any packet exchange between nodes that requiresor recommendsthat the address of each node used in the exchange remain the same for the duration of the packet exchange. Examples are a TCP connection or a UDPrequest-response. deprecation lifetimerequest- response. tentative address -indicates the time at whichan addressshould no longer be used aswhose uniqueness on asourcelink is being verified, prior to its assignment to an interface. A tentative addressin new communications. The deprecation lifetime must be less than or equalis not considered assigned to an interface in theinvalidation lifetime Expires January 7, 1995 [Page 5] INTERNET-DRAFT Stateless Address Configuration July 1995 ofusual sense. An interface discards received packets addressed to a tentative address, but accepts Neighbor Discover packets related to duplicate address detection for the tentative address.invalidation lifetimepreferred address -indicates the time at whichan addressno longer identifiesassigned to an interface whose use by upper layer protocols is unrestricted. Preferred addresses may be used as the source orsetdestination address ofinterfaces. The invalidation lifetime must be greater thanpackets sent from orequalto thedeprecation lifetime of the address. validinterface. deprecated address -anAn address assigned to an interface whosedeprecation lifetime hasuse is discouraged, but notyet expired.forbidden. A deprecated address- anshould no longer be used as a source addresswhose deprecation lifetime has expired,in new communications, butwhose invalidation lifetime has not. invalidpackets sent to deprecated address- anare delivered as expected. A deprecated addresswhose invalidation lifetime has expired.may continue to be used as a source address in communications where switching to a preferred address causes hardship to a specific upper-layer activity (e.g., an existing TCP connection). valid address - a preferred or deprecated address. A valid address may appear as the source or destination address of a packet, and the internet routing system is expected to be able to deliver packets sent to a valid address. draft-ietf-addrconf-ipv6-auto-04.txt [Page 6] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 invalid address - an address that is not assigned to any interface. A valid address becomes invalid when its deprecation lifetime expires. Invalid addresses should not appear as the destination or source address of a packet. In the former case, the internet routing system will be unable to deliver the packet, in the later case the recipient of the packet will be unable to respond to it. preferred lifetime - the length of time that a valid address is preferred. When the preferred lifetime expires, the address becomes deprecated. valid lifetime - the length of time an address remains in the valid state. The valid lifetime must be greater then or equal to the preferred lifetime. When the valid lifetime expires, the address becomes invalid. interface token - a link-dependent identifier for an interface that is (at least) unique per link.An example isStateless address autoconfiguration combines an interface token with a prefix to form an address. An IEEE 802address.hardware address is an example of a possible interface token. The manner in which an interface token is created and its length is link-specific, and is described in the specification for the particular link type (e.g., [IPv6-ETHER]). 2.1. Requirements Throughout this document, the words that are used to define thesig- nificancesignificance of the particular requirements are capitalized. These words are: MUST This word or the adjective "REQUIRED" means that the item is an absolute requirement of this specification. MUST NOT This phrase means the item is an absolute prohibition of this specification. SHOULDExpires January 7, 1995 [Page 6] INTERNET-DRAFT Stateless Address Configuration July 1995This word or the adjective "RECOMMENDED" means that there may exist draft-ietf-addrconf-ipv6-auto-04.txt [Page 7] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 valid reasons in particular circumstances to ignore this item, but the fullimpliciationsimplications should be understood and the case carefully weighed before choosing a different course. SHOULD NOT This phrase means that there may exist valid reasons inparticu- larparticular circumstances when the listed behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighted before implementing any behavior described with this label. MAY This word or the adjective "OPTIONAL" means that this item is truly optional. One vendor may choose to include the item because a particular marketplace requires it or because it enhances the product, for example, another vendor may omit the same item.Expires January 7, 1995 [Page 7] INTERNET-DRAFT Stateless Address Configuration July 19953.CONCEPTUAL MODEL OF HOST BEHAVIOR Conceptually, a host maintains three data structures: a list of addresses per interface and two flags. One flag, called the "address mode" flag, indicates whether the stateful protocolDESIGN GOALS Stateless autoconfiguration isto be used for address configuration (possibly in addition to the stateless proto- col). The other flag, calleddesigned with the"otherfollowing goals in mind: o Manual configurationmode" flag, indicates whether the stateful protocol is to be used for configura- tionofother information besides addresses. The address list always includes at least one address,individual machines before connecting them to thehost's link-local address, whichnetwork should not be required. Consequently, a mechanism isan addressneeded thatcan only be used in com- munications between nodes attachedallows a host tothe link. In addition, the address list includes any globalobtain orsite-localcreate unique addresses for each of its interfaces. Address autoconfiguration assumes thathave been manually or automatically configured. Noteeach interface can provide a unique identifier for thatstateless address autoconfiguration applies only to the formation of unicast addresses. A node may, however, have anycast and multicast addresses associated withinterface (e.g., aninterface."interface token"). Inparticular, a host must jointheall-nodes multicast address on any multicast interface, and the solicited-node multicast address corresponding to each unicast address on any multicast interface. 3.1. Address Configuration 3.1.1. Link-Local Address On initialization of an interface, a host must form a link-local address by concatenating a well-known link-local prefix[1] tosimplest case, an interface tokenthat is unique per link. The definitionconsists of thetokens used are link-dependent. For example, in the caselink's hardware address. An interface token can be combined with a prefix to form an address. o Small sites consisting of ahostset of machines attached to a single linkthat uses IEEE 802 addresses,should not require thetokenpresence of a stateful server or router as a prerequisite for communicating. Plug-and-play communication is achieved through the48-bit IEEE 802 link-layer addressuse ofthe interface. Tokens forlink-local addresses. Link-local addresses have aspecificwell-known prefix that identifies the (single) shared linkare defined in link-specific IPv6 documents and are outside the scope of this document. Note that a host is abletoautoconfigure a link-local address Expires January 7, 1995 [Page 8] INTERNET-DRAFT Stateless Address Configuration July 1995 completely autonomously. In particular, a host can form a link-local address withoutwhich arouter present on the link. 3.1.2. Global/Site-Local Addressset of nodes attach. A host forms anew global/site-local address whenever a new prefix is advertised by a router and stateless address configuration is enabled. Thelink- local addressis formedby concatenating thenetworklink-local prefixto thewith its interfacetoken that is unique per link in the same way as a link-local address described above. The mechanism used to advertise network prefixes fortoken. o A large site with multiple networks and routers should not require thepurposespresence of a stateful address configurationis the same asserver. To enable hosts to generate site-local or global addresses, Router Advertisements, which are generated by routers, include options thatused in Neighbor Discovery forlist thepurposesset ofprefix discovery. A router advertises prefix information periodically andactive prefixes on ahost uses this information to config- ure and reconfigure addresses. 3.2.link. draft-ietf-addrconf-ipv6-auto-04.txt [Page 8] INTERNET-DRAFT IPv6 Stateless AddressReconfiguration One ofAutoconfiguration October 1995 o Address configuration should facilitate thegoalsgraceful renumbering ofIPv6 address autoconfiguration is not onlya site's machines. For example, a site may wish tobe ablerenumber all of its nodes when it switches toautoconfigurealistnew network service provider. Renumbering is achieved through the leasing of addresseson initialization of an interface, buttobe ableinterfaces and the assignment of multiple addresses tochangetheaddress list dynamically. Note thatsame interface. Lease lifetimes provide thelink-local address never changes (except possibly on interface re-initialization). Hostmechanism through which a site phases out old prefixes. The assignment of multiple addressesmay needtochangean interface provides for anumber of reasons. For example, if thetransition period during which both a new addressassignment scheme is provider-based, hosts may need to change addresses when hosts change provider. Hosts may also need to change addresses when they are disconnected from one linkandconnectedthe one being phased out work simultaneously. o System administrators need the ability toanother. Reconfiguration must not only allowspecify whether stateless autoconfiguration, stateful autoconfiguration, or both should be used. Router Advertisements include flags specifying which mechanisms a hostto acquire a new address, but must also allow hosts to time-out an old address. Current networking protocols have not been designed to maintain existing communications duringshould use. 4. PROTOCOL OVERVIEW This section describes the typical steps that take place when anaddress change. For example, a TCP connection will no longer work if oneinterface autoconfigures itself. Autoconfiguration ofthe hosts changes itsa link-local addressin the middlenormally takes place when an interface is (re)initialized, e.g. at startup. Autoconfiguration ofa connection. Even in a UDP exchange, a hostglobal and site-local addresses and other parameters isexpected to be able to identify itself usingdone periodically, starting as soon as possible after an interface has been initialised or enabled for autoconfiguration. A node starts thesameautoconfiguration process by generating a link-local address for thelength ofinterface. Before theexchange. Expires January 7, 1995 [Page 9] INTERNET-DRAFT Stateless Address Configuration July 1995 To minimise disruption caused by anaddresschange, an address is configured with two lifetimes : a deprecation lifetime and an invali- dation lifetime. The deprecation lifetime mustcan beless than or equal to the invalidation lifetime. Before expiry ofused, however, thedeprecation life- time,node attempts to verify that the "tentative" address isvalid and may be used as the source and destina- tionnot already inany communications. At and after expiry of the deprecation lifetime, but beforeuse by another node on theinvalidation lifetime has expired,link. The node sends out a Neighbor Solicitation message containing the tentative address as the target. If another node isconsideredalready using that address, it will return a Neighbor Advertisement saying so. If another node is also attempting tobe deprecated. A deprecated address can still be used asuse thesource and destination in packets legitimately, butsame address, it will send a Neighbor Solicitation for thedeprecated address should not be usedtarget as well. If asourcenode determines that its tentative link-local addressin new communications if other valid addresses existis not unique, autoconfiguration stops andthese addresses have sufficient scope. If no valid addressesmanual configuration ofsufficient scope exist, thenthedeprecated address should still be used. (Notemachine is required. Once a node ascertains thatthere will always be at least one valid address inthe tentative addresslist,is unique, it assigns it to thelink-local address (see below), butinterface. At thisaddress is only usefulpoint, the node has IP-level connectivity with neighboring nodes via its link-local address. To generate site-local or global addresses, a host listens forcommunications onRouter Advertisements. To obtain an advertisement quickly, a host sends one or more Router Solicitations to thelocal link,all-routers multicast group. If no Router Advertisement is received, the host assumes that stateful address autoconfiguration is desired andthus cannot be used in placeinvokes an appropriate protocol. draft-ietf-addrconf-ipv6-auto-04.txt [Page 9] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 Router Advertisements contain two flags indicating what type ofa deprecatedstateful autoconfiguration (if any) should be performed. A "managed addressfor non-local link communications).configuration" flag indicates whether hosts should use stateful autoconfiguration to obtain addresses. An "other configuration" flag indicates whether hosts should use stateful autoconfiguration to obtain additional information (excluding addresses). Router Advertisements also contain zero or more Prefix Information options that indicate what type of stateless addressbecomes invalid when the invalidation lifetime expires. Such an address must notautoconfiguration should beused as a sourcedone. It should be noted that the stateless and stateful address autoconfiguration fields inoutgoing com- munications or accepted asRouter Advertisements are processed independently of one another, and adestination address in incoming communi- cations. An invalidhost may use both stateful and stateless addressis removed fromautoconfiguration simultaneously. One Prefix Information option field, theaddress list of"autonomous address-configuration flag", indicates whether or not theinterface. Note thatoption even applies to stateless autoconfiguration. If it does, additional option fields contain a subnet prefix together with lifetime values indicating how long addresses created from thedeprecation lifetimesprefix remain preferred andinvalidation lifetimes ofvalid. Routers advertise Router Advertisements periodically. Hosts process thelink-local address are set to infinity. Thus,information contained in each advertisement as described above. For safety, all addresses obtained through autoconfiguration should be tested for uniqueness. In thelink-local address is never deprecated. The intentioncase of addresses created through stateless autoconfig, however, thetwo lifetimes peruniqueness of an address isto allow system administrators to specify a graceful transition period during renumbering. The purpose ofdetermined primarily by thedeprecation time is to indicate toportion of thehost to start using another (presumably longer lasting)addressin new communications to minimiseformed from an interface token. Thus, if a node has already verified theriskuniqueness ofbreaking communications whena link-local address, additional addresses created from theold one times out. A system administratorsame interface token need not be tested for uniqueness. In contrast, all addresses obtained via stateful address autoconfiguration shouldset the deprecation period long enough sobe tested for uniqueness individually. To accommodate sites thatmost, if not all, communica- tions have switched over to usingbelieve thenewoverhead of performing duplicate addressby the timedetection outweighs its benefits, theold one becomes invalid. The lengthuse ofthe deprecation period willduplicate address detection can beenvironment-dependent as it depends ondisabled through theexpected lengthadministrative setting ofcommun- ications. The fact that addresses haveadeprecation lifetime does not needper-interface configuration flag. 4.1. Site Renumbering Address leasing facilitates site renumbering by providing a mechanism toaffecttime-out addresses in hosts. At present, theimplementation of applications, i.e. an applicationTCP/IP protocol suite provides no support for changing endpoint addresses while a TCP connection isnot expected to react whenopen. If an end-point addressit is using becomes deprecated. The purpose of the deprecation lifetime ischanges, existing connections break and all communication tohelpthe old address fails. Even when applicationsor networking softwareuse UDP as a transport protocol, addresses must generally remain the same during a packet exchange. Distinguishing valid addresses into preferred and deprecated categories provides a way of indicating toselectupper layers that asufficiently long-lasting source Expires January 7, 1995valid address may draft-ietf-addrconf-ipv6-auto-04.txt [Page 10] INTERNET-DRAFT IPv6 Stateless AddressConfiguration JulyAutoconfiguration October 1995address at the beginning of a new communication. The IP layer is expected to provide a means for upper layers or applications to selectbecome invalid shortly, and future communication using themost appropriate sourceaddressgiven a particular desti- nation. An application may choose to selectwill fail, should thesource address itselfaddress's deprecation lifetime expire beforestarting a newcommunicationor may leave the address unspecified, in which case the upper networkingends. To avoid this scenario, higher layerswillshould usethe mechanism provided by the IP layer to chooseasuitablepreferred addresson(assuming one of sufficient scope exists) to increase theapplication's behalf. Expires January 7, 1995 [Page 11] INTERNET-DRAFT Stateless Address Configuration July 1995 4. ROUTER SPECIFICATION The statelesslikelihood that an addressautoconfiguration mechanism relies on the pre- fix discovery mechanism specified in [2] for advertising network pre- fixes requiredwill remain valid for theformationduration ofaddresses with site-local or glo- bal scope. A prefixthe communication. It isadvertisedup to system administrators to set appropriate prefix lifetimes ina Prefix Information option of a Router Advertisement. Prefix Information includes 1.order to minimize theprefix itself 2.impact of failed communication when renumbering takes place. The deprecation period should be long enough that most, if not all, communications are using theprefix length 3. a flag indicating whethernew address at theprefixtime an address becomes invalid. The IP layer is expected tobe used for prefix discovery[2]. 4.provide aflag indicating whether the prefix is to be usedmeans forstatelessupper layers (including applications) to select the most appropriate source addressautoconfiguration 5.given a particular destination and possibly other constraints. An application may choose to select thedeprecation lifetime ofsource address itself before starting a new communication or may leave theprefixaddress unspecified, inseconds forwhich case thepur- pose of address deprecation 6upper networking layers will use theinvalidation lifetime ofmechanism provided by theprefix forIP layer to choose a suitable address on thepurpose ofapplication's behalf. Detailed addressinvalidation. This field is also used by prefix discovery[2]. Router Advertisement processing is specified completely in [2] along withselection rules are beyond themessage formats and configuration variables. Expires January 7, 1995 [Page 12] INTERNET-DRAFT Stateless Address Configuration July 1995scope of this document. 5.HOSTPROTOCOL SPECIFICATIONThis section specifies host addressAddress autoconfigurationbehavioris performed onreceivingaRouter Advertisement.per-interface basis. For multihomed hosts, address autoconfiguration is performed independently on each interface. 5.1. Host Configuration Variables A hostSHOULDMUST allow the following variable to be configuredper mul- ticastfor each multicast interface:Perform_Addr_ConfigAutoConfig If set, the hostMUST use either stateless or stateful mechanisms to configure global or site-local addresses and to acquire other configuration information as specifiedautoconfigures itself following the procedure described in this document. Default: TRUEAn interface that hasDuplAddrDetect If set, thePerform_Addr_Config flag set is called an "autoconfigurable interface". 5.2. Message Validation A hostnode MUSTsilently discard any Router Advertisement that does not specify the validity checks as specified in [2]. An advertisement that passes these validity checks is called a valid advertisement. 5.3. Router Advertisement Processing To receive a Router Advertisement, a host joinsuse theall-nodes multi- cast address over all multicast-capable interfaces. Expires January 7, 1995duplicate detection procedure (Section 5.4) to verify addresses are unique before assigning them to an interface. Default: TRUE draft-ietf-addrconf-ipv6-auto-04.txt [Page13]11] INTERNET-DRAFT IPv6 Stateless AddressConfiguration JulyAutoconfiguration October 1995 5.2. Autoconfiguration-Related Variables A hostperforms the following address configuration processing whenmaintains avalid solicited or unsolicited Router Advertisement is received over an autoconfigurable interface: For each valid Router Advertisement: The host stores the current valuenumber ofthe Address Modedata structures andthen sets the Address Mode toflags: ManagedFlag Copied from thevalueManaged field of theManagedmost recently received Router Advertisement message. The flag(M bit). If the new value is set, the host MUST use stateful address confi- guration to configure and maintainstarts out in alistFALSE state. OtherFlag Copied from the Other field ofsite-local or global addresses per interface. Note that this does not mean thatthestateful protocol is neces- sarily invoked each time amost recently received Router Advertisementarrivesmessage. The flag starts out in a FALSE state. AddressList List of addresses together with their associated lifetimes. Addresses on theM bit set.list can be obtained through stateless or stateful address autoconfiguration, or some other external mechanism. AddressList initially contains no entries. Thehost usesvalues of these variables and flags changes over time as the lifetimes of prefixes (and addresses) expire, new prefixes are learned, etc. If system management changes an interface's AutoConfig flagonlyfrom TRUE toindicate whetherFALSE, thestateful protocol is tovalue of ManagedFlag and OtherFlag MUST beusedset toconfigure addresses. The state- ful protocol is enabled as soonFALSE, with any in-progress autoconfiguration activities interrupted as described below in Section 5.5.3. 5.3. Creation of Link-Local Addresses A host forms a link-local address whenever an interface is initialized and theAddress Mode changes from FALSE to TRUE. The protocolAutoConfig flag isdisabled as soon asTRUE. (Note that the AutoConfig flagchangesmay be set independently of interface initialization. If the link-local address has not yet been created when the AutoConfig is changed fromTRUEFALSE toFALSE. The actual timesTRUE, it is created atwhichthis time.) An interface is initialized after theproto- colfollowing events: - The interface isinvoked, for example, to requestinitialized at system startup time. - The interface is reinitialized after alist of addressestemporary interface failure orrenewafter being temporarily disabled by system management. - The interface attaches to alist of addresses, are specifiedlink for the first time. A link-local address is formed by prepending theprotocol itself. The host storeswell-known link-local prefix E8::0 [ADDR-ARCH] (of appropriate length) to thecurrent valueinterface token. draft-ietf-addrconf-ipv6-auto-04.txt [Page 12] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 If the interface token has a length of N bits, theOther Configuration flag and then setsinterface token replaces theOther Configuration Mode flag to that inright-most N zero bits of theRouter Advertisement (O bit).link-local prefix. If thenew valueinterface token isset, the host MUST use statefulmore than 118 bits in length, autoconfigurationto acquire otherfails and manual configurationinformation besides the address. The above disclaimer applies here as well. The O bit indicates whether the host must use the stateful mode to acquire other con- figuration information.is required. A link-local address has an infinite preferred and valid lifetime; it is never timed out. 5.4. Verifying Thestateful protocolUniqueness Of An Address Duplicate address detection isenabled for this purpose as soon asperformed on an interface only if theOther Configuration Mode changes from FALSEDuplAddrDetect configuration variable is set to TRUE.The protocolDuplicate address detection isdisabled as soon as the mode changes from TRUEapplied toFALSE. The mode does not indicate the timing of frequencyan address once after an address is created, but before assigning it to an interface, regardless ofacquiring that information. Thiswhether the address isdefinedobtained through stateful, stateless or manual configuration. All addresses SHOULD be tested for uniqueness. However, when stateless address autoconfiguration is used, address uniqueness is determined solely by thestateful protocol itself. For each Prefix-Information extension ininterface token, assuming that subnet prefixes are assigned correctly (i.e., if all of an interface's addresses are generated from the same token, either all addresses or none of them will be duplicates). Thus, for a set of addresses formed from theRouter Advertisementsame interface token, it is sufficient to check thathas the Autonomous flag set: - Ifone of theprefix advertised matchesaddresses is unique on theprefixlink. In such cases, one of those addresses MUST be verified before any of the addresses can be assigned to anExpires January 7, 1995 [Page 14] INTERNET-DRAFT Stateless Address Configuration July 1995 autoconfigured address already ininterface. Normally, thelist, then setlink-local address would be tested, since it is thedeprecation timerfirst address tothatbe formed. The procedure for detecting duplicate addresses makes use of Neighbor Solicitation and Advertisement messages as described below. If a duplicate address is discovered during thedeprecation lifetime speci- fied inprocedure, theextension andinterface will need to be manually configured with a new token, or all IP addresses for theinvalidation timerinterface will need to be manually configured. Note thatoftheinvalidation lifetime. Notemethod for detecting duplicates is not completely reliable, and it is possible thatthis processing MUST NOT beduplicate addresses will still exist. An address on which the duplicate address detection procedure is applied is said to be tentative until the procedure has been completed successfully. A tentative address is not considered "assigned to an interface" in thelink- local address.traditional sense. That is,ifthewell-known link-local prefix is advertised for some reason (probably a configuration error), then the prefix should be ignoredinterface must accept Neighbor Solicitation anda system management error logged. - IfAdvertisement messages containing theprefix advertised does not matchtentative address in theprefix ofTarget Address field, but processes such packets differently from those whose Target Address matches an address assigned to the interface. Other packets addressed to the tentative address should be silently discarded. It should also be noted that duplicate address detection will nearly draft-ietf-addrconf-ipv6-auto-04.txt [Page 13] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 always need to be performed before an addressalready in the list, then formis assigned to anaddress using this network prefix and the interface token. Definitions of theinterfacetokentobe used on a specific link are documented elsewhere.avoid problems that directly result from multiple nodes using the same addresses. If address resolution is done in parallel with duplicate address detection, and theprefix advertisedaddress istoo short or too longsubsequently determined toform a 128-bit address, given the interface token,be in use by another node, theprefix is ignored and an error is logged. Add thisnode performing duplicate addresstodetection may send packets containing thelisttentative address that interfere with thedeprecation timer set to thatproper functioning of thedeprecation lifetime andother nodes, especially theinvalidation timer to that ofone already using theinvalidation lifetime. Note: The address list should be variable-length. Hosts should be able to storeaddress. 5.4.1. Message Validation A node MUST silently discard any Neighbor Solicitation or Neighbor Advertisement that does not specify thelink-local address as wellvalidity checks asall addresses configured using bothspecified in [DISCOVERY]. A solicitation that passes these validity checks is called a valid solicitation or valid advertisement. 5.4.2. Sending Neighbor Solicitation Messages Before sending a Neighbor Solicitation, an interface MUST join thestatelessall- nodes multicast address andstateful modes. Iftheimplementation cannot store all addresses,solicited-node multicast address of thehost should log a system management error. Notetentative address. The former insures thatifthedeprecation lifetime is zero,node receives Neighbor Advertisements from other nodes already using theaddress with that prefix is immediately deprecated. Similarly, ifaddress; theinvalida- tion lifetime is zero,latter insures that two nodes attempting to use the same address simultaneously detect each other's presence. To check an address, a node sends a Neighbor Solicitation withthat prefix is immediately made invalid. (The invalidation lifetime is defineda Target Address set tobe no less thanthedeprecation lifetime.) Ifaddress being checked. The source of thedeprecation lifetimesolicitation isinfinity,set to the unspecified addressis never deprecated. Similarly, ifand theinvalidation lifetimedestination isinfinity,set to the solicited-node multicast addressis never invali- dated. The valueofinfinity is defined in [2]. An addressthe target address. If the Neighbor Solicitation isvalid untilthedeprecation timer expires. A valid address canfirst message to beused assent from an interface after interface (re)initialization, the node should delay the message by asource address in all outgoing Expires January 7, 1995 [Page 15] INTERNET-DRAFT Stateless Address Configuration July 1995 communicationsrandom amount of time between 0 andis acceptedMAX_RTR_SOLICITATION_DELAY asa destination addressspecified inall incoming communications. When[DISCOVERY]. This serves to alleviate congestion when many nodes start up on thedeprecation lifetime of an address expires,link at theaddress SHOULD continue to be usedsame time, such as after asource address if itpower failure, and may help to avoid race conditions when more than one node isin use in existing communications, but SHOULD NOTtrying to solicit for the same address at the same time. There should beused in new communica- tions ifavalid address is available and it has sufficient scope. The IP layer MUST continueway for a node toaccept datagrams destineddetermine whether a sending interface loops back packets sent to adeprecated address sincemulticast address. Otherwise it will not be possible for adeprecated address is still definednode toidentify the interface. An address remains deprecated until its invalidation timer expires at which pointdetermine whether a solicitation received on an interface is from itself or from another node with a duplicate address. This issue is discussed in more detail below. draft-ietf-addrconf-ipv6-auto-04.txt [Page 14] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 5.4.3. Receiving Neighbor Solicitation and Advertisement Messages On receipt of a valid Neighbor Solicitation message on an interface, node behavior depends on whether the target addressbecomes invalid andisremoved fromtentative or not. If the target addresslist. An invalid address can no longer be used as a source address in outgoing communications andis notrecognised as a valid destination addresstentative, the solicitation is processed inincoming communications sincethe normal way [DISCOVERY]. If the target address isdefinedtentative, processing takes place as follows. There are two cases tono longer identifyconsider. If theinterface. On initialisationsource address ofan interface, if a host determines that there are no IPv6 routers on a link,the solicitation is not the unspecified address, ahost MUST attempt to use stateful autoconfiguration to acquire addresses and other configuration information. Thisnode isneeded to support networks with no IPv6 routers. The host determines that there are no routersperforming address resolution on thelink after startup if no Router Advertisements are heard inaddress. The node receiving thetime that it would take to send MAX_ROUTER_SOLICITATIONs and wait for a response[2]. If a router comes up onsolicitation should silently discard thelinkmessage andRouter Advertisements begin to be received, a hostMUSTstart to use Router Advertisements in the normal way, and, in particular, use advertisementsNOT return a response. Responding todetermine whether stateless or statefuladdressconfiguration should be in use. Note that it is possibleresolution requests forhosts to geta tentative addressinformation using both stateless and stateful protocols since both may be enabled atrisks polluting the Neighbor Caches of other nodes should thesame time. Even if only statelessaddressautocon- figuration mode is enabled, it is still possible for hosts to get information from multiple sources since multiple routers mayalready beadvertising prefix information. The rules for handling this is as follows: hosts acceptin use by another node. If theunionsource address ofall information received usingthestateless and stateful protocols. If different sources config- ureNeighbor Solicitation is thesameunspecified address,thentheaddresssolicitation isupdated withfrom a node performing duplicate address detection. There are two cases to consider. First, themost recently advertised lifetime. Itsolicitation may have been sent by the receiving node (e.g., the packet was looped back). Alternatively, another node (with the same hardware address and/or interface token) is alsopossible for hosts to contain address information from different sources, when changing from one mechanismattempting to use theother, i.e. when changing from stateless mode to stateful mode, and vice Expires January 7, 1995 [Page 16] INTERNET-DRAFT Stateless Address Configuration July 1995 versa.address. Inthisthe first case, therules are no different from above. Ifsolicitation should be ignored. In thenewly enabled modesecond case, the tentative address isconfigureda duplicate and should not be used (by either node). Determining whether a multicast solicitation was looped back tohand out different addresses than the mode just disabled, then the host containstheunion of addressessender or actually came fromboth sources until the addresses configured using the old protocol timeout.another node is implementation-dependent. Ifboth the old and new modes are con- figuredtwo interfaces happen tohand outhave the same hardware link address,thenone cannot distinguish theaddress is updated withtwo cases by comparing themost recently advertised lifetime. NOTE: The above assumes thatpacket contents. Instead, thestateless and stateful modesimplementation must have a good understanding of thesame life- timeinterface's multicast loopback semantics.Expires January 7, 1995 [Page 17] INTERNET-DRAFT Stateless Address Configuration July 1995 6. NODE SPECIFICATION This section specifies the rules for formingIn particular: - If alink-local address. It also specifies the protocol to be usedNeighbor Solicitation forduplicate address detec- tion. 6.1. Forming a Link-Local Address A node MUST have a link-local address. A node formsalink-localtentative addresswhenever an interfaceisinitialised. The method for formingreceived prior to having sent alink-localNeighbor Solicitation, the tentative address islink-dependenta duplicate. - If a Neighbor Solicitation has been sent, and an identical one isoutsidereceived, thescope of this document. An interface may be initialised or become autoconfigurable after any oftentative address is a duplicate if thefollowing events: - Theinterfaceis initialized at system startup time.does not loopback multicast packets. -The interfaceIn all cases, if more Neighbor Solicitation for the tentative address are received than have been sent, the tentative address isreinitialized afteratemporaryduplicate. If a Neighbor Advertisement containing the tentative address is received while performing duplicate address detection, the node MUST disable that interfacefailure or after being temporarily disabled byand log a systemmanage- ment. - The nodemanagement error. If no such advertisement is received within the time specified, the address isre-attachedno longer draft-ietf-addrconf-ipv6-auto-04.txt [Page 15] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 considered to be tentative and can be assigned to the interface. If alink after being detached for some time. The link-localduplicate address ishighly likely to needdetected, the node does not respond tobe one ofthefirst events insolicitation. Instead, it disables the interfaceinitialisation process. Clearly, it must be formed before any duplicate detection processing is performed for this address (Section 6.2). In hosts,and logs alink-local address is also required beforesystem management error. 5.5. Creation of Global- and Site-Local Addresses 5.5.1. Sending Router Solicitations Router Advertisements are sent periodically to the all-nodes multicast address. To obtain an advertisement quickly, a host sends out Router Solicitations as described in [DISCOVERY]. 5.5.2. Absence of Router Advertisements If a link has no routers, a host MUST use stateful autoconfiguration to obtain addresses and other configuration information. From the perspective of autoconfiguration, a link has no routers if no Router Advertisements are being received. Router Advertisements can be absent in two scenarios: - From the time autoconfiguration was last initiated, no Router Advertisements have been received at all, after having sent RouterSolicitation, assumingSolicitations as described in [DISCOVERY]. - At least one Router Advertisement was received, but enough time has elapsed since receipt of thenode chooses to do this[2]. This is because a solicitation is only sent if anlast advertisementhas not yetthat a new one should have beenheard (and hencereceived. Autoconfiguration does not attempt to detect this situation. When a host determines that nonon- link local address can be formed), androuters are present on a link, it sets theunspecified address cannot be usedvalue of ManagedFlag and OtherFlag to TRUE, initiating stateful autoconfiguration asa source addressdescribed in Section 5.5.3 (if necessary). If a router subsequently begins sending RouterSolicitation. 6.2. Detecting Duplicate Addresses The procedureAdvertisements, the rules in Section 5.5.3 insure that hosts process them in the proper way. 5.5.3. Router Advertisement Processing Autoconfiguration silently ignores Router Advertisement messages received on interfaces in which the AutoConfig flag is set todetectFALSE. On receipt of aduplicate address MUST be enabled by defaultvalid Router Advertisement (as defined innodes and SHOULD be used. Expires January 7, 1995[DISCOVERY]), a host copies the value of the advertisement's Managed bit into draft-ietf-addrconf-ipv6-auto-04.txt [Page18]16] INTERNET-DRAFT IPv6 Stateless AddressConfiguration JulyAutoconfiguration October 1995In principle,ManagedFlag. If theduplicate address detection procedure is appliedvalue of ManagedFlag changes from FALSE toeach new address configured for an interface, whether it be manually configured or configured automatically using eitherTRUE, thestateless or stateful mode. However, ifhost should invoke theaddresses belonging to an interface are formed usingstateful address autoconfiguration protocol. If thesame interface token (as isvalue of thecase in state- lessManagedFlag changes from TRUE to FALSE, any activity related to stateful address autoconfigurationand mayshould be halted. If thecase in other formsvalue ofconfi- guration), thenthe flag stays unchanged, no special action takes place. In particular, a host MUST NOT reinvoke stateful address configuration if it isonly necessary to check that one ofalready participating in theaddressesstateful protocol as a result of an earlier advertisement. An advertisement's Other bit isunique onprocessed in an analogous manner. A host copies thelink. Invalue of thestateless mechanism, it is recommended thatOther bit into OtherFlag. If thelink-local address bevalue of OtherFlag changes from FALSE to TRUE, theaddress checked for two reasons. First, it makeshost should invoke theimplementation simpler, sincestateful autoconfiguration protocol. If thelink-local address is guaranteedvalue of the OtherFlag changes from TRUE toalways exist in all nodes, whereas global and site-localFALSE, any activity related to stateful autoconfiguration for parameters other than addressesare not. Second, in hosts, there will be less delay in performing duplicate address detection. Address validation can be done as soon as a link-local address is formed (this canshould bedone immediately on initialisationhalted. If the value ofan inter- face), whereas checking a global or site-local address involves wait- ing untilthe flag stays unchanged, no special action takes place. In particular, a hosthears a Router Advertisement containing address pre- fixes, and thereMUST NOT reinvoke stateful configuration if it isthe possibility that no advertisement will be heard at all. The procedure for duplicate address detection uses Neighbor Solicita- tion and Advertisement messages specifiedalready participating in[2] to validate an addressthe stateful protocol asspecified below. Note that before carrying out this pro- cedure,anode joinsresult of an earlier advertisement. For each Prefix-Information option in theall-nodes multicast address. Also, this mechanism is not completely reliable, and so it is possible that duplicate addresses will still exist.Router Advertisement: a) Ifa duplicate address is discovered after carrying out this procedure,thenode will need to be configured with a new token, or if thisAutonomous flag is notpossible,set, silently ignore theIPv6 addresses will need to be manually configured. 6.2.1. Soliciting Node Behavior An address is checked for uniqueness only once, whenPrefix. b) If theaddressprefix isinitially configured. Oncetheaddresslink-local prefix, silently ignore the Prefix Information Option. c) If the preferred lifetime isconfigured,greater than the valid lifetime, silently ignore the Prefix Information Option. A nodesends a Neighbor Solicita- tion withMAY wish to log atarget address containingsystem management error in this case. d) If the prefix advertised matches the prefix of an autoconfigured addressto be validated. The source isalready in the list, then set the preferred timer to that of theunspecified addressoption's preferred lifetime, andthe destination isset the valid lifetime to that of thesolicited-node multicast address. The Source Link Layer Address extension SHOULD NOT be sent (as it will be ignoredoption's valid lifetime. e) If the prefix advertised does not match the prefix of an address already in the list, then form an address by appending theExpires January 7, 1995interface token to the prefix as follows: | 128 - N bits | N bits | +---------------------------------------+------------------------+ | link prefix | interface token | +----------------------------------------------------------------+ If the sum of the prefix length and interface token length does not draft-ietf-addrconf-ipv6-auto-04.txt [Page19]17] INTERNET-DRAFT IPv6 Stateless AddressConfiguration JulyAutoconfiguration October 1995destination node[2]). Loopback ofequal 128 bits, theNeighbor SolicitationPrefix Information option MUSTNOTbedisabled. NOTE: If the Neighbor Solicitation is the first messageignored. An implementation MAY wish tobe sent from an interface on interface initialisation, the node should delaylog arandom amountsystem management error in this case. It is the responsibility oftime between 0 and MAX_INITIALIZATION_DELAY seconds before sendingthesolicitation. This servessystem administrator toalleviate congestion when many nodes start up oninsure that thelink atlengths of prefixes contained in Router Advertisements are consistent with thesame time, such as afterlength of interface tokens for that link type. In those cases where apower failure, and helps to avoid race conditions when moresite requires the use of longer prefixes thanone nodecan be accommodated by the interface token, stateful autoconfiguration can be used. If an address istryingformed successfully, the host adds it to AddressList, initializing its preferred and valid lifetime values from the Prefix Information option. 5.5.4. Address Lifetime Expiry A preferred address becomes deprecated when its preferred lifetime expires. A deprecated address SHOULD continue tosolicit for the samebe used as a source addressat the same time. (It is recommended that nodes include some unique valueinthe seedexisting communications, but SHOULD NOT be usedto initialise their pseudo-random number gen- erators. Note that using only the node token asin new communications if aunique valuecurrent (non-deprecated) address isnotavailable and it has sufficient scope. The IP layer MUST continue toavoid race conditions since the token cannot be relied uponaccept datagrams destined tobe unique. Although the randomization rangea deprecated address since a deprecated address isspecified in units of seconds,still a valid address for theactual randomly-chosen value should notinterface. An address becomes invalid when its valid lifetime expires. An invalid address MUST NOT be used as a source address inunits of whole seconds, but rather in units of the highest available timer resolution.) If after sendingoutgoing communications and MUST NOT be recognized as asolicitation, no Neighbor Advertisement is received from the target, the node SHOULD retransmit the solicitation at most every DUPL_ADDR_RETRANS_TIMER seconds until either an adver- tisement is received orvalid destination address for thesolicitation has been retransmitted MAX_DUPL_ADDR_RETRANS times. If an advertisementinterface in incoming communications. Note that if a Prefix Information option is received with atargetpreferred lifetime of zero, the address with that prefix is immediately deprecated. Similarly, if thesame asadvertised valid lifetime is zero, the addressbeing validated in the time it takeswith that prefix immediately becomes invalid. 5.6. Configuration Consistency It is possible for hosts tosendobtain address information using both stateless andwait for MAX_DUPL_ADDR_RETRANS solicitations, it must disablestateful protocols since both may be enabled at the same time. It is also possible thatinterfacethe values of other configuration parameters such as MTU size andloghop limit are advertised both by asystem management error.router[DISCOVERY] and the stateful protocol. Ifno such advertisementthe same configuration information isreceived withinprovided using multiple sources, then thetime specified,value of this information should be consistent. However, it is not an error if theaddressinformation isconsidereddetected to bevalid. 6.2.2. Solicited Node Behavior A node is ininconsistent: hosts accept theprocessunion ofvalidating an address when a Neighbor Solicitation has been sent for the address and no Neighbor Advertise- ment advertising that address has beenall information receivedinusing thetime it takes to send out MAX_DUPL_ADDR_RETRANS solicitationsstateless andwait for an advertisement (DUPL_ADDR_IGNORE_TIMER seconds). A node must follow special rules when it receives a Neighbor Solici- tation for an address that it is in the process of validating. This Expires January 7, 1995stateful protocols. If draft-ietf-addrconf-ipv6-auto-04.txt [Page20]18] INTERNET-DRAFT IPv6 Stateless AddressConfiguration JulyAutoconfiguration October 1995is done to help avoiddifferent sources configure therace condition where more thansame information, then the parameters are updated with the most recently advertised values. 6. OPEN ISSUES/TODO o Is duplicate address detection strong enough (we only send onenodeNS). Constants OK? o isattempting to validateconfigurability of DuplAddrDetect good enough? Note that: - One can't assume that all nodes are on theaddressnet atthe sameany one time,i.e. each node sends out a Neighbor Solicitation and waits to hear a Neighbor Adver- tisement for the address, but no node actually sends an advertisement since the address hasso performing DAD just once or twice does notyet been validated. The special rules are as follows: When a nodeguarantee that there won't be collisions later. - Turning DuplAddrDetect on/off is difficult inthe process of validating an address and receivespractice. It is aNeighbor Solicitation for that address,per-host (interface) flag, which means itMUST NOT send any advertisementmust be turned off inresponse to a solici- tation for that address. Rather, the node silently discards the sol- icitation unless the source addresseach machine. If this is don't by setting a kernel flag and then having everyone boot theunspecified address. In the latter case, the first such solicitationsame kernel, DAD will be turned off for all nodes, not just a few. - it might be nice to turn DuplAddrDetect on/off via RAs, but that means nodes will delay creating link-local addresses until they've received an RA or concluded that no routers are present. This isnoted, but otherwise silently discarded (see NOTE below). Any subsequent such solicitations cause the nodelikely todisabledelay theinterface and log a sys- tem management error. NOTE: The above behavior is required because nodes sendprocess longer than performing DAD. (Ouch.) - perhaps allow RSs to be sent outNeighbor Solicitations for their own addresswithloopback enabled. Thus, a node will always receiveunspecified source address, in order to solicited RAs with atleast one solicitation for its own address. However, there is no way for"do/don't perform DAD"? o Possible Neighbor Discovery Changes -Should we allow RSs to be sent out with unspecified source address to allow DAD and thenodeRSs todetermine,be sent ingen- eral, whether the solicitation comes from itself or another node sinceparallel, rather than sequentially. This would reduce thesourceimpact ofthe packet is the unspecified address. Hence, the above rulesDAD delay. Need to specify that aduplicate addressRouter Solicitation is sent out when AutoConfig flag changes from FALSE to TRUE. o what isdetected only if the node receives more than one solicitation fortheaddress. Once a node has validated its address, it respondscorrect language toa Neighbor Sol- icitation with a Neighbor Advertisement as specifieduse in[2]. 6.2.3. Constants MAX_INITIALIZATION_DELAY 3 seconds DUPL_ADDR_RETRANS_TIMER 3 seconds MAX_DUPL_ADDR_RETRANS 1 transmission Expires January 7, 1995talking about an "MAC address" used as an interface token. Should we use "hardware address"? "MAC" address? Something else? o ensure use of "node" vs. "host" is right; autoconfig really applies draft-ietf-addrconf-ipv6-auto-04.txt [Page21]19] INTERNET-DRAFT IPv6 Stateless AddressConfiguration JulyAutoconfiguration October 1995 to only hosts, but duplicate address detection wants to be more general. Also, link-local address can apply to all nodes, not only hosts. 7. SECURITY CONSIDERATIONS To be completed.Expires January 7, 1995 [Page 22] INTERNET-DRAFT Stateless Address Configuration July 19958. REFERENCES[1][IPv6-ETHER] M. Crawford. "A Method for the Transmission of IPv6 Packets over Ethernet Networks", Internet Draft. [ADDR-ARCH] R. Hinden and S. Deering, "Internet Protocol Version (IPv6) Addressing Architecture", Internet Draft, May 1995, draft-ietf-ipngwg-addr-arch-02.txt [2]ipngwg-addr-arch-03.txt [DISCOVERY] T. Narten, E. Nordmark and W. A. Simpson,"IPv6 Neighbor Discovery","Neighbor Discovery for IP Version 6 (IPv6)", Internet Draft,JulySeptember 1995,<draft-ietf-ipngwg- discovery-01.txt><draft-ietf-ipngwg-discovery-02.txt> Acknowledgements Theauthorauthors would like to thank the members of both the IPNG and ADDRCONF working groups for their input. In particular, thanks to Jim Bound, Steve Deering,Erik NordmarkandBill Simpson. Author's AddressesErik Nordmark. AUTHORS' ADDRESSES draft-ietf-addrconf-ipv6-auto-04.txt [Page 20] INTERNET-DRAFT IPv6 Stateless Address Autoconfiguration October 1995 Susan Thomson Thomas Narten Bellcore IBM Corporation 445 South Street P.O. Box 12195 Morristown, NJ 07960U.S.A. Phone:Research Triangle Park, NC 27709-2195 USA USA phone: +1 201-829-4514Email:phone: +1 919 254 7798 email: set@thumper.bellcore.comExpires January 7, 1995email: narten@vnet.ibm.com draft-ietf-addrconf-ipv6-auto-04.txt [Page23] INTERNET-DRAFT Stateless Address Configuration July 1995 Expires January 7, 1995 [Page 24]21] ----