iSCSI - 3.2.2.1. 명령 번호 지정 및 승인

목록

3.2.2.1. Command Numbering and Acknowledging

3.2.2.1. 명령 번호 지정 및 승인

iSCSI performs ordered command delivery within a session.

iSCSI는 세션 내에서 순서가 지정된 명령 전달을 수행합니다.

All commands (initiator-to-target PDUs) in transit from the initiator to the target are numbered.

이니시에이터에서 타겟으로 전송 중인 모든 명령 (이니시에이터에서 타겟으로의 PDU)에는 번호가 지정됩니다.

iSCSI considers a task to be instantiated on the target in response to every request issued by the initiator.

iSCSI는 이니시에이터가 발행한 모든 요청에 ​​대한 응답으로 타겟에서 작업이 인스턴스화되는 것으로 간주합니다.

A set of task management operations including abort and reassign (see Section 10.5 Task Management Function Request) may be performed on any iSCSI task.

중단 및 재할당 (섹션 10.5 작업 관리 기능 요청 참조)을 포함한 일련의 작업 관리 작업은 모든 iSCSI 작업에서 수행될 수 있습니다.

Some iSCSI tasks are SCSI tasks, and many SCSI activities are related to a SCSI task ([SAM2]).

일부 iSCSI 작업은 SCSI 작업이고 많은 SCSI 활동은 SCSI 작업 ([SAM2])과 관련되어 있습니다.

In all cases, the task is identified by the Initiator Task Tag for the life of the task.

모든 경우에 작업은 작업 수명 동안 이니시에이터 작업 태그로 식별됩니다.

The command number is carried by the iSCSI PDU as CmdSN (Command Sequence Number).

명령 번호는 iSCSI PDU에 의해 CmdSN (명령 시퀀스 번호)으로 전달됩니다.

The numbering is session-wide.

번호 지정은 세션 전체에 적용됩니다.

Outgoing iSCSI PDUs carry this number.

나가는 iSCSI PDU에는 이 번호가 있습니다.

The iSCSI initiator allocates CmdSNs with a 32-bit unsigned counter (modulo 2**32).

iSCSI 이니시에이터는 32비트 부호 없는 카운터 (모듈로 2**32)를 사용하여 CmdSN을 할당합니다.

Comparisons and arithmetic on CmdSN use Serial Number Arithmetic as defined in [RFC1982] where SERIAL_BITS = 32.

CmdSN에 대한 비교 및 ​​산술은 SERIAL_BITS = 32인 [RFC1982]에 정의된 일련 번호 산술을 사용합니다.

Commands meant for immediate delivery are marked with an immediate delivery flag; they MUST also carry the current CmdSN.

즉시 전달을 의미하는 명령에는 즉시 전달 플래그가 표시됩니다. 또한 현재 CmdSN을 전달해야 합니다.

CmdSN does not advance after a command marked for immediate delivery is sent.

즉시 전달로 표시된 명령이 전송된 후에는 CmdSN이 진행되지 않습니다.

Command numbering starts with the first login request on the first connection of a session (the leading login on the leading connection) and command numbers are incremented by 1 for every non-immediate command issued afterwards.

명령 번호 지정은 세션의 첫 번째 연결에 대한 첫 번째 로그인 요청 (선행 연결의 선행 로그인)부터 시작되며 이후에 실행되는 즉시 실행되지 않는 모든 명령에 대해 명령 번호는 1씩 증가합니다.

If immediate delivery is used with task management commands, these commands may reach the target before the tasks on which they are supposed to act.

작업 관리 명령과 함께 즉시 전달을 사용하는 경우 이러한 명령은 수행해야 하는 작업보다 먼저 타겟에 도달할 수 있습니다.

However their CmdSN serves as a marker of their position in the stream of commands.

하지만 CmdSN은 명령 스트림에서 위치를 나타내는 표시 역할을 합니다.

The initiator and target must ensure that the task management commands act as specified by [SAM2].

이니시에이터와 타겟은 작업 관리 명령이 [SAM2]에 지정된 대로 작동하는지 확인해야 합니다.

For example, both commands and responses appear as if delivered in order.

예를 들어 명령과 응답이 모두 순서대로 전달된 것처럼 나타납니다.

Whenever CmdSN for an outgoing PDU is not specified by an explicit rule, CmdSN will carry the current value of the local CmdSN variable (see later in this section).

나가는 PDU에 대한 CmdSN이 명시적인 규칙에 의해 지정되지 않을 때마다 CmdSN은 로컬 CmdSN 변수의 현재 값을 전달합니다 (이 섹션의 뒷부분 참조).

The means by which an implementation decides to mark a PDU for immediate delivery or by which iSCSI decides by itself to mark a PDU for immediate delivery are beyond the scope of this document.

구현 시 즉시 전달을 위해 PDU를 표시하기로 결정하거나 iSCSI가 PDU를 즉시 전달을 위해 자체적으로 표시하기로 결정하는 방법은 이 문서의 범위를 벗어납니다.

The number of commands used for immediate delivery is not limited and their delivery for execution is not acknowledged through the numbering scheme.

즉시 전달에 사용되는 명령의 수는 제한되지 않으며 실행을 위한 전달은 번호 지정 방식을 통해 승인되지 않습니다.

Immediate commands MAY be rejected by the iSCSI target layer due to a lack of resources.

리소스 부족으로 인해 iSCSI 타겟 계층에서 즉각적인 명령이 거부될 수 있습니다.

An iSCSI target MUST be able to handle at least one immediate task management command and one immediate non-task-management iSCSI command per connection at any time.

iSCSI 타겟은 언제든지 연결당 최소 하나의 즉각적인 작업 관리 명령과 하나의 즉각적인 비작업 관리 SCSI 명령을 처리할 수 있어야 합니다.

In this document, delivery for execution means delivery to the SCSI execution engine or an iSCSI protocol specific execution engine (e.g., for text requests with public or private extension keys involving an execution component).

이 문서에서 실행을 위한 전달은 SCSI 실행 엔진 또는 iSCSI 프로토콜별 실행 엔진 (예: 실행 구성 요소와 관련된 공개 또는 개인 확장 키가 있는 텍스트 요청)으로의 전달을 의미합니다.

With the exception of the commands marked for immediate delivery, the iSCSI target layer MUST deliver the commands for execution in the order specified by CmdSN.

즉시 전달로 표시된 명령을 제외하고 iSCSI 타겟 계층은 CmdSN에서 지정한 순서대로 실행할 명령을 전달해야 합니다.

Commands marked for immediate delivery may be delivered by the iSCSI target layer for execution as soon as detected.

즉시 전달로 표시된 명령은 감지되는 즉시 실행을 위해 iSCSI 타겟 계층에 의해 전달될 수 있습니다.

iSCSI may avoid delivering some commands to the SCSI target layer if required by a prior SCSI or iSCSI action (e.g., CLEAR TASK SET Task Management request received before all the commands on which it was supposed to act).

iSCSI는 이전 SCSI 또는 iSCSI 작업에 필요한 경우 일부 명령을 SCSI 타겟 계층에 전달하는 것을 피할 수 있습니다 (예: 작동해야 하는 모든 명령 이전에 CLEAR TASK SET 작업 관리 요청이 수신됨).

On any connection, the iSCSI initiator MUST send the commands in increasing order of CmdSN, except for commands that are retransmitted due to digest error recovery and connection recovery.

모든 연결에서 iSCSI 이니시에이터는 다이제스트 오류 복구 및 연결 복구로 인해 재전송되는 명령을 제외하고 CmdSN의 오름차순으로 명령을 보내야 합니다.

For the numbering mechanism, the initiator and target maintain the following three variables for each session:

번호 매기기 메커니즘의 경우 이니시에이터와 타겟은 각 세션에 대해 다음 세 가지 변수를 유지합니다:

- CmdSN - the current command Sequence Number, advanced by 1 on each command shipped except for commands marked for immediate delivery.

- CmdSN - 즉시 전달로 표시된 명령을 제외하고 전달된 각 명령에 대해 1씩 증가하는 현재 명령 시퀀스 번호입니다.

- CmdSN always contains the number to be assigned to the next command PDU.

- CmdSN에는 항상 다음 명령 PDU에 할당될 번호가 포함됩니다.

- ExpCmdSN - the next expected command by the target.

- ExpCmdSN - 타겟이 예상하는 다음 명령입니다.

The target acknowledges all commands up to, but not including, this number.

타겟은 이 숫자까지 (포함하지 않음)의 모든 명령을 승인합니다.

The initiator treats all commands with CmdSN less than ExpCmdSN as acknowledged.

이니시에이터는 CmdSN이 ExpCmdSN보다 작은 모든 명령을 승인된 것으로 처리합니다.

The target iSCSI layer sets the ExpCmdSN to the largest non-immediate CmdSN that it can deliver for execution plus 1 no holes in the CmdSN sequence).

타겟 iSCSI 계층은 ExpCmdSN을 실행을 위해 전달할 수 있는 가장 큰 비즉시 CmdSN에 CmdSN 시퀀스에 구멍이 없는 1을 더한 값으로 설정합니다.

- MaxCmdSN - the maximum number to be shipped.

- MaxCmdSN - 배송될 최대 개수입니다.

The queuing capacity of the receiving iSCSI layer is MaxCmdSN - ExpCmdSN + 1.

수신 iSCSI 레이어의 대기열 용량은 MaxCmdSN - ExpCmdSN + 1입니다.

The initiator's ExpCmdSN and MaxCmdSN are derived from target-to-initiator PDU fields.

이니시에이터의 ExpCmdSN 및 MaxCmdSN은 타겟-이니시에이터 PDU 필드에서 파생됩니다.

Comparisons and arithmetic on ExpCmdSN and MaxCmdSN MUST use Serial Number Arithmetic as defined in [RFC1982] where SERIAL_BITS = 32.

ExpCmdSN 및 MaxCmdSN에 대한 비교 및 ​​산술은 SERIAL_BITS = 32인 [RFC1982]에 정의된 일련 번호 산술을 사용해야 합니다.

The target MUST NOT transmit a MaxCmdSN that is less than ExpCmdSN-1.

타겟은 ExpCmdSN-1보다 작은 MaxCmdSN을 전송해서는 안 됩니다.

For non-immediate commands, the CmdSN field can take any value from ExpCmdSN to MaxCmdSN inclusive.

즉각적이지 않은 명령의 경우 CmdSN 필드는 ExpCmdSN에서 MaxCmdSN까지의 모든 값을 사용할 수 있습니다.

The target MUST silently ignore any non-immediate command outside of this range or non-immediate duplicates within the range.

타겟은 이 범위 밖의 모든 즉각적이지 않은 명령이나 범위 내에서 즉각적이지 않은 중복을 자동으로 무시해야 합니다.

The CmdSN carried by immediate commands may lie outside the ExpCmdSN to MaxCmdSN range.

즉각적인 명령에 의해 전달되는 CmdSN은 ExpCmdSN에서 MaxCmdSN 범위 밖에 있을 수 있습니다.

For example, if the initiator has previously sent a non-immediate command carrying the CmdSN equal to MaxCmdSN, the target window is closed.

예를 들어, 이니시에이터가 이전에 MaxCmdSN과 동일한 CmdSN을 전달하는 즉각적이지 않은 명령을 보낸 경우 타겟 창이 닫힙니다.

For group task management commands issued as immediate commands, CmdSN indicates the scope of the group action (e.g., on ABORT TASK SET indicates which commands are aborted).

즉시 명령으로 실행된 그룹 작업 관리 명령의 경우 CmdSN은 그룹 작업의 범위를 나타냅니다 (예: ABORT TASK SET에서 어떤 명령이 중단되는지 나타냅니다).

MaxCmdSN and ExpCmdSN fields are processed by the initiator as follows:

MaxCmdSN 및 ExpCmdSN 필드는 이니시에이터에 의해 다음과 같이 처리됩니다:

- If the PDU MaxCmdSN is less than the PDU ExpCmdSN-1 (in Serial Arithmetic Sense), they are both ignored.

- PDU MaxCmdSN 이 PDU ExpCmdSN-1 (직렬 산술 의미에서)보다 작으면 둘 다 무시됩니다.

- If the PDU MaxCmdSN is greater than the local MaxCmdSN (in Serial Arithmetic Sense), it updates the local MaxCmdSN; otherwise, it is ignored.

- PDU MaxCmdSN이 로컬 MaxCmdSN (직렬 산술 의미에서)보다 큰 경우 로컬 MaxCmdSN을 업데이트합니다. 그렇지 않으면 무시됩니다.

- If the PDU ExpCmdSN is greater than the local ExpCmdSN (in Serial Arithmetic Sense), it updates the local ExpCmdSN; otherwise, it is ignored.

- PDU ExpCmdSN이 로컬 ExpCmdSN (직렬 산술 의미에서)보다 큰 경우 로컬 ExpCmdSN을 업데이트합니다. 그렇지 않으면 무시됩니다.

This sequence is required because updates may arrive out of order (e.g., the updates are sent on different TCP connections).

업데이트가 순서 없이 도착할 수 있으므로 이 순서가 필요합니다 (예: 업데이트가 다른 TCP 연결을 통해 전송됨).

iSCSI initiators and targets MUST support the command numbering scheme.

iSCSI 이니시에이터와 타겟은 명령 번호 지정 체계를 지원해야 합니다.

A numbered iSCSI request will not change its allocated CmdSN,regardless of the number of times and circumstances in which it is reissued (see Section 6.2.1 Usage of Retry).

번호가 지정된 iSCSI 요청은 재발행 횟수 및 상황에 관계없이 할당된 CmdSN을 변경하지 않습니다 (섹션 6.2.1 재시도 사용 참조).

At the target, CmdSN is only relevant when the command has not created any state related to its execution (execution state); afterwards, CmdSN becomes irrelevant.

타겟에서 CmdSN은 명령이 실행과 관련된 상태 (실행 상태)를 생성하지 않은 경우에만 관련됩니다. 그 이후에는 CmdSN이 관련이 없게 됩니다.

Testing for the execution state (represented by identifying the Initiator Task Tag) MUST precede any other action at the target.

실행 상태 테스트 (이니시에이터 작업 태그 식별로 표시)는 대상의 다른 작업보다 먼저 수행되어야 합니다.

If no execution state is found, it is followed by ordering and delivery.

실행 상태가 발견되지 않으면 주문 및 배송이 이어집니다.

If an execution state is found, it is followed by delivery.

실행 상태가 발견되면 전달됩니다.

If an initiator issues a command retry for a command with CmdSN R on a connection when the session CmdSN value is Q, it MUST NOT advance the CmdSN past R + 2**31 -1 unless the connection is no longer operational (i.e., it has returned to the FREE state, see Section 7.1.3 Standard Connection State Diagram for an Initiator),

세션 CmdSN 값이 Q일 때 이니시에이터가 연결에서 CmdSN R을 사용하여 명령에 대한 명령 재시도를 발행하는 경우, 연결이 더 이상 작동하지 않는 한 (즉, CmdSN이 R + 2**31 -1을 지나서 진행되어서는 안 됩니다. FREE 상태로 돌아왔습니다. 섹션 7.1.3 이니시에이터에 대한 표준 연결 상태 다이어그램을 참조하세요.

Standard Connection State Diagram the connection has been reinstated (see Section 5.3.4 Connection Reinstatement), or a non-immediate command with CmdSN equal or greater than Q was issued subsequent to the command retry on the same connection and the reception of that command is acknowledged by the target. (see Section 9.4 Command Retry and Cleaning Old Command Instances).

표준 연결 상태 다이어그램 연결이 복원되었습니다 (섹션 5.3.4 연결 복원 참조). 또는 Q보다 크거나 같은 CmdSN을 사용하는 즉각적이지 않은 명령이 동일한 연결에 대한 명령 재시도 이후에 발행되었으며 해당 명령의 수신은 다음과 같습니다. 대상으로 인식됩니다. (섹션 9.4 명령 재시도 및 이전 명령 인스턴스 정리 참조).

A target MUST NOT issue a command response or Data-In PDU with status before acknowledging the command.

타겟은 명령을 승인하기 전에 명령 응답이나 상태가 포함된 Data-In PDU를 발행해서는 안 됩니다.

However, the acknowledgement can be included in the response or Data-In PDU.

하지만 승인은 응답 또는 Data-In PDU에 포함될 수 있습니다.