[ih] UDP Length Field?

John Gilmore gnu at toad.com
Thu Dec 3 01:09:10 PST 2020


Noel Chiappa wrote:
>                   Shortly thereafter I did TFTP (which was simply a ripoff of
> EFTP) to give us a way to get bits into and out of the machine. It was the
> first serious application to use UDP (although not in the complex ways you
> mention; we just wanted the simplest possible thing).

Thank you for that work!

I implemented TFTP for the boot ROMs for Sun in the 1980's, to support
booting diskless workstations (after obtaining an IP address using RARP
(RFC 903 of June 1984)).  What struck me at the time was that TFTP was
not a *stateless* protocol.  Simple, but not stateless.

One of the key features of Sun's Network File System (NFS) was that the
server could crash, and if the client just kept resending the same
unanswered packet, then when the server came back, they would resume
communication without a hiccup.  The server wasn't keeping any state
about each client.

TFTP was not that way; the server remembers what file each client is
accessing, and what byte offset in the file was last sent.  If the
server crashes, that info is lost and the client has to re-start.

But, most TFTP sessions finished within seconds, making a crash
unlikely.  NFS sessions could and did continue for weeks or months.
Different design constraints.  Simplicity is all in how you look at
things...

	John
	



More information about the Internet-history mailing list