|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI Requirements Draft - Informal WG Last Call - A few concerns about the document.
Having reviewed the iSCSI requirements draft, I have identified the
following issues. Where possible, I have proposed corrections.
1) MISSING REQUIREMENT FOR AVOIDING LUN BLOCKING
At present, there does not appear to be any text
referencing the problems of hanging up all logical units
on a target because one command to one logical unit
was stalled. This should be addressed explicitly,
probably in section 4.2.
2) ORDERING OF COMMANDS
In section 2.4, the following text is given:
MUST provide a FIFO transport of SCSI commands, even when commands
are sent along different paths. This command ordering mechanism
SHOULD seek to minimize the amount of communication necessary across
multiple adapters doing transport off-load.
This was heavily discussed already. Related to point 1, the
issue should actually be the FIFO transport of SCSI commands
for a particular I_T_L nexus. If the commands are going to
different logical units or crossing different I_T nexi, the
requirement should not be present. I would propose changing
the MUST to apply only to an I_T_L nexus, allowing other
relationships to have an un-ordered relationship. This will
be especially useful for recovery on systems that install
a lower level framing capability.
3) CLARIFY AN UNCLEAR SECURITY REQUIREMENT
Section 6.2 provides a requirement that uses the oxymoron
"passive attack". If it is an attack, there is an intent and
it is active. I would propose deleting the word "passive" in
the following requirement:
iSCSI authenticated login MUST be resilient against >passive< attacks.
4) REMOVE SALES/MARKETING FLUFF
Certain sections are filled with opinions that have no
relevance to the standards activities upon which these
requirements are being placed. The wording may or may
not be correct and is often improvable. Such wording
should be deleted from this document. The more
egregious examples, but not the only examples, of text
that should be deleted include:
In section 2.1:
"The IP infrastructure offers compelling advantages for volume/block-
oriented storage attachment compared to current approaches. It
offers the opportunity to take advantage of the performance/cost
benefits provided by competition in the internet marketplace. This
reduces the cost of storage infrastructure by:
-- Increasing performance (market driven by networking demand)
-- Offers richer array of management, security and QoS solutions
-- Economies arising from the need to install and operate only
single type of network
In addition, mapping SCSI over IP provides:
-- Extended distance ranges
-- Connectivity to "carrier class" services that support IP"
While an intriguing marketing statement, there is absolutely
no objective information that indicates what is the standard of comparison and whether or not any of this is true. This text
should be deleted.
On page 7:
"Products could initially be offered for Gigabit Ethernet attachment,
with rapid migration to 10 GbE. For performance competitive with
alternative SCSI transports, it will be necessary to implement the
performance path of the full protocol stack in hardware. These new
storage NICs might perform full-stack processing of a complete SCSI
task, analogous to today's SCSI and Fibre Channel HBAs, and might
also support all host protocols that use TCP (NFS, CIFS, HTTP, etc)."
All these statements depend on what market is being approached
by the implementation. For any particular market, any or all
of this information may be incorrect. This text should be deleted.
Other similar text is sprinkled throughout the document and
should be deleted.
5) CORRECT TEXT ASSOCIATED WITH DIRECT DATA PLACEMENT
The text associated with direct data placement in section 2.2
is largely associated with routing buffering and framing, not
the requirements for zero-copy. The text at present is:
Direct data placement (zero-copy iSCSI):
This is an important implementation goal. In an iSCSI system, each
of the end nodes (for example host computer and storage controller)
has ample memory; but the intervening nodes (NIC, switches) do not.
Assume a WAN-scale retransmission requirement of 25 MB (1 Gbps) or
250 MB (10 Gbps, see Framing discussion). Therefore, intervening
nodes MUST NOT be required to buffer data.
It should be rewritten to say:
Direct data placement (zero-copy iSCSI):
Direct data placement allows iSCSI data to be moved directly
to the required memory locations in memory with no requirement
to recopy the incoming information. Direct data placement
significantly reduces the memory bus and I/O bus loading in
the end-point systems, allowing improved performance.
6) ALTERNATE CONNECTION BINDING
The section in 2.4 discussing an alternate mechanism for
connection binding merely serves to weaken the stand
in favor of the selected binding relationship. The following
text should be deleted:
"An alternate approach that was extensively discussed involved
sending all commands on a single connection and the associated data
and status on a different connection (asymetric approach). In this
scheme, the transport ensures the commands arrive in order. The
protocol on the data and status connections is simpler, perhaps
lending itself to a simpler realization in hardware. One
disadvantage of this approach is that the recovery procedure is
different if a command connection fails vs. a data connection. Some
argued that this approach would require greater inter-processor
communication when connections are spread across processors.
The reader may reference the mail archives of the IPS mailing list
between June and September of 2000 for extensive discussions on
symmetric vs asymmetric connection models."
7) OPTIONAL BEHAVIOR
In clause 2.4, wording about the desirability of minimizing
optional features is discussed. However, it reaches the
mistaken conclusion that there is only one time at which
options may be negotiated and that rejection is required if
the options are not supported. The following text should
be changed from:
"In the interest of simplicity, iSCSI SHOULD minimize optional
features. When features are deemed necessary, the protocol SHOULD
allow for feature negotiation at session establishment (login) and
provide for rejection when an implementation does not support a
requested feature."
to:
"iSCSI SHOULD minimize optional features. When features are
deemed necessary, the protocol SHALL provide for negotiation of
the use of those features. iSCSI SHALL operate correctly whether
an optional feature is negotiated to be used or is
negotiated not to be used."
8) REMOVE OPTIONAL EXTENSIONS
In section 4.1, the text suggests that various digest
implementations may be used. This is an option that has
no reason to be allowed, since we will choose the proper
digest calculation method after due study and no other
calculation method should be allowed. The following
text should be deleted.
"The iSCSI header format SHOULD be extensible to include other digest
calculation methods."
9) SOFTEN REQUIREMENT TO IMPLEMENT STRANGE SAM-2 FUNCTIONS
In section 5.2, the following text suggests that any
feature in SAM-2 requires a valid transport mapping. However,
it further suggests making such functions recommended or
required to implement, even if they are rarely used or
used only in contexts different from iSCSI. The following
text:
"In order to be considered a SCSI transport, the iSCSI standard must
comply with the requirements of the SCSI Architecture Model [SAM2]
for a SCSI transport. Any feature SAM2 requires in a valid
transport mapping MUST be specified by iSCSI and the specification
SHOULD make such a feature either RECOMMENDED or REQUIRED in
implementations."
should be changed to read:
"In order to be considered a SCSI transport, the iSCSI standard SHALL
comply with the requirements of the SCSI Architecture Model [SAM2]
for a SCSI transport. Any feature SAM2 requires in a valid
transport mapping SHALL be specified by iSCSI. The iSCSI document
SHALL specify for each feature whether it is OPTIONAL, RECOMMENDED,
or REQUIRED to implement and/or use."
10) INCORRECT REQUIREMENT FOR BRIDGES/ROUTERS
In section 5.2, there is a paragraph treating gateways.
I contend that all present SCSI transports are easily bridged
BECAUSE they have chosen a very similar encapsulation format.
The similar encapsulation format is that used by FCP, FCP-2,
SBP-2, Packetized Parallel, and SSA. The structure of
iSCSI packets and the protocol for transmitting them should
be similar to the encapsulation formats used by those
protocols. Using this as a guideline, the following
requirement is incorrect:
"The iSCSI protocol MUST allow for the construction of gateways to
other SCSI transports, including parallel SCSI [SPI-X] and to SCSI-
FCP[FCP, FCP-2]. It MUST be possible to construct "translating"
gateways so that iSCSI hosts can interoperate with SCSI-X devices;
so that SCSI-X devices can communicate over an iSCSI network; and so
that SCSI-X hosts can use iSCSI targets (where SCSI-X refers to
parallel SCSI, SCSI-FCP, or SCSI over any other transport). This
requirement is implied by support for SAM-2, but is worthy of
emphasis. These are true application protocol gateways, and not just
bridge/routers. The different standards have only the SCSI-3
command set layer in common. These gateways are not mere packet
forwarders."
That paragraph should be reworded as follows:
"The iSCSI protocol MUST allow for the construction of simple
gateways to other SCSI transports, including parallel SCSI and
packetized parallel SCSI as specified by SPI-4, and Fibre
Channel Protocol for SCSI as specified by FCP and FCP-2.
It MUST be possible to construct
gateways so that iSCSI devices can use SCSI commands to communicate with
devices using other protocols. This
requirement is implied by support for SAM-2, but is worthy of
emphasis. iSCSI SHALL use packet formats similar to the common
packet formats used by other packetized SCSI protocols where
possible to allow both simple bridging gateways and more
sophisticated translating gateways."
11) CLARIFY CONGESTION QUESTION
Section 8.3 considers congestion in a rather strange way.
It was my impression that a well-behaved TCP/IP connection
provided appropriate congestion management, regardless of
the information passed across it. As a result, the following
text in 8.3 should be removed:
"The iSCSI protocol MUST be a good network citizen with proven
congestion control (as defined in RFC 2309). In addition, iSCSI
implementations MUST NOT use multiple connections as a means to
avoid transport-layer congestion control."
and replaced with:
"iSCSI implementations MUST NOT use multiple connections as a means to
avoid transport-layer congestion control. Standard TCP/IP
congestion management mechanisms operate normally while transporting
iSCSI information."
Home Last updated: Tue Sep 04 01:04:52 2001 6315 messages in chronological order |