ネットワーク・ストレージを加速させる最新技術を紹介
特集:最新IPストレージ技術「iSCSI」

青木直孝
日本アイ・ビー・エム
SNIA-Japan Forum正会員
2002/10/5

Part.2 iSCSI技術仕様

iSCSIの仕組み

●iSCSIのコンセプト
 Small Computer System Interface(SCSI)は、HDDやテープ・ドライブ、スキャナなどの周辺装置との入出力に使用されるインターフェイスであり、パラレル・バスを介したブロック・データの送受信を基本とする。また、SCSIはクライアント/サーバ・モデルであり、SCSIコマンドを発行し、処理を要求する「イニシエータ」と、その処理を行い、レスポンスを返す「ターゲット」により構成される。

 iSCSIのコンセプトは、SCSIコマンドやレスポンスをTCPパケットにカプセル化することにより、従来のパラレル・バスを元にしたSCSIトランスポートを、IPネットワークによるトランスポートに置き換えることである。これは、IPベースのStorage Area Network(IP-SAN)の構築を可能とする。

図1 iSCSIの概念。SCSIコマンドやレスポンスをTCPパケットにカプセル化することにより、従来のSCSIによるトランスポートをIPネットワークに置き換える


●iSCSI階層モデル

 iSCSIの階層モデルを図2に示す。iSCSIレイヤは、SCSIレイヤとTCP/IPレイヤとの間に位置する。SCSIレイヤからのSCSIコマンドやレスポンス、データを受け、それをカプセル化処理してiSCSI PDUを作成し、TCP/IPが提供するTCPコネクションを介して送信を行う。また、TCPコネクションを介して受信したiSCSI PDUを処理して、SCSIコマンドやレスポンス、データを抜き出し、それをSCSIレイヤに通知する。

図2 iSCSIの階層モデル。iSCSIレイヤはSCSIレイヤとTCP/IPレイヤの中間に位置し、SCSIコマンドやレスポンスをiSCSI PDUという形でカプセル化し、TCPコネクションを介して送信を行う


iSCSIプロトコル概要

●セッションの確立とログイン
 iSCSIにおいて、イニシエータとターゲット間の論理的な通信路は、iSCSIセッションと呼ばれる。iSCSIセッションは、1つもしくは複数のTCPコネクションから構成され、SCSIにおけるI_T Nexusに相当する。

図3 iSCSIセッションは、1つまたは複数のTCPコネクションから構成される

 iSCSIセッションの確立は、イニシエータがターゲットとの間でTCPコネクションを張り、認証とネゴシエーションすることにより行う。認証は、不正アクセスを防ぐためにターゲットによりイニシエータの認証を行うのみならず、なりすましなどを防ぐためにイニシエータによるターゲットの認証を行うことも可能である。認証には、セキュリティの観点から、以下の認証方式を使用する。どの認証方式により行うかは、イニシエータとターゲット間のネゴシエーションによって決めることができる。

  • Kerberos V5(RFC1510
  • Simple Public-Key GSS-API Mechanism(RFC2025
  • Secure Remote Password(RFC2945
  • Challenge Handshake Authentication Protocol(RFC1994


●SCSIコマンド・レスポンスとデータ転送

 iSCSIにおいて、SCSIコマンドの送信はSCSI Command PDUにより、データ転送はSCSI Data In/Out PDUにより、SCSIレスポンスの送信はSCSI Response PDUにより、それぞれ行う。イニシエータは、iSCSIセッション内のどのコネクションからでもSCSIコマンドの発行を行うことができるが、コマンドに対するデータ転送やSCSIレスポンスは、コマンドが発行されたコネクションを使用する必要がある。

 データ転送は、受信側の準備が整うのを待って送信することが基本となる。データ受信側は、受信可能となったときに Ready to Transfer (R2T) PDUを送信し、データ送信を促す。データ送信側は、それに対するレスポンスとしてデータの送信を行う。データの転送が1つのパケットに収まらない場合複数に分けて転送を行う。この際、最終のPDUを示すためにFinalフラグが使用される。図4に、SCSI Writeコマンドの例を示す。

図4 iSCSI Writeの流れ。データ転送は、受信側の準備が整うのを待ってから行われることになる


iSCSIネームとその解決

 iSCSIノードは、ノード識別や管理のためのiSCSIネームを持つ。iSCSIネームは、iSCSIノードのロケーションに依存しないこと、全世界で唯一であること、iSCSIノードのライフにおいて固定であることなどが必要であり、iSCSIでは、IPドメイン名を使用したiSCSI Qualified NameとIEEEの64ビットExtended Unique Identifierを使用した「IEEE EUI-64 Format」を使用する。

 iSCSI Qualified Nameは、タイプ識別子「iqn.」、ドメイン取得日、ドメイン名、ドメイン取得者が付けた文字列からなる。

  (例) iqn.2002-09.com.ibm:iscsi-gateway:model-xxxx:sn-xxxxxxx

 IEEE EUI-64 Formatは、タイプ識別子「eui.」とアスキーコード化された16進数のEUI-64識別子からなる。

  (例) eui.0123456789ABCDEF

 イニシエータがターゲットへのiSCSIセッションを確立するためには、ターゲットのIPアドレス、TCPポート番号、およびiSCSIネームが必要となる。iSCSIでは、これらの情報をイニシエータに設定するための方法として、3つのオプションを用意している。

1. 静的構成
 イニシエータに3つの情報を静的に設定する方法で、iSCSIネームのディスカバーを行わない。小規模なiSCSIシステム向けのオプション

2. SendTargets
 イニシエータにターゲットのIPアドレスとTCPポート番号の設定を行う。iSCSIネームの解決には、ディスカバリー・セッションと呼ばれる特別なiSCSIセッションを使用して、SendTargetsコマンドを発行しターゲットに問合せることにより行う。ゲートウエイやルータ向けのオプション

3. ゼロ設定
 Service Location Protocol(SLP:RFC2608)利用する方法と、Internet Storage Name Service (iSNS: Internet-Draft)を使用する方法がある。SLPには、「Service Request」をマルチキャストすることによりターゲットのディスカバリーを行う方法と、ディレクトリ・エージェントへユニキャストで問い合わせる方法がある。イニシエータは、自身のiSCSIネームをService Requestに含めることで、自分に対して使用が許可されているターゲットの発見を行うことが可能である。


Index
特集:最新IPストレージ技術「iSCSI」
  Part.1 「iSCSI」とは、どのような技術か?
・iSCSIとは?
・iSCSIの標準化動向
Part.2 iSCSI技術仕様
・iSCSIの仕組み
・iSCSIプロトコル概要
・iSCSIネームとその解決
  Part.3 iSCSIの将来と今後の課題
・iSCSIの実装要件
・iSCSIの技術的課題
・他技術とiSCSIとの比較
 


「Master of IP Network総合インデックス」



Master of IP Network フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Master of IP Network 記事ランキング

本日 月間