Fundamental Data Units in iSCSI
Initiator Target
Application
I/O Request
Application Layer
LUN
SCSI CDB
SCSI Class Driver
SCSI Layer
SCSI Device
iSCSI PDU
iSCSI Protocol iSCSI Protocol
Services
iSCSI Layer
Services
TCP segment
Transport (TCP) Transport (TCP)
Security (IPSec)] Security (IPSec)
Optional Optional
TCP/IP Layer
IP datagrams
Network (IP) Network (IP)
Ethernet frames
Data Link Ethernet Layer Data Link
To execute an I/O operation:
The application sends an I/O request to the OS kernel.
The I/O request passed to the appropriate SCSI class driver, which
generates a SCSI CDB.
The iSCSI device driver discovers the location of an iSCSI device that it
is authorized to access. This device will have an IP address.
The iSCSI device driver or hardware protocol handler builds a PDU with
the appropriate CDB and LUN, and hands the PDU over to a TCP/IP
socket.
The TCP device driver or hardware protocol handler encapsulates the
PDU with TCP headers and turns the resulting packet over to IP.
IP determines the routing address, places the packet in an IP datagram,
and sends the datagram to the Ethernet component.
Ethernet adds the physical-link-level headers and trailers and sends the
final packet on its way.