Introduction to the basic architecture and operation of Internet Small Computer Systems Interface

 iSCSI is an acronym for Internet Small Computer Systems Interface, an Internet Protocol (IP)-based storage networking standard for linking data storage facilities. iSCSI works on top of the Transport Control Protocol (TCP), and provides block-level access between the iSCSI initiator and the storage target by carrying SCSI commands over a TCP/IP network. iSCSI is used to facilitate data transfers over intranets and to manage storage over long distances. 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.

Overview of the overall architecture

iSCSI is a remote mapping technology that maps a storage device on a remote server to the local area and presents it as a block device (which can be thought of as a disk). From the perspective of the normal user, the mapped disk is no different from the locally connected disk.

This mapping is based on the SCSI protocol, which is a set of parallel interface standards for attaching printers, disk drives, scanners and other peripherals to computers.  The iSCSI protocol encapsulates SCSI commands and assembles the data in packets for the TCP/IP layer, that is, transmitting the content of SCSI protocol through Ethernet.

iSCSI is a typical CS architecture, the computer accessing the storage system is the client, where the software responsible for the connection is the initiator. The computer that provides the storage service is the server, and the software is the target.

Because iSCSI is based on the TCP protocol, the initiator and target can be implemented in either pure software or hardware.



iSCSI working process

When an application initiates a request, here is the iSCSI working process on the client and server ends of the iSCSI system.

  1. On the client side, the request generates an appropriate SCSI command and a data request, which is encapsulated into a TCP/IP packet, and the packet is transmitted over an Ethernet connection.
  2. On the server side, when the packet is received, the iSCSI protocol disassembles the packet to get SCSI command and data, and then sent them to the SCSI controller and from there they are diverted to the SCSI storage device.
  3. The server side encapsulates the returned SCSI command and a data into a TCP/IP packet and sends it back to the client side over an Ethernet connection.
  4. The client side disassembles the packet to get returned SCSI command and data, and then sends them to the SCSI controller, so the operating system (OS) will see the storage as if it was a locally connected SCSI device that can be formatted as usual.

Basic concepts

iSCSI initiator: is software or hardware that originates communication between your host and an external iSCSI storage system and sends data to and from an iSCSI-based storage array (which is also known as an iSCSI target).

iSCSI Target: it is a remote storage resource located on an iSCSI server, the server allows access to the storage via Ethernet.

Alias: An alias string can also be associated with an iSCSI Node. The alias allows an organization to associate a user-friendly string with the iSCSI Name. However, the alias string is not a substitute for the iSCSI Name.

Network Portal: The Network Portal is a component of a Network Entity that has a TCP/IP network address and that may be used by an iSCSI Node within that Network Entity for the connection(s) within one of its iSCSI sessions. A Network Portal in an initiator is identified by its IP address. A Network Portal in a target is identified by its IP address and its listening TCP port.

Session: The group of TCP connections that link an initiator with a target form a session (loosely equivalent to a SCSI I-T nexus). TCP connections can be added and removed from a session. Across all connections within a session, an initiator sees one and the same target.

Connection: A connection is a TCP connection. Communication between the initiator and target occurs over one or more TCP connections. The TCP connections carry control messages, SCSI commands, parameters, and data within iSCSI Protocol Data Units (iSCSI PDUs).

CID (Connection ID): Connections within a session are identified by a connection ID. It is a unique ID for this connection within the session for the initiator. It is generated by the initiator and presented to the target during login requests and during logouts that close connections.

SSID (Session ID): A session between an iSCSI initiator and an iSCSI target is defined by a session ID that is a tuple composed of an initiator part (ISID) and a target part (Target Portal Group Tag). The ISID is explicitly specified by the initiator at session establishment. The Target Portal Group Tag is implied by the initiator through the selection of the TCP endpoint at connection establishment. The TargetPortalGroupTag key must also be returned by the target as a confirmation during connection establishment when TargetName is given.

Portal Groups: iSCSI supports multiple connections within the same session; some implementations will have the ability to combine connections in a session across multiple Network Portals. A Portal Group defines a set of Network Portals within an iSCSI Network Entity that collectively supports the capability of coordinating a session with connections spanning these portals. Not all Network Portals within a Portal Group need participate in every session connected through that Portal Group. One or more Portal Groups may provide access to an iSCSI Node. Each Network Portal, as utilized by a given iSCSI Node, belongs to exactly one portal group within that node.

Portal Group Tag: This 16-bit quantity identifies a Portal Group within an iSCSI Node. All Network Portals with the same portal group tag in the context of a given iSCSI Node are in the same Portal Group.

Target Portal Group: is a set of one or more storage system network interfaces that can be used for an iSCSI session between an initiator and a target. A target portal group is identified by a name and a numeric tag. If you want to have multiple connections per session across more than one interface for performance and reliability reasons, then you must use target portal groups.

Target Portal Group Tag: A numerical identifier (16-bit) for an iSCSI Target Portal Group.

iSCSI Task: An iSCSI task is an iSCSI request for which a response is expected.

ISID: The initiator part of the Session Identifier. It is explicitly specified by the initiator during Login.


Comments

  1. iPworks Cloud Storage Crack library of simple to-involve record and archive stockpiling parts for incorporation into famous cloud vaults, for example, Amazon S3, Google Drive, Azure documents, HDFS, OneDrive, Dropbox, Box.com, and so forth.
    https://thatcrack.net/ipworks-cloud-storage-crack/

    ReplyDelete

Post a Comment

Popular posts from this blog

What is MPIO and how to use it?

How to avoid vendor lock-in?