Paul,
Let me make IBM's position on defining
both a UDP and a TCP version very clear. We are opposed to defining
both. We need to chose one and stick with the one. If we do
not, then the target is free to chose which one it will support. The
initiator will then be required to implement both so it can talk to whatever
device it attaches to. This is the SCSI way of doing things. In
ADT, where the drive is both an initiator and a target and where the library
is both an initiator and a target, this means that any device that implements
iADT will be required to implement both the UDP version and the TCP version.
As I understood Rod's argument for UDP
it was that you could reuse the existing serial ADT implementation and
just send it across UDP. This he believes will save implementers
effort. This assumes that implementers have implemented that layer
of ADT in a manner that has well defined interfaces to the other layers.
This is not necessarily true. The other assumption is that
if you do UDP you will not have to do TCP in your device. This assumption
is also false for the above stated reason. It is also false if the
device needs to support any other type of TCP connection. I believe
that %100 of the libraries already use TCP connections. I would also
submit that many future drives may also support TCP connections. If
the hardware exists, there will be demands to add capabilities to utilize
that hardware.
My view of using TCP is that TCP is
well understood. It is well proven and has much more proving history
than does our serial ADT. TCP will likely be required to be used
by ADI devices for other capabilities than ADT and as such will be part
of the devices anyway. If we use TCP we have built in error recovery
that has been proven in a network environment. Our Serial ADT is
not. In fact the timeouts being used will need to be adjusted and
tested in order to find optimum values. TCP will allow clean delivery
of messages. A UDP design will cause many more errors that need to
be redriven using our serial ADT recovery procedures. These recovery
procedures, while tested in today's implementations, have likely never
had the numbers of retries required that will potentially be required in
iADT (at least when on an external network).
For these reasons, IBM believes that
one and only one of UDP or TCP should be defined. Also, we believe
that the smart choice that gives the best growth path for the future is
TCP. We are also not convinced that UDP will save design effort or
implementation time.
Thanks,
Kevin D. Butt
SCSI & Fibre Channel Architect, Tape Firmware
MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744
Tel: 520-799-2869 / 520-799-5280
Fax: 520-799-2723 (T/L:321)
Email address: kdbutt@us.ibm.com
http://www-03.ibm.com/servers/storage/
"Paul Suhler"
<Paul.Suhler@Quantum.Com>
Sent by: owner-t10@t10.org
05/30/2008 09:35 AM
|
|
To
| <t10@t10.org>
|
|
cc
|
|
|
Subject
| iADT revised proposal posted (T10/08-469r4) |
|
I have uploaded T10/08-469r4, the next revision
of the iADT proposal, for discussion at next Wednesday's ADI working group
teleconference. A meeting announcement will be forthcoming later
today
http://www.t10.org/ftp/t10/document.07/07-469r4.pdf
In this version, I've inserted an "interconnect
layer" between the physical layer and ADT link layer. This appears
to work while avoiding changes to the link, transport, and SCSI application
layer. An "ADT port" is now an abstraction that connects
with one other ADT port via an ADT serial, ADT TCP, or ADT UDP interconnect
port. At its upper edge, the interconnect layer provides a standard
set of protocol services to the ADT port to allow it to connect with another
ADT port, send and receive, and disconnect. Operation of each service
is defined for each of the three interconnect layer alternative. At
its lower edge, the interconnect layer uses hardware connections defined
by either the ADT serial bus or the (newly-defined) ADT Ethernet bus.
The ADT Ethernet bus proposes electrical characteristics
for optional LED output connections.
Cheers,
Paul
___________________________________
Paul A. Suhler | Firmware
Engineer | Quantum
Corporation | Office:
949.856.7748 | paul.suhler@quantum.com
___________________________________
Disregard the Quantum Corporation confidentiality notice below. The
information contained in this transmission is not confidential. Permission
is hereby explicitly granted to disclose, copy, and further distribute
to any individual(s) or organization(s), without restriction.
The information contained in this transmission may
be confidential. Any disclosure, copying, or further distribution of confidential
information is not permitted unless such privilege is explicitly granted
in writing by Quantum Corporation. Furthermore, Quantum Corporation is
not responsible for the proper and complete transmission of the substance
of this communication or for any delay in its receipt.