Network Working Group P. Sarkar
Request for Comments: 4173 IBM
Category: Standards Track D. Missimer
Bootstrapping Clients using
the Internet Small Computer System Interface (iSCSI) Protocol
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 (C) The Internet Society (2005).
Internet Small Computer System Interface (iSCSI) is a proposed
transport protocol for Small Computer Systems Interface (SCSI) that
operates on top of TCP. This memo describes a standard mechanism for
enabling clients to bootstrap themselves using the iSCSI protocol.
The goal of this standard is to enable iSCSI boot clients to obtain
the information to open an iSCSI session with the iSCSI boot server.
The Small Computer Systems Interface (SCSI) is a popular family of
protocols for communicating with I/O devices, especially storage
devices. SCSI can be characterized as a request/response messaging
protocol with a standard architecture and componentized command sets
for different device classes.
iSCSI is a proposed transport protocol for SCSI that operates on top
of TCP. The role of iSCSI is necessitated by the evolution of the
system interconnect from a shared bus to a switched network. IP
networks meet the architectural and performance requirements of
transporting SCSI, paving the way for the iSCSI protocol.
Sarkar, et al. Standards Track [Page 1]RFC 4173 iSCSI Bootstrapping September 2005
Many diskless clients sometimes bootstrap off remote SCSI devices.
Such diskless entities are lightweight, space efficient, and power-
conserving and are increasingly popular in various environments.
This memo describes a standard mechanism for enabling clients to
bootstrap themselves using the iSCSI protocol. The goal of this
standard is to enable iSCSI boot clients to obtain the information to
open an iSCSI session with the iSCSI boot server. It is possible
that all the information is not available at the very outset, so the
memo describes steps to obtain the information required to bootstrap
clients off an iSCSI boot server.
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 RFC 2119 [Bradner97].
1. There must be no restriction of network topology between the iSCSI
boot client and the boot server other than that in effect for
establishing the iSCSI session. Consequently, it is possible for
an iSCSI boot client to boot from an iSCSI boot server behind
gateways or firewalls as long as it is possible to establish an
iSCSI session between the client and the server.
2. The following represent the minimum information required for an
iSCSI boot client to contact an iSCSI boot server: (a) the
client's IP address (IPv6 or IPv4); (b) the server's iSCSI Target
Name; and (c) mandatory iSCSI initiator capability.
The above assume that the default LUN for the boot process is 0 and
that the default port for the iSCSI boot server is the well-known
iSCSI port [Satran02]. However, both may be overridden at the time
Additional information may be required at each stage of the boot
3. It is possible for the iSCSI boot client to have none of the above
information or capability on starting.
4. The client should be able to complete boot without user
intervention (for boots that occur during an unattended power-up).
However, there should be a mechanism for the user to input values
so as to bypass stages of the boot protocol.
Sarkar, et al. Standards Track [Page 2]