Network Working Group M. Chadalapaka Request for Comments: 5047 HP Category: Informational J. Hufferd Brocade Inc. J. Satran IBM H. Shah Broadcom Corporation October 2007
DA: Datamover Architecture for the Internet Small Computer System Interface (iSCSI)
Status of This Memo
このメモのステータス
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
このメモはインターネットコミュニティのための情報を提供します。それはどんな種類のインターネット標準を指定しません。このメモの配布は無制限です。
Abstract
抽象
The Internet Small Computer System Interface (iSCSI) is a SCSI transport protocol that maps the SCSI family of application protocols onto TCP/IP. Datamover Architecture for iSCSI (DA) defines an abstract model in which the movement of data between iSCSI end nodes is logically separated from the rest of the iSCSI protocol in order to allow iSCSI to adapt to innovations available in new IP transports. While DA defines the architectural functions required of the class of Datamover protocols, it does not define any specific Datamover protocols. Each such Datamover protocol, defined in a separate document, provides a reliable transport for all iSCSI PDUs, but actually moves the data required for certain iSCSI PDUs without involving the remote iSCSI layer itself. This document begins with an introduction of a few new abstractions, defines a layered architecture for iSCSI and Datamover protocols, and then models the interactions within an iSCSI end node between the iSCSI layer and the Datamover layer that happen in order to transparently perform remote data movement within an IP fabric. It is intended that this definition will help map iSCSI to generic Remote Direct Memory Access (RDMA)-capable IP fabrics in the future comprising TCP, the Stream Control Transmission Protocol (SCTP), and possibly other underlying network transport layers, such as InfiniBand.
インターネット小型コンピュータシステムインタフェース(iSCSIは)TCP / IP上にアプリケーションプロトコルのSCSIファミリをマップするSCSIトランスポートプロトコルです。 iSCSIのDATAMOVERアーキテクチャ(DA)は、iSCSIのエンドノード間のデータの移動は論理的にiSCSIは新しいIPトランスポートで利用可能な技術革新に適応することを可能にするためにiSCSIプロトコルの残りから分離された抽象モデルを定義します。 DAは、データムーバプロトコルのクラスで必要なアーキテクチャの関数を定義している間、それは、任意の特定のデータムーバプロトコルを定義していません。別の文書で定義されたような各データムーバプロトコルは、すべてのiSCSI PDUに対して信頼性の高いトランスポートを提供するが、実際に遠隔iSCSI層自体を介さずに、特定のiSCSI PDUのために必要なデータを移動させます。この文書は、いくつかの新しい抽象化の導入で始まりiSCSIとデータムーバプロトコルに対して階層化アーキテクチャを定義し、かつ透過遠隔データ移動を行うために起こるiSCSI層とデータムーバ層との間のiSCSIエンドノード内のその後のモデルの相互作用IPファブリック内。この定義は、将来の備えTCP、ストリーム制御伝送プロトコル(SCTP)、およびInfiniBandなどおそらく他の基盤となるネットワークトランスポート層、中に一般的なリモートダイレクトメモリアクセス(RDMA)対応IPファブリックにマップのiSCSIを助けることを意図しています。
Table of Contents
目次
1. Motivation ......................................................4 1.1. Intent .....................................................4 1.2. Interpretation of Requirements .............................5 2. Definitions and Acronyms ........................................5 2.1. Definitions ................................................5 2.2. Acronyms ...................................................6 3. Architectural Layering of iSCSI and Datamover Layers ............7 4. Design Overview .................................................9 5. Architectural Concepts .........................................10 5.1. iSCSI PDU Types ...........................................10 5.1.1. iSCSI Data-Type PDUs ...............................10 5.1.2. iSCSI Control-Type PDUs ............................11 5.2. Data_Descriptor ...........................................11 5.3. Connection_Handle .........................................11 5.4. Operational Primitive .....................................12 5.5. Transport Connection ......................................13 6. Datamover Layer and Datamover Protocol .........................13 7. Functional Overview ............................................14 7.1. Startup ...................................................14 7.2. Full Feature Phase ........................................15 7.3. Wrap-up ...................................................15 8. Operational Primitives Provided by the Datamover Layer .........16 8.1. Send_Control ..............................................16 8.2. Put_Data ..................................................17 8.3. Get_Data ..................................................17 8.4. Allocate_Connection_Resources .............................18 8.5. Deallocate_Connection_Resources ...........................19 8.6. Enable_Datamover ..........................................19 8.7. Connection_Terminate ......................................20 8.8. Notice_Key_Values .........................................20 8.9. Deallocate_Task_Resources .................................20 9. Operational Primitives Provided by the iSCSI Layer .............21 9.1. Control_Notify ............................................21 9.2. Connection_Terminate_Notify ...............................22 9.3. Data_Completion_Notify ....................................22 9.4. Data_ACK_Notify ...........................................23 10. Datamover Interface (DI) ......................................23 10.1. Overview .................................................23 10.2. Interactions for Handling Asynchronous Notifications .....24 10.2.1. Connection Termination ............................24 10.2.2. Data Transfer Completion ..........................24 10.2.3. Data Acknowledgement ..............................25 10.3. Interactions for Sending an iSCSI PDU ....................25 10.3.1. SCSI Command ......................................26 10.3.2. SCSI Response .....................................26 10.3.3. Task Management Function Request ..................26
10.3.4. Task Management Function Response .................27 10.3.5. SCSI Data-Out and SCSI Data-In ....................27 10.3.6. Ready To Transfer (R2T) ...........................28 10.3.7. Asynchronous Message ..............................28 10.3.8. Text Request ......................................28 10.3.9. Text Response .....................................28 10.3.10. Login Request ....................................29 10.3.11. Login Response ...................................29 10.3.12. Logout Command ...................................29 10.3.13. Logout Response ..................................30 10.3.14. SNACK Request ....................................30 10.3.15. Reject ...........................................30 10.3.16. NOP-Out ..........................................30 10.3.17. NOP-In ...........................................30 10.4. Interactions for Receiving an iSCSI PDU ..................31 10.4.1. General Control-Type PDU Notification .............31 10.4.2. SCSI Data Transfer PDUs ...........................31 10.4.3. Login Request .....................................32 10.4.4. Login Response ....................................32 11. Security Considerations .......................................33 11.1. Architectural Considerations .............................33 11.2. Wire Protocol Considerations .............................33 12. References ....................................................34 12.1. Normative References .....................................34 12.2. Informative References ...................................34 Appendix A. Design Considerations and Examples ....................35 A.1. Design Considerations for a Datamover Protocol ............35 A.2. Examples of Datamover Interactions ........................35 Acknowledgements ..................................................44
Table of Figures
図の表
Figure 1. Datamover Architecture Diagram, with the RDMAP Example ...8 Figure 2. A Successful iSCSI Login on Initiator ...................37 Figure 3. A Successful iSCSI Login on Target ......................37 Figure 4. A Failed iSCSI Login on Initiator .......................38 Figure 5. A Failed iSCSI Login on Target ..........................38 Figure 6. iSCSI Does Not Enable the Datamover .....................39 Figure 7. A Normal iSCSI Connection Termination ...................40 Figure 8. An Abnormal iSCSI Connection Termination ................40 Figure 9. A SCSI Write Data Transfer ..............................41 Figure 10. A SCSI Read Data Transfer ..............................42 Figure 11. A SCSI Read Data Acknowledgement .......................43 Figure 12. Task Resource Cleanup on Abort .........................44
There are relatively new standard protocols that enable Remote Direct Memory Access (RDMA) and Remote Direct Data Placement (RDDP) technologies to work over IP fabrics. The principal value proposition of these technologies is that they enable one end node to place data in the final intended buffer on the remote end node, thus eliminating the need for a receive path data copy that moves the data to its final location. The data copy avoidance in turn eliminates unnecessary memory bandwidth consumption, substantially decreases the reassembly buffer size requirements, and preserves CPU cycles that would otherwise be spent in copying.
リモートダイレクトメモリアクセス(RDMA)とIPファブリック上で動作するリモートダイレクトデータ配置(RDDP)テクノロジを有効にする比較的新しい標準プロトコルがあります。これらの技術の主要な価値命題は、彼らがこのように最終的な位置にデータを移動受信経路データコピーの必要性を排除し、リモートエンドノードに最終的な意図されたバッファ内のデータを配置するために、1つのエンドノードを有効にすることです。ターンでのデータコピー回避は、実質的に組立バッファサイズ要件を減少させ、不必要なメモリ帯域幅の消費を排除し、そうでない場合はコピーに費やされることになるCPUサイクルを保存します。
The iSCSI specification [RFC3720] defines a very detailed data transfer model that employs SCSI Data-In PDUs, SCSI Data-Out PDUs, and R2T PDUs, in addition to the SCSI Command and SCSI Response PDUs that respectively create and conclude the task context for the data transfer. In the traditional iSCSI model, the iSCSI protocol layer plays the central role in pacing the data transfer and carrying out the ensuing data transfer itself. An alternative architecture would be for iSCSI to delegate a large part of this data transfer role to a separate protocol layer exclusively designed to move data, which in turn is possibly aided by a data movement and placement technology such as RDMA.
iSCSIの仕様[RFC3720]は、それぞれのタスクのコンテキストを作成して締結することをSCSIコマンドやSCSI応答PDUに加えて、非常に詳細なSCSIデータインPDUを用いたデータ転送モデル、SCSIデータアウトのPDU、及びR2T PDUを定義しますデータ転送。従来のiSCSIモデルでは、iSCSIプロトコル層は、データ転送をペーシングし、その後、データ転送自体を実行する際に中心的な役割を果たしています。 iSCSIが今度はおそらく、このようなRDMAとしてデータの移動や配置技術によって支援される独占的にデータを移動するために設計された別のプロトコル層、このデータ転送の役割の大部分を委任するための代替のアーキテクチャは次のようになります。
If iSCSI were operating in such RDMA environments, iSCSI would be shielded from the low-level data transfer mechanics but would only be privy to the conclusion of the requested data transfer. Thus, there would be an effective "off-loading" of the work that an iSCSI protocol layer is expected to perform, compared to today's iSCSI end nodes. For such RDMA environments, it is highly desirable that there be a standard architecture to separate the data movement part of the iSCSI protocol definition from the rest of the iSCSI functionality. This architecture precisely defines what a Datamover layer is and also describes the model of interactions between the iSCSI layer and the Datamover layer (Section 6). In order to satisfy this need, this document presents a Datamover Architecture for iSCSI (DA) and summarizes a reasonable model for interactions between the iSCSI layer and the Datamover layer for each of the iSCSI PDUs that are defined in [RFC3720]. Note that while DA is motivated by the advent of RDMA over TCP/IP technology, the architecture is not dependent on RDMA in its design. DA is intended to be a generic architectural framework for allowing different types of Datamovers based on different types of RDMA and transport protocols. Adoption of this model will help iSCSI proliferate into more environments.
iSCSIは、このようなRDMA環境で動作している場合、iSCSIは、低レベルのデータ転送の仕組みから遮蔽されるだけで要求されたデータ転送の終了に関与することになります。したがって、今日のiSCSIエンドノードと比較して、「オフロード」iSCSIプロトコル層を実行すると予想される作業の効果的な存在であろう。そのようなRDMA環境の場合、iSCSI機能の残りの部分からiSCSIプロトコル定義のデータ移動部を分離するための標準アーキテクチャがあることが非常に望ましいです。このアーキテクチャは、正確にデータムーバ層が何であるかを定義し、また、iSCSI層とデータムーバ層(第6節)との間の相互作用のモデルを記載しています。この必要性を満たすために、このドキュメントは、iSCSIのデータムーバアーキテクチャ(DA)を提示し、iSCSI層と[RFC3720]で定義されたiSCSI PDUの各々に対するデータムーバ層との間の相互作用のための合理的なモデルをまとめたものです。 DAは、TCP / IPの技術に対するRDMAの出現によって動機づけされている間、アーキテクチャはその設計におけるRDMAに依存しないことに注意してください。 DAは、RDMAとトランスポートプロトコルの異なる種類に基づいてDatamoversの異なる種類を可能にするための汎用的なアーキテクチャフレームワークであることを意図しています。このモデルの採用は、iSCSIは、より環境に増殖するのに役立ちます。
This document introduces certain architectural abstractions and builds an abstract functional interface model between iSCSI and Datamover protocol layers based on those abstractions. This architectural style is motivated by the following desires:
この文書は、特定のアーキテクチャの抽象化を導入し、これらの抽象化に基づいて、iSCSIとデータムーバプロトコル層の間の抽象化機能インタフェースモデルを構築します。この建築様式は、以下の欲望によって動機づけされています。
a) Provide guidance to Datamover protocol designers with respect to the functional boundary between iSCSI and the Datamover protocols. This guidance is critical since a significant part of the [RFC3720] protocol definition is left unchanged by DA architecture and the iSCSI notions from [RFC3720] (e.g., tasks, ITTs) are leveraged by the Datamover protocol.
A)iSCSIとデータムーバプロトコルとの間の機能的境界に対するデータムーバプロトコル設計者にガイダンスを提供します。 [RFC3720]プロトコル定義のかなりの部分は、DAアーキテクチャと[RFC3720](例えば、タスクは、ITTS)はデータムーバプロトコルによって利用されているからのiSCSI概念によって変更されないので、この指針は重要です。
b) Aid existing iSCSI implementations to rapidly adapt to DA architecture, largely by leveraging the architectural abstractions into implementation constructs -- e.g., functions, APIs, modules.
例えば、機能、APIは、モジュール - B)エイド既存のiSCSI実装は、急速に大きく実装コンストラクトに建築抽象化を活用することで、DAアーキテクチャに適応します。
However, note that DA architecture does not intend to impose any implementation specifics per se. When a DA architectural concept (e.g., Operational Primitive) is described as mandatory ("MUST") or recommended ("SHOULD") of a layer (iSCSI or Datamover) in this document, the intent is that an implementation respectively MUST or SHOULD produce the same protocol action as what the model describes. Specifically, no implementation compliance in terms of names, modules or API arguments etc. is implied by this Architecture by such use of [RFC2119] terms, only a functional compliance is sought.
しかし、DAアーキテクチャは、それ自体が任意の実装の詳細を課すことを意図していないことに注意してください。 DAアーキテクチャ概念(例えば、動作プリミティブ)は本書では層(iSCSIまたはデータムーバ)の(「SHOULD」)必須(「MUST」)として記述または推奨されたときに、その意図は、実装がそれぞれまたは生成すべきでなければならないことですモデルが説明したものと同じプロトコルアクション。具体的には、名前、モジュールまたはAPIの引数などの面で何の実装コンプライアンスは唯一、機能、コンプライアンスが求められている、[RFC2119]の用語のような使用することによって、このアーキテクチャによって暗示されていません。
I/O Buffer - A buffer that is used in a SCSI Read or Write operation so that SCSI data may be sent from or received by the buffer.
I / Oバッファ - SCSIデータがバッファによってから送信または受信することができるようにSCSI読み取りに使用されるか、または操作を書いているバッファ。
Datamover protocol - A Datamover protocol is a data transfer wire protocol for iSCSI that meets the requirements stated in Section 6.
DATAMOVERプロトコル - DATAMOVERプロトコルはセクション6に記載されている要件を満たしているiSCSIのためのデータ転送ワイヤプロトコルです。
Datamover layer - A Datamover layer is a protocol layer within an end node that implements the Datamover protocol.
DATAMOVER層 - DATAMOVER層はDATAMOVERプロトコルを実装するエンドノード内のプロトコル層です。
Datamover-assisted - An iSCSI connection is said to be "Datamover-assisted" when a Datamover layer is enabled for moving control and data information on that iSCSI connection.
DATAMOVERアシスト - iSCSI接続はDATAMOVER層がそのiSCSI接続上の制御及びデータ情報を移動させるために有効になっている場合、「DATAMOVER支援」されると言われます。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "OPTIONAL" はあります[RFC2119]に記載されているように解釈されます。
Acronym Definition -------------------------------------------------------------
DA Datamover Architecture for iSCSI
iSCSI用のDAムーバのアーキテクチャ
DDP Direct Data Placement Protocol
DDP直接データ配置プロトコル
DI Datamover Interface
ムーバインターフェース
IANA Internet Assigned Numbers Authority
IANAインターネット割り当て番号機関
IETF Internet Engineering Task Force
IETFインターネットエンジニアリングタスクフォース
I/O Input - Output
I / O入力 - 出力
IP Internet Protocol
IPインターネットプロトコル
iSCSI Internet SCSI
iSCSIのインターネットSCSI
iSER iSCSI Extensions for RDMA
RDMAのためのiSER iSCSIの機能拡張
ITT Initiator Task Tag
ITTイニシエータタスクタグ
LO Leading Only
LOのみをリード
MPA Marker PDU Aligned Framing for TCP
TCPのためのMPAマーカPDU同盟フレーミング
PDU Protocol Data Unit
PDUプロトコルデータユニット
RDDP Remote Direct Data Placement
RDDPリモートダイレクト・データ配置
RDMA Remote Direct Memory Access
RDMAリモートダイレクトメモリアクセス
R2T Ready To Transfer
転送するR2T準備
R2TSN Ready To Transfer Sequence Number
シーケンス番号を転送する準備ができてR2TSN
RDMA Remote Direct Memory Access
RDMAリモートダイレクトメモリアクセス
RDMAP Remote Direct Memory Access Protocol
RDMAPリモートダイレクトメモリアクセスプロトコル
RFC Request For Comments
コメントのRFCリクエスト
SAM SCSI Architecture Model
SAM SCSIアーキテクチャモデル
SCSI Small Computer Systems Interface
SCSI小型コンピュータシステムインタフェース
SN Sequence Number
SNシーケンス番号
SNACK Selective Negative Acknowledgment - also Sequence Number Acknowledgement for Data
SNACK選択否定応答 - データについても、シーケンス番号謝辞
TCP Transmission Control Protocol
TCP伝送制御プロトコル
TTT Target Transfer Tag
TTT目標伝達タグ
Figure 1 illustrates an example of the architectural layering of iSCSI and Datamover layers, in conjunction with a TCP/IP implementation of RDMAP/DDP ([DDP]) layers in an iSCSI end node. Note that RDMAP/DDP/MPA and TCP protocol layers are shown here only as an example, and in reality, DA is completely oblivious to protocol layers below the Datamover layer. The RDMAP/DDP/MPA protocol stack provides a generic transport service with direct data placement. There is no need to tailor the implementation of this protocol stack to the specific ULP to benefit from these services.
図1は、iSCSIエンドノードにRDMAP / DDP([DDP])層のTCP / IPの実装に関連して、iSCSIとデータムーバ層のアーキテクチャ階層化の一例を示す図です。そのRDMAP / DDP / MPAとTCPプロトコル層は一例として示されており、実際に、DAは、データムーバ層の下のプロトコル層に完全に忘れであることに注意。 RDMAP / DDP / MPAプロトコルスタックは、直接データ配置を持つ一般的な輸送サービスを提供します。これらのサービスの恩恵を受けるために、特定のULPにこのプロトコルスタックの実装を調整する必要はありません。
Initiator stack Target stack
イニシエータスタック対象スタック
+----------------+ SCSI application +----------------+ | SCSI Layer | protocols | SCSI Layer | +----------------+ +----------------+ ^ ^ | | v v +----------------+ iSCSI protocol +----------------+ | iSCSI Layer | (excluding data | iSCSI Layer | +----------------+ movement) +----------------+ ^ ^ -- ---+-- ---- DI (Datamover Interface)--- ----+--- ---- v v +----------------+ a Datamover +----------------+ | Datamover Layer| protocol | Datamover Layer| +----------------+ +----------------+ ^ ^ +-------+----------+ +---------+-----------+ | v | | v | |+---------------+ | | +-----------------+ | || RDMAP/DDP/MPA | | RDMAP/DDP/MPA | | RDMAP/DDP/MPA | | || Layers | | protocols | | Layers | | |+---------------+ | | +-----------------+ | | ^ | | ^ | | | network | | | network | | | transport| | | transport | | v | | v | |+---------------+ | | +----------------+ | || TCP Layer | | TCP protocol | | TCP Layer | | |+---------------+ | | +----------------+ | | ^ | | ^ | +-------+----------+ +---------+-----------+ +------------------------------------------+
Figure 1. Datamover Architecture Diagram, with the RDMAP Example
The scope of this document is limited to:
この文書の範囲はに制限されています。
1. Defining the notion of a Datamover layer and a Datamover protocol (Section 6).
1.データムーバ層とデータムーバプロトコル(第6節)の概念を定義します。
2. Defining the functionality distribution between the iSCSI layer and the Datamover layer, along with the communication model between the two (Operational Primitives).
2. 2つ(動作プリミティブ)との間の通信モデルと一緒に、iSCSI層とデータムーバ層との間の機能の配分を定義します。
3. Modeling the interactions between the blocks labeled as "iSCSI Layer" and "Datamover Layer" in Figure 1 -- i.e., defining the interface labeled "DI" in the figure -- for each defined iSCSI PDU, based on the Operational Primitives.
3.図1に「iSCSI層」および「データムーバ層」とラベルされたブロックの間の相互作用をモデリング - すなわち、図中の「DI」とラベル付けされたインタフェース定義 - 動作プリミティブに基づいたiSCSI PDUは、それぞれについて定義。
This document discusses and defines a model for interactions between the iSCSI layer and a "Datamover layer" (see Section 6) operating within an iSCSI end node, presumably communicating with one or more iSCSI end nodes with similar layering. The model for interactions for handling different iSCSI operations is called the "Datamover Interface" (DI, Section 10), while the architecture itself is called the "Datamover Architecture for iSCSI" (DA). It is likely that the architecture will have implications on the Datamover wire protocols as DA places certain requirements and functionality expectations on the Datamover layer. However, this document itself neither defines any new wire protocol for the Datamover layer, nor any potential modifications to the iSCSI wire protocol to employ the Datamover layer. The scope of this document is strictly limited to specifying the architectural framework and the minimally required interactions that happen within an iSCSI end node to leverage the Datamover layer.
この文書は、説明し、iSCSI層と「データムーバ層」との間の相互作用のためのモデルを定義し、おそらく同様の積層を有する1つのまたは複数のiSCSIエンドノードと通信する、iSCSIのエンドノード内で動作する(セクション6を参照)。アーキテクチャ自体は、「iSCSI用データムーバアーキテクチャ」(DA)と呼ばれながら、異なるiSCSIの操作を処理するための相互作用のためのモデルは、「データムーバインタフェース」(DI、セクション10)と呼ばれます。 DAは、ムーバ層の上に一定の要件と機能性の期待を置くようなアーキテクチャは、ムーバのワイヤプロトコルの意味を持つだろうと思われます。しかし、この文書自体のいずれもデータムーバ層に新たなワイヤプロトコルを定義し、またiSCSIのワイヤプロトコルへの任意の潜在的な変更は、データムーバ層を採用します。この文書の範囲は、アーキテクチャフレームワークとデータムーバ層を活用したiSCSIエンドノード内に起こる必要最低限の相互作用を指定する厳密に制限されています。
The design ideas behind DA can be summarized as follows:
次のようにDAの背後にあるデザインのアイデアをまとめることができます。
1) DA defines an abstract functional interface model of the iSCSI layer's interactions with a Datamover layer below -- i.e., DA models the interactions between the logical "bottom" interface of iSCSI and the logical "top" interface of a Datamover.
すなわち、DAモデルのiSCSIの論理「底」インターフェースとデータムーバ論理「上部」インターフェースとの間の相互作用 - 1)DAは、以下のデータムーバ層とiSCSI層の相互作用の抽象的機能インタフェースモデルを定義します。
2) DA guides the wire protocol for a Datamover layer by defining the iSCSI knowledge that the Datamover layer may utilize in its protocol definition (as an example, this document completely limits the notion of "iSCSI session" to the iSCSI layer).
2)DAは、データムーバ層がそのプロトコル定義に利用することができるのiSCSI知識を(一例として、この文書は完全にiSCSI層に「iSCSIセッション」の概念を制限する)を定義することによってデータムーバ層用ワイヤプロトコルを案内します。
3) DA is designed to allow implementation of the Datamover layer either in hardware or in software.
3)DAは、ハードウェアまたはソフトウェアのいずれかでデータムーバ層の実装を可能にするように設計されています。
4) DA is not a wire protocol spec, but an architecture that also models the interactions between iSCSI and Datamover layers operating within an iSCSI end node.
4)DAは、ワイヤプロトコル仕様ではなく、アーキテクチャようにしてもモデルのiSCSIエンドノード内で動作するiSCSIとデータムーバ層との間の相互作用。
5) DA by design seeks to model the iSCSI-Datamover interactions in a way that the modeling is independent of the specifics of either a particular iSCSI revision or an instantiation of a Datamover layer.
5)設計によってDAは、モデリング、特定のiSCSIリビジョンまたはデータムーバ層のインスタンスのいずれかの内容とは無関係であるような方法でのiSCSIデータムーバ相互作用をモデル化しようとするものです。
6) DA introduces and relies on the notion of a defined set of Operational Primitives (could be seen as entry point definitions in implementation terms) provided by each layer to the other to carry out the request-response interactions.
6)DAを導入し(実装面でのエントリポイントの定義として見ることができる)要求 - 応答インタラクションを行うために、他の各レイヤによって提供される動作プリミティブの定義されたセットの概念に依存しています。
7) DA is intended to allow Datamover protocol definitions with minimal changes to existing iSCSI implementations.
7)DAは、既存のiSCSI実装に対する最小限の変更でデータムーバプロトコル定義を可能にするように意図されています。
8) DA is designed to allow the iSCSI layer to completely rely on the Datamover layer for all data transport needs.
8)DAは、iSCSI層は完全にすべてのデータ転送のニーズにデータムーバ層に依存するように設計されています。
9) DA models the architecturally required minimal interactions between an operational iSCSI layer and a Datamover layer to realize the iSCSI-transparent data movement. There may be several other interactions in a typical implementation in order to bootstrap a Datamover layer (or an iSCSI layer) into operation, but they are outside the scope of this document.
9)DAモデル演算iSCSI層およびiSCSI透過データ移動を実現するためのデータムーバ層とアーキテクチャ必要最小限の相互作用。そこ操作にデータムーバ層(またはiSCSI層)をブートストラップするために、典型的な実装において、いくつかの他の相互作用であるが、それらはこの文書の範囲外であることができます。
Note that in summary, DA is architected to support many different Datamover protocols operating under the iSCSI layer. One such example of a Datamover protocol is iSER [iSER].
要約すると、DAは、iSCSI層の下で動作し、多くの異なるデータムーバプロトコルをサポートするように設計されていることに注意してください。データムーバプロトコルのような一例は、のiSER【のiSER]です。
This section defines the iSCSI PDU classification terminology, as defined and used in this document. Out of the set of legal iSCSI PDUs defined in [RFC3720], as we will see in Section 5.1.1, the iSCSI layer does not request a SCSI Data-Out PDU carrying solicited data for transmission across the Datamover Interface per this architecture. For this reason, the SCSI Data-Out PDU carrying solicited data is excluded in the iSCSI PDU classification we introduce in this section (for SCSI Data-Out PDUs for unsolicited Data, see Section 5.1.2). The rest of the legal iSCSI PDUs that may be exchanged across the Datamover Interface are defined to consist of two classes:
この文書で定義され、使用されるこのセクションでは、iSCSIのPDU分類の用語を定義します。 [RFC3720]で定義された法定のiSCSI PDUのセットのうち、我々はセクション5.1.1に見るように、iSCSI層は、SCSIデータアウトPDUは、このアーキテクチャごとのデータムーバインタフェースを介して送信するために募集したデータを運ぶ要求しません。このため、募集データを搬送するSCSIデータ出力PDUは、私たちは、このセクションで紹介したiSCSI PDUの分類に除外されている(未承諾のデータのSCSIデータアウトPDUのために、セクション5.1.2を参照してください)。ムーバインタフェース間で交換される法的なのiSCSI PDUの残りの部分は、二つのクラスから構成されると定義されています。
1) iSCSI data-type PDUs
1)iSCSIデータ型のPDU
2) iSCSI control-type PDUs
2)のiSCSI制御型のPDU
An iSCSI data-type PDU is defined as an iSCSI PDU that causes data transfer, transparent to the remote iSCSI layer, to take place between the peer iSCSI nodes on a Full Feature Phase iSCSI connection. A data-type PDU, when requested for transmission by the sender iSCSI layer, results in the associated data transfer without the participation of the remote iSCSI layer, i.e., the PDU itself is not delivered as-is to the remote iSCSI layer. The following iSCSI PDUs constitute the set of iSCSI data-type PDUs:
iSCSIのデータ型PDUは、フル機能フェーズiSCSI接続のピアiSCSIノードとの間で行われるように、リモートiSCSI層に対して透過的データ転送を引き起こすのiSCSI PDUとして定義されます。リモートiSCSI層であるように、データ型のPDUは、送信側のiSCSI層によって伝送のために要求されたとき、即ちリモートiSCSI層の参加なしに関連付けられたデータ転送の結果は、PDU自体が送達されません。次のiSCSI PDUはiSCSIのデータ型PDUのセットを構成します。
1) SCSI Data-In PDU
1)SCSIデータインのPDU
2) R2T PDU
2)R2T PDU
In an iSCSI end node structured as an iSCSI layer and a Datamover layer as defined in this document, the solicitation for Data-Out (i.e., R2T PDU) is not delivered to the initiator iSCSI layer, per the definition of an iSCSI data-type PDU. The data transfer is instead performed via the mechanisms known to the Datamover layer (e.g., RDMA Read). This in turn implies that a SCSI Data-Out PDU for solicited data is never requested for transmission across the Datamover Interface at the initiator.
この文書で定義されているiSCSI層とデータムーバ層として構造のiSCSIエンドノードにおいて、データ出力のための勧誘(すなわち、R2T PDU)をiSCSIデータ型の定義に従って、イニシエータiSCSI層に配信されていませんPDU。データ転送ではなくデータムーバ層(例えば、RDMA読み取り)に知られているメカニズムを介して行われます。これは、順番に募集したデータのためのSCSIデータアウトPDUがイニシエータでムーバインタフェースを介して伝送するために要求されることはありませんことを意味します。
Any iSCSI PDU that is not an iSCSI data-type PDU and also not a solicited SCSI Data-Out PDU is defined as an iSCSI control-type PDU. Specifically, note that SCSI Data-Out PDUs for unsolicited Data are defined as iSCSI control-type PDUs.
iSCSIのデータ型PDUではなく、また、募集SCSIデータ出力PDUがiSCSI制御型PDUとして定義されていない任意のiSCSI PDU。具体的には、未承諾のデータのSCSIデータアウトのPDUがiSCSI制御型PDUのように定義されていることに注意してください。
A Data_Descriptor is an information element that describes an iSCSI/SCSI data buffer, provided by the iSCSI layer to its local Datamover layer or provided by the Datamover layer to its local iSCSI layer for identifying the data associated respectively with the requested or completed operation.
Data_Descriptorは、ローカルデータムーバ層にiSCSI層によって提供されるか、または要求または完了操作とそれぞれ関連付けられたデータを識別するためにそのローカルiSCSI層にデータムーバ層によって提供される、のiSCSI / SCSIデータバッファを記述する情報要素です。
In implementation terms, a Data_Descriptor may be a scatter-gather list describing a local buffer, the exact structure of which is subject to the constraints imposed by the operating environment on the local iSCSI node.
実装の観点から、Data_Descriptorはローカルバッファ、ローカルiSCSIノード上のオペレーティング環境によって課される制約を受けるれた正確な構造を説明するスキャッタギャザリストであってもよいです。
A Connection_Handle is an information element that identifies the particular iSCSI connection for which an inbound or outbound iSCSI PDU is intended. A connection handle is unique for a given pair of an iSCSI layer instance and a Datamover layer instance. The Connection_Handle qualifier is used in all invocations of any Operational Primitive for connection identification.
Connection_Handleは、インバウンドまたはアウトバウンドのiSCSI PDUが意図されている特定のiSCSI接続を識別する情報要素です。接続ハンドルは、iSCSI層インスタンスとデータムーバ層インスタンスの所与の対に対して一意です。 Connection_Handle修飾子は接続識別のための任意の運用プリミティブのすべての呼び出しで使用されています。
Note that the Connection_Handle is conceptually different from the Connection Identifier (CID) defined by the iSCSI specification. While the CID is a unique identifier of an iSCSI connection within an iSCSI session, the uniqueness of the Connection_Handle extends to the entire iSCSI layer instance coupled with the Datamover layer instance, across possibly multiple iSCSI sessions.
Connection_HandleがiSCSI仕様で定義された接続識別子(CID)と概念的に異なっていることに留意されたいです。 CIDは、iSCSIセッション内のiSCSI接続の一意な識別子であるが、Connection_Handleの一意性は、おそらく複数のiSCSIセッションで、データムーバ層インスタンスと結合された全体のiSCSI層インスタンスに延びています。
In implementation terms, a Connection_Handle could be an opaque identifier exchanged between the iSCSI layer and the Datamover layer at the connection login time. One may also consider it to be similar in scope of uniqueness to a socket identifier. The exact structure and modalities of exchange of a Connection_Handle between the two layers is implementation-specific.
実装の観点から、Connection_HandleはiSCSI層と接続ログイン時にデータムーバ層との間で交換不透明識別子であってもよいです。一つは、また、それがソケット識別子に一意の範囲で同様であると考えることがあります。二つの層の間にConnection_Handleの交換の正確な構造及び様式は実装固有です。
An Operational Primitive, in this document, is an abstract functional interface procedure that requests another layer perform a specific action on the requestor's behalf or notifies the other layer of some event. The Datamover Interface between an iSCSI layer instance and a Datamover layer instance within an iSCSI end node uses a set of Operational Primitives to define the functional interface between the two layers. Note that not every invocation of an Operational Primitive may elicit a response from the requested layer. This document describes the types of Operational Primitives that are implicitly required and provided by the iSCSI protocol layer as defined in [RFC3720], and the semantics of these Primitives.
オペレーショナル・プリミティブは、この文書では、別の層は、要求者に代わって特定のアクションを実行要求したり、いくつかのイベントの他の層に通知する抽象機能インタフェース手順です。 iSCSI層インスタンスとiSCSIエンドノード内のデータムーバ層インスタンスとの間のデータムーバインタフェースは、二つの層の間の機能的なインターフェイスを定義するために操作プリミティブのセットを使用します。オペレーショナル・プリミティブのすべての呼び出しは要求された層からの応答を誘発していないことに注意してください。このドキュメントは[RFC3720]で定義されるように暗黙的に必要とiSCSIプロトコル層によって提供される動作プリミティブの種類、およびこれらのプリミティブのセマンティックスを記述する。
Note that ownership of buffers and data structures is likely to be exchanged between the iSCSI layer and its local Datamover layer in invoking the Operational Primitives defined in this architecture. The buffer management details, including how buffers are allocated and released, are implementation-specific and thus are outside the scope of this document.
バッファとデータ構造の所有権が、このアーキテクチャで定義された運用プリミティブを呼び出すことでiSCSI層とそのローカルムーバ層との間で交換される可能性があることに注意してください。バッファがこのように割り当て、解放、実装に固有のものとする方法を含むバッファ管理の詳細は、本文書の範囲外です。
Each Operational Primitive invocation needs a certain "information context" (e.g., Connection_Handle) for performing the specific action being requested. The required information context is described in this document by a listing of "qualifiers" on each invocation, in the style of function call arguments. There is no specific implementation implied in this notation. The "qualifiers" of any Operational Primitive invocation specified in this document thus represent the mandatory information context that the Operational Primitive invocation MUST consider in performing the action. While the qualifiers are required, the method of realizing the qualifiers (passed synchronously with invocation, or retrieved from task context, or retrieved from shared memory etc.) is really up to the implementations.
各動作プリミティブ呼び出しが要求されている特定のアクションを実行するための特定の「情報コンテクスト」(例えば、Connection_Handle)を必要とします。必要な情報のコンテキストは、関数呼び出しの引数のスタイルで、各呼び出しの「修飾子」のリストで、この文書に記述されています。この表記に暗黙の具体的な実装ではありません。この文書で指定された任意の運用プリミティブ呼び出しの「修飾子は」これオペレーショナル・プリミティブ呼び出しがアクションを実行する際に考慮しなければならない必須情報のコンテキストを表します。修飾子が必要とされているが、修飾子(呼び出しと同期通過、またはタスクコンテキストから取り出され、又は共有メモリ等から取得)を実現する方法は、実際の実装次第です。
When an Operational Primitive implementation is described as mandatory ("MUST") or recommended ("SHOULD") of a layer (iSCSI or Datamover) in this document, the intent is that an implementation respectively MUST or SHOULD produce the same protocol action as what the model describes.
動作プリミティブ実装は本書で層(iSCSIまたはデータムーバ)の(「SHOULD」)(「MUST」)必須のものとして説明または推奨されたときに、その意図は、インプリメンテーションは、それぞれ又は同じプロトコル・アクションを生成しなければならないしなければならないことであるものモデルは説明しています。
The term "Transport Connection" is used in this document as a generic term to represent the end-to-end logical connection as defined by the underlying reliable transport protocol. For this document, all instances of Transport Connection refer to a TCP connection.
基礎となる信頼性の高いトランスポートプロトコルによって定義されるような用語「トランスポート接続は、」エンドツーエンドの論理接続を表すのに総称として本文書で使用されています。この文書では、トランスポート接続のすべてのインスタンスは、TCP接続を参照してください。
This section introduces the notion of a "Datamover layer" and "Datamover protocol" as meant in this document, and defines the requirements on a Datamover protocol.
このセクションでは、この文書に意味として「ムーバ層」と「ムーバプロトコル」の概念を導入し、ムーバプロトコルに要件を定義します。
A Datamover layer is the implementation component that realizes a Datamover protocol functionality in an iSCSI-capable end node in communicating with other iSCSI end nodes with similar capabilities. More specifically, a "Datamover layer" MUST provide the following functionality and the "Datamover protocol" MUST consist of the wire protocol required to realize the following functionality:
データムーバ層は、同様の機能を有する他のiSCSIエンドノードと通信中のiSCSI対応のエンドノードにデータムーバプロトコル機能を実現する実装部品です。より具体的には、「データムーバ層」は、以下の機能と、以下の機能を実現するために必要なワイヤプロトコルで構成する必要があり、「データムーバプロトコル」を提供する必要があります。
1) guarantee that all the necessary data transfers take place when the local iSCSI layer requests transmitting a command (in order to complete a SCSI command, for an initiator), or sending/receiving an iSCSI data sequence (in order to complete part of a SCSI command for a target).
1))ローカルiSCSI層の要求を開始するために、SCSIコマンドを完了するために(コマンドを送信する際に必要なすべてのデータ転送が行われることを保証する、又は送信/の部分を完了するために(iSCSIデータ・シーケンスを受信しますターゲットのSCSIコマンド)。
2) transport an iSCSI control-type PDU as-is to the peer Datamover layer when requested to do so by the local iSCSI layer.
ローカルiSCSI層によってそうするように要求されたとき、ピアデータムーバ層にそのまま2)のiSCSI制御タイプPDUを運びます。
3) provide notification and delivery to the iSCSI layer upon arrival of an iSCSI control-type PDU.
3)iSCSIの制御型PDUの到着時にiSCSI層に通知および配信を提供します。
4) provide an initiator-to-target data acknowledgement of SCSI read data back to the target iSCSI layer, when requested.
4)SCSIのイニシエータからターゲットへのデータ応答を提供するバック要求されたターゲットiSCSI層にデータを読み出します。
5) provide an asynchronous notification upon completion of a requested data transfer operation that moved data without involving the iSCSI layer.
5)iSCSI層を介さずにデータを移動させ、要求されたデータ転送操作の完了時に非同期通知を提供します。
6) place the SCSI data into the I/O buffers or pick up the SCSI data for transmission out of the data buffers that the iSCSI layer had requested to be used for a SCSI I/O.
6)I / OバッファにSCSIデータを置くか、iSCSI層は、SCSI I / Oのために使用されることを要求したデータバッファのうち、送信用のSCSIデータを拾います。
7) provide an error-free (i.e., must have at least the same level of assurance of data integrity as the CRC32C iSCSI data digest), reliable, in-order delivery transport mechanism over IP networks in performing the data transfer, and asynchronously notify the iSCSI layer upon iSCSI connection termination.
7)データ転送を実行する際にIPネットワーク上でエラーフリーCRC32C iSCSIデータダイジェストとして(すなわち、)データの整合性の保証の少なくとも同じレベルを持つ必要があり、信頼性、順序配信搬送機構を提供し、非同期的に通知しますiSCSI接続の終了時にiSCSI層。
Note that this architecture expects that each compliant Datamover protocol will define the precise means of satisfying the requirements specified in this section.
このアーキテクチャは、各対応データムーバプロトコルこのセクションで指定された要件を満たす正確な手段を定義することを期待していることに注意してください。
In order to meet the functional requirements listed in this section, certain Datamover protocols may require pre-posted buffers from the local iSCSI protocol layer via mechanisms outside the scope of this document. In some implementations, the absence of such buffers may result in a connection failure. Datamover protocols may also realize these functional requirements via methods not explicitly listed in this document.
このセクションに記載されている機能要件を満たすために、特定のデータムーバプロトコルは、この文書の範囲外の機構を介してローカルiSCSIプロトコル層から事前投稿バッファを必要とするかもしれません。いくつかの実施態様では、このような緩衝剤の非存在は、接続不良をもたらすことができます。 DATAMOVERプロトコルも明示的にこの文書に記載されていないメソッドを経由してこれらの機能要件を実現することができます。
This section presents an overview of the functional interactions between the iSCSI layer and the Datamover layer as intended by this Architecture.
このアーキテクチャにより、意図したとおり、このセクションでは、iSCSI層とデータムーバ層との間の機能的相互作用の概要を提示します。
The iSCSI Login Phase on an iSCSI connection occurs as defined in [RFC3720]. The Architecture assumes that at the end of the Login Phase, both the initiator and target, if they had so decided, transition the connection to being Datamover-assisted. The precise means of how an iSCSI initiator and an iSCSI target agree on having the connection Datamover-assisted is defined by the Datamover protocol. The only architectural requirement is that all iSCSI interactions in the iSCSI Full Feature Phase MUST be Datamover-assisted subject to the prior agreement, meaning that the Datamover protocol is in the iSCSI-to-iSCSI communication path below the iSCSI layer on either side as shown in Figure 1. DA defines the Enable_Datamover Operational Primitive (Section 8.6) to bring about this transition to a Datamover-assisted connection.
[RFC3720]で定義されるようにiSCSI接続のiSCSIログイン相が生じます。アーキテクチャは、ログインフェーズの終わり、イニシエータとターゲットの両方で、彼らが決定した場合、データムーバ支援さへの接続を移行することを前提としています。 iSCSIイニシエータおよびiSCSIターゲットの接続データムーバアシストを有することに同意する方法の正確な手段は、データムーバプロトコルによって定義されます。唯一のアーキテクチャの要件は、iSCSIフル機能フェーズにおけるすべてのiSCSI相互作用が示されるようにデータムーバプロトコルはいずれかの側上のiSCSI層の下のiSCSI対のiSCSI通信パスにあることを意味し、事前の合意にデータムーバアシスト被写体なければならないことです図1にDAは、データムーバアシスト接続への移行をもたらすためEnable_Datamover動作プリミティブ(セクション8.6)を定義します。
The Architecture also assumes that the Datamover layer may require a certain number of opaque local resources for making a connection Datamover-assisted. DA thus defines the Allocate_Connection_Resources Operational Primitive (Section 8.4) to model this interaction. This Primitive is intended to be invoked on each side once the two sides decide (as previously noted) to have the connection be Datamover-assisted. The expected sequence of Primitive invocations is depicted in Figures 2 and 3 in Section 13.2. Figures
アーキテクチャは、データムーバ層がデータムーバアシスト接続するための不透明なローカルリソースの一定数を必要とし得ることを想定しています。 DAは、このように、この相互作用をモデル化する基本管理操作Allocate_Connection_Resources(セクション8.4)を定義します。このプリミティブは、双方は、接続がデータムーバ支援する持っている(先に述べたように)決定後、各側で呼び出されることを意図しています。プリミティブの呼び出しの期待されるシーケンスは、セクション13.2で図2および図3に示されています。図
4, 5, and 6 illustrate how the Primitives may be employed to deal with various legal login outcomes.
図4、図5、及び図6は、プリミティブは、様々な法的ログイン結果に対処するために使用することができる方法を示します。
All iSCSI peer communication in the Full Feature Phase happens through the Datamover layers if the iSCSI connection is Datamover-assisted. The Architecture assumes that a Datamover layer may require a certain number of opaque local resources for each new iSCSI task. In the normal course of execution, these task-level resources in the Datamover layer are assumed to be transparently allocated on each task initiation and deallocated on the conclusion of each task as appropriate. In exception scenarios however -- scenarios that do not yield a SCSI Response for each task such as ABORT TASK operation -- the Architecture assumes that the Datamover layer needs to be notified of the individual task terminations to aid its task-level resource management. DA thus defines the Deallocate_Task_Resources Operational Primitive (Section 8.9) to model this task-resource management. In specifying the ITT qualifier for the Deallocate_Task_Resources Primitive, the Architecture further assumes that the Datamover layer tracks its opaque task-level local resources by the iSCSI ITT. DA also defines Send_Control (Section 8.1), Put_Data (Section 8.2), Get_Data (Section 8.3), Data_Completion_Notify (Section 9.3), Data_ACK_Notify (Section 9.4), and Control_Notify (Section 9.1) Operational Primitives to model the various Full Feature Phase interactions.
iSCSI接続は、データムーバアシストされた場合にフル機能のフェーズにおけるすべてのiSCSIピア通信は、データムーバの層を介して起こります。アーキテクチャは、ムーバ層がそれぞれ新しいiSCSIタスクの不透明な地域資源の一定数を必要とする可能性があることを前提としています。実行の通常の過程では、データムーバ層におけるこれらのタスクレベルのリソースは、透過各タスクの開始時に割り当てられ、必要に応じて、各タスクの終了時に割り当てを解除されているものとします。このようABORT TASK操作と各タスクのSCSI応答が得られないシナリオ - - しかし例外シナリオではアーキテクチャムーバ層はそのタスクレベルのリソース管理を支援するために、個々のタスクの終端を通知する必要があることを前提としています。 DAは、このように、このタスク・リソースの管理をモデル化する基本管理操作Deallocate_Task_Resources(セクション8.9)を定義します。プリミティブDeallocate_Task_ResourcesのためのITT修飾子を指定することで、アーキテクチャは、さらにムーバ層がiSCSI ITTによって、その不透明なタスクレベルのローカルリソースを追跡することを想定しています。 DAはまた、様々なフル機能の位相の相互作用をモデル化するSend_Control(8.1節)、Put_Data(セクション8.2)、Get_Data(セクション8.3)、Data_Completion_Notify(セクション9.3)、Data_ACK_Notify(セクション9.4)、およびControl_Notify(セクション9.1)動作プリミティブを定義します。
Figures 9, 10, and 11 in Section 13.2 show some Full Feature Phase interactions -- SCSI Write task, SCSI Read task, and a SCSI Read Data acknowledgement, respectively. Figure 12 in Section 13.2 illustrates how an ABORT TASK operation can be modeled leading to deterministic resource cleanup on the Datamover layer.
それぞれ、SCSI書き込みタスク、SCSI読み取りタスク、およびSCSI読み取りデータ確認 - 図9、10、および13.2での11は、いくつかのフル機能のフェーズ相互作用を示しています。 13.2項の図12は、ABORTタスク動作はデータムーバ層上確定的リソース・クリーンアップにつながるモデル化することができる方法を示しています。
Once an iSCSI connection becomes Datamover-assisted, the connection continues in that state until the end of the Full Feature Phase, i.e., the termination of the connection. The Architecture assumes that when a connection is normally logged out, the Datamover layer needs to be notified so that its connection-level opaque resources (see Section 7.1) may be freed up. DA thus defines a Connection_Terminate Operational Primitive (Section 8.7) to model this interaction. The Architecture further assumes that when a connection termination happens without iSCSI layer's involvement (e.g., TCP RST), the Datamover layer is capable of locally cleaning up its task-level and connection-level resources before notifying the iSCSI layer of the fact. DA thus defines the
iSCSI接続は、データムーバ支援になると、接続は、フル機能のフェーズ、すなわち、接続の終了が終了するまでその状態で継続します。アーキテクチャは、接続が正常にログアウトされたときに、ムーバ層は、その接続レベルの不透明なリソースが(7.1節を参照)を解放することができるように通知する必要があることを前提としています。 DAは、このように、この相互作用をモデル化するためにConnection_Terminate運用プリミティブ(セクション8.7)を定義します。アーキテクチャは、さらに、接続の終了が(例えば、TCP RST)iSCSI層の関与なしに発生したときに、ムーバ層が局部的に実際のiSCSI層に通知する前に、そのタスクレベルと接続レベルのリソースをクリーンアップすることが可能であることを前提としています。 DAは、このように定義され
Connection_Terminate_Notify Operational Primitive (Section 9.2) to model this interaction.
この相互作用をモデル化するConnection_Terminate_Notify運用プリミティブ(9.2節)。
Figures 7 and 8 in Section 13.2 illustrate the interactions between the iSCSI and Datamover layers in normal and unexpected connection termination scenarios.
セクション13.2で図7および図8は、正常および予期しない接続終了シナリオでiSCSIとデータムーバ層との間の相互作用を示します。
While the iSCSI specification itself does not have a notion of Operational Primitives, any iSCSI layer implementing the iSCSI specification functionally requires the following Operational Primitives from its Datamover layer. Thus, any Datamover protocol compliant with this architecture MUST implement the Operational Primitives described in this section. These Operational Primitives are invoked by the iSCSI layer as appropriate. Unless otherwise stated, all the following Operational Primitives may be used both on the initiator side and the target side. In general programming terminology, this set of Operational Primitives may be construed as "down calls".
iSCSIの仕様自体は、オペレーショナル・プリミティブの概念を持っていませんが、iSCSIの仕様を実装する任意のiSCSI層は、機能的にはそのデータムーバ層から次のオペレーショナル・プリミティブが必要です。したがって、このアーキテクチャに準拠した任意のデータムーバプロトコルは、このセクションで説明する動作プリミティブを実装しなければなりません。これらの運用プリミティブは、必要に応じてiSCSI層によって呼び出されます。特に明記しない限り、以下のすべての操作プリミティブは、イニシエータ側とターゲット側の両方に使用することができます。一般的なプログラミング用語では、オペレーショナル・プリミティブのセットは、「ダウンコール」と解釈されてもよいです。
1) Send_Control
1)Send_Control
2) Put_Data
2)Put_Data
3) Get_Data
3)Get_Data
4) Allocate_Connection_Resources
4)Allocate_Connection_Resources
5) Deallocate_Connection_Resources
5)Deallocate_Connection_Resources
6) Enable_Datamover
6)Enable_Datamover
7) Connection_Terminate
7)Connection_Terminate
8) Notice_Key_Values
8)Notice_Key_Values
9) Deallocate_Task_Resources
9)Deallocate_Task_Resources
Input qualifiers: Connection_Handle, iSCSI PDU-specific qualifiers
入力修飾子:Connection_Handle、iSCSIのPDU固有の修飾子
Return Results: Not specified.
結果を返す:指定なし。
An iSCSI layer requests that its local Datamover layer transmit an iSCSI control-type PDU to the peer iSCSI layer operating in the remote iSCSI node by this Operational Primitive. The Datamover layer performs the requested operation, and may add its own protocol headers in doing so. The iSCSI layer MUST NOT invoke the Send_Control Operational Primitive on an iSCSI connection that is not yet Datamover-assisted.
そのローカルデータムーバ層がこの操作プリミティブによってリモートiSCSIノードで動作するピアiSCSI層へのiSCSI制御タイプPDUを送信iSCSI層を要求します。データムーバ層は、要求された操作を実行し、そうすることで、独自のプロトコルヘッダを追加することができます。 iSCSI層はまだムーバ支援ではありませんiSCSI接続にSend_Control運用プリミティブを呼び出してはいけません。
An initiator iSCSI layer requesting the transfer of a SCSI Command PDU or a target iSCSI layer requesting the transfer of a SCSI response PDU are examples of invoking the Send_Control Operational Primitive. As Section 10.3.1 illustrates later on, the iSCSI PDU-specific qualifiers in this example are: BHS and AHS, DataDescriptorOut, DataDescriptorIn, ImmediateDataSize, and UnsolicitedDataSize.
イニシエータiSCSI層は、SCSIコマンドPDUの転送を要求するか、SCSI応答PDUの転送を要求する目標iSCSI層は、プリミティブ操作Send_Controlを呼び出すの一例です。セクション10.3.1は、後に示すように、この例でのiSCSI PDU固有の修飾子は次のとおりBHSおよびAHS、DataDescriptorOut、DataDescriptorIn、ImmediateDataSize、及びUnsolicitedDataSize。
Input qualifiers: Connection_Handle, contents of a SCSI Data-In PDU header, Data_Descriptor, Notify_Enable
入力修飾子:Connection_Handle、SCSIデータインのPDUヘッダの内容、Data_Descriptor、Notify_Enable
Return Results: Not specified.
結果を返す:指定なし。
An iSCSI layer requests that its local Datamover layer transmit the data identified by the Data_Descriptor for the SCSI Data-In PDU to the peer iSCSI layer on the remote iSCSI node by this Operational Primitive. The Datamover layer performs the operation by using its own protocol means, completely transparent to the remote iSCSI layer. The iSCSI layer MUST NOT invoke the Put_Data Operational Primitive on an iSCSI connection that is not yet Datamover-assisted.
そのローカルデータムーバ層がこの操作プリミティブによってリモートiSCSIノードのピアiSCSI層にSCSIデータインPDUのData_Descriptorによって識別されたデータを送信するiSCSI層を要求します。データムーバ層は、リモートiSCSI層に対して完全に透過独自プロトコル手段を使用して動作を行います。 iSCSI層はまだムーバ支援ではありませんiSCSI接続にPut_Data運用プリミティブを呼び出してはいけません。
The Notify_Enable qualifier is used to request the local Datamover layer to generate or not generate the eventual local completion notification to the iSCSI layer for this Put_Data invocation. For detailed semantics of this qualifier, see Section 9.3.
Notify_Enable修飾子を生成するために、ローカルデータムーバ層を要求するか、このPut_Data呼び出しのiSCSI層への最終的なローカル完了通知を生成しないために使用されます。この修飾子の詳細なセマンティクスについては、9.3節を参照してください。
A Put_Data Primitive may only be invoked by an iSCSI layer on the target to its local Datamover layer.
Put_Dataプリミティブは、そのローカルデータムーバ層にターゲット上のiSCSI層によって呼び出すことができます。
A target iSCSI layer requesting the transfer of an iSCSI read data sequence (also known as a read burst) is an example of invoking the Put_Data Operational Primitive.
iSCSIの転送を要求する目標iSCSI層は、データ列を読み出す(また、バーストリードとしても知られる)プリミティブ操作Put_Dataを呼び出すの一例です。
Input qualifiers: Connection_Handle, contents of an R2T PDU, Data_Descriptor, Notify_Enable
入力修飾子:Connection_Handle、R2T PDUの内容、Data_Descriptor、Notify_Enable
Return Results: Not specified.
結果を返す:指定なし。
An iSCSI layer requests that its local Datamover layer retrieve certain data identified by the R2T PDU from the peer iSCSI layer on the remote iSCSI node and place it into the buffer identified by the Data_Descriptor by invoking this Operational Primitive. The Datamover layer performs the operation by using its own protocol means, completely transparent to the remote iSCSI layer. The iSCSI layer MUST NOT invoke the Get_Data Operational Primitive on an iSCSI connection that is not yet Datamover-assisted.
そのローカルデータムーバの層がリモートiSCSIノードのピアiSCSI層からR2T PDUによって識別特定のデータを取得し、この操作プリミティブを呼び出すことによってData_Descriptorによって識別バッファに置きiSCSI層を要求します。データムーバ層は、リモートiSCSI層に対して完全に透過独自プロトコル手段を使用して動作を行います。 iSCSI層はまだムーバ支援ではありませんiSCSI接続にGet_Data運用プリミティブを呼び出してはいけません。
The Notify_Enable qualifier is used to request that the local Datamover layer generate or not generate the eventual local completion notification to the iSCSI layer for this Get_Data invocation. For detailed semantics of this qualifier, see Section 9.3.
Notify_Enable修飾子は、ローカルデータムーバ層が生成することを要求するか、このGet_Data呼び出しのiSCSI層への最終的なローカル完了通知を生成しないために使用されます。この修飾子の詳細なセマンティクスについては、9.3節を参照してください。
A Get_Data Primitive may only be invoked by an iSCSI layer on the target to its local Datamover layer.
Get_Dataプリミティブは、そのローカルデータムーバ層にターゲット上のiSCSI層によって呼び出すことができます。
A target iSCSI layer requesting the transfer of an iSCSI write data sequence (also known as a write burst) is an example of invoking the Get_Data Operational Primitive.
(また、書き込みバーストとして知られている)のiSCSI書き込みデータシーケンスの転送を要求する目標iSCSI層は、プリミティブ操作Get_Dataを呼び出すの一例です。
Input qualifiers: Connection_Handle[, Resource_Descriptor ]
入力修飾子:接続ハンドル[、リソース記述子]
Return Results: Status.
ステータス:結果を返します。
By invoking this Operational Primitive, an iSCSI layer requests that its local Datamover layer perform all the Datamover-specific resource allocations required for the Full Feature Phase of an iSCSI connection. The Connection_Handle identifies the connection for which the iSCSI layer is requesting resources to be allocated. Allocation of these resources is a step towards eventually transitioning the connection to become a Datamover-assisted iSCSI connection. Note that the Datamover layer however does not allocate any Datamover-specific task-level resources upon invocation of this Primitive.
そのローカルムーバ層は、iSCSI接続のフル機能フェーズに必要なすべてのデータムーバ固有のリソース割り当てを行い、この運用プリミティブ、iSCSI層の要求を呼び出すことによって。 Connection_Handleは、iSCSI層が割り当てられるリソースを要求された接続を識別する。これらのリソースの割り当ては、最終的にムーバ支援iSCSI接続になるための接続を移行への第一歩です。ムーバ層がしかし、このプリミティブの呼び出し時に任意のデータムーバ固有のタスクレベルのリソースを割り当てていないことに注意してください。
An iSCSI layer, in addition, optionally specifies the implementation-specific resource requirements for the iSCSI connection to the Datamover layer by passing an input qualifier called Resource_Descriptor. The exact structure of a Resource_Descriptor is implementation-dependent, and hence structurally opaque to DA.
iSCSI層は、加えて、必要に応じてResource_Descriptorと呼ばれる入力修飾子を通過させることによってデータムーバ層へのiSCSI接続のための実装固有のリソース要件を指定します。 Resource_Descriptorの正確な構造は、実装依存、およびDAに、したがって構造的に不透明です。
A return result of Status=success means that the Allocate_Connection_Resources invocation corresponding to that
ステータス=成功の戻り結果はAllocate_Connection_Resources呼び出しがそれに対応することを意味します
Connection_Handle succeeded. If an Allocate_Connection_Resources invocation is made for a Connection_Handle for which an earlier invocation succeeded, the return Status must be success and the request will be ignored by the Datamover layer. A return result of Status=failure means that the Allocate_Connection_Resources invocation corresponding to that Connection_Handle failed. There MUST NOT be more than one Allocate_Connection_Resources Primitive invocation outstanding for a given Connection_Handle at any time.
Connection_Handleに成功しました。 Allocate_Connection_Resources呼び出しが以前の呼び出しが成功したためConnection_Handleのために作られた場合、戻りステータスが成功でなければならないと要求は、ムーバ層によって無視されます。ステータス=失敗の戻り結果はそのConnection_Handleに対応するAllocate_Connection_Resources呼び出しが失敗したことを意味します。いつでも与えられたConnection_Handleのための優れた複数のAllocate_Connection_Resourcesプリミティブの呼び出しがあってはなりません。
The iSCSI layer must invoke the Allocate_Connection_Resources Primitive before the invocation of the Enable_Datamover Primitive.
iSCSI層は、プリミティブEnable_Datamoverの呼び出しの前にプリミティブAllocate_Connection_Resourcesを呼び出す必要があります。
Input qualifiers: Connection_Handle
入力修飾子:Connection_Handle
Return Results: Not specified.
結果を返す:指定なし。
By invoking this Operational Primitive, an iSCSI layer requests that its local Datamover layer deallocate all the Datamover-specific resources that may have been allocated earlier for the Transport Connection identified by the Connection_Handle. The iSCSI layer may invoke this Operational Primitive when the Datamover-specific resources associated with the Connection_Handle are no longer necessary (such as the Login failure of the corresponding iSCSI connection).
そのローカルムーバ層の割り当てを解除Connection_Handleで識別されるトランスポート接続のために以前に割り当てられている可能性のあるすべてのデータムーバ固有のリソースこの運用プリミティブ、iSCSI層の要求を呼び出すことによって。 Connection_Handleに関連付けられたデータムーバ固有のリソースは、(例えば、対応するiSCSI接続のログインに失敗したように)もはや必要でないときiSCSI層は、この操作プリミティブを呼び出すことができます。
Input qualifiers: Connection_Handle, Transport_Connection_Descriptor [, Final_Login_Response_PDU]
入力修飾子:Connection_Handle、Transport_Connection_Descriptor [、Final_Login_Response_PDU]
Return Results: Not specified.
結果を返す:指定なし。
By invoking this Operational Primitive, an iSCSI layer requests that its local Datamover layer assist all further iSCSI exchanges on the iSCSI connection (i.e., to make the connection Datamover-assisted) identified by the Connection_Handle, for which the Datamover-specific resource allocation was earlier made. The iSCSI layer MUST NOT invoke the Enable_Datamover Operational Primitive for an iSCSI connection unless there is a corresponding prior resource allocation.
そのローカルデータムーバ層がデータムーバ固有のリソース割り当てが以前あったためConnection_Handleによって識別iSCSI接続上のすべてのさらなるのiSCSI交換(すなわち、データムーバアシスト接続を行うため)、補助この操作プリミティブ、iSCSI層リクエストを呼び出すことによって製。対応する前のリソース割り当てがない限り、iSCSI層は、iSCSI接続用Enable_Datamover操作プリミティブを呼び出してはいけません。
The Final_Login_Response_PDU input qualifier is applicable only for a target, and contains the final Login Response that concludes the iSCSI Login Phase and which must be sent as a byte stream as expected by the initiator iSCSI layer. When this qualifier is used, the target-Datamover layer MUST transmit this final Login Response before Datamover assistance is enabled for the Transport Connection.
Final_Login_Response_PDU入力修飾子は、ターゲットに対して適用可能であり、iSCSIのログインフェーズを終了し、イニシエータiSCSI層によって予想されるように、バイトストリームとして送信されなければならない最終ログイン応答が含まれています。この修飾子を使用するとムーバの支援がトランスポート接続のために有効になる前に、対象データムーバ層は、この最終ログイン応答を送信しなければなりません。
The iSCSI layer identifies the specific Transport Connection associated with the Connection_Handle to the Datamover layer by specifying the Transport_Connection_Descriptor. The exact structure of this Descriptor is implementation-dependent.
iSCSI層はTransport_Connection_Descriptorを指定してデータムーバ層にConnection_Handleに関連付けられた特定のトランスポート接続を識別する。この記述の正確な構造は、実装依存です。
Input qualifiers: Connection_Handle
入力修飾子:Connection_Handle
Return Results: Not specified.
結果を返す:指定なし。
By invoking this Operational Primitive, an iSCSI layer requests that its local Datamover layer terminate the Transport Connection and deallocate all the connection and task resources associated with the Connection_Handle. When this Operational Primitive invocation returns to the iSCSI layer, the iSCSI layer may assume the full ownership of all the iSCSI-level resources, e.g., I/O Buffers, associated with the connection. This Operational Primitive may be invoked only with a valid Connection_Handle, and the Transport Connection associated with the Connection_Handle must already be Datamover-assisted.
そのローカルムーバ層は、トランスポート接続を終了し、Connection_Handleに関連するすべての接続とタスクリソースの割り当てを解除し、この運用プリミティブ、iSCSI層の要求を呼び出すことによって。この操作プリミティブ呼び出しはiSCSI層に戻ると、iSCSI層はすべてのiSCSIレベルのリソース、接続に関連付けられている、例えば、I / Oバッファの完全な所有権を取ることができます。この運用プリミティブは、唯一の有効なConnection_Handleで呼び出すことができ、かつConnection_Handleに関連付けられているトランスポート接続は、すでにムーバ支援しなければなりません。
Input qualifiers: Connection_Handle, Number of keys, a list of Key-Value pairs.
入力修飾子:Connection_Handle、キーの数、キーと値のペアのリスト。
Return Results: Not specified.
結果を返す:指定なし。
By invoking this Operational Primitive, an iSCSI layer requests that its local Datamover layer take note of the negotiated values of the listed keys for the Transport Connection. This Operational Primitive may be invoked only with a valid Connection_Handle, and the Key-Value pairs MUST be the current values that were successfully agreed upon by the iSCSI peers for the connection. The Datamover layer may use the values of the keys to aid the Datamover operation as it deems appropriate. The specific keys to be passed as input qualifiers and the point(s) in time this Operational Primitive is invoked are implementation-dependent.
この運用プリミティブ、iSCSI層の要求トランスポート接続のためにリストされているキーの交渉された値のローカルデータムーバ層テイクノートを呼び出すことによって。この運用プリミティブは、唯一の有効なConnection_Handleで呼び出すことができ、そして、キーと値のペアが正常に接続するためのiSCSIピアによって合意された現在の値でなければなりません。データムーバ層は、それが適切であると考えるようにデータムーバの動作を支援するためにキーの値を使用することができます。この操作プリミティブが呼び出された時に入力修飾子と点(複数可)として渡される特定のキーは実装依存です。
Input qualifiers: Connection_Handle, ITT
入力修飾子:Connection_Handle、ITT
Return Results: Not specified.
結果を返す:指定なし。
By invoking this Operational Primitive, an iSCSI layer requests that its local Datamover layer deallocate all Datamover-specific resources that earlier may have been allocated for the task identified by the ITT qualifier. The iSCSI layer uses this Operational Primitive during exception processing when one or more active tasks are to be terminated without corresponding SCSI Response PDUs. This Primitive MUST be invoked for each active task terminated without a SCSI Response PDU. This Primitive MUST NOT be invoked by the iSCSI layer when a SCSI Response PDU normally concludes a task. When a SCSI Response PDU normally concludes a task (even if the SCSI Status was not a success), the Datamover layer is assumed to have automatically deallocated all Datamover-specific task resources for that task. Refer to Section 7.2 for a related discussion on the Architectural assumptions on the task-level Datamover resource management, especially with respect to when the resources are assumed to be allocated.
そのローカルムーバ層の割り当てを解除以前ITT修飾子によって識別されるタスクに割り当てられている可能性のあるすべてのデータムーバ固有のリソースこの運用プリミティブ、iSCSI層の要求を呼び出すことによって。一つ以上のアクティブなタスクがSCSI応答PDUを対応せずに終了する場合にiSCSI層は、例外処理中にこの運用プリミティブを使用しています。このプリミティブは、SCSI応答PDUせずに終了した各アクティブなタスクのために呼び出さなければなりません。 SCSI応答PDUが正常にタスクを終了すると、このプリミティブは、iSCSI層によって呼び出されてはなりません。 SCSI応答PDUは、通常、(SCSIステータスは成功ではなかったとしても)タスクを終了すると、ムーバ層が自動的にそのタスクのために、すべてのデータムーバ、特定のタスクのリソースを割り当て解除していると想定されます。特に、リソースが割り当てられていると仮定される場合に対して、タスクレベルデータムーバリソース管理上の建築仮定に関連する議論については、セクション7.2を参照。
While the iSCSI specification itself does not have a notion of Operational Primitives, any iSCSI layer implementing the iSCSI specification would have to provide the following Operational Primitives to its local Datamover layer. Thus, any iSCSI protocol implementation compliant with this architecture MUST implement the Operational Primitives described in this section. These Operational Primitives are invoked by the Datamover layer as appropriate and when the iSCSI connection is Datamover-assisted. Unless otherwise stated, all the following Operational Primitives may be used both on the initiator side and the target side. In general programming terminology, this set of Operational Primitives may be construed as "up calls".
iSCSIの仕様自体は、オペレーショナル・プリミティブの概念を持っていませんが、iSCSIの仕様を実装する任意のiSCSI層は、そのローカルムーバ層に次のオペレーショナル・プリミティブを提供しなければなりません。したがって、このアーキテクチャに準拠する任意のiSCSIプロトコルの実装は、このセクションで説明する動作プリミティブを実装しなければなりません。これらの操作プリミティブは、必要に応じてデータムーバ層によって呼び出され、iSCSI接続はデータムーバ支援されたとき。特に明記しない限り、以下のすべての操作プリミティブは、イニシエータ側とターゲット側の両方に使用することができます。一般的なプログラミング用語では、オペレーショナル・プリミティブのセットを「呼び出す」と解釈されてもよいです。
1) Control_Notify
1)Control_Notify
2) Connection_Terminate_Notify
2)Connection_Terminate_Notify
3) Data_Completion_Notify
3)Data_Completion_Notify
4) Data_ACK_Notify
4)Data_ACK_Notify
Input qualifiers: Connection_Handle, an iSCSI control-type PDU.
入力修飾子:Connection_Handle、iSCSIの制御タイプPDU。
Return Results: Not specified.
結果を返す:指定なし。
A Datamover layer notifies its local iSCSI layer, via this Operational Primitive, of the arrival of an iSCSI control-type PDU from the peer Datamover layer on the remote iSCSI node. The iSCSI layer processes the control-type PDU as defined in [RFC3720].
データムーバ層は、リモートiSCSIノードのピアデータムーバ層からのiSCSI制御型PDUの到着のため、この操作プリミティブを介して、そのローカルiSCSI層に通知します。 iSCSI層は[RFC3720]で定義されるように制御型PDUを処理します。
A target iSCSI layer being notified of the arrival of a SCSI command is an example of invoking the Control_Notify Operational Primitive.
SCSIコマンドの到着を通知される目標iSCSI層は、プリミティブ操作Control_Notifyを呼び出すの一例です。
Note that implementations may choose to describe the "iSCSI control-type PDU" qualifier in this notification using a Data_Descriptor (Section 5.2) and not necessarily one contiguous buffer.
実装はData_Descriptor(セクション5.2)と必ずしも1つの連続したバッファを使用して、この通知に「iSCSIの制御型PDU」修飾子を説明するために選択してもよいことに留意されたいです。
Input qualifiers: Connection_Handle
入力修飾子:Connection_Handle
Return Results: Not specified.
結果を返す:指定なし。
A Datamover layer notifies its local iSCSI layer on an unsolicited termination or failure of an iSCSI connection providing the Connection_Handle associated with the iSCSI Connection. The iSCSI layer MUST consider the Connection_Handle to be invalid upon being so notified. The iSCSI layer processes the connection termination as defined in [RFC3720]. The Datamover layer MUST deallocate the connection and task resources associated with the terminated connection before notifying the iSCSI layer of the termination via this Operational Primitive.
データムーバ層は、iSCSI接続に関連付けられたConnection_Handleを提供するiSCSI接続の迷惑終了あるいは失敗した場合に、そのローカルiSCSI層に通知します。 iSCSI層は、その通知されたときに無効であることがConnection_Handleを考慮する必要があります。 iSCSI層は[RFC3720]で定義されるように接続終了を処理します。ムーバ層は、この運用プリミティブを経由して終了のiSCSI層に通知する前に終了された接続に関連付けられた接続とタスクリソースの割り当てを解除しなければなりません。
A target iSCSI layer is notified of an ungraceful connection termination by the Datamover layer when the underlying Transport Connection is torn down. Such a Connection_Terminate_Notify Operational Primitive may be triggered, for example, by a TCP RESET in cases where the underlying Transport Connection uses TCP.
ターゲットiSCSI層は、基礎となるトランスポート接続が切断されるデータムーバ層によって無様接続終了が通知されます。そのようなConnection_Terminate_Notify動作プリミティブは、基礎となるトランスポート接続は、TCPを使用する場合にはTCPリセットにより、例えば、トリガされてもよいです。
Input qualifiers: Connection_Handle, ITT, SN
入力修飾子:Connection_Handle、ITT、SN
Return Results: Not specified.
結果を返す:指定なし。
A Datamover layer notifies its local iSCSI layer on completing the retrieval of the data or upon sending the data, as requested in a prior iSCSI data-type PDU, from/to the peer Datamover layer on the remote iSCSI node via this Operational Primitive. The iSCSI layer processes the operation as defined in [RFC3720].
データムーバ層は、データの検索を完了またはこの操作プリミティブを介してリモートiSCSIノードのピアデータムーバ層へ/から、前のiSCSIデータ型PDUに要求されるように、データを送信する際に、そのローカルiSCSI層に通知します。 iSCSI層は[RFC3720]で定義されるように動作を処理します。
SN may be either the DataSN associated with the SCSI Data-In PDU or R2TSN associated with the R2T PDU depending on the SCSI operation. Note that, for targets, a TTT (see [RFC3720]) could have been specified instead of an SN. However, the considered choice was to leave the SN to be the qualifier for two reasons -- a) it is generic and applicable to initiators and targets as well as Data-In and Data-Out, and b) having both SN and TTT qualifiers for the notification is considered onerous on the Datamover layer, in terms of state maintenance for each completion notification. The implication of this choice is that iSCSI target implementations will have to adapt to using the ITT-SN tuple in associating the solicited data to the appropriate task, rather than the ITT-TTT tuple for doing the same.
SNは、R2T PDUがSCSI操作に応じて関連付けられたSCSIデータインPDUまたはR2TSNに関連付けDataSNいずれであってもよいです。目標のために、TTT([RFC3720]を参照)が代わりにSNの指定されている可能性が、あることに注意してください。しかし、考えられ選択肢は2つの理由のために修飾子であることをSNを残していた - a)のそれはジェネリックとイニシエータとターゲットだけでなく、データインおよびデータアウトに適用可能であり、およびb)の両方のSNとTTT修飾子を持ちます通知の各完了通知の状態の維持の観点から、データムーバ層上不利であると考えられます。この選択の含意はiSCSIターゲットの実装は、同じことを行うための適切なタスクではなく、ITT-TTTタプルに募集データを関連付けるにITT-SNのタプルを使用してに適応しなければならないということです。
If Notify_Enable is set in either a Put_Data or a Get_Data invocation, the Datamover layer MUST invoke the Data_Completion_Notify Operational Primitive upon completing that requested data transfer. If the Notify_Enable was cleared in either a Put_Data or a Get_Data invocation, the Datamover layer MUST NOT invoke the Data_Completion_Notify Operational Primitive upon completing that requested data transfer.
Notify_EnableがPut_DataまたはGet_Dataの呼び出しのいずれかに設定されている場合は、ムーバ層は、その要求されたデータ転送が完了するとData_Completion_Notify運用プリミティブを起動する必要があります。 Notify_EnableがPut_DataまたはGet_Dataの呼び出しのいずれかでクリアされた場合は、ムーバ層は、その要求されたデータ転送が完了するとData_Completion_Notify運用プリミティブを呼び出してはいけません。
A Data_Completion_Notify invocation serves to notify the iSCSI layer of the Put_Data or Get_Data completion, respectively. As earlier noted in Sections 8.2 and 8.3, specific Datamover protocol definitions may restrict the usage scope of Put_Data and Get_Data, and thus implicitly the usage scope of Data_Completion_Notify.
Data_Completion_Notify呼び出しは、それぞれ、Put_Data又はGet_Data完了のiSCSI層に通知するように働きます。以前のセクション8.2および8.3で述べたように、特定のデータムーバプロトコル定義がPut_DataとGet_Dataの使用範囲を制限し、したがって暗黙Data_Completion_Notifyの使用範囲もよいです。
A target iSCSI layer being notified of the retrieval of a write data sequence is an example of invoking the Data_Completion_Notify Operational Primitive.
書き込みデータ列の検索が通知される目標iSCSI層は、プリミティブ操作Data_Completion_Notifyを呼び出すの一例です。
Input qualifiers: Connection_Handle, ITT, DataSN
入力修飾子:Connection_Handle、ITT、DataSN
Return Results: Not specified.
結果を返す:指定なし。
A target Datamover layer notifies its local iSCSI layer of the arrival of a previously requested data acknowledgement from the peer Datamover layer on the remote (initiator) iSCSI node via this Operational Primitive. The iSCSI layer processes the data acknowledgement notification as defined in [RFC3720].
ターゲットデータムーバ層は、この操作プリミティブを介して遠隔(イニシエータ)iSCSIノードのピアデータムーバ層から以前に要求されたデータの確認応答の到着のローカルiSCSI層に通知します。 iSCSI層は[RFC3720]で定義されるようにデータ受信確認通知を処理します。
A target iSCSI layer being notified of the arrival of a data acknowledgement for a certain SCSI Read data PDU is the only example of invoking the Data_ACK_Notify Operational Primitive.
特定のSCSI読み出しデータPDUのデータ確認応答の到着を通知される目標iSCSI層は、プリミティブ操作Data_ACK_Notifyを呼び出すの一例に過ぎません。
This section describes the model of interactions between iSCSI and Datamover layers when the iSCSI connection is Datamover-assisted so the iSCSI layer may carry out the following:
iSCSI接続は、iSCSI層は、以下を行うことができるので、データムーバ支援されている場合、このセクションでは、iSCSIとデータムーバ層との間の相互作用のモデルを示します。
- send iSCSI data-type PDUs and exchange iSCSI control-type PDUs, and
- iSCSIのデータ型PDUおよび為替のiSCSI制御型PDUを送信し、
- handle asynchronous notifications such as completion of data sequence transfer and connection failure.
- そのようなデータシーケンスの転送や接続不良の完了などの非同期通知を処理します。
This chapter relies on the notion of Operational Primitives (Section 5.4) to define DI.
この章では、DIを定義するためにオペレーショナル・プリミティブ(5.4節)の概念に依存しています。
As stated in Section 9.2, the Datamover layer notifies the iSCSI layer of a failed or terminated connection via the Connection_Terminate_Notify Operational Primitive. The iSCSI layer MUST consider the connection unusable upon the invocation of this Primitive and handle the connection termination as specified in [RFC3720].
セクション9.2で述べたように、データムーバ層はConnection_Terminate_Notify動作プリミティブを介して失敗したか、または終了接続のiSCSI層に通知します。 iSCSI層は、このプリミティブの起動時に使用不可能な接続を考慮して、[RFC3720]で指定された接続終了を処理する必要があります。
As stated in Section 9.3, the Datamover layer notifies the iSCSI layer of a completed data transfer operation via the Data_Completion_Notify Operational Primitive. The iSCSI layer processes the transfer completion as specified in [RFC3720].
セクション9.3で述べたように、データムーバ層はData_Completion_Notify動作プリミティブを介して完了データ転送動作のiSCSI層に通知します。 iSCSI層は[RFC3720]で指定されるように転送完了を処理します。
To notify the iSCSI layer of the completion of a requested iSCSI data-type PDU transfer, the Datamover layer uses the Data_Completion_Notify Operational Primitive with the following input qualifiers.
要求されたiSCSIデータ型PDU転送の完了のiSCSI層に通知するために、データムーバ層は、次の入力修飾子とData_Completion_Notify操作プリミティブを使用します。
a) Connection_Handle.
a)のConnection_Handle。
b) ITT: Initiator Task Tag semantics as defined in [RFC3720].
B)ITT:イニシエータタスクタグセマンティクス[RFC3720]で定義されています。
c) SN: DataSN for a SCSI Data-in/Data-out PDU, and R2TSN for an iSCSI R2T PDU. The semantics for both types of sequence numbers are as defined in [RFC3720].
C)SN:iSCSIのR2T PDUのためのSCSIデータイン/データアウトPDU、およびR2TSNためDataSN。シーケンス番号の両方のタイプのセマンティクスは[RFC3720]で定義される通りです。
The rationale for choosing SN is explained in Section 9.3.
SNを選択するための理論的根拠は、セクション9.3で説明されています。
Every invocation of the Data_Completion_Notify Operational Primitive MUST be preceded by an invocation of the Put_Data or Get_Data Operational Primitive with the Notify_Enable qualifier set by the iSCSI layer at an earlier point in time.
Data_Completion_Notify操作プリミティブのすべての呼び出しは、時間的に早い時点でのiSCSI層によって設定Notify_Enable修飾子と基本管理操作Put_Data又はGet_Dataの呼び出しが先行されなければなりません。
[RFC3720] allows the iSCSI targets to optionally solicit data acknowledgement from the initiator for one or more Data-In PDUs, via setting of the A-bit on a Data-In PDU. The Data_ACK_Notify Operational Primitive with the following input qualifiers is used by the target Datamover layer to notify the local iSCSI layer of the arrival of data acknowledgement of a previously solicited iSCSI read data acknowledgement. This Operational Primitive thus is applicable only to iSCSI targets.
[RFC3720]はデータインPDUのAビットの設定を介して、iSCSIターゲットは、1つまたは複数のデータインPDUに対してイニシエータからのデータ受信確認を求める任意することを可能にします。次の入力修飾子とData_ACK_Notify動作プリミティブは、以前のiSCSIデータの確認応答を読み取る要請のデータ確認応答の到着のローカルiSCSI層に通知するためにターゲットによってデータムーバ層に使用されます。この運用プリミティブは、このようにだけiSCSIターゲットに適用されます。
a) Connection_Handle.
a)のConnection_Handle。
b) ITT: Initiator Task Tag semantics as defined in [RFC3720].
B)ITT:イニシエータタスクタグセマンティクス[RFC3720]で定義されています。
c) DataSN: of the next SCSI Data-In PDU, which immediately follows the SCSI Data-In PDU with the A-bit set to which this notification corresponds, with semantics as defined in [RFC3720].
C)DataSN:直ちにセットAビットとSCSIデータインPDUに続く次のSCSIデータインPDU、この通知は[RFC3720]で定義される意味論と、対応しています。
Every invocation of the Data_ACK_Notify Operational Primitive MUST be preceded by an invocation of the Put_Data Operational Primitive by the iSCSI target layer with the A-bit set to 1 at an earlier point in time.
Data_ACK_Notify操作プリミティブのすべての呼び出しは、時間的に早い時点で1にAビットセットでiSCSIターゲット層によってPut_Data操作プリミティブの呼び出しによって先行されなければなりません。
This section discusses the model of interactions for sending each of the iSCSI PDUs defined in [RFC3720]. A Connection_Handle (see Section 5.3) is assumed to qualify each of these interactions so that the Datamover layer can route it to the appropriate Transport Connection. The qualifying Connection_Handle is not explicitly listed in the subsequent sections.
このセクションでは、[RFC3720]で定義されたiSCSI PDUの各々を送信するための相互作用のモデルを議論します。 Connection_Handleは(セクション5.3を参照)データムーバ層は、適切なトランスポート接続への経路をできるように、これらの相互作用のそれぞれを修飾するものとします。予選Connection_Handleは、明示的に、後続のセクションに記載されていません。
Note that the defined list of input qualifiers represents the semantically required set for the Datamover layer to consider in implementing the Primitive in each interaction described in this section (see Section 5.4 for an elaboration). Implementations may choose to deduce the qualifiers in ways that are optimized for the implementation specifics. Two examples of this are:
入力修飾子の定義されたリスト(エラボレーションのためのセクション5.4を参照)このセクションで説明する各対話内のプリミティブを実施する際に考慮すべきデータムーバ層用の意味論的に必要なセットを表すことに留意されたいです。実装は実装の詳細のために最適化された方法で修飾子を推定することもできます。この2つの例は以下のとおりです。
1. For SCSI command (Section 10.3.1), deducing the ImmediateDataSize input qualifier from the DataSegmentLength field of the SCSI Command PDU.
SCSIコマンドPDUのDataSegmentLengthフィールドからImmediateDataSize入力修飾子を推測SCSIコマンド(10.3.1項)については、1。
2. For SCSI Data-Out (Section 10.3.5.1), deducing the DataDescriptorOut input qualifier from the associated SCSI command invocation qualifiers (assuming such state is maintained) in conjunction with BHS fields of the SCSI Data-Out PDU.
SCSIデータアウト(セクション10.3.5.1)、SCSIデータアウトPDUのBHSフィールドと併せて(想定し、そのような状態が維持される)関連するSCSIコマンド呼び出し修飾子からDataDescriptorOut入力修飾子を推定2.。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a SCSI Command PDU.
次の入力修飾子とSend_Control動作プリミティブは、SCSIコマンドPDUの送信を要求するために使用されます。
a) BHS and AHS, if any, of the SCSI Command PDU as defined in [RFC3720].
A)BHSおよびAHSは、もしあれば、SCSIコマンドPDUの[RFC3720]で定義されます。
b) DataDescriptorOut: that defines the I/O Buffer meant for Data-Out for the entire command, in the case of a write or bidirectional command.
B)DataDescriptorOut:ライトまたは双方向のコマンドの場合には、I / Oバッファは、コマンド全体のためのデータ出力のためのもので定義します。
c) DataDescriptorIn: that defines the I/O Buffer meant for Data-In for the entire command, in the case of a read or bidirectional command.
C)DataDescriptorIn:読み取りまたは双方向のコマンドの場合には、I / Oバッファは、コマンド全体のためのデータインのためのもの規定しています。
d) ImmediateDataSize: that defines the number of octets of immediate unsolicited data for a write/bidirectional command.
D)ImmediateDataSize:書き込み/双方向のコマンドのための即時未承諾のデータのオクテット数を定義します。
e) UnsolicitedDataSize: that defines the number of octets of immediate and non-immediate unsolicited data for a write/bidirectional command.
E)UnsolicitedDataSize:書き込み/双方向のコマンドのための即時および非即時迷惑データのオクテット数を定義します。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a SCSI Response PDU.
次の入力修飾子とSend_Control動作プリミティブは、SCSI応答PDUの送信を要求するために使用されます。
a) BHS of the SCSI Response PDU as defined in [RFC3720].
A)[RFC3720]で定義されるようにSCSI応答PDUのBHS。
b) DataDescriptorStatus: that defines the iSCSI buffer that contains the sense and response information for the command.
B)DataDescriptorStatus:コマンドのセンスおよび応答情報を含むiSCSIのバッファを定義します。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a Task Management Function Request PDU.
次の入力修飾子とプリミティブ動作Send_Controlは、タスク管理機能要求PDUの送信を要求するために使用されます。
a) BHS of the Task Management Function Request PDU as defined in [RFC3720].
A)タスク管理機能要求PDUのBHS [RFC3720]で定義されます。
b) DataDescriptorOut: that defines the I/O Buffer meant for Data-Out for the entire command, in the case of a write or bidirectional command. (Only valid if Function="TASK REASSIGN" - [RFC3720].)
B)DataDescriptorOut:ライトまたは双方向のコマンドの場合には、I / Oバッファは、コマンド全体のためのデータ出力のためのもので定義します。 (唯一の有効な場合、関数= "TASK REASSIGN" - [RFC3720]。)
c) DataDescriptorIn: that defines the I/O Buffer meant for Data-In for the entire command, in the case of a read or bidirectional command. (Only valid if Function="TASK REASSIGN" - [RFC3720].)
C)DataDescriptorIn:読み取りまたは双方向のコマンドの場合には、I / Oバッファは、コマンド全体のためのデータインのためのもの規定しています。 (唯一の有効な場合、関数= "TASK REASSIGN" - [RFC3720]。)
The Send_Control Operational Primitive with the following input qualifier is used for requesting the transmission of a Task Management Function Response PDU.
次の入力修飾子とプリミティブ運用Send_Controlは、タスク管理機能応答PDUの送信を要求するために使用されています。
a) BHS of the Task Management Function Response PDU as defined in [RFC3720].
A)タスク管理機能応答PDUのBHSは[RFC3720]で定義されるように。
The Send_Control Operational Primitive with the following input qualifiers is used by the initiator iSCSI layer for requesting the transmission of a SCSI Data-Out PDU carrying the non-immediate unsolicited data.
次の入力修飾子とSend_Control動作プリミティブは、非即時非送信請求データを搬送するSCSIデータ出力PDUの送信を要求するイニシエータiSCSI層によって使用されます。
a) BHS of the SCSI Data-Out PDU as defined in [RFC3720].
A)[RFC3720]で定義されるようにSCSIデータ出力PDUのBHSは。
b) DataDescriptorOut: that defines the I/O Buffer with the Data-Out to be carried in the iSCSI data segment of the PDU.
B)DataDescriptorOut:PDUのiSCSIデータセグメントで運ばれるデータアウトとI / Oバッファを定義します。
The Put_Data Operational Primitive with the following input qualifiers is used by the target iSCSI layer for requesting the transmission of the data carried by a SCSI Data-In PDU.
次の入力修飾子とPut_Data動作プリミティブは、SCSIデータインPDUによって搬送されるデータの送信を要求するためのターゲットiSCSI層によって使用されます。
a) BHS of the SCSI Data-In PDU as defined in [RFC3720].
A)[RFC3720]で定義されるようにSCSIデータインPDUのBHSは。
b) DataDescriptorIn: that defines the I/O Buffer with the Data-In being requested for transmission.
B)DataDescriptorIn:データのあるI / Oバッファを定義し、送信するために要求されています。
The Get_Data Operational Primitive with the following input qualifiers is used by the target iSCSI layer for requesting the retrieval of the data as specified by the semantic content of an R2T PDU.
次の入力修飾子とGet_Data動作プリミティブはR2T PDUの意味内容で指定されたデータの検索を要求するためのターゲットiSCSI層によって使用されます。
a) BHS of the Ready To Transfer PDU as defined in [RFC3720].
A)[RFC3720]で定義されるように準備のBHSはPDUを転送します。
b) DataDescriptorOut: that defines the I/O Buffer for the Data-Out being requested for retrieval.
B)DataDescriptorOut:検索のために要求されるデータアウトのためにI / Oバッファを定義します。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of an Asynchronous Message PDU.
次の入力修飾子とSend_Control動作プリミティブは、非同期メッセージPDUの送信を要求するために使用されます。
a) BHS of the Asynchronous Message PDU as defined in [RFC3720].
A)[RFC3720]で定義されるように非同期メッセージPDUのBHS。
b) DataDescriptorSense: that defines an iSCSI buffer that contains the sense and iSCSI Event information.
B)DataDescriptorSense:センスとiSCSIイベント情報を含むiSCSIのバッファを定義します。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a Text Request PDU.
次の入力修飾子とプリミティブ動作Send_Controlテキスト要求PDUの送信を要求するために使用されます。
a) BHS of the Text Request PDU as defined in [RFC3720].
A)[RFC3720]で定義されるように、テキスト要求PDUのBHS。
b) DataDescriptorTextOut: that defines the iSCSI Text Request buffer.
B)DataDescriptorTextOut:iSCSIのテキスト要求バッファを定義します。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a Text Response PDU.
次の入力修飾子とプリミティブ動作Send_Controlテキスト応答PDUの送信を要求するために使用されます。
a) BHS of the Text Response PDU as defined in [RFC3720].
A)[RFC3720]で定義されるように、テキスト応答PDUのBHS。
b) DataDescriptorTextIn: that defines the iSCSI Text Response buffer.
B)DataDescriptorTextIn:iSCSIのテキスト応答バッファを定義します。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a Login Request PDU.
次の入力修飾子とSend_Control動作プリミティブがログイン要求PDUの送信を要求するために使用されます。
a) BHS of the Login Request PDU as defined in [RFC3720].
A)[RFC3720]で定義されるようにログイン要求PDUのBHS。
b) DataDescriptorLoginRequest: that defines the iSCSI Login Request buffer.
B)DataDescriptorLoginRequest:のiSCSIログイン要求バッファを定義します。
Note that specific Datamover protocols may choose to disallow the standard DA Primitives from being used for the iSCSI Login Phase. When used in conjunction with such Datamover protocols, an attempt to send a Login Request via the Send_Control Operational Primitive invocation is clearly an error scenario, as the Login Request PDU is being sent while the connection is in the iSCSI Full Feature Phase. It is outside the scope of this document to specify the resulting implementation behavior in this case -- [RFC3720] already defines the error handling for this error scenario.
特定のムーバプロトコルがiSCSIログインフェーズのために使用されているから、標準DAプリミティブを禁止することを選択することがあります。そのようなデータムーバプロトコルと組み合わせて使用される場合、接続がiSCSIフル機能フェーズにある間にログイン要求PDUが送信されているように、Send_Control操作プリミティブの呼び出しを介して、ログイン要求を送信しようとすると、明らかにエラーシナリオです。なお、この場合には、得られたインプリメンテーションの動作を指定するには、この文書の範囲外である - [RFC3720]はすでにこのエラーシナリオのエラー処理を定義します。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a Login Response PDU.
次の入力修飾子とプリミティブ動作Send_Controlログイン応答PDUの送信を要求するために使用されます。
a) BHS of the Login Response PDU as defined in [RFC3720].
A)[RFC3720]で定義されるように、ログイン応答PDUのBHS。
b) DataDescriptorLoginResponse: that defines the iSCSI Login Response buffer.
B)DataDescriptorLoginResponse:iSCSIのログイン応答バッファを定義します。
Note that specific Datamover protocols may choose to disallow the standard DA Primitives from being used for the iSCSI Login Phase. When used in conjunction with such Datamover protocols, an attempt to send a Login Response via the Send_Control Operational Primitive invocation is clearly an error scenario, as the Login Response PDU is being sent while in the iSCSI Full Feature Phase. It is outside the scope of this document to specify the resulting implementation behavior in this case -- [RFC3720] already defines the error handling for this error scenario.
特定のムーバプロトコルがiSCSIログインフェーズのために使用されているから、標準DAプリミティブを禁止することを選択することがあります。このようムーバプロトコルと組み合わせて使用する場合のiSCSIフル機能のフェーズにおけるながらログインレスポンスPDUが送信されているとして、Send_Controlオペレーショナル・プリミティブ呼び出しを経由してログイン応答を送信しようとする試みは、明らかに誤りシナリオです。なお、この場合には、得られたインプリメンテーションの動作を指定するには、この文書の範囲外である - [RFC3720]はすでにこのエラーシナリオのエラー処理を定義します。
The Send_Control Operational Primitive with the following input qualifier is used for requesting the transmission of a Logout Command PDU.
次の入力修飾子とSend_Control動作プリミティブがログアウトコマンドPDUの送信を要求するために使用されます。
a) BHS of the Logout Command PDU as defined in [RFC3720].
A)[RFC3720]で定義されるようにログアウトコマンドPDUのBHS。
The Send_Control Operational Primitive with the following input qualifier is used for requesting the transmission of a Logout Response PDU.
次の入力修飾子とSend_Control動作プリミティブはログアウト応答PDUの送信を要求するために使用されます。
a) BHS of the Logout Response PDU as defined in [RFC3720].
A)[RFC3720]で定義されるようにログアウト応答PDUのBHS。
The Send_Control Operational Primitive with the following input qualifier is used for requesting the transmission of a SNACK Request PDU.
次の入力修飾子とプリミティブ動作Send_Controlはスナック要求PDUの送信を要求するために使用されます。
a) BHS of the SNACK Request PDU as defined in [RFC3720].
A)[RFC3720]で定義されるようにSNACK要求PDUのBHS。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a Reject PDU.
次の入力修飾子とSend_Control動作プリミティブは拒否PDUの送信を要求するために使用されます。
a) BHS of the Reject PDU as defined in [RFC3720].
A)拒否PDUのBHSを[RFC3720]で定義されます。
b) DataDescriptorReject: that defines the iSCSI Reject buffer.
B)DataDescriptorReject:iSCSIはバッファを拒否定義します。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a NOP-Out PDU.
次の入力修飾子とSend_Control動作プリミティブはNOPアウトPDUの送信を要求するために使用されます。
a) BHS of the NOP-Out PDU as defined in [RFC3720].
A)[RFC3720]で定義されるようにNOPアウトPDUのBHSは。
b) DataDescriptorNOPOut: that defines the iSCSI Ping data buffer.
B)DataDescriptorNOPOut:iSCSIのPingのデータバッファを定義します。
The Send_Control Operational Primitive with the following input qualifiers is used for requesting the transmission of a NOP-In PDU.
次の入力修飾子とSend_Control動作プリミティブはNOP-においてPDUの送信を要求するために使用されます。
a) BHS of the NOP-In PDU as defined in [RFC3720].
A)NOP-においてPDUのBHSは[RFC3720]で定義されるように。
b) DataDescriptorNOPIn: that defines the iSCSI Return Ping data buffer.
B)DataDescriptorNOPIn:iSCSIのリターンのPingデータバッファを定義します。
The only PDUs that are received by an iSCSI layer operating on a Datamover layer are the iSCSI control-type PDUs. The Datamover layer delivers the iSCSI control-type PDUs as they arrive, qualifying each with the Connection_Handle (see Section 5.3) that identifies the iSCSI connection for which the PDU is meant. The subsequent processing of the iSCSI control-type PDUs proceeds as defined in [RFC3720].
データムーバ層上で動作するiSCSI層によって受信された唯一のPDUは、iSCSI制御型のPDUです。データムーバ層はPDUが意図されたiSCSI接続を特定Connection_Handle(セクション5.3を参照)とのそれぞれを修飾する、彼らが到着するのiSCSI制御タイプPDUを配信します。 [RFC3720]で定義されたiSCSI制御型PDUの進行の後続の処理。
This sub-section describes the general mechanics applicable to several control-type PDUs. The following sub-sections note additional considerations for control-type PDUs that are not covered in this sub-section.
このサブセクションでは、いくつかのコントロール型のPDUに適用される一般的な仕組みを説明しています。以下のサブセクションでは、このサブセクションで説明されていない制御型PDUのための追加の考慮事項に注意してください。
The Control_Notify Operational Primitive is used to notify the iSCSI layer of the arrival of the following iSCSI control-type PDUs: SCSI Command, SCSI Response, Task Management Function Request, Task Management Function Response, Asynchronous Message, Text Request, Text Response, Logout Command, Logout Response, SNACK, Reject, NOP-Out, NOP-In.
Control_Notify運用プリミティブは、以下のiSCSI制御型PDUの到着のiSCSI層に通知するために使用されます。SCSIコマンド、SCSIレスポンス、タスク管理機能要求、タスク管理機能のレスポンス、非同期メッセージ、テキスト・リクエスト、テキスト応答、ログアウトコマンド、ログアウトレスポンス、SNACK、拒否、NOPアウト、NOP-で。
The Control_Notify Operational Primitive is used to notify the iSCSI layer of the arrival of a SCSI Data-Out PDU carrying the non-immediate unsolicited data. Note however that the solicited SCSI Data-Out arriving on the target does not cause a notification to the iSCSI layer using the Control_Notify Primitive because the solicited SCSI Data-Out was not sent by the initiator iSCSI layer as control-type PDUs.
Control_Notify運用プリミティブは、非即時迷惑データを搬送するSCSIデータ出力PDUの到着のiSCSI層に通知するために使用されます。募集SCSIデータ出力が制御型のPDUとしてイニシエータiSCSI層によって送信されていなかったため募集SCSIデータアウトターゲットに到着すると、プリミティブControl_Notifyを使用してiSCSI層に通知が発生しないことに注意してください。
The Datamover layer does not notify the iSCSI layer of the arrival of the SCSI Data-in at the initiator, because SCSI Data-in is an iSCSI data-type PDU (see section 5.1). The iSCSI layer at the initiator however may infer the arrival of the SCSI Data-In when it receives a subsequent notification of the SCSI Response PDU via a Control_Notify invocation.
SCSIデータインがiSCSIデータ型PDU(セクション5.1を参照)であるため、データムーバ層は、イニシエータにSCSIデータインの到着のiSCSI層に通知しません。それはControl_Notify呼び出しを介してSCSI応答PDUのその後の通知を受信した場合、イニシエータでiSCSI層は、しかしながら、SCSIデータインの到着を推測することができます。
While this document does not contemplate the possibility of a Data-In PDU being received at the initiator iSCSI layer, specific Datamover protocols may define how to deal with an unexpected inbound SCSI
この文書は、データインPDUがイニシエータiSCSI層で受信される可能性を企図しないが、特定のデータムーバプロトコルは、予期せぬ着信SCSIに対処する方法を定義することができます
Data-In PDU that may result in the initiator iSCSI layer receiving the Data-In PDU. This document leaves the details of handling this error scenario to the specific Datamover protocols, so each may define the appropriate error handling specific to the Datamover environment.
データインPDUデータインPDUを受信したイニシエータiSCSI層をもたらすことができます。この文書は、特定のデータムーバプロトコルにこのエラーシナリオを扱うの詳細を残し、そのそれぞれがムーバ環境に固有の適切なエラー処理を定義することができます。
Because an R2T PDU is an iSCSI data-type PDU (see Section 5.1) that is not delivered as-is to the initiator iSCSI layer, the Datamover layer does not notify the iSCSI layer of the arrival of an R2T PDU. When an iSCSI node sends an R2T PDU to its local Datamover layer, the local and remote Datamover layers transparently bring about the data transfer requested by the R2T PDU.
R2T PDUがイニシエータiSCSI層であるように、配信されていないのiSCSIデータ型PDU(セクション5.1を参照)であるため、データムーバ層はR2T PDUの到着のiSCSI層に通知しません。 iSCSIノードは、そのローカルデータムーバ層にR2T PDUを送信すると、ローカルおよびリモートのデータムーバ層を透過R2T PDUが要求するデータ転送をもたらします。
While this document does not contemplate the possibility of an R2T PDU being received at the initiator iSCSI layer, specific Datamover protocols may define how to deal with an unexpected inbound R2T PDU that may result in the initiator iSCSI layer receiving the R2T PDU. This document leaves the details of handling this error scenario to the specific Datamover protocols, so each may define the appropriate error handling specific to the Datamover environment.
このドキュメントはR2T PDUがイニシエータiSCSI層で受信される可能性を企図しないが、特定のデータムーバプロトコルはR2T PDUを受信したイニシエータiSCSI層を生じ得る予期しないインバウンドR2TのPDUに対処する方法を定義することができます。この文書は、特定のデータムーバプロトコルにこのエラーシナリオを扱うの詳細を残し、そのそれぞれがムーバ環境に固有の適切なエラー処理を定義することができます。
The Control_Notify Operational Primitive is used for notifying the target iSCSI layer of the arrival of a Login Request PDU. Note that specific Datamover protocols may choose to disallow the standard DA Primitives from being used for the iSCSI Login Phase. When used in conjunction with such Datamover protocols, the arrival of a Login Request necessitating the Control_Notify Operational Primitive invocation is clearly an error scenario, as the Login Request PDU is arriving in the iSCSI Full Feature Phase. It is outside the scope of this document to specify the resulting implementation behavior in this case -- [RFC3720] already defines the error handling in this error scenario.
Control_Notify動作プリミティブがログイン要求PDUの到着の目標iSCSI層に通知するために使用されます。特定のムーバプロトコルがiSCSIログインフェーズのために使用されているから、標準DAプリミティブを禁止することを選択することがあります。そのようなデータムーバプロトコルと組み合わせて使用される場合ログイン要求PDUがiSCSIフル機能フェーズに到着するように、Control_Notify操作プリミティブの呼び出しを必要とするログイン要求の到着は、明らかにエラーシナリオです。なお、この場合には、得られたインプリメンテーションの動作を指定するには、この文書の範囲外である - [RFC3720]はすでにこのエラーシナリオでエラー処理を定義します。
The Control_Notify Operational Primitive is used to notify the initiator iSCSI layer of the arrival of a Login Response PDU. Note that specific Datamover protocols may choose to disallow the standard DA Primitives from being used for the iSCSI Login Phase. When used in conjunction with such Datamover protocols, the arrival of a Login Response necessitating the Control_Notify Operational Primitive invocation is clearly an error scenario, as the Login Response PDU is arriving in the iSCSI Full Feature Phase. It is outside the scope of this document to specify the resulting implementation behavior in this case -- [RFC3720] already defines the error handling in this error scenario.
Control_Notify動作プリミティブは、ログイン応答PDUの到着のイニシエータiSCSI層に通知するために使用されます。特定のムーバプロトコルがiSCSIログインフェーズのために使用されているから、標準DAプリミティブを禁止することを選択することがあります。このようムーバプロトコルと組み合わせて使用する場合のログイン応答PDUがiSCSIフル機能フェーズに到着するよう、Control_Notify運用プリミティブ呼び出しを必要とログイン応答の到着は、明確に誤りシナリオです。なお、この場合には、得られたインプリメンテーションの動作を指定するには、この文書の範囲外である - [RFC3720]はすでにこのエラーシナリオでエラー処理を定義します。
DA enables compliant iSCSI implementations to realize a control and data separation in the way they interact with their Datamover protocols. Note however that this separation does not imply a separation in transport mediums between control traffic and data traffic -- the basic iSCSI architecture with respect to tasks and PDU relationships to tasks remains unchanged. [RFC3720] defines several MUST requirements on ordering relationships across control and data for a given task besides a mandatory deterministic task allegiance model -- DA does not change this basic architecture (DA has a normative reference to [RFC3720]) for allow any additional flexibility in compliance in this area. To summarize, sending bulk data transfers (prompted by Put_Data and Get_Data Primitive invocations) on a different transport medium would be as ill-advised as sending just the Data-Out/Data-In PDUs on a different TCP connection in RFC 3720-based iSCSI implementations. Consequently, all the iSCSI-related security text in [RFC3723] is directly applicable to a DA-enabled iSCSI implementation.
DAは、彼らが彼らのムーバプロトコルとの対話の方法で制御とデータの分離を実現するために準拠したiSCSI実装を可能にします。この分離は、制御トラフィックとデータトラフィックとの間の輸送媒体に分離を意味するものではないことに注意してください - タスクのタスクとPDUとの関係に対する基本的なiSCSIのアーキテクチャは変わりません。 [RFC3720]は必須の確定的タスク忠誠モデル以外に、所与のタスクの制御とデータを横切っ関係を注文にいくつかのMUST要件を定義 - DAは、この基本的なアーキテクチャを変更する(DAは、[RFC3720]に規定の基準を持っている)のための追加の柔軟性を許可しませんこの領域の遵守インチ要約すると、異なる輸送媒体上(Put_DataとGet_Dataプリミティブ呼び出しによって促さ)バルク・データ転送を送信することと同じくらいのデータアウト/データを-で送信PDUのRFC 3720ベースのiSCSIの異なるTCPコネクション上のように無分別になります実装。その結果、[RFC3723]ですべてのiSCSI関連のセキュリティテキストはDA対応のiSCSI実装に直接適用されます。
Another area with security implications is the Datamover connection resource management model, which DA defines -- particularly the Allocate_Connection_Resources Primitive. An inadvertent realization of this model could leave an iSCSI implementation exposed to denial-of-service attacks. As Figures 2 and 3 in Section 13.2 illustrate, the most effective countermeasure to this potential attack consists of performing the Datamover resource allocation when the iSCSI layer is sufficiently far along in the iSCSI Login Phase that it is reasonably certain that the peer side is not an attacker. In particular, if the Login Phase includes a SecurityNegotiation stage, an iSCSI end node MUST defer the Datamover connection resource allocation (i.e., invoking the Allocate_Connection_Resources Primitive) to the LoginOperationalNegotiation stage [RFC3720] so that the resource allocation happens post-authentication. This considerably minimizes the potential for a denial-of service attack.
特にAllocate_Connection_Resourcesプリミティブ - セキュリティ含意を有する別の領域は、DAが定義するデータムーバ接続リソース管理モデル、です。このモデルの不注意な実現は、サービス拒否攻撃にさらされたiSCSI実装を残すことができます。セクション13.2で図2および図3が示すようにiSCSI層は、ピア側ではないことを合理的に一定であることをはるかに沿ったiSCSIログイン相に十分である場合、この潜在的な攻撃に最も効果的な対策は、データムーバリソースの割り当てを行うことから成りますアタッカー。ログインフェーズSecurityNegotiation段階を含む場合、リソース割り当てが認証後に起こるように、特に、iSCSIのエンド・ノードは、データムーバ接続リソース割当(すなわち、プリミティブAllocate_Connection_Resourcesを呼び出す)LoginOperationalNegotiationステージに[RFC3720]を延期しなければなりません。これはかなりサービス拒否(DoS)攻撃の可能性を最小限に抑えることができます。
In view of the fact that the DA architecture itself does not define any new wire protocol or propose modifications to the existing protocols, there are no additional wire protocol security considerations in employing DA itself. However, a DA-compliant iSCSI implementation MUST comply with all the iSCSI-related requirements stipulated in [RFC3723] and [RFC3720]. Note further that in realizing DA, each Datamover protocol must define and elaborate as appropriate on any additional security considerations resulting from the use of that Datamover protocol.
DAアーキテクチャ自体は、任意の新しいワイヤプロトコルを定義したり、既存のプロトコルへの変更を提案していないという事実を考慮して、DA自体を用いるには、追加のワイヤプロトコルセキュリティ問題は存在しません。しかし、DA準拠のiSCSI実装は、[RFC3723]と[RFC3720]に規定されているすべてのiSCSI関連の要求事項を遵守しなければなりません。 DAを実現する上で、各データムーバプロトコルを定義し、そのデータムーバプロトコルの使用に起因する追加のセキュリティ問題に適宜詳述しなければならないことにさらに留意されたいです。
All Datamover protocol designers are strongly recommended to refer to [RDDPSEC] for the types of security issues to consider. While [RDDPSEC] elaborates on the security considerations applicable to an RDDP-based Datamover [iSER], the document is representative of the type of analysis of resource exhaustion and the application of countermeasures that need to be done for any Datamover protocol.
すべてのデータムーバプロトコル設計者が強く考慮すべきセキュリティ問題のタイプについて[RDDPSEC]を参照することをお勧めします。 【RDDPSEC] RDDPベースのデータムーバ【のiSER]に適用可能なセキュリティ問題について詳しく説明しながら、文書は、リソースの枯渇の分析のタイプおよび任意のデータムーバプロトコルのために行われる必要がある対策のアプリケーションの代表です。
[RFC3720] Satran, J., Meth, K., Sapuntzakis, C., Chadalapaka, M., and E. Zeidner, "Internet Small Computer Systems Interface (iSCSI)", RFC 3720, April 2004.
[RFC3720] Satran、J.、メタ、K.、Sapuntzakis、C.、Chadalapaka、M.、およびE. Zeidner、 "インターネットの小さいコンピュータシステム(のiSCSI)"、RFC 3720、2004年4月。
[RFC3723] Aboba, B., Tseng, J., Walker, J., Rangan, V., and F. Travostino, "Securing Block Storage Protocols over IP", RFC 3723, April 2004.
[RFC3723] Aboba、B.、ツェン、J.、ウォーカー、J.、Rangan、V.、およびF. Travostino、 "IP上のセキュリティブロックストレージプロトコル"、RFC 3723、2004年4月。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。
[DDP] Shah, H., Pinkerton, J., Recio, R., and P. Culley, "Direct Data Placement over Reliable Transports", RFC 5041, October 2007.
[DDP]シャー、H.、ピンカートン、J.、Recio、R.、およびP. Culley、 "信頼性の高いトランスポート上で直接データ配置"、RFC 5041、2007年10月。
[iSER] Ko, M., Chadalapaka, M., Hufferd, J., Elzur, U., Shah, H., and P. Thaler, "Internet Small Computer System Interface (iSCSI) Extensions for Remote Direct Memory Access (RDMA)", RFC 5046, October 2007.
[のiSER]コ、M.、Chadalapaka、M.、Hufferd、J.、Elzur、U.、シャー、H.、およびP.ターラー、「インターネット小型コンピュータシステムインタフェース(iSCSIの)リモートダイレクトメモリアクセスのための拡張機能(RDMA )」、RFC 5046、2007年10月。
[RDDPSEC] Pinkerton, J. and E. Deleganes, "Direct Data Placement Protocol (DDP) / Remote Direct Memory Access Protocol (RDMAP) Security", RFC 5042, October 2007.
[RDDPSEC]ピンカートン、J.およびE. Deleganes、 "直接データ配置プロトコル(DDP)/リモートダイレクトメモリアクセスプロトコル(RDMAP)セキュリティ"、RFC 5042、2007年10月。
Appendix A. Design Considerations and Examples
付録A.の設計上の考慮事項および例
A.1. Design Considerations for a Datamover Protocol
A.1。ムーバプロトコルのための設計上の考慮事項
This section discusses the specific considerations for RDMA-based and RDDP-based Datamover protocols.
このセクションでは、RDMAベースとRDDPベースムーバプロトコルのための具体的な考慮事項について説明します。
a) Note that the modeling of interactions for SCSI Data-Out (Section 10.3.5.1) is only used for unsolicited data transfer.
A)は、SCSIデータアウト(セクション10.3.5.1)のための相互作用のモデリングだけ迷惑データ転送に使用されることに注意してください。
b) The modeling of interactions for SNACK (Sections 10.3.14 and 10.4.1) is not expected to be used given that one of the design requirements on the Datamover is that it "guarantees an error-free, reliable, in-order transport mechanism" (Section 6). The interactions for sending and receiving a SNACK are nevertheless modeled in this document because the receiving iSCSI layer can deterministically deal with an inadvertent SNACK. This also shows the DA designers' intent that DI is not meant to filter certain types of PDUs.
B)SNACKのための相互作用のモデリング(セクション10.3.14および10.4.1)は、ムーバの設計要件の一つは、インオーダーの輸送、それは「信頼性の高い、エラーフリーを保証するものであることを考えると使用されることが期待されていません機構」(第6節)。受信iSCSI層が確定不注意SNACKに対応することができるので、軽食を送受信するための相互作用は、それにもかかわらず、本書でモデル化されます。これはまた、DIはPDUの特定の種類をフィルタリングすることを意味するものではないことをDA設計者の意図を示しています。
c) The onus is on a reliable Datamover (per requirements stated in Section 6) to realize end-to-end data acknowledgements via Datamover-specific means. In view of this, even use of data-ACK-type SNACKs are unnecessary. Consequently, an initiator may never request sending a SNACK Request in this model assuming that the proactive (timeout-driven) SNACK functionality is turned off in the legacy iSCSI code.
C)のONUがデータムーバ特異的手段を介してエンド・ツー・エンドのデータ肯定応答を実現するために()セクション6に記載されている要件に従って信頼できるデータムーバです。そこで、偶数データ-ACK型スナックの使用は不要です。従って、イニシエータは、プロアクティブ(タイムアウトドリブン)SNACK機能がレガシーのiSCSIコードにオフになっていることを想定し、このモデルでSNACK要求を送信する要求はないできます。
d) Note that the current DA model for bootstrapping a Connection_Handle into service -- i.e., associating a new iSCSI connection with a Connection_Handle -- clearly implies that the iSCSI connection must already be in Full Feature Phase when the Datamover layer comes into the stack. This further implies that the iSCSI Login Phase must be carried out in the traditional "Byte streaming mode" with no assistance or involvement from the Datamover layer.
Connection_Handleで新しいiSCSI接続を関連付ける、すなわち - - はっきりムーバ層がスタックになるとiSCSI接続がすでにフル機能フェーズでなければならないことを意味するd)のサービスにConnection_Handleのブートストラップを、現在のDAモデルがあることに注意してください。これはさらに、iSCSIのログインフェーズムーバ層から無支援や関与して伝統的な「バイト・ストリーミングモード」で行わなければならないことを意味します。
A.2. Examples of Datamover Interactions
A.2。ムーバ相互作用の例
The figures described in this section provide some examples of the usage of Operational Primitives in interactions between the iSCSI layer and the Datamover layer. The following abbreviations are used in this section.
このセクションで説明する図面は、iSCSI層とデータムーバ層との間の相互作用に操作プリミティブの使用のいくつかの例を提供します。次の略語は、このセクションで使用されています。
Avail - Available
AVAIL - 利用可能
Abted - Aborted
Abted - 中止
Buf - I/O Buffer
BUF - I / Oバッファ
Cmd - Command
Cmdを - コマンド
Compl - Complete
COMPL - コンプリート
Conn - Connection
コネティカット - 接続
Ctrl_Ntfy - Control_Notify
Ctrl_Ntfy - Control_Notify
Dal_Tk_Res - Deallocate_Task_Resources
Dal_Tk_Res - Deallocate_Task_Resources
Data_Cmp_Nfy - Data_Completion_Notify
Data_Cmp_Nfy - Data_Completion_Notify
Data_ACK_Nfy - Data_ACK_Notify
Data_ACK_Nfy - Data_ACK_Notify
DM - Datamover
DM - ムーバ
Imm - Immediate
イム - 即時
Snd_Ctrl - Send_Control
Snd_Ctrl - Send_Control
Msg - Message
メッセージ - メッセージ
Resp - Response
RESP - レスポンス
Sol - Solicited
ソル - 要請
TMF Req - Task Management Function Request
TMF必須 - タスク管理機能要求
TMF Res - Task Management Function Response
TMF RES - タスク管理機能の対応
Trans - Transfer
トランス - 転送
Unsol - Unsolicited
Unsol - 迷惑
| | Allocate_Connection_Resources | D | ^ | |------------------------------->| a | | | | Connection resources are | t | | | i | successfully allocated | a | | iSCSI | S | | m | | Login | C | | o | | Phase | S | | v | | | I | | e | | | | | r | | Login Phase | L | Final Login Response (success) v succeeds | a |<----------------------------------------^ | y | | L | | iSCSI | e | Enable_Datamover | a | | Full | r |------------------------------->| y | | Feature | | Datamover is enabled | e | | Phase | | | r | | | | Full Feature Phase | | | | | control and data Transfer | | v
Figure 2. A Successful iSCSI Login on Initiator
図2.イニシエータに成功したiSCSIログイン
| | Notice_Key_Values | | | | |------------------------------->| | | | | Datamover layer is notified | | | | | of the negotiated key values | | | | | | | | | | Allocate_Connection_Resources | | | | |------------------------------->| D | | | | Connection resources are | a | | | i | successfully allocated | t | | iSCSI | S | | a | | Login | C | | m |Final | Phase | S | | o |Login | | I |Enable_Datamover(Login Response)| v |Resp | | |------------------------------->| e |---->vLogin Phase | L | Datamover is enabled | r | ^ succeeds | a | | | | | y | | L | | iSCSI | e | | a | | Full | r | | y | | Feature | | | e | | Phase | | Full Feature Phase | r | | | | control and data Transfer | | | | | | | v
Figure 3. A Successful iSCSI Login on Target
図3.ターゲットに成功したiSCSIログイン
| | Allocate_Connection_Resources | D | ^ | |------------------------------->| a | | | | Connection resources are | t | | | i | successfully allocated | a | | iSCSI | S | | m | | Login | C | | o | | Phase | S | | v | | | I | | e | | | | | r | | Login | | | | | Phase | L | Final Login Response (failure) v fails | a |<------------------------------------------ | y | | L | | e | Deallocate_Connection_Resources| a | | r |------------------------------->| y | | | Datamover-specific | e | | | connection resources freed | r | | | | | | | | | Connection terminated by standard means | |--------------------------------------------->
Figure 4. A Failed iSCSI Login on Initiator
図4. Aは、イニシエータのiSCSIログインを失敗しました。
| | Allocate_Connection_Resources | D | ^ | |------------------------------->| a | | | | Connection resources are | t | | | i | successfully allocated | a | | iSCSI | S | | m | | Login | C | | o | | Phase | S | | v | | | I | | e | | | | | r | | Login | | | | | Phase | L | Final Login Response (failure) v fails | a |----------------------------------------------> | y | | L | | e | Deallocate_Connection_Resources| a | | r |------------------------------->| y | | | Datamover-specific | e | | | connection resources freed | r | | | | | | | | | Connection terminated by standard means | |-------------------------------------------->
Figure 5. A Failed iSCSI Login on Target
図5.ターゲットで失敗しましたiSCSIログイン
| | Allocate_Connection_Resources | D | ^ | |------------------------------->| a | | | | Connection resources are | t | | | i | successfully allocated | a | | iSCSI | S | | m | | Login | C | | o | | Phase | S | | v | | | I | | e | | | | | r | | | L | Login non-Final Request/Response | | a |<-----------------------------------------| | y | iSCSI layer decides not to | L | | | e | enable Datamover for this | a | | | r | connection | y | | | | | e | | | | Deallocate_Connection_Resources| r | | | |------------------------------->| | | | | All Datamover-specific | | | | | resources deallocated | | | | | | | | Login | | | | | Phase | | | continues | | Regular Login negotiation continues | | |<---------------------------------------->| | | . | | . | | .
Figure 6. iSCSI Does Not Enable the Datamover
図6. iSCSIは、ムーバを有効にしません
| | | | ^ | | Full Feature Phase Control & | | | | | Data Transfer Using DM | D | | iSCSI | | | a | | Full Feature | i | | t | | Phase | S | | a | | (DM Enabled) | C | | m | | | S | Successful iSCSI Logout | o | | | I | | v | v | | Connection_Terminate | e | | L |------------------------------->| r | | a | Connection is terminated | | | y | Datamover-specific resources | L | Transport | e | deallocated, both connection | a | Connection | r | level & task level | y | is terminated | | | e | | | | r | | | | | | | | |
Figure 7. A Normal iSCSI Connection Termination
図7. A通常のiSCSI接続終了
| | | | ^ | | Full Feature Phase Control & | D | | iSCSI | | Data Transfer Using DM | a | | Full Feature | i | | t | | Phase | S | | a | | (DM Enabled) | C | | m | v | S | | o |<--Transport | I | Datamover-specific resources | v | Connection | | deallocated, both connection | e | Terminated (e.g. | L | level & task level | r | unexpected | a | | | FIN/RESET) | y | | L | | e | Connection_Terminate_Notify | a | | r |<-------------------------------| y | | | | e | | | | r | | | | |
Figure 8. An Abnormal iSCSI Connection Termination
図8異常のiSCSI接続終了
<-----Initiator-----> <-------Target------->
| | | | DM Msg holding | | | | SCSI | | | | SCSI Cmd PDU & | | | |SCSI Cmd | | Snd_Ctrl | |Unsol Imm Data | |Ctrl_Notify | |Cmd ---->| |--------->| |--------------->| |----------->| |---> | | | | | | | | | | | | DM Msg holding | | | | | | Snd_Ctrl | |SCSI Dataout PDU| |Ctrl_Notify | | | |--------->| |--------------->| |----------->| | | | . | | . | | . | |Unsol | | . | D| . | D| . | |Data | | . | a| DM Msg holding | a| . | |Trans | i| Snd_Ctrl | t|SCSI Dataout PDU| t|Ctrl_Notify | i| | S|--------->| a|--------------->| a|----------->| S| | C| | m| | m| | C|Buf | S| | o| | o| | S|Avail | I| | v| | v| Get_Data | I|(R2T) | | | e|----------------| e|<-----------| |<---- | L| | r||Solicited Data | r| | L| . | a| | || Transfer | | | a| . | y| | L|--------------->| L| . | y|Buf | e| | a| . | a| . | e|Avail | r| | y| . | y| Get_Data | r|(R2T) | | | e|----------------| e|<-----------| |<---- | | | r||Solicited Data | r| | | | | | || Transfer | | | | | | | |--------------->| |Data_Cmp_Nfy| |Data | | | | | |----------->| |Trans | | | | | | | |Compl | | | | DM Msg holding | | | | SCSI | | | |SCSI Resp PDU & | | | |SCSI Resp | |Ctrl_Ntfy | | Sense Data | | Snd_Ctrl | |Resp <----| |<---------| |<---------------| |<-----------| |<---- | | | | | | | |
Figure 9. A SCSI Write Data Transfer
図9. A SCSIライトデータ転送
<-----Initiator-----> <-------Target------->
| | | | | | | | SCSI | | | | DM Msg holding | | | |SCSI Cmd | | Snd_Ctrl | | SCSI Cmd PDU | |Ctrl_Notify | |Cmd ---->| |--------->| |--------------->| |----------->| |---> | | | | | | | | | | | D| SCSI Read | D| | |Buf | | | a| Data Transfer | a| Put_Data | |Avail | i| | t|<---------------| t|<-----------| i|<---- | S| | a| . | a| . | S| . | C| | m| . | m| . | C| . | S| | o| . | o| . | S| . | I| | v| SCSI Read | v| . | I|Buf | | | e| Data Transfer | e| Put_Data | |Avail | L| | r|<---------------| r|<-----------| L|<---- | a| | | | | | a| | y| | L| | L| | y| | e| | a| | a|Data_Cmp_Nfy| e|Data | r| | y| | y|----------->| r|Trans | | | e| | e| | |Compl | | | r| DM Msg holding | r| | | SCSI | | | |SCSI Resp PDU & | | | |SCSI Resp | |Ctrl_Ntfy | | Sense Data | | Snd_Ctrl | |Resp <----| |<---------| |<---------------| |<-----------| |<---- | | | | | | | |
Figure 10. A SCSI Read Data Transfer
図10. A SCSI読み取りデータ転送
<-----Initiator-----> <-------Target------->
| | | | | | | | SCSI | | | | DM Msg holding | | | |SCSI Cmd | | Snd_Ctrl | | SCSI Cmd PDU | |Ctrl_Notify | |Cmd ---->| |--------->| |--------------->| |----------->| |----> | | | | | | | | | | | D| SCSI Read | D| Put_Data | |Buf | | | a| Data Transfer | a|Data_in.A=1 | |Avail | i| | t|<---------------| t|<-----------| i|<---- | S| | a| . | a| . | S| . | C| | m| . | m|Data_ACK_Nfy| C| . | S| | o| | o|----------->| S| . | I| | v| | v| . | I| | | | e| | e| . | | | L| | r| | r| | L| | a| | | | | | a| | y| | L| | L| | y| | e| | a| | a| | e|Data | r| | y| | y| | r|Trans | | | e| | e| | |Compl | | | r| DM Msg holding | r| | | SCSI | | | |SCSI Resp PDU & | | | |SCSI Resp | |Ctrl_Ntfy | | Sense Data | | Snd_Ctrl | |Resp <----| |<---------| |<---------------| |<-----------| |<---- | | | | | | | |
Figure 11. A SCSI Read Data Acknowledgement
図11. A SCSIデータの読み取り謝辞
<-----Initiator-----> <-------Target------->
| | | | | | | | SCSI | | | | DM Msg holding | | | |SCSI Cmd | | Snd_Ctrl | | SCSI Cmd PDU | |Ctrl_Notify | |Cmd ---->| |--------->| |--------------->| |----------->| |----> | | | | | | | | | | | D| SCSI Read | D| | |Buf | | | a| Data Transfer | a| Put_Data | |Avail | i| | t|<---------------| t|<-----------| i|<---- | S| | a| . | a| . | S| . Abort| C| | m| DM Msg holding | m| . | C|Abort Task | S| Snd_Ctrl | o| Abort TMF Req | o|Ctrl_Notify | S|Task ---->| I|--------->| v|--------------->| v|----------->| I|----> | | | e| . | e| . | | Abort| L| | r| DM Msg holding| r| | L| . Done | a|Ctrl_Ntfy | | Abort TMF Res| | Snd_Ctrl | |Abted <----| y|<---------| L|<---------------| L|<-----------| y|<---- | e| | a| | a| | e| | r| | y| | y| | r| | | | e| | e| | | | | | r| | r| | | | | | | | | | | | |Dal_Tk_Res| | | |Dal_Tk_Res | | | |--------->| | | |<-----------| | | | | | | | | |
Figure 12. Task Resource Cleanup on Abort
中止の図12.タスクのリソースのクリーンアップ
Acknowledgements
謝辞
The IP Storage (IPS) Working Group in the Transport Area of IETF has been responsible for defining the iSCSI protocol (apart from a host of other relevant IP Storage protocols). The authors are grateful to the entire working group, whose work allowed this document to build on the concepts and details of the iSCSI protocol.
IETFの交通地域におけるIPストレージ(IPS)ワーキンググループは、(他の関連するIPストレージプロトコルのホストから離れて)iSCSIプロトコルを定義を担当してきました。著者はその作品このドキュメントはiSCSIプロトコルの概念と細部に構築することができ、全体のワーキンググループに感謝しています。
In addition, the following individuals reviewed and contributed to the improvement of this document. The authors are grateful for their contribution.
また、以下の個人を検討し、この文書の改善に貢献しました。作者は彼らの貢献に感謝しています。
John Carrier Adaptec, Inc. 691 S. Milpitas Blvd., Milpitas, CA 95035, USA Phone: +1 (360) 378-8526 EMail: john_carrier@adaptec.com
ジョン・キャリアのAdaptec、Inc.の691 S.ミルピタスブルバード、ミルピタス、CA 95035、USA電話:+1(360)378から8526 Eメール:john_carrier@adaptec.com
Hari Ghadia Adaptec, Inc. 691 S. Milpitas Blvd., Milpitas, CA 95035, USA Phone: +1 (408) 957-5608 EMail: hari_ghadia@adaptec.com
ハリGhadiaアダプテック社691 S.ミルピタスブルバード、ミルピタス、CA 95035、USA電話:+1(408)957から5608 Eメール:hari_ghadia@adaptec.com
Hari Mudaliar Adaptec, Inc. 691 S. Milpitas Blvd., Milpitas, CA 95035, USA Phone: +1 (408) 957-6012 EMail: hari_mudaliar@adaptec.com
ハリMudaliarアダプテック社691 S.ミルピタスブルバード、ミルピタス、CA 95035、USA電話:+1(408)957から6012 Eメール:hari_mudaliar@adaptec.com
Patricia Thaler Agilent Technologies, Inc. 1101 Creekside Ridge Drive, #100, M/S-RG10, Roseville, CA 95678, USA Phone: +1-916-788-5662 EMail: pat_thaler@agilent.com
パトリシア・ターラーアジレント・テクノロジー株式会社1101年クリークサイドリッジドライブ、#100、M / S-RG10、ローズ、CA 95678、USA電話:+ 1-916-788-5662 Eメール:pat_thaler@agilent.com
Uri Elzur Broadcom Corporation 16215 Alton Parkway, Irvine, CA 92619-7013, USA Phone: +1 (949) 585-6432 EMail: Uri@Broadcom.com
ウリElzurブロードコム・コーポレーション16215アルトンパークウェイ、アーバイン、CA 92619から7013、USA電話:+1(949)585から6432 Eメール:Uri@Broadcom.com
Mike Penna Broadcom Corporation 16215 Alton Parkway,Irvine, CA 92619-7013, USA Phone: +1 (949) 926-7149 EMail: MPenna@Broadcom.com
マイク・ペンナブロードコム・コーポレーション16215アルトンパークウェイ、アーバイン、CA 92619から7013、USA電話:+1(949)926から7149 Eメール:MPenna@Broadcom.com
David Black EMC Corporation 176 South St., Hopkinton, MA 01748, USA Phone: +1 (508) 293-7953 EMail: black_david@emc.com
デビッド・ブラックEMCコーポレーション176南セント、ホプキントン、MA 01748、USA電話:+1(508)293から7953 Eメール:black_david@emc.com
Ted Compton EMC Corporation Research Triangle Park, NC 27709, USA Phone: +1-919-248-6075 EMail: compton_ted@emc.com
テッド・コンプトンEMCコーポレーションリサーチトライアングルパーク、NC 27709、USA電話:+ 1-919-248-6075 Eメール:compton_ted@emc.com
Dwight Barron Hewlett-Packard Company 20555 SH 249, Houston, TX 77070-2698, USA Phone: +1 (281) 514-2769 EMail: Dwight.Barron@Hp.com
ドワイト・バロン、米国Hewlett-Packard Company 20555 SH 249、ヒューストン、TX 77070から2698、USA電話:+1(281)514から2769 Eメール:Dwight.Barron@Hp.com
Paul R. Culley Hewlett-Packard Company 20555 SH 249, Houston, TX 77070-2698, USA Phone: +1 (281) 514-5543 EMail: paul.culley@hp.com
ポール・R. Culley、米国Hewlett-Packard Company 20555 SH 249、ヒューストン、TX 77070から2698、USA電話:+1(281)514から5543 Eメール:paul.culley@hp.com
Dave Garcia Hewlett-Packard Company 19333 Vallco Parkway, Cupertino, CA 95014, USA Phone: +1 (408) 285-6116 EMail: dave.garcia@hp.com
デイブ・ガルシア、米国Hewlett-Packard Company 19333 Vallcoパークウェイ、クパチーノ、CA 95014、USA電話:+1(408)285から6116 Eメール:dave.garcia@hp.com
Randy Haagens Hewlett-Packard Company 8000 Foothills Blvd, MS 5668, Roseville CA, USA Phone: +1-916-785-4578 EMail: randy_haagens@hp.com
ランディHaagens米国Hewlett-Packard Company 8000山麓ブルバード、MS 5668、ローズビルCA、USA電話:+ 1-916-785-4578 Eメール:randy_haagens@hp.com
Jeff Hilland Hewlett-Packard Company 20555 SH 249, Houston, TX 77070-2698, USA Phone: +1 (281) 514-9489 EMail: jeff.hilland@hp.com
ジェフHilland米国Hewlett-Packard Company 20555 SH 249、ヒューストン、TX 77070から2698、USA電話:+1(281)514から9489 Eメール:jeff.hilland@hp.com
Mike Krause Hewlett-Packard Company, 43LN 19410 Homestead Road, Cupertino, CA 95014, USA Phone: +1 (408) 447-3191 EMail: krause@cup.hp.com
マイク・クラウゼ、米国Hewlett-Packard Company、43LN 19410ホームステッド道路、クパチーノ、CA 95014、USA電話:+1(408)447から3191 Eメール:krause@cup.hp.com
Jim Wendt Hewlett-Packard Company 8000 Foothills Blvd, MS 5668, Roseville CA, USA Phone: +1-916-785-5198 EMail: jim_wendt@hp.com
ジム・ウェント、米国Hewlett-Packard Company 8000山麓ブルバード、MS 5668、ローズビルCA、USA電話:+ 1-916-785-5198 Eメール:jim_wendt@hp.com
Mike Ko IBM 650 Harry Rd, San Jose, CA 95120, USA Phone: +1 (408) 927-2085 EMail: mako@us.ibm.com
マイク・コIBM 650ハリーRdを、サンノゼ、CA 95120、USA電話:+1(408)927から2085 Eメール:mako@us.ibm.com
Renato Recio IBM Corporation 11501 Burnett Road, Austin, TX 78758, USA Phone: +1 (512) 838-1365 EMail: recio@us.ibm.com
レナートRecio IBMコーポレーション11501バーネット道路、オースティン、TX 78758、USA電話:+1(512)838から1365 Eメール:recio@us.ibm.com
Howard C. Herbert Intel Corporation MS CH7-404,5000 West Chandler Blvd., Chandler, AZ 85226, USA Phone: +1 (480) 554-3116 EMail: howard.c.herbert@intel.com
ハワードC.ハーバートインテル社MS CH7-404,5000西チャンドラーブルバード、チャンドラー、AZ 85226、USA電話:+1(480)554から3116 Eメール:howard.c.herbert@intel.com
Dave Minturn Intel Corporation MS JF1-210, 5200 North East Elam Young Parkway Hillsboro, OR 97124, USA Phone: +1 (503) 712-4106 EMail: dave.b.minturn@intel.com
デイブMinturnのインテルコーポレーションMS JF1-210、5200ノース・イースト・エラムヤングパークウェイヒルズボロ、OR 97124、USA電話:+1(503)712から4106 Eメール:dave.b.minturn@intel.com
James Pinkerton Microsoft Corporation One Microsoft Way, Redmond, WA 98052, USA Phone: +1 (425) 705-5442 EMail: jpink@microsoft.com
ジェームズ・ピンカートンマイクロソフト社1つのマイクロソフト道、レッドモンド、WA 98052、USA電話:+1(425)705から5442 Eメール:jpink@microsoft.com
Tom Talpey Network Appliance 375 Totten Pond Road, Waltham, MA 02451, USA Phone: +1 (781) 768-5329 EMail: thomas.talpey@netapp.com
トムTalpeyネットワーク・アプライアンス375トッテン池道路、ウォルサム、MA 02451、USA電話:+1(781)768から5329 Eメール:thomas.talpey@netapp.com
Authors' Addresses
著者のアドレス
Mallikarjun Chadalapaka Hewlett-Packard Company 8000 Foothills Blvd. Roseville, CA 95747-5668, USA
Mallikarjun cadalapaka havaletta-pakkard同社は8000ブルバードをphuthils。ローズ、K 95747-5668、USA
Phone: +1-916-785-5621 EMail: cbm@rose.hp.com
電話:+ 1-916-785-5621 Eメール:cbm@rose.hp.com
John L. Hufferd Brocade, Inc. 1745 Technology Drive San Jose, CA 95110, USA
ジョン・L. Hufferdブロケード社1745年テクノロジー・ドライブサンノゼ、CA 95110、USA
Phone: +1-408-333-5244 EMail: jhufferd@brocade.com
電話:+ 1-408-333-5244 Eメール:jhufferd@brocade.com
Julian Satran IBM, Haifa Research Lab Haifa University Campus - Mount Carmel Haifa 31905, Israel
ジュリアンSatran IBM、ハイファ研究所ハイファ大学キャンパス - マウントカーメルハイファ31905、イスラエル
Phone +972-4-829-6264 EMail: Julian_Satran@il.ibm.com
電話+ 972-4-829-6264 Eメール:Julian_Satran@il.ibm.com
Hemal Shah Broadcom Corporation 5300 California Avenue Irvine, California 92617, USA
Hemalシャーブロードコム・コーポレーション5300カリフォルニアアベニューアーバイン、カリフォルニア州92617、USA
Phone: +1-949-926-6941 EMail: hemal@broadcom.com
電話:+ 1-949-926-6941 Eメール:hemal@broadcom.com
Comments may be sent to Mallikarjun Chadalapaka.
ベイセントMallikarjunはコメントで月をcadalapaka。
Full Copyright Statement
完全な著作権声明
Copyright (C) The IETF Trust (2007).
著作権(C)IETFトラスト(2007)。
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
この文書では、BCP 78に含まれる権利と許可と制限の適用を受けており、その中の記載を除いて、作者は彼らのすべての権利を保有します。
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
この文書とここに含まれている情報は、基礎とCONTRIBUTOR「そのまま」、ORGANIZATION HE / SHEが表すまたはインターネットSOCIETY、(もしあれば)を後援し、IETF TRUST ANDインターネットエンジニアリングタスクフォース放棄ALLに設けられています。保証は、明示または黙示、この情報の利用および特定目的に対する権利または商品性または適合性の黙示の保証を侵害しない任意の保証がこれらに限定されません。
Intellectual Property
知的財産
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETFは、本書またはそのような権限下で、ライセンスがたりないかもしれない程度に記載された技術の実装や使用に関係すると主張される可能性があります任意の知的財産権やその他の権利の有効性または範囲に関していかなる位置を取りません利用可能です。またそれは、それがどのような権利を確認する独自の取り組みを行ったことを示すものでもありません。 RFC文書の権利に関する手続きの情報は、BCP 78およびBCP 79に記載されています。
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
IPRの開示のコピーが利用できるようにIETF事務局とライセンスの保証に行われた、または本仕様の実装者または利用者がそのような所有権の使用のための一般的なライセンスまたは許可を取得するために作られた試みの結果を得ることができますhttp://www.ietf.org/iprのIETFのオンラインIPRリポジトリから。
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETFは、その注意にこの標準を実装するために必要とされる技術をカバーすることができる任意の著作権、特許または特許出願、またはその他の所有権を持ってすべての利害関係者を招待します。 ietf-ipr@ietf.orgのIETFに情報を記述してください。