⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc3720.txt

📁 一个学习iSCSI协议的文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:





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 + -