iSCSI Protocol Training

Course Name
iSCSI Protocol Training

Course Overview
This course on iSCSI Protocol training is designed for people who work on development, testing and verification of iSCSI protocol. Participants will learn the internals of iSCSI protocol that helps them with a much better understanding of their current iSCSI work. iSCSI is in a unique position today due to its presence in storage as well as networking domain and well suited for anyone wishing to learn and master protocol level development experience. Besides protocol feature theory class, each participant will also be doing iSCSI initiator and target setup and play around with various features of iSCSI as well as capture and analyze live iSCSI packets flowing in the network.

Course Delivery

  • The course will be delivered by our Founder & CTO who is an Expert with 17+ years of experience in Linux Kernel and SAN software development.
  • 75% Theory, 25% Lab
  • Location: Sanfoundry Institute, Bangalore, India

Target Audience

  • Professionals and Students who are working in Storage Domain
  • Developers, Testers/QA and Verification Engineers who are working on or keen to work on iSCSI Protocol stack

Course Pre-requisite

  • Open to anyone as stated above

Fee, Schedule & Registration
Click Here for iSCSI Protocol Training course training schedule, fee and registration information.

iSCSI Protocol Training Course Outline

iSCSI Concepts and Functional Overview
Layers and Sessions
Ordering and iSCSI Numbering
– Command Numbering and Acknowledging
– Response/Status Numbering and Acknowledging
– Data Sequencing
iSCSI Login
iSCSI Full Feature Phase
– Command Connection Allegiance
– Data Transfer Overview
– Tags and Integrity Checks
– Task Management
iSCSI Connection Termination
iSCSI Names
– iSCSI Name Properties
– iSCSI Name Encoding
– iSCSI Name Structure
– Type “iqn.” (iSCSI Qualified Name)
– Type “eui.” (IEEE EUI-64 format)
Persistent State
– Message Synchronization and Steering
– Sync/Steering and iSCSI PDU Length

advertisement
advertisement

iSCSI Session Types

SCSI to iSCSI Concepts Mapping Model
– iSCSI Architecture Model
– SCSI Architecture Model
– Consequences of the Model
– I_T Nexus State
Request/Response Summary
– Request/Response Types Carrying SCSI Payload
– SCSI-Command
– SCSI-Response
– Task Management Function Request
– Task Management Function Response
– SCSI Data-Out and SCSI Data-In
– Ready To Transfer (R2T)
– Requests/Responses carrying SCSI and iSCSI Payload
– Asynchronous Message
– Requests/Responses Carrying iSCSI Only Payload
– Text Request and Text Response
– Login Request and Login Response
– Logout Request and Response
– SNACK Request
– Reject
– NOP-Out Request and NOP-In Response
Login and Full Feature Phase Negotiation
Text Format
Text Mode Negotiation
– List negotiations
– Simple-value Negotiations
– Login Phase
– Login Phase Start
– iSCSI Security Negotiation
– Operational Parameter Negotiation During the Login Phase
– Connection Reinstatement
– Session Reinstatement, Closure, and Timeout
– Loss of Nexus Notification
– Session Continuation and Failure
Operational Parameter Negotiation Outside the Login Phase

iSCSI Security
iSCSI Security Mechanisms
In-band Initiator-Target Authentication
– CHAP Considerations
– SRP Considerations
IPsec
– Data Integrity and Authentication
– Confidentiality
– Policy, Security Associations, and Cryptographic Key Management

iSCSI Error Handling and Recovery
Overview
– Protocol Features and State Expectations
– Recovery Classes
– Recovery Within-command
– Recovery Within-connection
– Connection Recovery
– Session Recovery
– Error Recovery Hierarchy
Retry and Reassign in Recovery
– Usage of Retry
– Allegiance Reassignment
Usage Of Reject PDU in Recovery
Connection Timeout Management
– Timeouts on Transport Exception Events
– Timeouts on Planned Decommissioning
Implicit Termination of Tasks
Format Errors
Digest Errors
Sequence Errors
SCSI Timeouts
Negotiation Failures
Protocol Errors
Connection Failures
Session Errors
iSCSI PDU Formats
iSCSI PDU Length and Padding

PDU Template, Header, and Opcodes
– Basic Header Segment (BHS)
– I
– Opcode
– Final (F) bit
– Opcode-specific Fields
– TotalAHSLength
– DataSegmentLength
– LUN
– Initiator Task Tag
– Additional Header Segment (AHS)
– AHSType
– AHSLength
– Extended CDB AHS
– Bidirectional Expected Read-Data Length AHS
– Header Digest and Data Digest
– Data Segment

SCSI Command
– Flags and Task Attributes (byte 1)
– CmdSN – Command Sequence Number
– ExpStatSN
– Expected Data Transfer Length
– CDB – SCSI Command Descriptor Block
– Data Segment
– Command Data

SCSI Response
– Flags (byte 1)
– Status
– Response
– SNACK Tag
– Residual Count
– Bidirectional Read Residual Count
– Data Segment – Sense and Response Data Segment
– SenseLength
– Sense Data

– ExpDataSN
– StatSN – Status Sequence Number
– ExpCmdSN – Next Expected CmdSN from this Initiator
– MaxCmdSN – Maximum CmdSN from this Initiator

Task Management Function Request
– Function
– TotalAHSLength and DataSegmentLength
– LUN
– Referenced Task Tag
– RefCmdSN
– ExpDataSN

Task Management Function Response
– Response
– Task Management Actions on Task Sets
– TotalAHSLength and DataSegmentLength

advertisement

SCSI Data-Out & SCSI Data-In
– F (Final) Bit
– A (Acknowledge) Bit
– Flags (byte 1)
– Target Transfer Tag and LUN
– DataSN
– Buffer Offset
– DataSegmentLength

Ready To Transfer (R2T)
– TotalAHSLength and DataSegmentLength
– R2TSN
– StatSN
– Desired Data Transfer Length and Buffer Offset
– Target Transfer Tag

Asynchronous Message
– AsyncEvent
– AsyncVCode
– LUN
– Sense Data and iSCSI Event Data
– SenseLength

Text Request
– F (Final) Bit
– C (Continue) Bit
– Initiator Task Tag
– Target Transfer Tag
– Text

Text Response
– F (Final) Bit
– C (Continue) Bit
– Initiator Task Tag
– Target Transfer Tag
– StatSN
– Text Response Data

iSCSI PDU Formats…
Login Request
– T (Transit) Bit
– C (Continue) Bit
– CSG and NSG
– Version
– Version-max
– Version-min
– ISID
– TSIH
– Connection ID – CID
– CmdSN
– ExpStatSN
– Login Parameters

advertisement

Login Response
– Version-max
– Version-active
– TSIH
– StatSN
– Status-Class and Status-Detail
– T (Transit) Bit
– C (Continue) Bit
– Login Parameters

Logout Request
– Reason Code
– TotalAHSLength and DataSegmentLength
– CID
– ExpStatSN
– Implicit termination of tasks

Logout Response
– Response
– TotalAHSLength and DataSegmentLength
– Time2Wait
– Time2Retain

SNACK Request
– Type
– Data Acknowledgement
– Resegmentation
– Initiator Task Tag
– Target Transfer Tag or SNACK Tag
– BegRun
– RunLength

Reject
– Reason
– DataSN/R2TSN
– StatSN, ExpCmdSN and MaxCmdSN
– Complete Header of Bad PDU

NOP-Out
– Initiator Task Tag
– Target Transfer Tag
– Ping Data

NOP-In
– Target Transfer Tag
– StatSN
– LUN

iSCSI Security Text Keys and Authentication Methods
AuthMethod
– Kerberos
– Simple Public-Key Mechanism (SPKM)
– Secure Remote Password (SRP)
– Challenge Handshake Authentication Protocol (CHAP)

Login/Text Operational Text Keys
– HeaderDigest and DataDigest
– MaxConnections
– SendTargets
– TargetName
– InitiatorName
– TargetAlias
– InitiatorAlias
– TargetAddress
– TargetPortalGroupTag
– InitialR2T
– ImmediateData
– MaxRecvDataSegmentLength
– MaxBurstLength
– FirstBurstLength
– DefaultTime2Wait
– DefaultTime2Retain
– MaxOutstandingR2T
– DataPDUInOrder
– DataSequenceInOrder
– ErrorRecoveryLevel
– SessionType

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.