What's iSCSI?

What's iSCSI?

iSCSI is Internet SCSI (Small Computer System Interface), an Internet Protocol (IP)-based storage networking standard for linking data storage facilities, developed by the Internet Engineering Task Force (IETF). By carrying SCSI commands over IP networks, iSCSI is used to facilitate data transfers over intranets and to manage storage over long distances. The iSCSI protocol is among the key technologies expected to help bring about rapid development of the storage area network (SAN) market, by increasing the capabilities and performance of storage data transmission. Because of the ubiquity of IP networks, iSCSI can be used to transmit data over local area networks (LANs), wide area networks (WANs), or the Internet and can enable location-independent data storage and retrieval.

How does iSCSI work?

When an end user or application sends a request, the operating system generates the appropriate SCSI commands and data request, which then go through encapsulation and, if necessary, encryption procedures. A packet header is added before the resulting IP packets are transmitted over an Ethernet connection. When a packet is received, it is decrypted (if it was encrypted before transmission), and disassembled, separating the SCSI commands and request. The SCSI commands are sent on to the SCSI controller, and from there to the SCSI storage device. Because iSCSI is bi-directional, the protocol can also be used to return data in response to the original request.

iSCSI is one of two main approaches to storage data transmission over IP networks; the other method, Fibre Channel over IP (FCIP), translates Fibre Channel control codes and data into IP packets for transmission between geographically distant Fibre Channel SANs. FCIP (also known as Fibre Channel tunneling or storage tunneling) can only be used in conjunction with Fibre Channel technology; in comparison, iSCSI can run over existing Ethernet networks. A number of vendors, including Cisco, IBM, and Nishan have introduced iSCSI-based products (such as switches and routers).

Role of iSCSI

iSCSI is a data transport protocol used to carry block-level data over traditional Ethernet networks and the Internet. The term iSCSI stands for Internet SCSI or Internet Small Computer Systems Interface. SCSI itself is one of the oldest and most common protocols used to transfer blocks of data over short distances, typically between a server’s applications and the storage devices - - such as, disk drives - - that are directly attached to that server.

iSCSI builds on the SCSI protocol by encapsulating SCSI commands and allowing these encapsulated data blocks to now be transported at an unlimited distance, via TCP/IP packets over traditional Ethernet networks.

The iSCSI protocol describes how blocks of data are to be transmitted between “initiators” on an Ethernet network and their storage “targets”. The following section further describes the role of initiators, targets and the iSCSI components typically required for an initial IP SAN implementation.

An initiator is typically a server hosting an application, where the application makes periodic requests for data to a related storage device. Initiators are also referred to as servers or host computers. The iSCSI device driver that resides on the server may also be called an initiator.

Initiators “initiate” (or begin) iSCSI data transport transactions by making an application request to send/receive data either to or from one or more storage devices. The application request is immediately converted into SCSI commands, then encapsulated into iSCSI where a packet and header are added for transport via TCP/IP over either the Internet or traditional Ethernet networks.

Targets are one or more storage devices that reside on the network. Targets receive iSCSI commands from various initiators (or servers) on the network. On the target’s side, these commands are then broken down into their original SCSI format to allow block data to be transported between the initiator and the storage device.

The target will respond to a server’s data request by sending SCSI commands back to that server. These commands are again encapsulated via iSCSI for transport over the Ethernet. Targets can be any type of storage device, such as a storage array that is part of a larger IP-based storage area network, or IP SAN. They could also be a separate tape library residing on either the SAN or elsewhere on the network.