iSCSI technologies in HP ProLiant servers using advanced network adapters, 2nd edition

3
Figure 1. Diagram of block storage using SCSI (left) and iSCSI (right)
iSCSI initiators access targets using the iSCSI protocol. While the target is usually a hard drive
enclosure or another computer, it can also be any other storage device that supports the iSCSI
protocol, such as a tape drive. The iSCSI stack at both ends of the path puts SCSI block commands
into Ethernet packets for transmission over IP networks.
Figure 2 illustrates a message exchange between an initiator and a target. The process begins when
an application sends a request to the operating system (OS) to read or write data. The OS generates
the appropriate SCSI commands and data request in the form of a message. Before the message can
be sent over an IP network, it is processed through iSCSI to place the request into the TCP/IP protocol
stack (attaching routing, error checking, and control information) for transmission over the network.
This process uses driver- or OS-level software, or it can be offloaded to the host bus adapter (HBA).
The HBA transmits the packets over the IP network. When the packets reach the target device, they go
through a reverse process to reassemble the data which is then moved to the SCSI controller. The
SCSI controller fulfills the request by writing data to or reading data from the target device. If it is a
read transaction, the target returns data to the initiator using the iSCSI protocol.