?? rfc3720.txt
字號:
Network Working Group J. Satran
Request for Comments: 3720 K. Meth
Category: Standards Track IBM
C. Sapuntzakis
Cisco Systems
M. Chadalapaka
Hewlett-Packard Co.
E. Zeidner
IBM
April 2004
Internet Small Computer Systems Interface (iSCSI)
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
This document describes a transport protocol for Internet Small
Computer Systems Interface (iSCSI) that works on top of TCP. The
iSCSI protocol aims to be fully compliant with the standardized SCSI
architecture model.
SCSI is a popular family of protocols that enable systems to
communicate with I/O devices, especially storage devices. SCSI
protocols are request/response application protocols with a common
standardized architecture model and basic command set, as well as
standardized command sets for different device classes (disks, tapes,
media-changers etc.).
As system interconnects move from the classical bus structure to a
network structure, SCSI has to be mapped to network transport
protocols. IP networks now meet the performance requirements of fast
system interconnects and as such are good candidates to "carry" SCSI.
Satran, et al. Standards Track [Page 1]
RFC 3720 iSCSI April 2004
Table of Contents
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 9
2. Definitions and Acronyms. . . . . . . . . . . . . . . . . . . 10
2.1. Definitions. . . . . . . . . . . . . . . . . . . . . . 10
2.2. Acronyms . . . . . . . . . . . . . . . . . . . . . . . 14
2.3. Conventions. . . . . . . . . . . . . . . . . . . . . . 16
2.3.1. Word Rule. . . . . . . . . . . . . . . . . . 16
2.3.2. Half-Word Rule . . . . . . . . . . . . . . . 17
2.3.3. Byte Rule. . . . . . . . . . . . . . . . . . 17
3. Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1. SCSI Concepts. . . . . . . . . . . . . . . . . . . . . 17
3.2. iSCSI Concepts and Functional Overview . . . . . . . . 18
3.2.1. Layers and Sessions. . . . . . . . . . . . . 19
3.2.2. Ordering and iSCSI Numbering . . . . . . . . 19
3.2.2.1. Command Numbering and
Acknowledging . . . . . . . . . . 20
3.2.2.2. Response/Status Numbering and
Acknowledging . . . . . . . . . . 23
3.2.2.3. Data Sequencing . . . . . . . . 24
3.2.3. iSCSI Login. . . . . . . . . . . . . . . . . 24
3.2.4. iSCSI Full Feature Phase . . . . . . . . . . 25
3.2.4.1. Command Connection Allegiance . . 26
3.2.4.2. Data Transfer Overview. . . . . . 27
3.2.4.3. Tags and Integrity Checks . . . . 28
3.2.4.4. Task Management . . . . . . . . . 28
3.2.5. iSCSI Connection Termination . . . . . . . . 29
3.2.6. iSCSI Names. . . . . . . . . . . . . . . . . 29
3.2.6.1. iSCSI Name Properties . . . . . . 30
3.2.6.2. iSCSI Name Encoding . . . . . . . 31
3.2.6.3. iSCSI Name Structure. . . . . . . 32
3.2.6.3.1. Type "iqn." (iSCSI
Qualified Name) . . . 32
3.2.6.3.2. Type "eui." (IEEE
EUI-64 format). . . . 34
3.2.7. Persistent State . . . . . . . . . . . . . . 34
3.2.8. Message Synchronization and Steering . . . . 35
3.2.8.1. Sync/Steering and iSCSI PDU
Length . . . . . . . . . . . . . 36
3.3. iSCSI Session Types. . . . . . . . . . . . . . . . . . 36
3.4. SCSI to iSCSI Concepts Mapping Model . . . . . . . . . 37
3.4.1. iSCSI Architecture Model . . . . . . . . . . 37
3.4.2. SCSI Architecture Model. . . . . . . . . . . 39
3.4.3. Consequences of the Model. . . . . . . . . . 41
3.4.3.1. I_T Nexus State . . . . . . . . . 42
3.5. Request/Response Summary . . . . . . . . . . . . . . . 42
3.5.1. Request/Response Types Carrying SCSI Payload 43
3.5.1.1. SCSI-Command . . . . . . . . . . 43
Satran, et al. Standards Track [Page 2]
RFC 3720 iSCSI April 2004
3.5.1.2. SCSI-Response . . . . . . . . . 43
3.5.1.3. Task Management Function Request. 44
3.5.1.4. Task Management Function Response 44
3.5.1.5. SCSI Data-Out and SCSI Data-In. . 44
3.5.1.6. Ready To Transfer (R2T) . . . . . 45
3.5.2. Requests/Responses carrying SCSI and iSCSI
Payload. . . . . . . . . . . . . . . . . . . 46
3.5.2.1. Asynchronous Message. . . . . . . 46
3.5.3. Requests/Responses Carrying iSCSI Only
Payload. . . . . . . . . . . . . . . . . . . 46
3.5.3.1. Text Request and Text Response. . 46
3.5.3.2. Login Request and Login Response. 47
3.5.3.3. Logout Request and Response . . . 47
3.5.3.4. SNACK Request . . . . . . . . . . 48
3.5.3.5. Reject. . . . . . . . . . . . . . 48
3.5.3.6. NOP-Out Request and NOP-In
Response . . . . . . . . . . . . 48
4. SCSI Mode Parameters for iSCSI. . . . . . . . . . . . . . . . 48
5. Login and Full Feature Phase Negotiation. . . . . . . . . . . 48
5.1. Text Format. . . . . . . . . . . . . . . . . . . . . . 50
5.2. Text Mode Negotiation. . . . . . . . . . . . . . . . . 53
5.2.1. List negotiations. . . . . . . . . . . . . . 56
5.2.2. Simple-value Negotiations. . . . . . . . . . 56
5.3. Login Phase. . . . . . . . . . . . . . . . . . . . . . 57
5.3.1. Login Phase Start. . . . . . . . . . . . . . 60
5.3.2. iSCSI Security Negotiation . . . . . . . . . 62
5.3.3. Operational Parameter Negotiation During
the Login Phase. . . . . . . . . . . . . . . 63
5.3.4. Connection Reinstatement . . . . . . . . . . 64
5.3.5. Session Reinstatement, Closure, and Timeout. 64
5 5.3.5.1. Loss of Nexus
Notification. . . . . 65
5.3.6. Session Continuation and Failure . . . . . . 65
5.4. Operational Parameter Negotiation Outside the Login
Phase. . . . . . . . . . . . . . . . . . . . . . . . . 66
6. iSCSI Error Handling and Recovery . . . . . . . . . . . . . . 67
6.1. Overview . . . . . . . . . . . . . . . . . . . . . . . 67
6.1.1. Background . . . . . . . . . . . . . . . . . 67
6.1.2. Goals. . . . . . . . . . . . . . . . . . . . 67
6.1.3. Protocol Features and State Expectations . . 68
6.1.4. Recovery Classes . . . . . . . . . . . . . . 69
6.1.4.1. Recovery Within-command . . . . . 69
6.1.4.2. Recovery Within-connection. . . . 70
6.1.4.3. Connection Recovery . . . . . . . 71
6.1.4.4. Session Recovery. . . . . . . . . 72
6.1.5. Error Recovery Hierarchy . . . . . . . . . . . 72
6.2. Retry and Reassign in Recovery . . . . . . . . . . . . 74
6.2.1. Usage of Retry . . . . . . . . . . . . . . . 74
Satran, et al. Standards Track [Page 3]
RFC 3720 iSCSI April 2004
6.2.2. Allegiance Reassignment. . . . . . . . . . . 75
6.3. Usage Of Reject PDU in Recovery. . . . . . . . . . . . 76
6.4. Connection Timeout Management. . . . . . . . . . . . . 76
6.4.1. Timeouts on Transport Exception Events . . . 77
6.4.2. Timeouts on Planned Decommissioning. . . . . 77
6.5. Implicit Termination of Tasks. . . . . . . . . . . . . 77
6.6. Format Errors. . . . . . . . . . . . . . . . . . . . . 78
6.7. Digest Errors. . . . . . . . . . . . . . . . . . . . . 78
6.8. Sequence Errors. . . . . . . . . . . . . . . . . . . . 80
6.9. SCSI Timeouts. . . . . . . . . . . . . . . . . . . . . 81
6.10. Negotiation Failures . . . . . . . . . . . . . . . . . 81
6.11. Protocol Errors. . . . . . . . . . . . . . . . . . . . 82
6.12. Connection Failures. . . . . . . . . . . . . . . . . . 82
6.13. Session Errors . . . . . . . . . . . . . . . . . . . . 83
7. State Transitions . . . . . . . . . . . . . . . . . . . . . . 84
7.1. Standard Connection State Diagrams . . . . . . . . . . 84
7.1.1. State Descriptions for Initiators and
Targets. . . . . . . . . . . . . . . . . . . 84
7.1.2. State Transition Descriptions for Initiators
and Targets. . . . . . . . . . . . . . . . . 85
7.1.3. Standard Connection State Diagram for an
Initiator. . . . . . . . . . . . . . . . . . 88
7.1.4. Standard Connection State Diagram for a
Target . . . . . . . . . . . . . . . . . . . 90
7.2. Connection Cleanup State Diagram for Initiators and
Targets. . . . . . . . . . . . . . . . . . . . . . . . 92
7.2.1. State Descriptions for Initiators and
Targets. . . . . . . . . . . . . . . . . . . 94
7.2.2. State Transition Descriptions for Initiators
and Targets. . . . . . . . . . . . . . . . . 94
7.3. Session State Diagrams . . . . . . . . . . . . . . . . 95
7.3.1. Session State Diagram for an Initiator . . . 95
7.3.2. Session State Diagram for a Target . . . . . 96
7.3.3. State Descriptions for Initiators and
Targets. . . . . . . . . . . . . . . . . . . 97
7.3.4. State Transition Descriptions for Initiators
and Targets. . . . . . . . . . . . . . . . . 98
8. Security Considerations . . . . . . . . . . . . . . . . . . . 99
8.1. iSCSI Security Mechanisms. . . . . . . . . . . . . . . 100
8.2. In-band Initiator-Target Authentication. . . . . . . . 100
8.2.1. CHAP Considerations. . . . . . . . . . . . . 101
8.2.2. SRP Considerations . . . . . . . . . . . . . 103
8.3. IPsec. . . . . . . . . . . . . . . . . . . . . . . . . 104
8.3.1. Data Integrity and Authentication. . . . . . 104
8.3.2. Confidentiality. . . . . . . . . . . . . . . 105
8.3.3. Policy, Security Associations, and
Cryptographic Key Management . . . . . . . . 105
9. Notes to Implementers . . . . . . . . . . . . . . . . . . . . 106
Satran, et al. Standards Track [Page 4]
RFC 3720 iSCSI April 2004
9.1. Multiple Network Adapters. . . . . . . . . . . . . . . 106
9.1.1. Conservative Reuse of ISIDs. . . . . . . . . 107
9.1.2. iSCSI Name, ISID, and TPGT Use . . . . . . . 107
9.2. Autosense and Auto Contingent Allegiance (ACA) . . . . 109
9.3. iSCSI Timeouts . . . . . . . . . . . . . . . . . . . . 109
9.4. Command Retry and Cleaning Old Command Instances . . . 110
9.5. Synch and Steering Layer and Performance . . . . . . . 110
9.6. Considerations for State-dependent Devices and
Long-lasting SCSI Operations . . . . . . . . . . . . . 111
9.6.1. Determining the Proper ErrorRecoveryLevel. . 112
10. iSCSI PDU Formats . . . . . . . . . . . . . . . . . . . . . . 112
10.1. iSCSI PDU Length and Padding . . . . . . . . . . . . . 113
10.2. PDU Template, Header, and Opcodes. . . . . . . . . . . 113
10.2.1. Basic Header Segment (BHS) . . . . . . . . . 114
10.2.1.1. I . . . . . . . . . . . . . . . . 115
10.2.1.2. Opcode. . . . . . . . . . . . . . 115
10.2.1.3. Final (F) bit . . . . . . . . . . 116
10.2.1.4. Opcode-specific Fields. . . . . . 116
10.2.1.5. TotalAHSLength. . . . . . . . . . 116
10.2.1.6. DataSegmentLength . . . . . . . . 116
10.2.1.7. LUN . . . . . . . . . . . . . . . 116
10.2.1.8. Initiator Task Tag. . . . . . . . 117
10.2.2. Additional Header Segment (AHS) . . . . . . . 117
10.2.2.1. AHSType . . . . . . . . . . . . . 117
10.2.2.2. AHSLength . . . . . . . . . . . . 117
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -