Introduction

A brief introduction to the architecture of the Internet Small Computer System Interface (iSCSI) standard.

iSCSI is a standard for IP-based (TCP/IP) storage networking, which allows SCSI commands to be transferred over an IP-based network. It also facilitates the block-level transfer of SCSI commands over IP (TCP/IP) network. The architecture of iSCSI is similar to that of a client/server architecture, where an initiator acts as the client that issues an I/O request and the target (a device in the storage system) acts as a server. Distance extension can be achieved by this architecture when used over IP networks.

There are two kinds of iSCSI initiators:
  • Software-based initiator
  • Hardware-based initiator
The software-based initiator is a driver that pairs the network interface driver and the SCSI block-level driver together to handle the iSCSI requests. A hardware-based initiator is an iSCSI Host Bus Adapter (HBA), which is similar to Network Interface Controller (NIC) with an on-board Application-Specific Integrated Circuit (ASIC) to offload iSCSI work from the system CPU. System z uses the software-based iSCSI initiator which in turn means it does not support the offloading of iSCSI work.
Figure 1. iSCSI architecture

Graphic showing flow of information from iSCSI target to iSCSI initiator via TCP/IP network.