iSCSIについてのトピック
Download
Report
Transcript iSCSIについてのトピック
iSCSIについてのトピック
中川和久
RFC3720
RFC(Request for Comments)
インターネットに関する技術情報や仕様、運用規則などを定め
る文書
現在はIETF(Internet Engineering Task Force)が管理
インターネットで標準的に使われているプロトコルはたいてい
RFCで厳密に定義されているものと考えてよい
RFC3720
Internet Small Computer Systems Interface (iSCSI). J.
Satran, K. Meth, C. Sapuntzakis, M. Chadalapaka, E.
Zeidner. April 2004.
SCSI Architecture Model-2 [SAM2]
SCSIの仕様
Architecture Model: Defines the SCSI systems model, the functional
partitioning of the SCSI standard set and requirements applicable to all SCSI
implementations and implementation standards.
Device-Type Specific Command Sets: Implementation standards that define
specific device types including a device model for each device type. These
standards specify the required commands and behavior that is specific to a
given device type and prescribe the requirements to be followed by a SCSI
initiator device when sending commands to a SCSI target device having the
specific device type. The commands and behaviors for a specific device type
may include by reference commands and behaviors that are shared by all SCSI
devices.
Shared Command Set: An implementation standard that defines a model for all
SCSI device types. This standard specifies the required commands and
behavior that is common to all SCSI devices, regardless of device type, and
prescribes the requirements to be followed by a SCSI initiator device when
sending commands to any SCSI target device.
SCSI Transport Protocols: Implementation standards that define the
requirements for exchanging information so that different SCSI devices are
capable of communicating.
Interconnects: Implementation standards that define the communications
mechanism employed by the SCSI transport protocols. These standards may
describe the electrical and signaling requirements essential for SCSI devices to
interoperate over a given interconnect.
iSCSIプロトコル概要
iSCSIの階層モデル
iSCSIレイヤは、SCSIレイヤとTCPレイヤの中間に位置する
Response/Status Numbering and
Acknowledging
ターゲットからイニシエータの応答にはナンバリングが
ある
StatSN (Status Sequence Number)
32-bit unsigned integer
接続回数のカウンター
ExpStatSN
ステータスを認識するためにイニシエータが使用
コマンド(番号が付けられたStatSN)のためのステータスの送
出しが、ExpStatSNによって認められた後、コマンドの回復
のために維持された状態情報をすべて安全に廃棄する
iSCSIによるデータ転送(1/2)
CmdSN(command Sequence Number)
イニシエータ(送信側 サーバー)
32-bit unsigned counter
iSCSI PDUで運ばれるコマンドの番号
SCSIレイヤからのSCSIのコマンド/レスポンスや送信データ
を受け取り、それをカプセル化してiSCSI PDU(Protocol Data
Unit)を生成してTCPレイヤに渡す。TCPレイヤではそれを
TCPコネクションに乗せて送信する。
ターゲット(受信側 ストレージ機器)
受信したTCPコネクションからiSCSI PDUを抽出し、そこから
SCSIのコマンド/レスポンスや受信データをさらに抽出し、そ
れをSCSIレイヤに渡す
iSCSIによるデータ転送(2/2)
セッションの確立とログイン
iSCSIにおいて、イニシエータとターゲット間の論理的な通信
路は、iSCSIセッションと呼ばれる
iSCSIセッションは、1つもしくは複数のTCPコネクションから
構成され、SCSIにおけるI_T Nexusに相当
SCSIコマンドのオーダーリングに則った機能
ターゲットがwell-known TCP portや、他のTCP portを見張
る
そのうちの1つのportに接続することでイニシエータがログインを始め
る
negotiation
iSCSIセッションの確立は、イニシエータがターゲットとの間
でTCPコネクションを張り、認証とネゴシエーションすることに
より行う
認証は、不正アクセスを防ぐためにターゲットによりイニシ
エータの認証を行うのみならず、なりすましなどを防ぐた
めにイニシエータによるターゲットの認証を行うことも可能
である
認証には、セキュリティの観点から、以下の認証方式を使
用する。どの認証方式により行うかは、イニシエータとター
ゲット間のネゴシエーションによって決めることができる
IPsec security (RFC 3723)
iSCSI login
login PDU
session ID (SSID)の一部のISID(Initiator Session ID)を含む
新しいセッションにとってTSIH(Target Session Identifying Handle)
の値は0
レスポンスとしてターゲットはTSIHを生成
セッション確立中にターゲットはInitiator Name、ISIDによっ
てSCSIイニシエーター・ポートを識別(the "I" in the "I_T nexus")
SCSIターゲット・ポート(the “T” in the “I_T nexus”)はTarget Name
とportal group tagによって外部的に識別される