iSCSI constructs Protocol Data Units (PDUs) consisting of
SCSI commands, SCSI data and SCSI responses. iSCSI PDUs are inserted
in the TCP segment data area of IP datagrams. The IP datagrams are
then moved through the TCP/IP stack and transported over the network,
between the SCSI services layer of host systems and the SCSI services
layer of target storage devices.
The iSCSI protocol works seamlessly over TCP/IP networks,
without requiring any changes to TCP/IP protocols.
In the outbound direction (Initiator to Target):
The SCSI layer builds SCSI Command
Descriptor Blocks (CDBs) and passes them to the iSCSI layer (along
with the rest of the command execution parameters).
The iSCSI layer builds iSCSI PDUs and relays them
to one or more TCP connections.
The TCP connection(s) form an initiator-target “session” (I_T
Nexus).
In the inbound direction (Target to Initiator):
The iSCSI layer receives iSCSI PDUs
on one or more TCP connections in a TCP/IP stream.
The iSCSI layer extracts the SCSI CDBs from the
iSCSI PDUs and passes them to the SCSI layer.