Just how reliable is NFS?

Steve D. Miller steve at umcp-cs.UUCP
Wed Sep 10 03:34:45 AEST 1986


In article <2428 at phri.UUCP> roy at phri.UUCP (Roy Smith) writes:
(various discussion about broadcast file transfer et al deleted)
>	Clearly, UDP is not suitable for times when you really care if the
>data gets delivered or not (rwho uses UDP, doesn't it?).  As I understand
>it, NFS uses UDP as the underlying transport protocol but to improve
>performance, Sun has turned off checksumming in NSF/UDP packets.
>Presumably NFS does its own error checking at a higher level, so they can
>get away with ignoring checksums at the lower levels.

   Nope.  As far as I can determine (by looking at the rpc stuff that's
going on, and by being familiar with how NFS hands things off to UDP/IP
to have them sent), there is no checksumming going on.  In fact, the
standard Sun kernel has UDP checksums turned off both in udp_output()
and in the NFS/RPC kernel UDP fastsend routine.  Without source, there
isn't any way (other than doing strange things with patching binaries)
to turn checksumming on in the kudp_fastsend() routine; the routine
just doesn't do it...

>	Has anybody done any studies to determine if this causes any
>problems?  I've heard random comments by people on the net that they don't
>like what Sun did...

   Random comments from Chris or from me, probably...

>...but has anybody taken a serious look at the situation
>and found cases where corrupted UDP packets have caused user-visible NFS
>errors?

   We've not looked at it seriously, but I'm sure that it's possible.
It's not too likely, it seems; some people from Sun have said, "yeah,
we know we're not 100% safe, but we've never heard of any problems."
The IP header checksum still happens; I would hope (and this perhaps
is what Sun is thinking) that the IP header would be trashed along
with the rest of the packet.  Then again, that's only 20 bytes, and
the result of a standard NFS read operation is roughly 4K long...
Does anyone know how your average Joe Ethernet board hiccups, if and
when it does?  Is this a valid assumption?

>On the other hand, has anybody made any measurements to see just
>how much NFS would be slowed down if UDP checksumming were turned back on?

   Again, no hard data, but the Sun on my desk runs a kernel that goes
through the UDP output code for all my kernel RPC, and I have checksums
turned on.  It seems a little slower, but not much.

	-Steve


-- 
Spoken: Steve Miller 	ARPA:	steve at mimsy.umd.edu	Phone: +1-301-454-4251
CSNet:	steve at umcp-cs 	UUCP:	{seismo,allegra}!umcp-cs!steve
USPS: Computer Science Dept., University of Maryland, College Park, MD 20742



More information about the Comp.unix.wizards mailing list