A Conceptual Overview of iSCSI

3
“SCSI target”. iSCSI uses the phrases “iSCSI initiator” and “iSCSI target” as well. The term initiator
or target is used without the protocol identifier when the protocol is not an issue.
I/O operations from user or kernel applications are translated to the SCSI command set within the
SCSI protocol layer. A SCSI mass storage transport maps the SCSI client-server protocol to a
specific physical transport. For example, iSCSI is a SCSI mass storage transport that maps the
SCSI protocol to TCP/IP (see Figure 1). Other examples of SCSI mass storage transports are Fibre
Channel and Parallel SCSI. The functionality of the traditional network architecture is not modified
by iSCSI.
2. Protocol Layering
SCSI commands and data are sent from the initiator to the target, and SCSI data and responses are
sent from the target to the initiator. The SCSI data, commands, and responses are moved between
the SCSI initiator and the SCSI target by the mass storage transport protocols. Figure 2 depicts the
protocol layering when iSCSI is used as a transport.
Figure 2. Protocol Layering
Networking is defined between hosts. The networking components of the TCP, IP, and the
physical/data link layers define connectivity between two hosts on a network. It is not possible to
determine which host is an iSCSI initiator and which host is an iSCSI target based solely on
standard-conformant network stack implementations. Communication between the layers of the
network stack is not changed when iSCSI is implemented.
In Figure 2, Host A uses the SCSI Protocol as a SCSI initiator and the iSCSI Protocol as an iSCSI
initiator, and Host B uses the SCSI Protocol as a SCSI target and the iSCSI Protocol as an iSCSI
target. In other words, Host A is a mass storage initiator, and Host B is a mass storage target.
Application
SCSI Protocol
(Client/Initiator)
iSCSI Protocol
(Initiator)
TCP/IP
Protocols
Physical and
Data Link Layer
Physical and
Data Link
TCP/IP
Protocols
iSCSI Protocol
(Target)
SCSI Protocol
(Server/Target)
SCSI Logical
Units
Host A
(Initiator)
Host B
(Target)
CDBs, Data,
Responses
PDUs
Segments,
Datagrams
Frames
Data