iSCSI is the convergence of the dominant protocol for block storage I/O with IP, the dominant protocol for computer internetworking. The combination of SCSI and IP would allow users to build a storage area network (SAN) utilizing existing Ethernet networks. iSCSI is an end-to-end protocol for transporting storage I/O block data over an IP network. The basic idea of iSCSI is to take advantage of existing IP network to acquire all the benefits of Storage Area Networks without the cost of implementing a SAN using Fiber Channel. IP networks are cost effective and they provide security, scalability, interoperability, network management, and storage management.
iSCSI uses the TCP/IP protocol to transport block level SCSI commands and data between client/servers and SAN targets. iSCSI utilizes host bus adapters which take block level data and encapsulate into a TCP/IP packet. The packet is then transported over an Ethernet network to the SAN target where another iSCSI adapter de-encapsulation the packet back to block level data where SCSI commands can be executed. Initially iSCSI was hindered by the fact that the encapsulation of block level data into a TCP/IP packet created a tremendous load on the CPU, which interfered with its ability to perform other operations. To rectify this problem, TOE (TCP/IP Offload Engines) were created to take the TCP/IP processing from the host CPU and completes TCP/IP processing and packet creation on the host bus adapter (iSCSI adapter).