Request for Comments: 4174 Consultant
Category: Standards Track J. Tseng
Riverbed Technology
K. Gibbons
McDATA Corporation
September 2005
The IPv4 Dynamic Host Configuration Protocol (DHCP) Option
for the Internet Storage Name Service
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document describes the Dynamic Host Configuration Protocol
(DHCP) option to allow Internet Storage Name Service (iSNS) clients
to discover the location of the iSNS server automatically through the
use of DHCP for IPv4. iSNS provides discovery and management
capabilities for Internet SCSI (iSCSI) and Internet Fibre Channel
Protocol (iFCP) storage devices in an enterprise-scale IP storage
network. iSNS provides intelligent storage management services
comparable to those found in Fibre Channel networks, allowing a
commodity IP network to function in a similar capacity to that of a
storage area network.
Table of Contents
1. Introduction ................................................. 2
1.1. Conventions Used in This Document ...................... 2
2. iSNS Option for DHCP ......................................... 3
2.1. iSNS Functions Field ................................... 5
2.2. Discovery Domain Access Field .......................... 6
2.3. Administrative Flags Field ............................. 7
2.4. iSNS Server Security Bitmap ............................ 8
3. Security Considerations ...................................... 9
4. IANA Considerations .......................................... 11
5. Normative References ......................................... 11
6. Informative References ....................................... 11
1. Introduction
The Dynamic Host Configuration Protocol for IPv4 provides a framework
for passing configuration information to hosts. Its usefulness
extends to hosts and devices using the iSCSI and iFCP protocols to
connect to block level storage assets over a TCP/IP network.
The iSNS Protocol provides a framework for automated discovery,
management, and configuration of iSCSI and iFCP devices on a TCP/IP
network. It provides functionality similar to that found on Fibre
Channel networks, except that iSNS works within the context of an IP
network. iSNS thereby provides the requisite storage intelligence to
IP networks that are standard on existing Fibre Channel networks.
Existing DHCP options cannot be used to find iSNS servers for the
following reasons:
a) iSNS functionality is distinctly different from other protocols
using DHCP options. Specifically, iSNS provides a significant
superset of capabilities compared to typical name resolution
protocols such as DNS. It is designed to support client devices
that allow themselves to be configured and managed from a central
iSNS server.
b) iSNS requires a DHCP option format that provides more than the
location of the iSNS server. The DHCP option has to specify the
subset of iSNS services that may be actively used by the iSNS
client.
The DHCP option number for iSNS is used by iSCSI and iFCP devices to
discover the location and role of the iSNS server. The DHCP option
number assigned for iSNS by IANA is 83.
1.1. Conventions Used in This Document
iSNS refers to the Internet Storage Name Service framework, which
consists of the storage network model and associated services.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
All frame formats are in big-endian network byte order. RESERVED
fields SHOULD be set to zero.
This document uses the following terms:
"iSNS Client" - iSNS clients are processes resident in iSCSI and
iFCP devices that initiate transactions with the iSNS server using
the iSNS Protocol.
"iSNS Server" - The iSNS server responds to iSNS protocol query
and registration messages and initiates asynchronous notification
messages. The iSNS server stores information registered by iSNS
clients.
"iSCSI (Internet SCSI)" - iSCSI is an encapsulation of SCSI for a
new generation of storage devices interconnected with TCP/IP.
"iFCP (Internet Fibre Channel Protocol)" - iFCP is a gateway-to-
gateway protocol designed to interconnect existing Fibre Channel
devices using TCP/IP. iFCP maps the Fibre Channel transport and
fabric services to TCP/IP.
2. iSNS Option for DHCP
This option specifies the location of the primary and backup iSNS
servers and the iSNS services available to an iSNS client.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code = 83 | Length | iSNS Functions |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DD Access | Administrative FLAGS |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| iSNS Server Security Bitmap |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| a1 | a2 | a3 | a4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| b1 | b2 | b3 | b4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . . |
| Additional Secondary iSNS Servers |
| . . . . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1. iSNS Server Option
The iSNS Option specifies a list of IP addresses used by iSNS
servers. The option contains the following parameters:
Length: The number of bytes that follow the Length field.
iSNS Functions: A bitmapped field defining the functions supported
by the iSNS servers. The format of this field is described
in section 2.1.
Discovery Domain Access: A bit field indicating the types of iSNS
clients that are allowed to modify Discovery Domains. The
field contents are described in section 2.2.
Administrative Flags field: Contains the administrative settings
for the iSNS servers discovered through the DHCP query. The
contents of this field are described in section 2.3.
iSNS Server Security Bitmap: Contains the iSNS server security
settings specified in section 2.4.
a1...a4: Depending on the setting of the Heartbeat bit in the
Administrative Flags field (see section 2.3), this field
contains either the IP address from which the iSNS heartbeat
originates (see [iSNS]) or the IP address of the primary
iSNS server.
b1...b4: Depending on the setting of Heartbeat bit in the
Administrative Flags field (see section 2.3), this field
contains either the IP address of the primary iSNS server or
that of a secondary iSNS server.
Additional Secondary iSNS Servers: Each set of four octets
specifies the IP address of a secondary iSNS server.
The Code field through IP address field a1...a4 MUST be present in
every response to the iSNS query; therefore the Length field has a
minimum value of 14.
If the Heartbeat bit is set in the Administrative Flags field (see
section 2.3), then b1...b4 MUST also be present. In this case, the
minimum value of the Length field is 18.
The inclusion of Additional Secondary iSNS Servers in the response
MUST be indicated by increasing the Length field accordingly.
2.1. iSNS Functions Field
The iSNS Functions Field defines the iSNS server’s operational role
(i.e., how the iSNS server is to be used). The iSNS server’s role
can be as basic as providing simple discovery information, or as
significant as providing IKE/IPSec security policies and certificates
for the use of iSCSI and iFCP devices. The format of the iSNS
Functions field is shown in Figure 2.
0 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RESERVED |S|A|E|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2. iSNS Functions Field
Bit Field Significance
--------- ------------
15 Function Fields Enabled
14 DD-Based Authorization
13 Security Policy Distribution
The following are iSNS Functions Field definitions:
Function Fields Specifies the validity of the remaining
Enabled: iSNS Function fields. If it is set to one, then
the contents of all other iSNS Function fields
are valid. If it is set to zero, then the
contents of all other iSNS Function fields MUST
be ignored.
DD-based Indicates whether devices in a common
Authorization: Discovery Domain (DD) are implicitly authorized
to access one another. Although Discovery
Domains control the scope of device discovery,
they do not necessarily indicate whether a domain
member is authorized to access discovered
devices. If this bit is set to one, then devices
in a common Discovery Domain are automatically
allowed access to each other (if successfully
authenticated). If this bit is set to zero, then
access authorization is not implied by domain
membership and must be explicitly performed by
each device. In either case, devices not in a
common discovery domain are not allowed to access
each other.
Security Policy Indicates whether the iSNS client is to
Distribution: download and use the security policy
configuration stored in the iSNS server. If it
is set to one, then the policy is stored in the
iSNS server and must be used by the iSNS client
for its own security policy. If it is set to
zero, then the iSNS client must obtain its
security policy configuration by other means.
2.2. Discovery Domain Access Field
The format of the DD Access bit field is shown in Figure 3.
0 1 1 1 1 1 1
0 ... 9 0 1 2 3 4 5
+---+---+---+---+---+---+---+---+---+
| RESERVED | if| tf| is| ts| C | E |
+---+---+---+---+---+---+---+---+---+
Figure 3. Discovery Domain Access Field
Bit Field Significance
--------- ------------
15 Enabled
14 Control Node
13 iSCSI Target
12 iSCSI Initiator
11 iFCP Target Port
10 iFCP Initiator Port
The following are Discovery Domain Access Field definitions:
Enabled: Specifies the validity of the remaining DD
Access bit field. If it is set to one, then
the contents of the remainder of the DD Access
field are valid. If it is set to zero, then
the contents of the remainder of this field
MUST be ignored.
Control Node: Specifies whether the iSNS server allows
Discovery Domains to be added, modified, or
deleted by means of Control Nodes. If it is
set to one, then Control Nodes are allowed to
modify the Discovery Domain configuration. If
it is set to zero, then Control Nodes are not
allowed to modify Discovery Domain
configurations.
iSCSI Target, Determine whether the respective
iSCSI Initiator, registered iSNS client (determined
iFCP Target Port, by iSCSI Node Type or iFCP Port Role)
iFCP Initiator is allowed to add, delete, or modify
Port: Discovery Domains. If they are set to one,
then modification by the specified client type
is allowed. If they are set to zero, then
modification by the specified client type is
not allowed.
(A node may implement multiple node types.)
2.3. Administrative Flags Field
The format of the Administrative Flags bit field is shown in Figure
4.
0 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RESERVED |D|M|H|E|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4. Administrative Flags
Bit Field Significance
--------- ------------
15 Enabled
14 Heartbeat
13 Management SCNs
12 Default Discovery Domain
The following are Administrative Flags Field definitions:
Enabled: Specifies the validity of the remainder of the
Administrative Flags field. If it is set to
one, then the contents of the remaining
Administrative Flags are valid. If it is set
to zero, then the remaining contents MUST be
ignored, indicating that iSNS administrative
settings are obtained through means other than
DHCP.
Heartbeat: Indicates whether the first IP address is the
multicast address to which the iSNS heartbeat
message is sent. If it is set to one, then
a1-a4 contains the heartbeat multicast address
and b1-b4 contains the IP address of the
primary iSNS server, followed by the IP
address(es) of any backup servers (see Figure
1). If it is set to zero, then a1-a4 contain
the IP address of the primary iSNS server,
followed by the IP address(es) of any backup
servers.
Management SCNs: Indicates whether control nodes are authorized
to register for receiving Management State
Change Notifications (SCNs). Management SCNs
are a special class of State Change
Notification whose scope is the entire iSNS
database. If this bit is set to one, then
control nodes are authorized to register for
receiving Management SCNs. If it is set to
zero, then control nodes are not authorized to
receive Management SCNs (although they may
receive normal SCNs).
Default Discovery Indicates whether a newly registered
Domain: device that is not explicitly placed into a
Discovery Domain (DD) and Discovery Domain Set
(DDS) should be automatically placed into a
default DD and DDS. If it is set to one, then
a default DD shall contain all devices in the
iSNS database that have not been explicitly
placed into a DD by an iSNS client. If it is
set to zero, then devices not explicitly placed
into a DD are not members of any DD.
2.4. iSNS Server Security Bitmap
The format of the iSNS server security Bitmap field is shown in
Figure 5. If valid, this field communicates to the DHCP client the
security settings that are required to communicate with the indicated
iSNS server.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RESERVED |T|X|P|A|M|S|E|