view Side-By-Side changes
ADDRCONF Working Group Susan Thomson (Bellcore)INTERNET-DRAFTMarch 24,June 5, 1995<draft-ietf-addrconf-ipv6-auto-01.txt><draft-ietf-addrconf-ipv6-auto-02.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. AbstractThis document specifiesIn IPv6, there are two types of address autoconfiguration: stateless addressautoconfiguration. A host can form a link-localautoconfiguration and stateful addressautonomously based on information local to the host. Aconfiguration. In stateless address autoconfiguration, no state is maintained binding a particular hostcan forminterface to a specific list of addresses. Rather, aninter-link scopeaddressin two ways: either autonomously, based on prefixes advertised by routers, oris formed algorithmically byusingconcatenating theIPv6 versionnetwork prefix of theDynamic Host Configuration Protocol(DHCPv6). All mechanisms rely onattached link to a hosthaving atoken that is uniqueat leastper link. Hosts use stateless address autoconfiguration to form a link-local unicast address and may use stateless address autoconfiguration to form global and site-local unicast addresses. This document specifies how a hostforms addresses autonomously. DHCPv6 is described elsewhere.uses stateless address autoconfiguration to form a list of ExpiresSeptember 24,December 5, 1995 [Page 1] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 19951. INTRODUCTION An IPv6 host may have multipleunicast addresses per interface.The addresses can have one of three scopes: 1. a link-local address, 2. a site-local address, and 3. a global address. All three address scopes can be autoconfigured. A host can autocon- figureIt also specifies how alink-local address autonomously. Ahostcan autoconfigure a site-localdetermines whether to use the stateless mechanism orglobalthe stateful mechanism. Stateful addressonly when a router or a DHCPv6 serverautoconfiguration ispresent onoutside thelink. Therescope of this document. Expires December 5, 1995 [Page 2] INTERNET-DRAFT Stateless Address Configuration June 1995 1. INTRODUCTION In IPv6, there are two types of address autoconfiguration: stateless address autoconfiguration and stateful address configuration. In stateless address autoconfiguration, no state isonly one waymaintained binding a particular host interface toformalink-local address. On initializationspecific list of addresses. Rather, aninterface, a host forms such aninterface address is formed algorithmically by concatenatinga well-known link-local prefix[1]the net- work prefix of the attached link to a host tokenthat isunique per link.The definition of the tokens used are link-dependent.In stateful address configuration, state is maintained, typically by a server. For example,in the case of a host attached to an link that uses IEEE 802 addresses,thetokenIPv6 Dynamic Host Configuration Protocol isthe IEEE 802 address of the interface. There are two ways to form a site-local or global address. In the first mechanism, a host formsaninter-link scopeexample of stateful addressby con- catenating a network prefix advertised in a Router Advertisement[2,3] to a token that is unique per link. Like the link-local address, the tokenautoconfiguration. Stateless autoconfiguration isdefineddesigned tobe link-layer dependent. This mechanism for forming a site-local or globalmake address configuration very simple to use and implement, and is suitable for environments with simple topologies, e.g. routerless networks, and for environ- ments wherenosystem administrative control is not desired.ItIn con- trast, stateful address configuration isa simple protocoldesignedfor a very specific purpose:tomake statelesssupport flexible addresscon- figuration very straightforward to useassignment andimplement. The other mechanism available to hosts is to use the IPv6 version of the Dynamic Host Configuration Protocol (DHCPv6). DHCPv6isasuitable for morecomplex protocol allowingsophisticated topologies and forvery flexible address assignment under the control of a system administrator. This protocol typically requires significantenvironments where systemmanagement, including server and database configuration. The choice of mechanismadministrative control is desired. A host always uses stateless address autoconfiguration to form a link-local address per interface. A host may usein forming aneither stateless or stateful autoconfiguration to configure addresses of inter-link scopeaddress is advertised by a router, if present, and this choice is configur- able by a system administrator. Expires September 24, 1995 [Page 2] INTERNET-DRAFT Stateless Address Configuration March 1995for an interface, i.e. global or site-local addresses. This document describes how a host formsa link-local address and one or more site-local or globalunicast addressesautonomously. It also speci- fies howper inter- face using stateless autoconfiguration. It also specifies how a host determineswhich mechanismwhether to useto form an inter- link scope address:theautonomous (stateless) approach or DHCPv6. Section 2 describesstateless mechanism or therouter's role instateful mechanism. Stateful address autoconfigurationand Section 3is outside thehost's role.scope of this document. ExpiresSeptember 24,December 5, 1995 [Page 3] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 1995 2.ROUTER BEHAVIOROVERVIEW An IPv6 host may have multiple unicast addresses per interface[1]. Thestateless address autoconfiguration mechanism relies on the router discovery mechanism specified in [2,3] for formingaddresseswithcan have one of three scopes: a link-local scope, a site-local scope, or a global scope.If configured to do so, routers advertise prefix information in periodic Router Advertisements. The prefixes are contained in Prefix-Information extensionsAddresses ofa Router Advertisement. Each Prefix-Information extension indicates whether the prefixall three address scopes can beused for autonomousautoconfigured. A host is able to autoconfigure a link-local addressautoconfiguration and, if so, for how longcompletely autonomously. In particular, a host can form a link-local address without a router present on theresultinglink. A host is able to autoconfigure an inter-link scope address only when a router isvalid. Note thatpresent on thelifetimelink. The scope of the inter-link addressis defined separately from that offormed depends on theRouter Advertisement itself (other information isprefix advertisedinon theadver- tisement which has different lifetime requirements). The extension also explicitly indicates to hosts whether DHCPv6 is requiredlink. On initialization of an interface, a host forms a link-local address by concatenating a well-known link-local prefix[1] tobe used since it is possiblea token thatsystem administrators would like to have hosts autoconfigure addresses autonomously, but also use DHCPv6 to acquire other configuration information besides the address. Router Advertisement and Solicitation processingisspecified in [2] andunique per link. The definition of themessage formatstokens used are link- dependent. For example, in[3]. DISCUSSION: An alternative approach isthe case of a host attached toadvertise address confi- guration information inaseparate advertisement entirely. This would be somewhat cleaner since the lifetime of the advertisement would then belink thatofuses IEEE 802 addresses, theinformation advertised. Ontoken is an IEEE 802 address asso- ciated with theother hand, having two types of routerinterface. A host forms or updates an inter-link scope address on hearing prefix advertisementswould mean thatadvertised by a router. A global or site-local address is formed by concatenating a network prefixinformationto a host token that isadvertised redundantly, andunique per link inparticular, would double traffic on initialisation and on router solicitations. 2.1. Router Configuration Variables In addition totheconfiguration variables specified in [2,3], routers MUST also be configurablesame way asfollows. For each of the IPv6 unicast addresses per interface: Autonomous Flag Expires September 24, 1995 [Page 4] INTERNET-DRAFT Stateless Address Configuration March 1995 If and only if TRUE, the prefix length isdescribed above. The mechanism used tobe advertisedadvertise network prefixes for the purposes ofautonomousaddressconfiguration. Default: TRUE For each interface: Administered Flag If and only if TRUE, the host must autoconfigure otherconfi- gurationinformation using DHCPv6. Only valid in extensions with the Autonomous Flag set to TRUE. Default: FALSE Address_Advertisement_Interval The time allowed between sending unsolicited Address Advertise- ments fromis theinterface, in seconds. The value must not be less than Maximum_Advertisement_Interval of Router Advertise- ments. Default: XX Address_Lifetime The value to be placedsame as that used in Neighbor Discovery[2] for theLifetime fieldpurposes ofthe Prefix_Information extension sent from the interface in seconds. The value must not be lessprefix discovery. Rather thanAddress_Advertisement_Interval. This value indicates how long an address formed fromspecify two separate mechanisms to advertise the same prefixadvertised is valid. Only valid in extensions with the Autonomous flag set to TRUE. Default: 3 * Address_Advertisement_Interval All routers advertisinginformation, we use agivensingle mechanism which requires hosts to perform both prefix discovery pro- cessing and address autoconfiguration processing on receiving alink MUST be configuredpre- fix advertisement. Note that, when prefixes are advertised, it is possible toadvertiseindicate whether thesame autoconfiguration modeprefixes are tohosts. Expires September 24, 1995 [Page 5] INTERNET-DRAFT Stateless Address Configuration March 1995 2.2. Processing A router MUST advertisebe used for prefix discovery only, address autoconfigurationinformation in a Prefix Information Extension of a Router Advertisement. The valuesonly or both. One of theAutonomous and Administered flags are advertised along with Address_Lifetime. Thegoals of IPv6 addressconfiguration information needautoconfiguration is not only to beadvertised in each Router Advertisement. It mustable to autoconfigure addresses on startup, but to besent (almost) periodically in a Router Advertisement at an interval of approxi- mately Address_Advertisement_Interval.able to recon- figure addresses dynamically. Addressconfiguration information must also be sent in the first few Router Advertisements after startup or enabling of an interface (upreconfiguration ("renumbering") enables hosts toMAX_INITIAL_ADVERTISEMENTS)acquire new addresses andin a Router Advertisement that is sent in response to a Router Solicitation. Address configuration informationrelinquish old addresses automatically. Old addresses mayalsothen besent in a Router Advertisement duereused. To enable hosts toactions taken by system management, in particu- lar, when the Address_Lifetimerenumber with minimal disruption of existing communications, prefixes are advertised with two lifetimes: aprefix is set to zero, e.g. because the link is to be renumbered. In this case,deprecation lifetime and an invalidation lifetime. The deprecation lifetime indicates when an address formed from aPrefix- Information extensionprefix must betransmitted in a Router Advertisement advertising the appropriatedeprecated. A deprecated addressprefix with the Autonomous Flag set to TRUE and Address_Lifetime setmay continue tozero.be used as a source address in existing ExpiresSeptember 24,December 5, 1995 [Page6]4] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 19953. HOST ADDRESS AUTOCONFIGURATION PROCESSING 3.1. Host Configuration Variables A host maintains a list of addresses per interface. Atcommunications, but should not be used as aminimum, the list includes the link-local address, which the host can form auto- nomously wheneversource address in new communications. The invalidation lifetime indicates when aninterface is initialised. Ifaddress formed from arouterprefix isattachedno longer valid and may be reused. Invalid addresses cannot be used in any communications. By specifying two separate lifetimes, a host can gradually phase out use of old addresses, while beginning to use new addresses for new communica- tions (if any). The deprecation and invalidation lifetimes are con- figurable by a system administrator and so the transition from old to new addresses may be as quick (the deprecation and invalidation life- times are thelinksame) orDHCPv6 serveras slow as desired. One of the basic assumptions of stateless autoconfiguration isavailable,that thelist may also include site-local or globalhost token is at least unique per link. However, in practice, host tokens are not always unique because of errors in assignment. Thus, it cannot be guaranteed that IPv6 addresses formedeitherfromsubnet pre- fixes advertised in Router Advertisements or by making requests using DHCPv6. Addresses may also be manually configured.a host token are indeed unique among all hosts on a link. Since duplicate IPv6 addresses are very difficult to track down and debug, we specify a procedure for detecting duplicate addresses that hosts should use on initialising an interface. Notethere may be multiple site-local or globalthat this procedure is not com- pletely reliable, and so duplicate addressesautoconfigured permay still exist. The procedure makes use of Neighbor Solicitations and Advertisements[2] in a special-purpose way. Briefly, a host uses a Neighbor Solicita- tion to solicit for itself. If it discovers that another host has the address through receiving a Neighbor Advertisement, the valida- tion check fails and the host ceases operation on that interface.ANote that the hostmust maintainthat is already using the address (presumably leg- itimately) continues unharmed, although it may log alist ofmessage to thefollowing configurable variables per interface:effect that it has received a solicitation for its own address. This document specifies router and host behavior related to stateless address configuration and duplicate address detection in more detail in the sections that follow. Expires December 5, 1995 [Page 5] INTERNET-DRAFT Stateless AddressA valid IPv6 unicastConfiguration June 1995 3. ROUTER BEHAVIOR The stateless address autoconfiguration mechanism relies on the pre- fix discovery mechanism specified in [2] forthis interface Default: Noneadvertising network pre- fixes required for the formation of addresses with site-local or glo- bal scope. A prefix is advertised in a PrefixLength The lengthInformation extension of a Router Advertisement. The Prefix Information extension includes the prefix and its length, flags indicating whether the information is to be used for prefix discovery or address configuration, and two lifetimes: the deprecation lifetime and the invalidation lifetime. The Router Advertisement itself includes flags indicating whether stateful address configuration should be used by hosts and whether other configuration information (besides an address) needs to be con- figured. Router Advertisement and Solicitation processing is specified com- pletely inbits. Prefix length semantics[2] along with the message formats and configuration vari- ables. Additional configuration variables pertinent to stateless address configuration are specified below. 3.1. Router Configuration Variables In addition to the configuration variables specified in[2]. A host must[2], routers MUST alsoallowbe configurable as follows. For each of thefollowing variableprefixes to beconfiguredadvertised in Prefix Information extensions per interface:Perform_Auto_ConfigAutonomous Flag Ifand only if TRUE,set, thehost must performprefix is being advertised for the purposes of stateless addressautoconfigura- tion processing.configuration. Default: TRUE Deprecation Lifetime The value to be placed in the Deprecation Lifetime field of ExpiresSeptember 24,December 5, 1995 [Page7]6] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 1995Default: TRUE 3.2. Host Initialization Behavior A host must performPrefix Information extensions in Router Advertisements sent from thefollowing autoconfiguration procedure when- ever aninterfaceneedsin seconds. Invalidation Lifetime The value to beinitialised: When a host has no address for an interface with Perform_Auto_Config flag set to TRUE, e.g. when a host boots or when an interface is enabled after being disabled, the host forms an address of link-local scope. Appendix A specifies how a host that is attached to a link that uses IEEE 802 addresses forms a link-local address. Before adding the link-local address as a valid address toplaced in thelistInvalidation Lifetime field ofaddresses for the interface, the host SHOULD verify that the address is indeed unique. The procedure for validating an address is describedPrefix Information extensions inSection X. A host SHOULD also validate any manually configured addresses this way too. The host solicits a Router Advertisement using one or more Router Solicitations, if noRouter Advertisementshave been heard insent from theinterface. The procedure for sending Router Solicitations is specifiedinterface in[2]. Ifseconds. Must be noRouter Advertisement is heard after sending MAX_SOLICITATIONS and waiting Router_Solicitation_Interval afterless than Deprecation Lifetime. For eachas specified in Sending Router Solicitations in [2],advertising interface: Administered Flag If set, the host mustdetermine whether a DHCPv6 server is present and whether anyautoconfigure addresses using stateful address autoconfiguration. Default: FALSE Other Flag If set, the host must autoconfigure other configurationinformation needs to be acquired. This is to cater for a routerless topology which has a DHCPv6 server. Once a router is added toinfor- mation (besides thenetwork, however,address) using stateful autoconfiguration. Default: FALSE NOTE: All routers advertising ahostgiven prefix on a link MUSTuse Router Adver- tisementsset all of the configuration variables todetermine the autoconfiguration mode in use as described inthesection on Router Advertisement Processing.same value. ExpiresSeptember 24,December 5, 1995 [Page8]7] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 19953.3. Router Advertisement Processing Router Advertisement processing is specified in [2] and the message format in [3]. In addition to this processing, the4. HOST BEHAVIOR Conceptually, a hostMUST perform the following address configuration processing whenmaintains asolicited or unsolicited Router Advertisement is received over an interface: For each Prefix-Information extension in the Router Advertisement: (The formatlist of addresses per interface. Entries in thePrefix-Information extensionlist are created asamended by this draft for autoconfiguration purposes is specifieda result of forming addresses from prefixes advertised inAppendix C): The host silently ignores the extension for the purposesPrefix Information extensions ofauto- configuration if the Perform_Auto_Config flag for the interface is FALSE. Otherwise,Router Adver- tisements. Each entry in thehost checkslist has two associated timers, a deprecation timer and an invalidation timer, which have values set according to lifetimes learned from theautoconfiguration mode bits. If onlyrouter advertisement. In addition, theAutonomous flag is set inaddress list always includes thePrefix-Information extension,link-local address, which the host formsor verifiesautonomously whenever an interface is initial- ised. The deprecation and invalidation lifetimes of asite-local or globallink-local addressas specified below. If both the Autonomous and Administered flagsare setin the Prefix-Information extension, theto infinity. This section specifies hostforms or verifies a site- local or globaladdressas specified belowautoconfiguration behavior on interface initialisation anduses or continues using DHCPv6 for other autoconfiguration. Otherwise, the host silently ignores the extension for the pur- poses of autonomous autoconfiguration. If none of the prefixes advertised in extensions of theon receiving a RouterAdver- tisement have the Autonomous flag set, then theAdvertisement. This section also specifies a hostuses or contin- ues using DHCPv6protocol forautoconfiguration. Note that the above procedure should continueattempting tooperate whenverify that an address is not asys- tem administrator decidesduplicate. 4.1. Host Configuration Variables A host MUST allow the following variable tochangebe configured per inter- face: Perform_Auto_Config If set, the host MUST perform address autoconfigurationmode from the autonomous mode to DHCPv6,process- ing. Default: TRUE 4.2. Router Advertisement Processing An "autoconfigurable" interface is one on which Router Advertisements are received andvice versa. Thethe Perform_Auto_Config flag is set. A hostshould keep track ofMUST perform thecurrent autoconfiguration mode, so that it can detectfollowing address configuration processing whenthere is a change. The system administrator must ensure that, during a changeover,aDHCPv6 serversolicited or unsolicited Router Advertisement isconfigured to hand out addresses that are unique per link, particularly with respect to addresses that hosts have configured autonomously and which may notreceived over ExpiresSeptember 24,December 5, 1995 [Page9]8] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 1995yet be invalidated. To avoid problems during a changeover, it is recommended that a DHCP server should use exactly the same algorithm to form a host address as that used in the autonomous mode whenan autoconfigurable interface: For each valid Router Advertisement: If theprefixAdministered flag is set, thesame. It is also important to ensure that a DHCPv6 server is configured to hand out addresses onlyhost MUST use stateful auto- configuration tothose hosts that it should, since, if a DHCPv6 server is present onacquire alink, hosts may request the server forlist of site-local or global addresses(even ifper interface. If thenetworkOther flag isconfiguredset, the host MUST use stateful autoconfi- guration tobe in autonomous mode) when Router Advertisements are not heard becauseacquire other configuration information besides therouter is down.address. For each Prefix-Information extensionreceived over an autoconfigur- able interface, the host updatesin theaddress list as follows whenRouter Advertisement that has the Autonomous flagisset:a)- If the prefix advertised matches the prefix of anautoconfiguredautoconfig- ured address already in the list, then setathe deprecation timer to that of the deprecation lifetime specified in theextension. Note there is noextension and the invalidation timerassociated withto that of the invalida- tion lifetime. Note that this processing does not apply to a link-localaddress or manually configuredaddress.b)- If the prefix advertised does not match the prefix of an address already in the list, then form an address using this network prefix. Appendix A specifies how to form an address for hosts that have IEEE 802 tokens. The extension is ignored if thepre- fixprefix is not valid, e.g. it is not the right length for forming an addressas specified in Appendix A.with the given host token. Add this address to the list withathe deprecation timer set to that of the deprecation lifetimespecified in the extension. 3.3.1. Address DeprecationandInvalidationthe invalidation timer to that of the invalidation lifetime. Note that if the deprecation lifetime is zero, the address with that prefix is immediately deprecated. Similarly, if the invalida- tion lifetime is zero, the address with that prefix is immediately made invalid. (The invalidation lifetime is defined to be no less than the deprecation lifetime.) An address is valid until the deprecation timer expires. A valid address may be used as a source address in all outgoing Expires December 5, 1995 [Page 9] INTERNET-DRAFT Stateless Address Configuration June 1995 communications and MUST be accepted as a destination address in all incoming communications. When the deprecation lifetime of an address expires, an address is said to be deprecated.In general, aA deprecated addressshould no longer be used in new communications, but maySHOULD NOT be usedin existing communica- tions. In particular, the internetworking layer should not select a Expires September 24, 1995 [Page 10] INTERNET-DRAFT Stateless Address Configuration March 1995 deprecated addressas a source address in new communications.How- ever,However, a deprecated addressshould be allowedSHOULD continue to be used as a source address if it is in useby the transport layerin existingcommunica- tions or it is explicitly requested by an application.communications. TheinternetworkingIP layermustMUST continue to accept datagrams destined to a deprecated address.The transport layer mayUpper layers MAY refuse to accept new communications requests to a deprecated address, however.In addition,An address remains deprecated until its invalidation timer expires at which point the address becomes invalid. An invalid address can no longer be used as a source address in outgoing communications and is not recognised as a valid destination address in incoming communications. Note that, when choosing a source address in outgoing communica- tons, a global valid address should be used in preference to a site-local valid address, which in turn should be used in prefer- ence to the link-local address. Similarly, a global deprecated address should also be used in preference to a site-local depre- cated addresses. Note that the link-local address is never depre- cated; it is always valid. One of the implications of these rules is that if there are no valid inter-link scope addresses, e.g. all global and site-local addresses are deprecated, then the hostmay send a Remote Redirect[2,3]will default tocorrespondents whenusing the link-local address as a source addressusedincommunications is deprecated as long asnew communications. To limit storage space required for thehost hasaddress list, a host may choose not to store all validalternative address. Also, aand deprecatedaddressaddresses. Deprecated addresses that are not in use by existing communications should beremoved from the Domain Name System (DNS). This may be done by thediscarded in favor of valid addresses and deprecated addresses that are in use. If a hostitself, givendetermines that there are no IPv6 routers on aDNS dynamic update protocol and sufficient authority, or it may be donelink, either onthe host's behalf. The time at whichstartup or during normal processing, adeprecated address becomes invalid (removed from the list ofhost MUST attempt to use stateful autoconfiguration to acquire addressesper interface)or other configuration information if it isdependent on the storage available for the address list andnot already doing so. This isthus implementation-dependent. Aneeded to support networks with no IPv6 routers. The hostshould keep a deprecated address until it isdeter- mines that there are nolonger in use, i.e. it isrouters on the link after startup if nolonger being usedRouter Advertisements are heard incurrent communications such as an existing TCP connection,the time that it would take to send MAX_ROUTER_SOLICITATIONs and wait for a response[2]. During normal processing, it is determined that there are nolonger stored or cached in the Domain Name System. After this point,routers when Expires December 5, 1995 [Page 10] INTERNET-DRAFT Stateless Address Configuration June 1995 all router advertisements have timed out. If adeprecated address may be removed fromrouter comes up on theaddress list. If Router Advertisements stop being heardlink andall autoconfigured inter-link scope addresses become deprecated, then the host must determine whether a DHCPv6 server is available for address autoconfi- guration. TheRouter Advertisements begin to be received, a hostfollows the same procedure as describedMUST start to use Router Advertisements in theinitialisation procedurenormal way, and, inthis case. 3.4. Detecting Duplicate IPv6 Addresses One of the basic assumptions of the autoconfiguration schemes out- linedparticular, use advertisements to determine whether stateless or stateful address configuration should be inthis document isuse. Note thattheif a hosttoken is at least unique per link. Tokensdoes not receive Router Advertisements because of some error, e.g. all routers aredefineddown or there is a network partition, hosts will attempt tobe link-layer dependent,change mode from stateless (assuming this was the advertised mode) to stateful and then back again when Router Advertisements start being heard. This means that if thetokenstateful mode is available, it should be configured correctly to serve only thelink layer address in most cases. In practice, twohostson the same linkthat it should, since hosts mayhaveattempt to use it, even if it is not thesame link layer addressintention that they do so. A host must behave reasonably when there is a change from the stateless mode to the stateful mode, and vice versa. This can hap- pen because routers advertise a new configuration mode due to a deliberate change by a system administrator, or because ofan assign- ment error,a change inwhich case the resultingtopology, e.g. an IPv6addresses will not be unique. For this reason, itrouter isprudentconnected tocheck thator removed from theaddresses are indeed unique. In IPv6, itlink. It isonly necessary to checkpossible and quite likely thatone ofduring the change-over, a host will have addresses autoconfigured using both mechanisms. If the addressesis unique sinceacquired using the two mechanisms are the same, then the new addresses should replace the old and the aging semantics associated with the new mode apply. If thesame token is Expires September 24, 1995 [Page 11] INTERNET-DRAFT Stateless Address Configuration March 1995 used to form alladdressesandacquired using theprefixes used to formtwo mechanisms are different, then the old addressesare all unique (the autoconfiguration procedureshouldensure this). It is recommended that the link-local addressbe aged according to theaddress checked since it is formed once and first, on initialisation. The procedures use General Solicitations and Advertisementsrules specified in[2,3] as modified below. To validate an address, the node sends a General Solicitation withthesourceold configuration mode anddestination set to thatthe new addresses should follow the rules of the new mode. 4.3. Host Initialisation A host forms a link-local addressto be checked. The node should specifywhen anappropriate Media-Access extension. On receiving a General Solicitation withautoconfigurable interface is initialised. Appendix A specifies how asource addresshost that is attached to a link that uses IEEE 802 addresses forms a link-local address. Note that an interface may be initialised after any of thesame as the destination address and apparentlyfollowing events: - The interface is initialized at system startup time. - The interface is reinitialized after a temporary interface Expires December 5, 1995 [Page 11] INTERNET-DRAFT Stateless Address Configuration June 1995 failure or after being temporarily disabled by system manage- ment. - The system changes fromitself,being ahost must respond withrouter to being aGeneral Advertisement.host, by hav- ing its IP forwarding capability turned off by system manage- ment. - TheGeneral Advertisementhost issentre-attached tothe All-Nodes Multicast Address with intra-link scope.a link after being detached for some time. - TheMedia-Access extensioninterface has its Perform_Auto_Config flag changed fromthe General SolicitationFALSE to TRUE. 4.4. Detecting Duplicate IPv6 Addresses The procedure to detect duplicate addresses MUSTNOTberetained. After sending a General Solicitation, the node waits for a period of General_Solicitation_Interval. If a General Advertisement is not receivedimplemented inresponsehosts and SHOULD be used. In stateless address configuration, it is only necessary to check that one of theGeneral Solicitation within the interval,autoconfigured addresses is unique since theaddresssame token isconsideredused tobe validated. If a General Advertisement is received with a source addressform all addresses. It is recommended that thesame aslink-local address be the addressbeing vali- dated, it must cease operation on that interfacechecked since the host always forms this address. The procedure uses Neighbor Solicitation andindicateAdvertisement messages specified in [2] to validate anappropriate error.address and is specified below. Note that this mechanism is not completely reliable, and so it is possible that duplicate addresses will still exist. If a duplicate address is discovered, the host will need to be configured with a new token, or if this is not possible, the IPv6 addresses will need to be manually configured.DISCUSSION: There is a problem with a race condition when two (or more) nodes boot up at the same time. Both will send out a General Solicitation, receive no advertisement and assume all is well. A fix may be to have a node process General Solicitations during the vali- dation stage and flag an error if it sees more than one General Sol- icitation for an address it is in the process of validating. DISCUSSION: Should the solicitations be dithered? Note that randomis- ing based on the token (link-layer address) only does not help if the token is not unique. Expires September 24, 1995 [Page 12] INTERNET-DRAFT Stateless Address Configuration March 1995 4. SECURITY CONSIDERATIONS To be completed. Expires September 24, 1995 [Page 13] INTERNET-DRAFT Stateless Address Configuration March 1995 5. APPENDIX A: FORMING AN IPv6 ADDRESS FOR IEEE 802 LINKS4.4.1. Soliciting Host Behavior Thetoken for an interface on an IEEE 802 link or any link that uses IEEE 802 addressing, such as FDDI, is the 48-bit IEEE 802 address in canonical format, i.e. the Individual/Group bit is the low-order bit of the furst byte. Ahostforms an IPv6 address per link by concatenating an 80-bit pre- fix with the IEEE 802 address as follows: | 80 bits | 48 bits | +---------------------------------------+------------------------+ | prefix | IEEE 802 address | +----------------------------------------------------------------+ In the case offirst delays alink-local prefix, the prefix is well-defined[1]. The prefixes of other typesrandom amount ofaddresses need to be configured.time between 0 and DUPL_ADDRESS_DELAY seconds before sending out a Neighbor Solicitation ExpiresSeptember 24,December 5, 1995 [Page14]12] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 19956. APPENDIX B: UNIQUENESS OF HOST TOKENS As has been mentioned,for the address. This serves to alleviate congestion when many hosts start up on the link at the same time, such as after a power failure, and helps to avoid race conditions when more than oneofhost is trying to solicit for thebasic assumptions ofsame address at theautoconfi- guration scheme outlined in this documentsame time. (It is recommended that hosts include some unique value in the seed used to initialise their pseudo-random number generators. Note that using only the host tokenis at leastas a uniqueper link, but that tokens mayvalue is notalwayssufficient since the token cannot be relied upon to beunique,unique. Although the randomization range is speci- fied inpractice. Aunits of seconds, the actual randomly-chosen value should not be in units of whole seconds, but rather in units of the highest available timer resolution.) The node then sends a Neighbor Solicitation with a target address containing the address to be validated. The source is set to the unspecified address and the destination is set to the solicited-node multicast address. The Source Link Layer Address extension SHOULD NOT be sent. NOTE: There SHOULD be some way to inhibit local delivery of the soli- citation since, in general, it will not be possible for a host to determine whether a solicitation is from itself or from another host with a duplicate address. If local delivery cannot be inhibited, then the host shouldcheck thatignore the first Neighbor Solicitation with an unspecified source address or wait for a period of DUPL_ADDR_IGNORE_TIMER seconds after sending a Neighbor Solicitation before beginning to process solicitations again. If after sending a solicitation, no advertisement is received from the target, the node SHOULD retransmit the solicitation every DUPL_ADDR_RETRANS_TIMER seconds until either an advertisement is received or the solicitation has been retransmitted MAX_DUPL_ADDR_RETRANS times. If an advertisement is received with a target address the same as the address being validated, it must cease operation on that interface and indicate an appropriate error. If no such advertisement isunique using the scheme proposedreceived inthis document. Since thisresponse to the Neighbor Solicita- tions sent, the address isnot completely reli- able, system administrators may also use DNSconsidered tohelp detect when suchbe valid. 4.4.2. Solicited Node Behavior When aproblem occurs since two different hosts will registerhost is in thesame IPv6 address. Duplicate IPv6 addresses may occur as a resultprocess ofnon-unique tokens invalidating an address, it MUST NOT send anyparticular network topology. One particular scenario deserves further mention though. Consider a topology consisting of two links with singly-homed hosts attachedadvertisement in response toeach,amulti-homed host attached to both and no router. In this case, because no router is present, hosts will form link-local addresses only on all interfaces. It is imperative that hosts have interface tokenssolicitation for thatare unique across both links. However, this may not be trueExpires December 5, 1995 [Page 13] INTERNET-DRAFT Stateless Address Configuration June 1995 address. Rather, all solicitations fortwo reasons:thelinks may be of different types and thusaddress are ignored, except when thetokens used may not be unique. Also,solicitation is from thetoken may not be unique if itunspecified address i.e. the Neighbor Solicitation message has a target address which isdefinedthe same as the address to be validated, and alink layersource addressandthat is thelink-layer addressunspecified address. (Note that any solicitation that isonly definedlikely to beunique per linka loopback solicitation should be ignored too asis truementioned insome cases. Strictly speaking, we require thatthe above section.) If a solicitation is received from the unspecified address, the hosttokens are globally unique to ensure correctmust cease operationin these topologies. In practice, link layer addresses are frequently glo- bally uniqueon that interface andso the uniqueness problems in this scenario should not be appreciably worse than in more traditional topologies as described above. If two link-local scope addresses are detectedindicate an appropriate error. Once a host has validated its address, it responds tobea Neighbor Sol- icitation with a Neighbor Advertisement as specified in [2]. However, thesameprocessing of the solicitation is somewhat different from that inthis scenario, there are two solutions: one[2] when a solicitation isto makereceived from the unspecified address. In this case, themultihomedhost MUST ignore any Link Layer Address Extension in the solicitation and MUST NOT perform any link-layer address resolu- tion processing before sending arouter,Neighbor Advertisement. The host sends theother isNeighbor Advertisement tomanually configurethelink-localall-nodes multicast address ofan offendingthe soliciting host. The target address is copied from the solici- tation message. The source address MUST be set to the address of the target field. The Target Link Layer Address extension need not be filled in. 4.4.3. Constants DUPL_ADDR_DELAY 4 seconds (XX) DUPL_ADDR_IGNORE_TIMER 0.1 seconds DUPL_ADDR_RETRANS_TIMER 4 seconds (XX) MAX_DUPL_ADDR_RETRANS 1 transmission (XX) 5. SECURITY CONSIDERATIONS To be completed. ExpiresSeptember 24,December 5, 1995 [Page15]14] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 19957.6. APPENDIXC: Prefix-Information Extension +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Extension | Length |C|A|M| 0 | Prefix Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lifetime | Preference | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | IdentifierA: FORMING AN IPv6 ADDRESS FOR IEEE 802 LINKS The token for an interface on an IEEE 802 link or any link that uses IEEE 802 addressing, such as FDDI, is the 48-bit IEEE 802 address in canonical format, i.e. the Individual/Group bit is the low-order bit of the furst byte. A host forms an IPv6 address per link by concatenating an 80-bit pre- fix with the IEEE 802 address as follows: | 80 bits | 48 bits | +---------------------------------------+------------------------+ | prefix |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Extension As in [3] Length As in [3] C As in [3] A Autonomous Mode Form anIEEE 802 addressusing prefix of advertised identifier. M Administered Mode Use DHCPv6 to autoconfigure other information. Prefix Size Number of bits| +----------------------------------------------------------------+ In the case ofidentifier defininga link-local prefix, theroutingprefixfor this link Preference As in [3] Identifier Oneis well-defined[1]. The prefixes ofIPv6 unicast addressesother types ofthis interface This extension is found in Router Advertisements.addresses need to be configured. ExpiresSeptember 24,December 5, 1995 [Page16]15] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 19958.7. REFERENCES [1] R.Hinden,Hinden and S. Deering, "Internet Protocol Version (IPv6)Specification",Addressing Architecture", Internet Draft,MarchMay 1995,<draft-ietf-ipngwg-ipv6-addr-arch- 01.txt>draft-ietf- ipngwg-addr-arch-02.txt [2]W. A. Simpson, "IPv6 Neighbor Discovery -- Processing", Internet Draft, January 1995, <draft-simpson-ipv6-discov-process-02.txt> [3] W. A. Simpson,T. Narten and E. Nordmark, "IPv6 NeighborDiscovery -- ICMP Message For- mats",Discovery", Internet Draft,JanuaryJune 1995,<draft-simpson-ipv6- discov-formats-02.txt><draft-ietf-ipngwg-discovery-00.txt> Acknowledgements The author would like to thank the members of both the IPNG and ADDRCONF working groups for their input. In particular, thanks to Jim Bound, SteveDeeringDeering, Erik Nordmark and Bill Simpson. Author's Addresses Susan Thomson Bellcore 445 South Street Morristown, NJ 07960 U.S.A. Phone: +1 201-829-4514 Email: set@thumper.bellcore.com ExpiresSeptember 24,December 5, 1995 [Page17]16] INTERNET-DRAFT Stateless Address ConfigurationMarchJune 1995 ExpiresSeptember 24,December 5, 1995 [Page18]17] ----