iSCSI is a TCP/IP Protocol for encapsulating SCSI commands. It is defined in RFC:3720. This allows making block devices available on the network, accessed as if they were mounted locally. It also means only one host can mount an iSCSI device at a time, unless the FileSystem is read-only.
iSCSI is generally implemented in a driver (the initiator) that takes SCSI commands generated by the OperatingSystem, encapsulates and encrypts them, adds a packet header and trasmits them as IP packets. The iSCSI device receives the packets, decrypts and disassembles them, and separates the SCSI commands and request. The SCSI commands are sent through the SCSI controller to the SCSI device (the target).
The return trip works analogously.