iSCSI
Internet Small Computer System Interface (iSCSI) Protocol
Related Resources:
The SCSI protocol was designed to allow systems to communicate with I/O devices, especially storage devices. The SCSI protocol is a request/response application protocol that supports a standard architecture model and basic command set as well as standardized command sets for different types of I/O devices. The iSCSI protocol allows the standard SCSI commands to be delivered via TCP to devices that are directly connected to an IP network.
Freeware solutions used in the industry lack the ability to verify the protocol idiosyncrasies and fail to emulate realistic block access patterns or workloads of real life iSCSI initiators. The SwiftTest iSCSI protocol packages allow test engineers to validate complex protocol and application behaviors in a repeatable fashion.
“After testing with SwiftTest, we found 30 bugs in 30 days — bugs detected after our other testing tools found nothing. Getting a $1M ROI in one month is pretty cool.”
— QA Director, Network Equipment Manufacturer
Failover
- Configurable parameters and commands required to reconnect after an iSCSI TCP failure to restart multiple iSCSI TCP connections and ensure that the sequence specified in the scenario continues successfully.
- iSCSI TCP redirect support allowing emulated initiators to gracefully follow target redirections.
iSCSI and SCSI I/O Commands
- SCSI command support consistent between FC and iSCSI
- Discovery capability within the iSCSI protocol can be used to detect all of the logical units (LUNs) supported by a given iSCSI target device.
Data Integrity
- Data verification support that validates the integrity of data written to LUNs
- Per initiator, target LUN, offset and byte level error reporting
Figure: An example iSCSI Client (Initiator) Scenario that will write then read LUNs in a loop.
