Skip to content

iSCSI overview

Nareg Sinenian edited this page Oct 27, 2015 · 3 revisions

iSCSI is defined in the IETF RFC3720 standard. It allows conventional SCSI commands to be transmitted across TCP/IP networks. SCSI commands, responses and data are encapsulated into protocol data units (PDUs) that are then transmitted across networks. The PDUs typically consist of several TCP packets that are both sent and reassembled by iSCSI nodes. An iSCSI node represents a single target or initiator. Targets and initiators in iSCSI are analogous to their SCSI counterparts. Initiators may connect to one or more targets, establish a session and issue iSCSI commands to read from or write to the target.

iSCSI Qualified Names and Aliases

iSCSI nodes are specified using iSCSI Qualified Names (IQNs). The IQN is a unique identifier that incorporates the iSCSI node's reverse DNS name. In particular, the iSCSI standard (RFC3720) specifies that the IQN comprises three mandatory fields separated by periods (.) followed by an additional field separated by a colon (:) as shown in the example below:

iqn.2012-06.com.example:target0

The iqn literal specifies that the identifier is an iSCSI Qualified Name, while the 2012-06 denotes the year and month after which the naming authority, in this case example.com took ownership of the domain. The last part (target0) is used to differentiate between multiple targets (or initiators).

Targets and initiators also utilize user-friendly aliases for local identification. When a session is established, a target may provide its alias to the initiator and vice-versa.

Sessions and Portals

iSCSI nodes are accessible over one or more portals. Portals can be used by initiator nodes to establish sessions with targets or to discovery targets. A particular target may be accessible by one or more portals simultaneously, and portals can be shared among targets. Portals are specified using IP addresses or DNS names in conjunction with a TCP port (iSCSI uses port 3260 by default).

Targets may group one or more portals and denote them with a target portal group tag (TPGT). If an initiator connects to a target using a portal that is a member of one group, any additional connections established with that target during the course of the same session must utilize portals within the same group. That is, portals associated with one group may not simultaneously be used with portals from another group to access the same target.

An initiator may only establish one session with a particular target at any given time. The session is specified using an initiator session identifier (ISID) that are unique initiator-wide. In addition, each connection that is established to the target (using a specific portal) during a session is specified using a connection identifier (CID). The CIDs within an session uniquely describe connections.