draft-ietf-dhc-dhcpv6-00.txt   draft-ietf-dhc-dhcpv6-01.txt 
INTERNET-DRAFT J. Bound INTERNET-DRAFT J. Bound
DHC Working Group Digital Equipment Corp DHC Working Group Digital Equipment Corp
February 1995 Y. Rekhter March 1995 Y. Rekhter
T.J. Watson Research Center IBM Corp T.J. Watson Research Center IBM Corp
Sue Thomson Sue Thomson
Bellcore Bellcore
Dynamic Host Configuration Protocol for IPv6 Dynamic Host Configuration Protocol for IPv6
draft-ietf-dhc-dhcpv6-00.txt draft-ietf-dhc-dhcpv6-01.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts. working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as ``work in progress.'' material or to cite them other than as ``work in progress.''
To learn the current status of any Internet-Draft, please check the To learn the current status of any Internet-Draft, please check the
``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast). ftp.isi.edu (US West Coast).
Discussion for this draft will take place on host-
conf@sol.cs.bucknell.edu.
Abstract Abstract
The Dynamic Host Configuration Protocol for IPv6 (DHCPv6): provides a The Dynamic Host Configuration Protocol for IPv6 (DHCPv6): provides a
mechanism to autoconfigure inter-link Host IPv6 addresseses [IPv6- mechanism to autoconfigure inter-link Host IPv6 addresseses [IPv6-
ADDR], provides parameters to autoregister [DYN-DNS-UPD] and receive ADDR], provides parameters to autoregister [DYN-DNS-UPD] and receive
Domain Name System (DNS) [RFC-1034&1035] Host names, and provides a Domain Name System (DNS) [RFC-1034&1035] Host names, and provides a
mechanism to specify additional configuration options in the mechanism to specify additional configuration options in the
protocol. protocol.
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995 INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
Table of Contents: Table of Contents:
1. Introduction................................................3 1. Introduction................................................3
2. Terminology.................................................3 2. Terminology.................................................3
3. DHCPv6 Protocol Design Model................................4 3. DHCPv6 Protocol Design Model................................4
3.1 DHCPv6 Protocol Request/Response Model......................4 3.1 DHCPv6 Protocol Request/Response Model......................4
3.2 DHCPv6 Leased Address Model.................................4 3.2 DHCPv6 Leased Address Model.................................4
3.3 DHCPv6 DNS Host Name Autoregistration Model.................5 3.3 DHCPv6 DNS Host Name Autoregistration Model.................5
3.4 DHCPv6 Client/Server Model..................................5 3.4 DHCPv6 Client/Server Model..................................5
4. DHCPv6 Protocol Format......................................6 4. DHCPv6 Protocol Format......................................7
5. DHCPv6 Client/Server Processing.............................8 5. DHCPv6 Client/Server Processing.............................9
5.1 DHCPv6 Client Transmission..................................8 5.1 DHCPv6 Client Transmission..................................9
5.2 DHCPv6 Server Transmission..................................8 5.2 DHCPv6 Server Transmission..................................9
5.3 DHCPv6 Client Requests......................................8 5.3 DHCPv6 Client Requests......................................9
5.4 DHCPv6 Client Responses.....................................9 5.4 DHCPv6 Client Responses....................................10
5.5 DHCPv6 Server Responses....................................10 5.5 DHCPv6 Server Responses....................................11
5.6 DHCPv6 Server Lease Expiration.............................12 5.6 DHCPv6 Server Lease Expiration.............................13
6. DHCPv6 Relay-Agent Processing..............................12 6. DHCPv6 Relay-Agent Processing..............................13
7. Security...................................................14 Acknowledgements...............................................15
Acknowledgements...............................................14 References.....................................................15
References.....................................................14 Authors' Addresses.............................................16
Authors' Addresses.............................................15
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995 INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
1. Introduction 1. Introduction
The Dynamic Host Configuration Protocol for IPv6 (DHCPv6): provides a The Dynamic Host Configuration Protocol for IPv6 (DHCPv6): provides a
mechanism to autoconfigure inter-link Host IPv6 addresseses [IPv6- mechanism to autoconfigure inter-link Host IPv6 addresseses [IPv6-
ADDR], provides parameters to autoregister [DYN-DNS-UPD] and receive ADDR], provides parameters to autoregister [DYN-DNS-UPD] and receive
Domain Name System (DNS) [RFC-1034&1035] Host names, and provides a Domain Name System (DNS) [RFC-1034&1035] Host names, and provides a
mechanism to specify additional configuration options in the mechanism to specify additional configuration options in the
prototocol. protocol.
DHCPv6 is an Internet application protocol that uses a Client/Server DHCPv6 is an Internet application protocol that uses a Client/Server
model to communicate between Hosts. DHCPv6 executes over the UDP model to communicate between Hosts. DHCPv6 executes over the UDP
[RFC-768] transport protocol, and the IPv6 Internet Protocol Version [RFC-768] transport protocol, and the IPv6 Internet Protocol Version
6 [IPv6-SPEC]. DHCPv6 will need to request Server and Client Ports 6 [IPv6-SPEC]. DHCPv6 will need to request Server and Client Ports
from IANA. from IANA.
DHCPv6 is the IPv6 specification for a statefull implementation of DHCPv6 is the IPv6 specification for a statefull implementation of
address autoconfiguration as defined in IPv6 Address Configuration address autoconfiguration as defined in IPv6 Stateless Address
[IPv6-ADDRCONF]. Configuration [IPv6-ADDRCONF].
2. Terminology 2. Terminology
Configuration Data: Configuration Data is information a Host can use Configuration Data: Configuration Data is information a Host can use
to configure a Host on a network so that the Host can interoperate to configure a Host on a network so that the Host can interoperate
with other Hosts on a network. with other Hosts on a network.
DHCPv6 Client: A DHCPv6 Client is a Host that initiates requests on a DHCPv6 Client: A DHCPv6 Client is a Host that initiates requests on a
network to obtain Configuration Data from a DHCPv6 server. network to obtain Configuration Data from a DHCPv6 server.
skipping to change at page 3, line 48 skipping to change at page 3, line 48
DHCPv6 Relay-Agent: A DHCPv6 Relay-Agent is a DHCPv6 Server that DHCPv6 Relay-Agent: A DHCPv6 Relay-Agent is a DHCPv6 Server that
listens on the network for DHCPv6 Clients requesting Configuration listens on the network for DHCPv6 Clients requesting Configuration
Data, and then relays the request to a DHCPv6 Server and the reply Data, and then relays the request to a DHCPv6 Server and the reply
back to the DHCPv6 Client. back to the DHCPv6 Client.
Transaction ID - This is used to uniquely identify a set of DHCPv6 Transaction ID - This is used to uniquely identify a set of DHCPv6
request/response messages between DHCPv6 Servers and Clients. The request/response messages between DHCPv6 Servers and Clients. The
Transaction ID is generated by the DHCPv6 Client requests. Transaction ID is generated by the DHCPv6 Client requests.
Interface-Token: An Interface Token is used to uniquely identify a Interface-Token: An Interface Token is used to uniquely identify a
DHCPv6 Client interface. DHCPv6 Client network interface.
Lease: This is the address lifetime for a single address provided to Lease: This is the address lifetime for a single address provided to
a DHCPv6 Client. a DHCPv6 Client.
Expired Lease: An Expired Lease is one where the Lease duration of an Expired Lease: An Expired Lease is one where the Lease duration of an
address has ended or because it has been mandated by a DHCPv6 Server address has ended or because it has been mandated by a DHCPv6 Server
to a DHCPv6 Client. to a DHCPv6 Client.
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995 INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
3. DHCPv6 Protocol Design Model 3. DHCPv6 Protocol Design Model
3.1 DHCPv6 Protocol Request/Response Model 3.1 DHCPv6 Protocol Request/Response Model
DHCPv6 uses a message type to define whether the packet orginated DHCPv6 uses a message type to define whether the packet orginated
from a DHCPv6 Server or Client, and a request message code to define from a DHCPv6 Server or Client, and a request message code to define
the operation requested, and a message response to define either a the operation requested, and a message response to define either a
response to a request or a confirmation/rejection to a response. response to a request or a confirmation/rejection to a response.
The request/response model is as follows: The request/response model is as follows:
1. Request (Client) 1. Request (Client)
2. Response with configuration data (Server). 2. Response with configuration data (Server).
3. Confirmation Response with accept or reject (Client). 3. Confirmation Response with accept or reject (Client).
4. Confirmation Response for accept (Server). 4. Confirmation Response for accept (Server).
The time out period for a DHCPv6 Host awaiting a response to assume The time out period for a DHCPv6 Host to wait for a response is
there is a network connection problem is implemenation defined. When implementation defined. When a DHCPv6 Host times out waiting for a
a DHCPv6 Host times out waiting for a response to a packet sent, the response to a packet sent, the Host should not commit any state based
Host should not commit any state based on the content of the packet on the content of the packet sent. It is implementation defined if
sent. It is implementation defined if the packet is retransmitted. the packet is retransmitted.
A DHCPv6 packet will only contain one address and one name, depending A DHCPv6 packet will only contain one address and one name, depending
on the message type, request, and response codes in a packet. on the message type, request, and response codes in a packet.
Because IPv6 supports multiple addresses per interface the DHCPv6 Because IPv6 supports multiple addresses per interface the DHCPv6
Server may also inform the DHCPv6 Client that there are multiple Server may also inform the DHCPv6 Client that there are multiple
addresses available for its use. This may be conveyed to the DHCPv6 addresses available for its use. This may be conveyed to the DHCPv6
Client in the Number of Address Fields provided in a response packet Client in the Number of Address Fields provided in a response packet
by the DHCPv6 Server. by the DHCPv6 Server.
Multiple addresses and names may be specified as an extended Multiple addresses and names may be specified as an extended
configuration option [IPv6-DHCP-OPTIONS]. configuration option [IPv6-DHCP-OPTIONS]. A design objective of
DHCPv6 is to avoid fragmentation in IPv6, when possible. If the
DHCPv6 packet exceeds 576 octets then UDP must perform Path MTU
Discovery [PMTU]. The support of multiple names and addresses can be
a configuration option in DHCPv6.
If the DHCPv6 Host cannot match up any of the specified parameters in If the DHCPv6 Host cannot match up any of the specified parameters,
this protocol specification the packet should be silently discarded. as discussed in section 5 DHCPv6 Client/Server Processing, in this
protocol specification the packet should be silently discarded.
3.2 DHCPv6 Leased Address Model 3.2 DHCPv6 Leased Address Model
A DHCPv6 address returned to a DHCPv6 Client has a Lease time. A A DHCPv6 address returned to a DHCPv6 Client has a Lease time. A
design objective of DHCPv6 is to support Dynamic Readdressing. To design objective of DHCPv6 is to support Dynamic Readdressing. To
accomplish this objective, addresses must be able to be reclaimed by accomplish this objective, addresses must be able to be reclaimed by
a network site. Hence, all addresses must be Leased in DHCPv6. a network site. Hence, all addresses must be Leased in DHCPv6.
The DHCPv6 Client has the responsibility to renew a Lease for an The DHCPv6 Client has the responsibility to renew a Lease for an
address that is about to expire or request a new address with a Lease address that is about to expire or request a new address with a Lease
time. time.
In the case where it is necessary to Expire a Lease because of a In the case where it is necessary to Expire a Lease because of a
mandate in an organizations site, the DHCPv6 Server may send a Lease mandate in an organizations site, the DHCPv6 Server may send a Lease
INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
Expired message with a grace period to a DHCPv6 Client. This will be Expired message with a grace period to a DHCPv6 Client. This will be
an asynchronous operation by the DHCPv6 Server to the DHCPv6 Client, an asynchronous operation by the DHCPv6 Server to the DHCPv6 Client,
and the only case where the DHCPv6 request/response model is not used and the only case where the DHCPv6 request/response model is not used
in the protocol. in the protocol.
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995 When a DHCPv6 Clients address for a network interface Lease expires,
it may attempt to complete all oustanding network connections using
When a DHCPv6 Clients address for an interface Lease expires, it may that address, but must not use that address for new network
attempt to complete all oustanding network connections using that connections.
address, but must not use that address for new network connections.
3.3 DHCPv6 DNS Host Name Autoregistration Model 3.3 DHCPv6 DNS Host Name Autoregistration Model
DHCPv6 supports the autoregistration of DNS Host names and providing DHCPv6 supports the autoregistration of DNS Host names and providing
DNS Host Names with addresses for DHCPv6 Clients. Autoregistration DNS Host Names with addresses for DHCPv6 Clients. Autoregistration
is supported by fields in DHCPv6, which the DHCPv6 Client may provide is supported by fields in DHCPv6, which the DHCPv6 Client may provide
to the DHCPv6 Server in a request. In addition a DHCPv6 Server may to the DHCPv6 Server in a request. In addition a DHCPv6 Server may
provide a DNS Host Name with an IPv6 address to a DHCPv6 Client in a provide a DNS Host Name with an IPv6 address to a DHCPv6 Client in a
response. response.
DHCPv6 only specifies the parameters and action to be taken, and not DHCPv6 only specifies the parameters and action to be taken, and not
the actual protocol or primitives to interact with DNS. The the actual protocol or primitives to interact with DNS. The
functions that the DHCPv6 Server uses to interact with the DNS to functions that the DHCPv6 Server uses to interact with the DNS to
provide autoregistration is defined in Dynamic Updates to DNS provide autoregistration is defined in Dynamic Updates to DNS [IPv6-
(DNSIND) [IPv6-DYN-UPD]. DYN-UPD].
This is not a Fully Qualified Domain Name (FQDN) but only the local- This is not a Fully Qualified Domain Name (FQDN) but only the local-
part label and then only the Host Name [RFC-1034&1035]. It is part label and then only the Host Name [RFC-1034&1035]. It is
assumed the DHCPv6 Server implementation knows or can determine what assumed the DHCPv6 Server implementation knows or can determine what
the domain name part is for any IPv6 subnet prefix for which it is the domain name part is for any IPv6 subnet prefix for which it is
providing an address. If a DHCPv6 Client wants to know its domain providing an address. If a DHCPv6 Client wants to know its domain
name then it will have to request this as specified in the DHCPv6 name then it will have to request this as specified in the DHCPv6
Options Specification [IPv6-DHCP-OPTIONS]. Options Specification [IPv6-DHCP-OPTIONS].
3.4 DHCPv6 Client/Server Model 3.4 DHCPv6 Client/Server Model
DHCPv6 supports a Transaction ID to uniquely identify a set of DHCPv6 supports a Transaction ID to uniquely identify a set of
request/response messages between DHCPv6 Clients and Servers. request/response messages between DHCPv6 Clients and Servers.
DHCPv6 supports an Interface Token to uniquely identify an interface DHCPv6 supports an Interface Token to uniquely identify a network
on a DHCPv6 Client. interface on a DHCPv6 Client.
DHCPv6 can support an extensible set of options as defined by a DHCPv6 can support an extensible set of options as defined by a
Configuration Type. These options are specified in a DHCPv6 Options Configuration Type. These options are specified in a DHCPv6 Options
specification [IPv6-DHCP-OPTIONS]. specification [IPv6-DHCP-OPTIONS].
The DHCPv6 Options provide a Configuration Type which defines the
option requested and then returned. A Next Type field is provided
which can be used by an application to know if there is more than one
option. If the Next Type field is NULL then this is the last option
present. The Length field provides the length of the data present
for that option. The Variable Configuration Data is the data to
provide that option.
DHCPv6 does not specify whether the DHCPv6 Server Configuration Data DHCPv6 does not specify whether the DHCPv6 Server Configuration Data
provided to DHCPv6 Clients is synchronous across the sites network provided to DHCPv6 Clients is synchronous across the sites network
information database (e.g. DNS), whether the DHCPv6 Server information database (e.g. DNS), whether the DHCPv6 Server
INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
Configuration Data is duplicated across DHCPv6 Servers, or how the Configuration Data is duplicated across DHCPv6 Servers, or how the
DHCPv6 Configuration Data is pre-configured on a DHCPv6 Server. DHCPv6 Configuration Data is pre-configured on a DHCPv6 Server.
DHCPv6 does not specify conditions or results when multiple DHCPv6 DHCPv6 does not specify conditions or results when multiple DHCPv6
Servers are located on an IPv6 subnet. The DHCPv6 Client may respond Servers are located on an IPv6 subnet. The DHCPv6 Client may respond
to DHCPv6 Servers it does not want to communicate with by sending a to DHCPv6 Servers it does not want to communicate with by sending a
REJECT_PACKET confirmation response to a DHCPv6 Server. REJECT_PACKET confirmation response to a DHCPv6 Server.
DHCPv6 does not specify a DHCPv6 Server-to-Server protocol. DHCPv6 does not specify a DHCPv6 Server-to-Server protocol.
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995 INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
4. DHCPv6 Protocol Format 4. DHCPv6 Protocol Format
DHCPv6 Data Packet DHCPv6 Data Packet
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type | Msg Request | | Msg Type | Msg Request |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Response | Addrs Avail | | Msg Response | Addrs Avail |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 6, line 34 skipping to change at page 7, line 34
| (16 Octets) | | (16 Octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Host Name | | Host Name |
| (64 Octets) | | (64 Octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server IPv6 Address | | Server IPv6 Address |
| (16 Octets) | | (16 Octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Config Type | Next Type | Length | | Config Type | Next Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Variable Configuration Data (452 Octets) | | Variable Configuration Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In the field definitions below bit position 0 is the high-order bit in In the field definitions below bit position 0 is the high-order bit in
the sequence of Octets for each field. the sequence of Octets for each field.
Msg Type : 1 Octet Msg Type : 1 Octet
The field defines the operation to be performed by the packet. The field defines the operation to be performed by the packet.
Bit 0 = ON: Server Message Operation Bit 0 = ON: Server Message Operation
Bit 1 = ON: Client Message Operation Bit 1 = ON: Client Message Operation
skipping to change at page 7, line 5 skipping to change at page 8, line 5
Msg Request : 3 Octets Msg Request : 3 Octets
Bit 0 = ON: ADDRESS_REQUEST Bit 0 = ON: ADDRESS_REQUEST
Bit 1 = ON: NAME_REQUEST Bit 1 = ON: NAME_REQUEST
Bit 2 = ON: CONFIG_REQUEST Bit 2 = ON: CONFIG_REQUEST
Bit 3 = ON: ADDRESS_SUPPLIED Bit 3 = ON: ADDRESS_SUPPLIED
Bit 4 = ON: LEASE_EXPIRED Bit 4 = ON: LEASE_EXPIRED
Bit 5-24 RESERVED Bit 5-24 RESERVED
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995 INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
Msg Response : 3 Octets Msg Response : 3 Octets
Bit 0 = ON: ADDRESS_RETURNED Bit 0 = ON: ADDRESS_RETURNED
Bit 1 = ON: ADDRESS_ACCEPTED Bit 1 = ON: ADDRESS_ACCEPTED
Bit 2 = ON: ADDRESS_REJECTED Bit 2 = ON: ADDRESS_REJECTED
Bit 3 = ON: NAME_RETURNED Bit 3 = ON: NAME_ACCEPTED
Bit 4 = ON: NAME_REJECTED Bit 4 = ON: NAME_RETURNED
Bit 5 = ON: SERVER_ADDRESS Bit 5 = ON: NAME_REJECTED
Bit 6 = ON: CONFIG_RETURNED Bit 6 = ON: SERVER_ADDRESS
Bit 7 = ON: CONFIG_REJECTED Bit 7 = ON: CONFIG_ACCEPTED
Bit 8 = ON: LEASE_ACCEPTED Bit 8 = ON: CONFIG_RETURNED
Bit 9 = ON: LEASE_REJECTED Bit 9 = ON: CONFIG_REJECTED
Bit 10 = ON: CONFIRM_PACKET Bit 10 = ON: LEASE_ACCEPTED
Bit 11 = ON: REJECT_PACKET Bit 11 = ON: LEASE_REJECTED
Bit 12-24 RESERVED Bit 12 = ON: CONFIRM_PACKET
Bit 13 = ON: REJECT_PACKET
Bit 14-24 RESERVED
Addrs Avail : 1 Octet Addrs Avail : 1 Octet
Number of IPv6 addresses available to the DHCPv6 Client, that can be Number of IPv6 addresses available to the DHCPv6 Client, that can be
provided by the DHCPv6 Server. Integer Number. provided by the DHCPv6 Server. Integer Number.
Transaction ID : 4 Octets Transaction ID : 4 Octets
Identifies request/response messages and is a 32bit random Identifies request/response messages and is a 32bit random
generated number. Integer Number. generated number by the DHCPv6 Client. Integer Number.
Lease Time : 4 Octets Lease Time : 4 Octets
This field is used to provide a Lease time for an address and a This field is used to provide a Lease time for an address and a
renewal time period for an address that is being reclaimed. renewal time period for an address that is being reclaimed.
Integer Number. Integer Number. Absolute time in seconds.
Interface Token : 8 Octets Interface Token : 8 Octets
This field is determined by the DHCPv6 Client and is a 64bit random This field is determined by the DHCPv6 Client and is a 64bit random
generated number. An Interface Token is defined by the DHCPv6 Client for generated number. An Interface Token is defined by the DHCPv6 Client for
each interface it configures on its Host. Integer Number. each network interface it configures on its Host. Integer Number.
IPv6 Address : 16 Octets IPv6 Address : 16 Octets
DHCPv6 Client IPv6 Address. DHCPv6 Client IPv6 Address.
Host Name : 64 Octets Host Name : 64 Octets
DHCPv6 Host Name. DHCPv6 Host Name. This is not the Fully Qualified Domain Name
(FQDN).
Server IPv6 Address : 16 Octets Server IPv6 Address : 16 Octets
DHCPv6 Server IPv6 Address. DHCPv6 Server IPv6 Address.
Configuration Type : 1 Octet Configuration Type : 1 Octet
This field defines the Configuration Data option in the packet. This field defines the Configuration Data option in the packet.
The configuation types are specified in DHCPv6 Options The configuation types are specified in DHCPv6 Options
[IPv6-DHCP-OPTIONS]. [IPv6-DHCP-OPTIONS].
Configuration Next Type : 1 Octet Configuration Next Type : 1 Octet
This field defines the Configuration Data Type that follows this This field defines the Configuration Data Type that follows this
Configuration Data if multiple configuration requests are present. Configuration Data if multiple configuration requests are present.
A NULL value means that this is the only Configuration Data Type A NULL value means that this is the only or last Configuration Data
requested. Type provided.
Configuration Data Length : 2 Octets Configuration Data Length : 2 Octets
This field is the Length of the Configuration Data. This field is the Length of the Configuration Data.
INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
Variable Configuration Data : 452 Octets Variable Configuration Data : 452 Octets
This is a variable length field where configuration data will be This is a variable length field where configuration data will be
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995
supplied as options for DHCPv6 protocol. supplied as options for DHCPv6 protocol.
If the Configuration Data provided causes the DHCPv6 packet to exceed If the Configuration Data provided causes the DHCPv6 packet to exceed
576 Octets then the implementation should verify through Path MTU 576 Octets then the implementation should verify through Path MTU
Discovery [IPv6-SPEC&ICMP,PMTU] that the packet will be able to reach its Discovery [IPv6-SPEC&ICMP,PMTU] that the packet will be able to reach its
destination without Fragmentation, or use the IPv6 Fragmentation Extended destination without Fragmentation, or use the IPv6 Fragmentation Extended
Header [IPv6-SPEC]. Header [IPv6-SPEC].
5. DHCPv6 Client/Server Processing 5. DHCPv6 Client/Server Processing
5.1 DHCPv6 Client Transmission 5.1 DHCPv6 Client Transmission
The DHCPv6 Client will set Client Msg Type to ON to transmit to The DHCPv6 Client will set Client Msg Type to ON to transmit to
DHCPv6 Servers. UDP DHCPv6 Server Port (TBD) must be used to build DHCPv6 Servers. UDP DHCPv6 Server Port (TBD) must be used to build
the sending packet in an implementation. A DHCPv6 Client may provide the sending packet in an implementation. A DHCPv6 Client may provide
multiple requests and responses to a DHCPv6 Server in one packet. multiple requests in a request packet and multiple responses in a
response packet, to a DHCPv6 Server in one packet.
If the DHCPv6 Client knows their IPv6 address it will be put in the If the DHCPv6 Client knows its IPv6 address it will be put in the
source address field of the IPv6 Header. Otherwise the DHCPv6 source address field of the IPv6 Header. Otherwise the DHCPv6
Clients intra-link address [IPv6-ADDR] is used as the source address Clients link-local address [IPv6-ADDR] is used as the source address
field in the IPv6 Header. field in the IPv6 Header.
If the DHCPv6 Client knows the address of a DHCPv6 Server it will put If the DHCPv6 Client knows the address of a DHCPv6 Server it will put
that address in the destination field of the IPv6 Header. Otherwise that address in the destination field of the IPv6 Header. Otherwise
a well known IPv6 multicast address using intra-link scope [IPv6- a well known IPv6 multicast address using intra-link scope [IPv6-
ADDR] is used as the destination address field in the IPv6 Header ADDR] is used as the destination address field in the IPv6 Header
[This multicast address will have to be supplied by IANA for DHCPv6]. [This multicast address will have to be supplied by IANA for DHCPv6].
5.2 DHCPv6 Server Transmission 5.2 DHCPv6 Server Transmission
The DHCPv6 Server will set Server Msg Type ON to transmit to DHCPv6 The DHCPv6 Server will set Server Msg Type ON to transmit to DHCPv6
Clients. UDP DHCPv6 Client Port (TBD) must be used to build the Clients. UDP DHCPv6 Client Port (TBD) must be used to build the
sending packet in an implementation. A DHCPv6 Server may provide sending packet in an implementation. A DHCPv6 Server may provide
multiple requests to a DHCPv6 Client in one packet. multiple responses to a DHCPv6 Client in one packet.
The DHCPv6 Server will use the source address of the IPv6 Header from The DHCPv6 Server will use the source address of the IPv6 Header from
the DHCPv6 Client as the destination address in the DHCPv6 Server the DHCPv6 Client as the destination address in the DHCPv6 Server
IPv6 Header address. The DHCPv6 Server IPv6 Header source addresses IPv6 Header address. The DHCPv6 Server IPv6 Header source addresses
will be the IPv6 address of the DHCPv6 Server responding. will be the IPv6 address of the DHCPv6 Server responding.
5.3 DHCPv6 Client Requests 5.3 DHCPv6 Client Requests
Msg Request field: Msg Request field:
If ADDRESS_REQUEST is set, then a request is being made for an IPv6 If ADDRESS_REQUEST is set, then a request is being made for an IPv6
address and Lease. The DHCPv6 Client may also set ADDRESS_SUPPLIED and address and Lease. If the Lease field does not equal zero then the
provide an IPv6 address to the DHCPv6 Server for verification. DHCPv6 Client is supplying a Lease time to the DHCPv6 Server. The DHCPv6
Client may also set ADDRESS_SUPPLIED and provide an IPv6 address to the
DHCPv6 Server for verification.
INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
A DHCPv6 Client must send an ADDRESS_REQUEST to the DHCPv6 Server A DHCPv6 Client must send an ADDRESS_REQUEST to the DHCPv6 Server
to renew its Lease before it expires. The DHCPv6 Client may request to renew its Lease before it expires. The DHCPv6 Client may request
that the same address be used again by providing an IPv6 address and that the same address be used again by providing an IPv6 address and
having ADDRESS_SUPPLIED set in the request. If the DHCPv6 Clients having ADDRESS_SUPPLIED set in the request. If the DHCPv6 Clients
Lease on an address expires, then the DHCPv6 Server will expire the Lease on an address expires, then the DHCPv6 Server will expire the
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995
Lease for that address. Lease for that address.
If NAME_REQUEST is set, then a request is being made for a DNS Host Name. If NAME_REQUEST is set, then a request is being made for a DNS Host Name.
supplied by the DHCPv6 Client. supplied by the DHCPv6 Client.
If CONFIG_REQUEST is set, then a request is being made for an IPv6 If CONFIG_REQUEST is set, then a request is being made for an IPv6
Configuration Data return from the DHCPv6 Server. Configuration Data return from the DHCPv6 Server.
Msg Response field: must be NULL. Msg Response field: must be NULL.
Addrs Avail field: must be NULL. Addrs Avail field: must be NULL.
Transaction ID field: must contain a random number generated Integer Transaction ID field: must contain a random number generated Integer
determined by the DHCPv6 Client for this request packet. determined by the DHCPv6 Client for this request packet.
Lease Time field: may contain a Lease time requested by the DHCPv6 Lease Time field: may contain a Lease time requested by the DHCPv6
Client or must be NULL. Client or must be NULL.
Interface Token field: must contain a random number generated Integer Interface Token field: must contain a random number generated Integer
to identify addresses associated with a DHCPv6 Clients interface. to identify addresses associated with a DHCPv6 Clients network
interface.
IPv6 Address field: must contain an IPv6 Address if ADDRESS_SUPPLIED IPv6 Address field: must contain an IPv6 Address if ADDRESS_SUPPLIED
or NAME_REQUEST is set, otherwise NULL. or NAME_REQUEST is set, otherwise NULL.
Host Name field: must contain a Host Name if NAME_REQUEST is set, Host Name field: must contain a Host Name if NAME_REQUEST is set,
otherwise NULL. otherwise NULL.
Server IPv6 Address field: must be NULL. Server IPv6 Address field: must be NULL.
Configuration Type field: must contain a valid Configuration Type as Configuration Type field: must contain a valid Configuration Type as
skipping to change at page 9, line 58 skipping to change at page 11, line 5
5.4 DHCPv6 Client Responses 5.4 DHCPv6 Client Responses
The Transaction ID from the DHCPv6 Server response must match one of The Transaction ID from the DHCPv6 Server response must match one of
the DHCPv6 Clients Transaction IDs from a previous request. the DHCPv6 Clients Transaction IDs from a previous request.
Msg Request field: must be NULL. Msg Request field: must be NULL.
Msg Response field: Msg Response field:
INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
If ADDRESS_ACCEPTED is set, the DHCPv6 Client is informing the DHCPv6 If ADDRESS_ACCEPTED is set, the DHCPv6 Client is informing the DHCPv6
Server that it has received the address returned. Server that it has received the address returned.
If CONFIG_ACCEPTED is set, the DHCPv6 Client is informing the DHCPv6 If CONFIG_ACCEPTED is set, the DHCPv6 Client is informing the DHCPv6
Server that it has received the Configuration Data returned. Server that it has received the Configuration Data returned.
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995
If LEASE_ACCEPTED is set, the DHCPv6 Client is informing the DHCPv6
Server it has received the LEASE_RENEWAL request.
If NAME_ACCEPT is set, the DHCPv6 Client is informing the DHCPv6 If NAME_ACCEPT is set, the DHCPv6 Client is informing the DHCPv6
Server that it received the NAME_RETURNED returned, when the DHCPv6 Server that it received the NAME_RETURNED returned, when the DHCPv6
Client supplied a Host Name with NAME_REQUEST set. Client supplied a Host Name with NAME_REQUEST set.
If REJECT_PACKET is set, the DHCPv6 Client is rejecting a response If REJECT_PACKET is set, the DHCPv6 Client is rejecting a response
from a DHCPv6 Server. from a DHCPv6 Server.
Addrs Avail field: must be NULL. Addrs Avail field: must be NULL.
Transaction ID field: must contain a random number generated Integer Transaction ID field: must contain a random number generated Integer
matching the DHCPv6 Server request or response. matching the DHCPv6 Server request or response.
Lease Time field: must be NULL. Lease Time field: must be NULL.
Interface Token field: must contain a random number generated Integer Interface Token field: must contain a random number generated Integer
to identify addresses associated with a DHCPv6 Clients interface. to identify addresses associated with a DHCPv6 Clients network
interface.
IPv6 Address field: must be NULL. IPv6 Address field: must be NULL.
Host Name field: must be NULL. Host Name field: must be NULL.
Server IPv6 Address field: must be NULL. Server IPv6 Address field: must be NULL.
Configuration Data Fields not present in the packet. Configuration Data Fields not present in the packet.
5.5 DHCPv6 Server Responses 5.5 DHCPv6 Server Responses
The Transaction ID from a DHCPv6 Clients response must match one of The Transaction ID from a DHCPv6 Servers response must match one of
the DHCPv6 Clients Transaction IDs from a previous request. the DHCPv6 Clients Transaction IDs from a previous request.
Msg Request field: must be NULL. Msg Request field: must be NULL.
Msg Response field: Msg Response field:
If ADDRESS_RETURNED is set, the DHCPv6 Server is providing the DHCPv6 If ADDRESS_RETURNED is set, the DHCPv6 Server is providing the DHCPv6
Client with an IPv6 Address. Client with an IPv6 Address.
If ADDRESS_ACCEPTED is set, the DHCPv6 Server has accepted the address If ADDRESS_ACCEPTED is set, the DHCPv6 Server has accepted the address
skipping to change at page 10, line 60 skipping to change at page 12, line 4
If ADDRESS_REJECTED is set, the DHCPv6 Server is not accepting the If ADDRESS_REJECTED is set, the DHCPv6 Server is not accepting the
address provided by the DHCPv6 Client. address provided by the DHCPv6 Client.
Only one of the above settings must be present in a response to a DHCPv6 Only one of the above settings must be present in a response to a DHCPv6
Client request. The IPv6 address provided will either be the one Client request. The IPv6 address provided will either be the one
presented by the DHCPv6 Client or an address provided by the DHCPv6 presented by the DHCPv6 Client or an address provided by the DHCPv6
Server when ADDRESS_RETURNED is set. Server when ADDRESS_RETURNED is set.
If NAME_RETURNED is set, the DHCPv6 Server is providing a Host Name with If NAME_RETURNED is set, the DHCPv6 Server is providing a Host Name with
the address returned to the DHCPv6 Client either in response to a DHCPv6 the address returned to the DHCPv6 Client either in response to a DHCPv6
INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
Client NAME_REQUEST or because it is implementation defined to provide Client NAME_REQUEST or because it is implementation defined to provide
Host Names with ADDRESS_RETURNED set. Host Names with ADDRESS_RETURNED set.
If NAME_REJECTED is set, the DHCPv6 Server is informing the DHCPv6 If NAME_REJECTED is set, the DHCPv6 Server is informing the DHCPv6
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995
Client that the NAME_REQUEST was rejected by DNS. The DHCPv6 Server Client that the NAME_REQUEST was rejected by DNS. The DHCPv6 Server
must also supply an address in the IPv6 Address field. must also supply an address in the IPv6 Address field.
If CONFIG_RETURNED is set, the DHCPv6 Server is providing the If CONFIG_RETURNED is set, the DHCPv6 Server is providing the
Configuration Data requested. Configuration Data requested.
If CONFIG_REJECTED is set, the DHCPv6 Server is informing the DHCPv6 If CONFIG_REJECTED is set, the DHCPv6 Server is informing the DHCPv6
Client that the Configuration Data requested is not supported. Client that the Configuration Data requested is not supported.
If LEASE_ACCEPTED is set, the DHCPv6 Server is informing the DHCPv6 If LEASE_ACCEPTED is set, the DHCPv6 Server is informing the DHCPv6
skipping to change at page 11, line 52 skipping to change at page 12, line 56
number of addresses available that can be used by the DHCPv6 Client. number of addresses available that can be used by the DHCPv6 Client.
Otherwise the Addrs Avail field is NULL. Otherwise the Addrs Avail field is NULL.
Transaction ID field: must contain a random number generated Integer Transaction ID field: must contain a random number generated Integer
determined by the DHCPv6 Clients request packet. determined by the DHCPv6 Clients request packet.
Lease Time field: must contain a Lease Time with any returned Lease Time field: must contain a Lease Time with any returned
addresses that were requested, otherwise NULL. addresses that were requested, otherwise NULL.
Interface Token field: must contain a random number generated Integer Interface Token field: must contain a random number generated Integer
to identify addresses associated with a DHCPv6 Clients interface. to identify addresses associated with a DHCPv6 Clients network
interface.
IPv6 Address field: must contain an IPv6 Address. IPv6 Address field: must contain an IPv6 Address.
Host Name field: must contain a Host Name if NAME_RETURNED is set Host Name field: must contain a Host Name if NAME_RETURNED is set
otherwise NULL. otherwise NULL.
Server IPv6 Address field: must contain an IPv6 address if Server IPv6 Address field: must contain an IPv6 address if
INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
SERVER_ADDRESS is set, otherwise NULL. SERVER_ADDRESS is set, otherwise NULL.
Configuration Type field: must contain a valid Configuration Type as Configuration Type field: must contain a valid Configuration Type as
defined in the DHCPv6 Options [IPv6-DHCP-OPTIONS] if CONFIG_RETURN or defined in the DHCPv6 Options [IPv6-DHCP-OPTIONS] if CONFIG_RETURN or
CONFIG_REJECTED is set, otherwise the Configuration fields are not CONFIG_REJECTED is set, otherwise the Configuration fields are not
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995
present in the packet. present in the packet.
Configuration Next Type field: If CONFIG_RETURNED or CONFIG_REJECTED Configuration Next Type field: If CONFIG_RETURNED or CONFIG_REJECTED
is set, and if there is more than one Congfiguration Type present, is set, and if there is more than one Congfiguration Type present,
the value of the next configuration type should be put into this the value of the next configuration type should be put into this
field, otherwise NULL. field, otherwise NULL.
Configuration Data Length field: If CONFIG_RETURNED is set, then this Configuration Data Length field: If CONFIG_RETURNED is set, then this
is the length of the Configuration Data present. If CONFIG_REJECTED is the length of the Configuration Data present. If CONFIG_REJECTED
is set, then the DHCPv6 Server will set length to zero. is set, then the DHCPv6 Server will set length to zero.
skipping to change at page 12, line 56 skipping to change at page 13, line 61
Host Name field: must be NULL. Host Name field: must be NULL.
IPv6 Server Address field: must be NULL. IPv6 Server Address field: must be NULL.
Configuration fields: not present in the packet. Configuration fields: not present in the packet.
6. DHCPv6 Relay-Agent Processing 6. DHCPv6 Relay-Agent Processing
When a DHCPv6 Relay-Agent hears a request from a DHCPv6 Client it When a DHCPv6 Relay-Agent hears a request from a DHCPv6 Client it
should forward that request to DHCPv6 Server as a DHCPv6 Client Msg should forward that request to a DHCPv6 Server as a DHCPv6 Client Msg
Type. Type.
INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
The DHCPv6 Relay-Agent upon receiving a response from the DHCPv6 The DHCPv6 Relay-Agent upon receiving a response from the DHCPv6
Server should forward that response to the DHCPv6 Client. Server should forward that response to the DHCPv6 Client.
When the DHCPv6 Relay-Agent forwards the request to the DHCPv6 Server When the DHCPv6 Relay-Agent forwards the request to the DHCPv6 Server
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995
it puts the DHCPv6 Relay-Agent's IPv6 address in the source field of it puts the DHCPv6 Relay-Agent's IPv6 address in the source field of
the IPv6 Header. the IPv6 Header.
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995 INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
7. Security
To be discussed in detail if not already covered by IPv6 Security
Header?
Acknowledgements Acknowledgements
Brian Carpenter, Alex Conta, and Jack McCann for providing input to the Brian Carpenter, Alex Conta, Jack McCann, Ralph Droms for providing
initial outline of DHCPv6. input to the evolution of DHCPv6.
References References
[IPv6-ADDR] [IPv6-ADDR]
R. Hinden, Editor, "IP Next Generation Addressing Architecture" R. Hinden, Editor, "IP Version 6 Addressing Architecture"
Internet Draft, October 1994 <draft-hinden-ipng-addr-00.txt> <draft-ietf-ipngwg-ipv6-addr-arch-00.txt>
Y. Rekhter, "An Architecture for IPv6 Unicast"
<draft-rekhter-ipng-arch-IPv6-addr-00.txt>
Y. Rekhter, "IPv6 Preferred Unicast Address Format" Y. Rekhter, "An IPv6 Global Unicast Address Format"
<draft-rekhter-IPv6-address-format-00.txt> <draft-ietf-ipngwg-address-format-01.txt>
[IPv6-SPEC] [IPv6-SPEC]
R. Hinden, Editor, "Internet Protocol Version 6 [IPv6] S. Deering and R. Hinden, Editors, "Internet Protocol Version 6
Specification" Internet Draft, September 1994 [IPv6] Specification" Internet Draft, March 1995
<draft-hinden-ipng-ipv6-spec-00.txt> <draft-ietf-ipngwg-ipv6-spec-01.txt>
[IPv6-ICMP] [IPv6-ICMP]
A. Conta, S. Deering "ICMP for the Internet Protocol A. Conta, S. Deering "ICMPv6 for the Internet Protocol
Version 6 [IPv6]" Internet Draft, January 1995 Version 6 [IPv6]" Internet Draft, March 1995
<draft-ietf-ipngwg-icmp-00.txt> <draft-ietf-ipngwg-icmp-02.txt>
[PMTU] [PMTU]
J. Mogul, S. Deering "Path MTU Discovery" J. Mogul, S. Deering "Path MTU Discovery"
RFC 1191, 11/16/90 RFC 1191, 11/16/90
[IPv6-ADDRCONF] [IPv6-ADDRCONF]
S. Thomson, "IPv6 Address Configuration" S. Thomson, "IPv6 Stateless Address Configuration"
<TBD> Internet Draft, March 1995 <draft-ietf-addrconf-ipv6-auto-01.txt>
W. A. Simpson "IPv6 Neighbor Discovery - Processing" W. A. Simpson "IPv6 Neighbor Discovery - Processing"
<draft-simpson-ipv6-discov-process-01.txt> <draft-simpson-ipv6-discov-process-01.txt>
[RFC-1034] [RFC-1034]
P. Mockapetris, "Domain Names - implementation and specification" P. Mockapetris, "Domain Names - implementation and specification"
STD-13, 11/01/87 STD-13, 11/01/87
[RFC-1035] [RFC-1035]
P. Mockapetris, "Domain Names - concepts and facilities" P. Mockapetris, "Domain Names - concepts and facilities"
STD-13, 11/01/87 STD-13, 11/01/87
INETERNET-DRAFT draft-ietf-dhcpwg-dhcpv6-00.txt February 1995
[DYN-DNS-UPD] [DYN-DNS-UPD]
S. Thomson, Y. Rekhter, J. Bound, "Extending the Domain System S. Thomson, Y. Rekhter, J. Bound, "Dynamic Updates in the Domain
(DNS) to Perform Dynamic Updates" Internet Draft, February 1995 Name System (DNS)" Internet Draft, March 1995
<draft-ietf-dnsind-dynDNS-mech-00.txt> <draft-ietf-dnsind-dynDNS-01.txt>
INETERNET-DRAFT draft-ietf-dhc-dhcpv6-01.txt March 1995
[IPv6-DHCP-OPTIONS] [IPv6-DHCP-OPTIONS]
<TBD> <TBD>
[RFC-768] [RFC-768]
J. Postel, "User Datagram Protocol" J. Postel, "User Datagram Protocol"
STD-6, 08/28/80. STD-6, 08/28/80.
Authors' Addresses Authors' Addresses
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/