HP3000-L Archives

April 2002, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Ken Hirsch <[log in to unmask]>
Reply To:
Ken Hirsch <[log in to unmask]>
Date:
Wed, 24 Apr 2002 17:52:38 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (58 lines)
From: <[log in to unmask]>


> Can we agree that TCP/IP does ensure that if transmission over TCP/IP is
> successful, then the recipient got what was sent? And, as such, while
> application errors and resulting data errors may abound, check sums or
> application level acknowledgements which amount to "I got your
transmission
> #123,456" are redundant, at least for ensuring that the transmission was
> successful? With TCP/IP, I do not need to worry that packets were somehow
> lost without me being able to determine that I didn't get the file, or
that
> bits got twiddled and the data got corrupted.

No.

Even if the sending program checks every return status and does a graceful
shutdown of the socket, it still does not know that the message was ever
read by any application or ever will be read.  The only way to know that is
if an acknowledgement is sent _at the application level_.  I agree that
checksums are overkill, but an application level acknowledgement is
necessary.

See http://www.reed.com/Papers/EndtoEnd.html, an influential paper on this
topic.

> This is the argument I have with certain mainframers, who want files
> transmitted over a reliable medium to include header and trailer records
> (just like, what, a card deck?), some of which do not even include useful
> checksums, totals, or record counts (just like a card deck), but are no
more
> than BEGIN and END (just like a card deck). If ftp worked, I got the file,
> and no other validation that I got what was sent is necessary. If it
failed,
> both ends can tell that it failed, although the receiving end might not be
> careful to confirm that. Not all platforms are as careful as the 3000 to
not
> leave me with a fraction of a file, although IBM mainframes allow me to
> specify this behavior by sending site conddisp=d.

I am one of those programmers who insist on having at least a trailer record
(or some other kind of syntactic check for completeness).  I've never used
punch cards--I'm not that old--but I have experienced file truncation on a
variety of communication media, _including FTP on the HP3000_.

This is kind of error checking  is super cheap and there is no excuse not to
use it.

I'm working as we speak on an application that sends data via FTP to a
business partner.  We initiate the send to their server and they process the
data when they want.  Even if my FTP client tells me that the file was not
sent successfully, there still may be a partial file on their server and
they would have no way of knowing that the file was incomplete if we did not
include a syntactic check.

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2