When this book appeared, I was happy to see that John Hufferd of Brocade
(formerly of IBM) had written the first tome on the topic of the iSCSI
storage protocol. I have heard John speak at storage conferences,
and have listened to the questions and comments he has posed and offered
to other conference speakers. I have also read many an email he
has written related to iSCSI and similar topics. He is clearly
a true authority on the topic of iSCSI. To understand this protocol
requires a good understanding of both storage and networking technology,
and John is one of those people who truly straddles the fence.
His book has an excellent organizational style. Each chapter begins
with a brief “To the Reader” section, and ends with a Summary. The
last chapter is a summary and set of conclusions about the material addressed
in the book, and even includes a summary of those conclusions. As
would be expected for a book about a computer standard, the last third
of the book is a set of appendices.
This book will invariably be used as a reference tool, with the index
serving as a guide. However, this book also includes “To
the Reader” sections at the start of each chapter that are helpful
in finding the chapters that are of greatest interest to many readers. Thus,
a non-technical marketing person could skip a lot of the gory details,
and a software or hardware engineer could get the level of detail appropriate
for an engineering project.
Intermixed with the details of the standard is a perspective into the
networking and the storage aspects of the standard that are critical
in allowing this storage protocol to operate in the real world of the
Internet, i.e., to operate as a hybrid protocol. These include
some history and working details of TCP/IP Offload Engines (TOEs) and
Remote DMA (RDMA), both of which are important for efficient implementations
I found the historical anecdotes lent a perspective to understanding
how we got where we are today with the standard, as well as with TOEs
and RDMA that are so important to the real world’s use of iSCSI. One
of these was from 1999 when some TCP/IP and NIC vendors said that a TOE
on a chip was not possible or reasonable. This was most interesting
when Broadcom announced C-NIC in 2004, which integrated iSCSI, TOE and
RDMA on a single chip. C-NIC also allows booting from a server,
and hence has led directly to stateless blades – this is the true
separation of storage from server blades.
While storage environments have been generally deterministic, iSCSI
changed this dramatically when it allowed the commands and data involved
in storage access to be placed in the highly non-deterministic environment
that is the Internet. Insights into the ramifications of this change
are included in the material presented in Hufferd’s book. For
example, Chapter 9 is titled “Structure of iSCSI and Relationship
to SCSI.” This chapter shows how the framework presented
in the preceding chapters works with concepts that are integral to the
SCSI standard at the logical level, e.g., initiator, target, nexus and
persistent reservation. Just as SCSI is at the heart of the Fibre
Channel and IDE/ATA storage standards, this chapter shows how SCSI works
in the networking context of iSCSI.
Hufferd is quick to send the reader to the actual Internet Engineering
Task Force (IETF) spec if questions arise or if clarifications are necessary. Indeed,
the book came out when Draft 18 was the latest version, and the work
on the iSCSI standard did not finish until Draft 20 was completed in
February 2003. However, all the heavy lifting for iSCSI had been
completed by the time this book was written.
Hufferd notes that iSCSI was initially developed at IBM Research, and
that collaboration between IBM and Cisco brought it to the IETF. As
Technical Coordinator for the iSCSI track of the IETF standards committee,
he was the right person in the right place to coordinate all the work
that went into making the iSCSI standard come to fruition.
The book opens with credits to the many folks who have been involved
with creating iSCSI, a standard that was first known as “SCSI over
TCP/IP” in early 2000. By early 2003, the standard reached
a milestone with IETF, and Microsoft released an iSCSI driver in the
summer of 2003. iSCSI had arrived.
Some books have the feel of being tacked together, with chapters being
haphazardly constructed. This one was engineered – information
is presented in a highly organized and logical fashion. Consider
it the starting point for an understanding of this protocol.
Brian Berg is an independent consultant specializing in storage devices
and storage interfaces, including work with patents and intellectual property. He
maintains a Storage Cornucopia of storage-related links on his website
Brian A. Berg
Berg Software Design