Subject: NFS & TCP/IP FAQ for PCs & Macs [part 03/06]

From: [email-masked] (Rawn Shah)
Date: 1 Nov 1993 19:23:15 GMT

Archive-name: pcnfs-faq/part3
Last-modified: 1993/10/28
Version: 1.5

E-16.  In postscript files I sometimes get a ^D before the header from my
       programs. How do I get rid of it?

This happens mostly on PC systems sending output to postscript printers. 
The ^D is the EOF character and sometimes causes a blank page to be output
by the printer before the print job. It can be disabled by the following: 

In your WIN.INI file, add below [yourprintername, port] this line:

CTLD=0

If you wish to do this permenantly for all windows systems, you can
reprogram your printer with the following piece of Postscript code (Thanks
to Mark Fleming of Queen's Univ.). Send this as a file to your printer:

%!
%%Title: CTRL-D serial EOF (End-of-File) character fixed
%%Creator: R. Mark Fleming
%%+ Queen's University at Kingston
% Check if EOF is installed, if not install it
% assumes serverloop password is the default one
currentdict     % Get current dictionary
(\004) cvn known
{       % Check if CTRL-D defined in this dictionary 
        (%% CTRL-D  procedure already installed\n %%) print
} {
        (%% CTRL-D procedure not installed!\n %%) print
        % Define IBMpc (serial) EOF character to do nothing
        serverdict  begin
        0 exitserver    % Make permanent changes
        (\004) cvn 
        {} def  % To ignore ^D at the end of prologs.
  } ifelse
%%EOF

-------------------------------------------------------------------------------

Section F: Programming
======================

-------------------------------------------------------------------------------

F-1.  Is there a toolkit for (PC)NFS programming? Where can I get it?

Until recently, programming toolkits were developed independently by vendors
alongside their products. Due to the efforts of different persons and
organizations there is a formal definition of MS-Windows in the Windows
Sockets API. The current version is 1.1. This is only a standard and product
vendors are allowed to distribute their own programming toolkit. Most are
now developing or selling Windoes Sockets API compatible toolkits. Please
refer to the chart G-3 for products with Windows Sockets API.

Certain libaries for mounting drivers and user authentication with PC-NFS
5.0 are available on
	ftp.york.ac.uk:/pub/pc-nfs/dnet/DNET50.tar

-------------------------------------------------------------------------------

F-2.  What is Windows Sockets (winsock)? Where can I get it?

Windows Sockets is an API developed by a group of NFS vendors as a standard
for future network based communications in MS-Windows. The current version
of the API is 1.1. Further information for this is available on request.
Mail all questions and comments to "[email-masked]". To join the
mailing list, mail to "[email-masked]". Windows Sockets API
documentation and related documents are available by ftp to: 
	microdyne.com: /pub/winsock
	sunsite.unc.edu		[Mirror site of the above address and much
				faster and up 24 hrs]

Peter Tatham (developer of the Trumpet newsreader) has developed an alpha
release of winsock.dll which uses a packet driver as the network driver. Its
currently available from ftp.utas.edu.au:/pb/trumpet. This winsock will be
used in the developement of WinTrumpet.

-------------------------------------------------------------------------------

F-3.  What is the latest version of the NFS protocol?

The current official version of the NFS protocol is version 3. It has just
recently come out and is being tested at this years Connectathon.

A Postscript file is available from:
	ftp.uu.net:/networking/ip/nfs/NFS3.spec.ps.Z
	bcm.tmc.edu:/nfs/nfsv3.ps.Z
	gatekeeper.dec.com:/pub/standards/nfs/nfsv3.ps.Z

All comments and questions should be mailed to: [email-masked]

-------------------------------------------------------------------------------

F-4.  What is new in version 3 of the NFS protocol?

New features of version 3 are:
 - 64bit support
 - exclusive creates,
 - asynchronous writes (I guess its official now Vernon)
 - improved attribute caching
 - the "ACCESS" command works on the server attributes as well
 - relaxed transfer size restrictions.
 - reduced required "GETATTR" operations.

More information to come later.

-------------------------------------------------------------------------------

F-5.  What is the current RPC version? Where can I get it?

The current version of RPC is 4.0.  It is available at the ftp sites:
	bcm.tmc.edu
	src.doc.ic.ac.nz
	ftpserver.massey.ac.nz

There is a version 4.0 which works with WATTCP which is available from
	polyslo.calpoly.edu:/pub/mdurkin/rpc01a.zip

-------------------------------------------------------------------------------

F-6.  Where can I get the XDR/RPC definition for PCNFSD?

The .x file in the current source kit is available by FTP from:
       bcm.tmc.edu
       src.doc.ic.ac.uk
       ftpserver.massey.ac.nz
       sunsite.unc.edu:/pub/micro/pc-stuff/ms-windows/winsock/gen/spry-rpc.zip 

-------------------------------------------------------------------------------

F-7.  What RFC's describe the NFS protocol? Where can I get these RFC's?

RFC's (Requests for Comments) are standards approved by the IETF (Internet
Engineering Task Force) which maintain order on protocols and information
technology affecting on the Internet. There are about 1500 or more Internet
RFC's and many more drafts & proposals.

There are three RFC's currently related to the NFS protocol:

RFC 1094 - NFS: Network File System Protocol Specification
RFC 1057 - RPC: Remote Procedire Call Specification Version 2 
		[supercedes RFC 1050]
RFC 1014 - XDR: External Data Representation Standard

These RFC's are available by ftp from:
        NIC.DDN.MIL
	seagull.rtd.com: /pub/tcpip/papers

or by mail server from:
	[email-masked]
	with subject "HELP"
	or retrieve with "RFC index"

-------------------------------------------------------------------------------

F-8.  How can I tell if a program is NFS mounted?

Here's a message which discusses C code and methods of doing this:

In article <[email-masked]> [email-masked] (-candee-+Scheer M.D.)
writes: 
>By happy (?) coincidence, both NFS (at least implementations based closely
>on the Sun reference port) and RFS assume that (1) local file systems have
>major device numbers where the high bit is off, and (2) the client is
>therefore free to play in the namespace of devs with the high bit on.
>Clients of both types synthesize devs with the high bit on.  I'm aware of
>no environment that breaks assumption (1).

We're aware of several.  We've been down that route and abandoned it
several years ago.  While this is true of faithful SVRx (where I'm not
sure whether "x" includes any 4) ports with RFS, it breaks on many other
machines.  Including SunOS, which uses a major number that is determined
at driver configuration time to denote NFS mounted files.  If I recall
correctly, out-of-the-box, the magic major number is 20 on SunOS, but may
change on reconfig.  Other machines where I'm fairly sure that the highbit
kludge doesn't work are Pyramid DCOSX, AIX3.  It's been a while...

If I have to, I could confirm and expand the list by pawing thru
our SCCS history databases.  Please don't make me - it's scary in there ;-)

Furthermore, st_dev will not change between different NFS mounts.
Thus st_dev:st_ino cannot be unique.

If you're on a SVR3'ish port, there is a macro in sys/types.h (or param.h)
analogous to major() and minor().  I seem to recall it is called "bmajor()".
If you're on a system that has bmajor(), you can use it - I remember it
masking off the upper bit of a major number.  So you can say:

	if (major(x.st_dev) != bmajor(x.st_dev))
		file is remote
		
If it doesn't, you have to experiment and keep your fingers crossed.

I hate to say this, but there is no easy way to do this universally.
We ended up having to read the mount tables and match path prefixes.
Yuck.  #defines up the wazzoo.

I suggest you start reading about getmntent() and analogues, and parse
the file system type fields.  If performance isn't particularly critical,
it may be easier to popen /etc/mount and parse the output:

    f = popen("/etc/mount", "r");
    while(fgets(buf, sizeof(buf), f)) {
	...
    }
    pclose(f);

If you use getmntent() (or /etc/mount kludge), and get a reasonable stat()
st_ino value for each file, you can use a "mount number":st_ino as a unique
key.  But you cannot guarantee that a single file has only one
key (multiple NFS mounts of a directory heirarchy).

You may also have to resolve symlinks depending on how your application
works.  This isn't a lot of fun either.

If you merely have to determine whether the occasional file is
remote or not, just "df <file>" it, and parse the output.
Grotty, effective, reasonably portable, and *usually* reliable.
But we know systems that can't even get this right...

[On HPUX, use "bdf" not "df" ;-)]
-- 
Chris Lewis; [email-masked]; Phone: Canada 613 832-0541
Psroff 3.0 info: [email-masked]
Ferret list: [email-masked]

-------------------------------------------------------------------------------

Section G: Product Features Comparisons
=======================================

-------------------------------------------------------------------------------

G-1.  Driver support comparison chart of different products.

  Additional codes:
    s = supported with a "shim" (perhaps some "y" should be "s", tell me)
    m = "must be used with" as opposed to "also works with"

                     Drivers Included          Interfaces Supported
                    -------------------    -----------------------------
           Stack             Token         Packet
ID        Provided  Ethernet  Ring FDDI    Drivers  NDIS  SLIP  PPP  ODI
--------- --------  -------- ----- ----    -------  ----  ----  ---  ---
AIR          y         y                              y               y
PC/TCP       y         y       y              y       s     y    y    s
Chameleon    y         y       y     y        s       y     y    n
Super-TCP    y         y       y     n        y       y     y    x    y
IBM/DOS      y         y       y              s       y     y    n    n
BW           y         y       y              y       y     y    n    y
Distinct     y         y       y     n        y       y     y    y    y
Pathway      y         y       y              y       y     y         y
PathWay.OS2  y         y       y              n       y               y
PC-NFS       y         y       y              s       y     y    n    y
LWPD         y         y       y              s       s     y    y    y
HP           y         y       y              y       y     n    n    s
NCSATel      n         n       n              m
CUTCP        n         n       n              m
QVT/Net      n         n       n              m
MSLanMan               y       y                      y
TTCP                   y       y              y       s     n    n    s
TCPOpen	     y	       y       y	      y	      y	    y    n    y
WinNT        y         y       y              n       y     n    n
Piper/IP     y         y       y                      y     y         y
ICE-TCP      y         y                      y

Notes:
  Many packages include drivers for many different network adapters,
  and/or can use interfaces to existing drivers.  Packet driver
  compatibility implies NDIS and ODI compatibility through the use of
  dis_pkt and odipkt.

-------------------------------------------------------------------------------

G-2.  Protocol support comparison chart of different products.

  It is presumed that a TCP/IP package supports TCP, IP, UDP, ICMP, and
  ARP, so these are not listed.

ID          BootP Client  RARP    DNS    NetBIOS (2)
---------   ------------  ----  -------  -------
AIR		 n	    n      y        y
PC/TCP           y                 y        y
Chameleon        y                 y        n
Super-TCP        y          y      y        y
IBM/DOS          y                 y        y
BW               y          y      y        y
Distinct
Pathway          y                 y        y
PathWay.OS/2     y                 y        y
PC-NFS           y(3)       y      n        y
LWPD             y          y      y        y
HP               n                 y        y
NCSATel          n                 y
CUTCP            y          n      y
QVT/Net          y                 y
TTCP             n(1)       y      y        n(1)
TCPOpen		 y	    y	   y	    y
WinNT            n          n      y        y
Piper/IP                           y        y
ICE-TCP          ?

  Notes: (1) Version 2.0 will have bootp support.
         (2) RFC 1001/1002 NetBIOS over TCP/IP, not level 3 coexistance
             with NetBIOS over NetBUI.
	 (3) PD Bootp workaround by Thomas Dwyer III available from:
		ftp.york.ac.uk:/pub/pc-nfs/utils/bootp.exe

-------------------------------------------------------------------------------

G-3.  MS-Windows applications and support chart of different products.

  Columns:
     All Apps  -- all applications are Windows based
     Some Apps -- some are Windows, some are DOS or character
     All DLL   -- stack is implemented as "100% Windows DLL" code
     WinSock   -- supports Windows Socket API (1.1)
     VxDev     -- includes a virtual device drive to support DOS apps
                     running under Windows

ID          All Apps  Some Apps  All DLL    WinSock   VxDev
---------   --------  ---------  --------   -------   -----
AIR	       n           y         y         y   
PC/TCP         n           y         n         y        y
Chameleon      y           n         y         y
Super-TCP      y          (1)        y(1)      y        y
IBM/DOS        n           y         n(2)      y
BW             n           y         n         n(3)
Distinct       y           n         y         y
Pathway        y			       n(3)
PathWayOS/2    y           n         n         
PC-NFS         n           y         n         y
LWPD           n           y         n         n(3)
HP             n           n         n         n
NCSATel        n           n         n         n
CUTCP          n           n         n         n
QVT/Net        y           n         n         n
TTCP           n           y         n         n(3)
TCPOpen	       n	   y	     n	       y
Piper/IP                             n         y
WinNT          n(4)        n(4)      n(4)      y

 Notes:
  (1) Super-TCP/NFS includes DOS based applications and an optional TSR.
  (2) The stack is protected mode code that sits entirely in extended
      memory except for a small interface TSR.
  (3) Winsock is coming RSN, as an update or in the next version.
  (4) Windows NT doesn't run on top of DOS, and TCP/IP is part of the
      system.  Some of the applications are graphical, many utitities
      character-based.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  Additional codes:
     d = DOS or character-based application
     w = Windows based application

                              FTP                      NNTP  SNMP   NFS
ID        Telnet TN3270  client server  SMTP POP (3)  Client Agent Client
--------- ------ ------  ------ ------  ---- -------  ------ ----- ------
AIR	   d w    d w     d w     w      w    w3                    d w
PC/TCP     d w     d      d w     d      d   d2 d3       d     y    d w
Chameleon   w      w       w      w      w   w2          n     y      x
Super-TCP   w      w       w      w      w   w2 w3       w     w    dx wx
IBM/DOS    d w    d w     d w     d     d w  d2          n     y      x
BW         d w    d w     d w    d w     w   w2 w3       n     y      x
Distinct    w      n       w      w
Pathway    d w    d w     d w     d                            d     d w
PathWayOS2  y      y       y                                   y      y
PC-NFS     d w     x      d w     d     d w  d23w23      n     y     d w
LWPD       d w    d wx    d w    d w     n     n         n     y      x
HP          d              d
NCSATel    d w    (5)     d w     w      n     n         n     n      n
CUTCP       d      d       d      d      n     n         n     n      n
QVT/Net     w      n       w      w      n     w         w     n      n
TTCP v2.0   (1)           d w
TCPOpen	    w      w      d w     w      w     w3        n     n     d w
WinNT       w      n      d(4)   (6)     n     n         n     y
Piper       y      y       y      y                      y     y      y

 Notes: (1) terminal emulation products sold separately
        (3) POP (Post Office Protocol): 2 = version 2, 3 = version 3,
             and implies an SMTP client to send mail
        (4) "d" here means "character based"
        (5) get TN3270 (CUTCP) package from Clarkson University
        (6) server for NT will be in production version

-------------------------------------------------------------------------------

G-4.  Utilities available with different products.

                                          setclock
ID         ping lpr lpd finger talk whois (rdate)  rcp rsh rexec stats
---------  ---- --- --- ------ ---- ----- -------- --- --- ----- -----
AIR	     y            y                  y      y   y    y 
PC/TCP       y   y   x    y      n    y      y      y   y    y     y
Chameleon    y   x   n    y      n    y      n      n   n    n     y
Super-TCP    y   x   x    y      y    n      n      y   y    y     y
IBM/DOS      y   y   y    y      n    n      y      y   y    y     y
BW           y   y   y    y      y    y      y      y   y    n     y
Distinct     y                                                     y
Pathway      y   y        y      n    n      n      y   y    n     n
PathWayOS/2  y   y                                                 y
PC-NFS       y  (3)       y      n    y      y      y   y    n     y
LWPD         y   y   n    y      y    n      n      y   y    y     y
HP           y   n   n    n      n    n      n      y   y    n     n
NCSATel     (1)  y   n    y      n    n      y      n   y    y     n
CUTCP        n   y   n    n      n    n      n     (2)  n    n     n
QVT/Net      n   y   n    n      n    n      n     (2)  n    n     n
TTCP         y   y   y    y                                        y
TCPOpen      y   y   y    y           y      y      y   y    y     n
WinNT        y   y   n    y      n    n      n      y   y    y     y
Piper        y   y   y    y      n    y      y      y   y    y     y

 Notes: (1) although NCSA Telnet does not come packaged with many
            utilities, many are available on various FTP servers.
       (2) has an RCP server, but not a client.
       (3) printing suported via pcnfsd (in common with most other
           products)

-------------------------------------------------------------------------------

G-5.  Telnet features of different products.

             Terminal Emulation           Builtin      3270 options (1)
          -----------------------  INT14  FTPserv  ----------------------
ID        VT100 VT220 3270 tk4010  Redir    (4)    models X-streams graph
--------- ----- ----- ---- ------  -----  -------  ------ --------- -----
AIR	    y     y     y                    y       
PC/TCP      y     y     y     n      y       y        y       y       n
Chameleon   y     y     y     n              n        y       n(3)    n
Super-TCP   y     y     y     n      y      n(2)      n       n       n
IBM/DOS     y     y     y     n             n(2)      y       y       n
BW          y     y     y            y      n(2)      y       n       n
Distinct
Pathway     y     y     y            y
PathWayOS2  y     y     y     y                       y       y       y
PC-NFS     d w   d w    x           (5)      n
LWPD        y     y     x            y       y        y       y       n
HP
NCSATel     y     n     n     n      n
CUTCP       y     n     y     y      n       y        n       n       n
QVT/Net     y     y     n     n      n       n
TTCP
TCPOpen     y     y     y     n              y        y
WinNT       y           n     n              n        n       n       n
Piper       y           y     n      y      

 Notes:
  (1) models -- can emulate different 3270 models
      X-streams -- supports extended data streams
      graph -- supports 3270 graphics (either vector or symbol sets)
  (2) A separate FTP server runs in the background (without Windows).
  (3) A patch is available for extended data streams, but it did not
      work for me (cjs).
  (4) Built-in FTP server doesn't have much utility for Windows based
      telnet since an FTP server can be running the same time as Telnet.
  (5) Will be available shortly (as unsupported add-on)

-------------------------------------------------------------------------------

G-6.  Support for other network protocols on the same wire

	   Novell  Banyan      MS-LAN	                Windows 4
Product	   Netware VINES  X.25 Manager Appletalk DECnet Workgroups Lantastic
-------    ------- ------ ---- ------- --------- ------ ---------- ---------
AIR	      y            n               n       n                   
PC/TCP        y      y     y      y        n       n         y         
Chameleon                  y                                            
Super-TCP     y      y     y      y        n       y         y        y
IBM/DOS                                    n                            
BW            y                            n                 y                   
Distinct      y                                                        
Pathway       y      y            y        y(o)    y(o)                
PathWay.OS/2  y      y            y        n       n         
PC-NFS        y      n     y(t)   y        n       n         y        y
NFS/Share     n      n     n      n        y       y         n        n
LWPD          y            y(t)            n                           
HP                                         n                           
NCSATel       n      n     n      n        y(o)    n         n        n
CUTCP         n      n     n      n        y(o)    n         n        n
QVT/Net       y(s)         n                                 y(s)
TTCP                                                                   
TCPOpen       y      y            y                          y        y
WinNT         y                   y        n       n         y         
Piper/IP      y      y            y        n                

  (o) option
  (t) third party software
  (s) Use a shim

-------------------------------------------------------------------------------

G-7.  Features of X servers.

	   X11			    	       Window            Dev.
Product	 Release  Fonts  XDMCP  ICCCM   Video  Manager  XRemote  Kit  Winsock
-------  -------  -----  -----  -----  ------- -------  -------  ---  -------
eXceed      5              y      y     xevs8t    m        y      y      y
eXcursion   5      s              y               w               
eXodus	    5              y      y     vsx      mod       y             n
X-Lite      4                            vs      mod       n      n      n  
X-WIN	    5		   y	        vhs      mod       n      n      y
Multiview   4      b       y                      w        n      n      n
Xware       5     stb      y      y    cevs8txo  mow       y      y      y
Xview       4              y      y    mcevs8tx   mo       y      y 
XLink       5     sdp                    vso8                     y      n
DECWin      4     sa       n      y      ev8o              n      n      n
Xsight      4                            evh      w        n             y
Xappeal     5                     y      vs       od       n      n      n
Xoftware    5      s       y      y      evs8    mow       n      y      y
Xvision     5     satb     y      y              od        y      y      y
IBM X-OS/2  5              y      y     evs8xo    p        n      y      y 
---------------------------------------------------------------------------

Key:
Fonts: s - SNF, a - adobe, t - TrueType, b - BDF, p - PCF, d - SPD

Video: e - EGA, v - VGA, s - SVGA, m - mono, 8 - 8514, t - TIGA, x - XGA
       c - CGA, h - Hercules, o - others (MCGA, DIGA, Japanese, etc)

Window Manager: m - Motif, o - OpenLook, d - DECWindows, w - MS-Windows, 
		p - Presentation Manager

-------------------------------------------------------------------------------

Section H: Information Sources
==============================

-------------------------------------------------------------------------------

H-1.  CHEST - Council for Higher Education Software Transfers

Chest is run in the United Kingdom for all higher educational bodies for the
provision of educational software pricing. The run an information service
called NISS [telnet niss.ac.uk] which is full of useful information on
software deals. Their current director is Mike Johnson. Each educational
site has a local representative. Users wanting to deal should contact their
local representative. The address for the CHEST & NISS Centre is given below:

	CHEST & NISS Centre,
	University of Bath,
	Bath BA2 7AY,
	UK

	+44 (0) 225 826042

There is a discussion list associated with the CHEST product deal at
[email-masked] and [email-masked]. They have
associated archives full of information. To join the list you send a message
to [email-masked] with the message body containing 
"subscribe chest-pcnfs (real name)"

-------------------------------------------------------------------------------

H-2.  X/Open.

The X/Open Company is an international group of vendors which acts as a
standards body for API system compatibility of different platforms. They
create the X/Open Portability Guide (XPG) which includes a description for
portability of a Unix system. The following are the addresses, phone and FAX
numbers for the X/Open Company:

X/Open Company Ltd.                  X/Open Company Ltd.
Apex Plaza, Forbury Rd.,             Karufuru-Kanda Bldg., 9F
Reading, Berkshire RG1 1AX           1-2-1 Kanda Suda-Cho
United KIngdom                       Chiyoda-Ku, Tokyo 101, Japan
Phone: +44 734 508311                Phone: +81 3 251 8321
FAX:   +44 734 500110                FAX:   +81 3 251 8376

X/Open Company Ltd.                  X/Open Company Ltd.
1750 Montgomery Street,              1055 Washington Blvd., 6th Floor
San Francisco, CA 94111              Stamford, CT 06901
USA                                  USA
Phone: +1 (415)773-5383              Phone: +1 (203)975-7778
FAX:   +1 (415)421-4278              FAX:   +1 (203)975-7744

-------------------------------------------------------------------------------

H-3. Books.

Bloomer, John
"Power Programming with RPC"
O'Reilly & Assoc, 1992
ISBN 0-937175-77-3
US$29.95
---
This covers the details of distributed application developement using RPCs. 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Comer, Douglas E.
"Internetworking with TCP/IP Volume I: Principles, Protocols and 
Architecture" 
Second edition, Prentice Hall, 1991.
ISBN 0-13-468505-9
---
One of the best referrences on TCP/IP with good examples
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Comer, Douglas E., Stevens, David L.,
"Internetworking with TCP/IP Volume II: Design, Implementation and
Internals"
Prentice Hall, 1991.
ISBN 0-13-472242-6
---
Followup to Comer's very successful Vol 1. Descriptions on specific
applications and services
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Comer, Douglas E., Stevens, David L.,
"Internetworking with TCP/IP Volume III: Client-Server Programming
and Applications" (BSD Socket Version)
Prentice Hall, 1993
ISBN 0-13-474222-2
---
Book 3 has a good description on network programming via RPC & TCP/IP
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Corbin, John,
"The Art of Distributed Programming-Programming Techniques for Remote
Procedure Calls"
Springer-Verlag, New York, New York. 1991.
ISBN ??
---
Basic description of RPC and XDR and how to program distributed applications
using them. 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Engst, Adam
"The Internet Starter Kit for Macintosh"
Hayden Books, Indianapolis, 1993
ISBN 1-56830-064-6
US$29.95
Canada $37.95
---
Adam has outdone himself in this whimsical starter book for Macintosh users
wanting to know about the Internet and how to connect to it. A must read
book if you're a novice.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Hunt, Craig
"TCP/IP Network Administration"
O'Reilly & Assoc., 1992
ISBN 0-13-015389-3
---
Another in O'Reilly's System administration series. Good practical
referrence for sysadmins.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Kehoe, Brian
"Zen and the Art of the Internet"
Prentice-Hall, 1992
ISBN 0-13-010778-6
---
A comprehensive Internet book for beginners. It can be ftp'd from
world.std.com:/obi/Internet/zen-1.0 as well
It is available in Microsoft Rich Text Format (as in the Help format) from:
ftp.york.ac.uk:/pub/pc-nfs/doc/zen10.hlp

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Krol, Ed
"The Whole Internet: User's Guide & Catalog"
O'Reilly & Assoc, 1992
ISBN 1-56592-025-2
---
A good introduction to the Internet covering the basics such as email and
news and expands into new developments as well.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

LaQuery, Tracy, Ryer, Jeanne C.
"The Internet Companion: A Beginner's Guide to Global Networking"
Addison-Wesley, 1993
ISBN 0-201-62224-6
---
Another introductory book for novices on Internet services. The book informs
users on how to find information.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Malamud, Carl 
"Analyzing Sun Networks." 
Van Nostrand Reinhold, 1991.
ISBN ??
---
Mr. Malamud is a very well known author on networking standards and this
book gives a good description of Sun's ONC.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Miller, Mark A.
"Troubleshooting TCP/IP"
ISBN ??
--
Teaches how to analyze TCP/IP problems and discusses platforms and case
studies.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Rose, Marshall T.
"The Simple Book: An Introduction to Management of TCP/IP-based Internets"
Prentice Hall
ISBN ??
--
The first of Mr Roses books on Network management. A new edition is coming
out soon, I think.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Rose, Marshall T. 
"The Internet Message: Closing the Book on Electronic Mail"
Prentice Hall
ISBN 0-13-092041-7
--
A good book on Internet mail systems by a very enjoyable author. Great for
developers not users.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Santifaller, Michael 
"TCP/IP and NFS." 
Addison Wesley, 1991.
ISBN ??
---
No info. opinions welcome.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Stern, Hal 
"Managing NFS and NIS." 
O'Reilly & Associates, 1991.
ISBN 0-937175-75-7
---
Very handy troubleshooting book on NFS & NIS problems
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Stevens, W. Richard,
"Unix Network Programming"
Prentice Hall, 1990.
ISBN 0-13-949876-1
---
A good book on the details of Unix network systems with good exercises. Mr
Stevens is a very well known author on Unix systems. The source code and
errata list are available from ftp.uu.net:/published/books
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Stephen Roge
"Unix System V Network Programming" 
Addison-Wesley, 1993
[Brand new book (July 93), I have not read it yet. Any opinions welcome]

-------------------------------------------------------------------------------

H-4.  Related papers (published)

Glover, Fred,
"TNFS Protocol Specification,"
Trusted System Interest Group, INTERNET-DRAFT, May 24, 1992.
--
Proposed draft standard for security extensions to NFS.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Israel, Robert K., Sandra Jett, James Pownell, George M. Ericson,
"Eliminating Data Copies in UNIX-based NFS Servers,"
Uniforum Conference Proceedings, San Francisco, CA, February 27 - March 2,1989.
--
Describes two methods for reducing data copies in NFS server code.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Jacobson, V.,
"Congestion Control and Avoidance,"
Proc. ACM SIGCOMM `88, Stanford, CA, August 1988.
--
The paper describing improvements to TCP to allow use over Wide Area
Networks and through gateways connecting networks of varying capacity. This
work was a starting point for the NFS Dynamic Retransmission work.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Juszczak, Chet,
"Improving the Performance and Correctness of an NFS Server,"
USENIX Conference Proceedings, USENIX Association, Berkeley, CA, June 1990,
pages 53-63.
--
Describes reply cache implementation which avoids work in the server by
handling duplicate requests. More important, though listed as a side-effect,
the reply cache aids in the avoidance of destructive non-idempotent
operation re-application-improving correctness. 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Kazar, Michael Leon,
"Synchronization and Caching Issues in the Andrew File System,"
USENIX Conference Proceedings, USENIX Association, Berkeley, CA, Dallas
Winter 1988, pages 27-36.
--
A description of the cache consistency scheme in AFS. Contrasted with other
distributed file systems.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Macklem, Rick,
"Lessons Learned Tuning the 4.3BSD Reno Implementation of the NFS Protocol,"
Winter USENIX Conference Proceedings, USENIX Association, Berkeley, CA,
January 1991.
--
Describes performance work in tuning the 4.3BSD Reno NFS implementation.
Describes performance improvement (reduced CPU loading) through elimination
of data copies. 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Mogul, Jeffrey C.,
"A Recovery Protocol for Spritely NFS,"
USENIX File System Workshop Proceedings, Ann Arbor, MI, USENIX Association, 
Berkeley, CA, May 1992.
--
Second paper on Spritely NFS proposes a lease-based scheme for recovering
state of consistency protocol.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Nowicki, Bill,
"Transport Issues in the Network File System,"
ACM SIGCOMM newsletter Computer Communication Review, April 1989.
--
A brief description of the basis for the dynamic retransmission work.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Pawlowski, Brian, Ron Hixon, Mark Stein, Joseph Tumminaro,
"Network Computing in the UNIX and IBM Mainframe Environment,"
Uniforum `89 Conf. Proc., (1989)
--
Description of an NFS server implementation for IBM's MVS operating system.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

[RFC1014]	Sun Microsystems, Inc.,
"External Data Representation Specification,"
RFC-1014, DDN Network Information Center, SRI International, Menlo Park, CA.
--
Proposed standard for canonical format for data exchange, used with RPC.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

[RFC1057]	Sun Microsystems, Inc.,
"Remote Procedure Call Specification,"
RFC-1057, DDN Network Information Center, SRI International, Menlo Park, CA.
--
Remote procedure protocol specification.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

[RFC1094]	Sun Microsystems, Inc.,
"Network Filesystem Specification,"
RFC-1094, DDN Network Information Center, SRI International, Menlo Park, CA.
--
NFS version 2 protocol specification.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Sandberg, R., D. Goldberg, S. Kleiman, D. Walsh, B. Lyon,
"Design and Implementation of the Sun Network Filesystem,"
USENIX Conference Proceedings, USENIX Association, Berkeley, CA, Summer 1985.
--
The basic paper describing the SunOS implementation of the NFS version 2
protocol, and discusses the goals, protocol specification and trade-offs.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Srinivasan, V., Mogul, Jeffrey C. 
"Spritely NFS: Implementation and Performance of Cache Consistency Protocols",
WRL Research Report 89/5, Digital Equipment Corporation Western Research
Laboratory, 100 Hamilton Ave., Palo Alto, CA, 94301, May 1989.
--
This paper analyzes the effect of applying a Sprite-like consistency
protocol applied to standard NFS. The issues of recovery in a stateful
environment are covered in [Mogul]. 

Electronically available: ftp gatekeeper.dec.com:/pub/DEC/WRL/WRL-TR-89.5.ps.Z
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Mogul, Jeffrey C. 
"A Recovery Protocol for Spritely NFS",
WRL Technical Note 27, Digital Equipment Corporation Western Research
Laboratory, 100 Hamilton Ave., Palo Alto, CA, 94301, April 1993.
--
No abstract.

Electronically available: ftp gatekeeper.dec.com:/pub/DEC/WRL/WRL-TN-27.ps.Z
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

X/Open Company, Ltd.,
"X/Open CAE Specification: Protocols for X/Open Internetworking: XNFS",
X/Open Company, Ltd., Apex Plaza, Forbury Road, Reading Berkshire, RG1 1AX,
United Kingdom, 1991.
--
This is an indispensable reference for NFS version 2 protocol and
accompanying protocols, including the Lock Manager and the Portmapper. 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

X/Open Company, Ltd.,
"X/Open CAE Specification: Protocols for X/Open Internetworking: (PC)NFS 
Developer's Specification",
X/Open Company, Ltd., Apex Plaza, Forbury Road,
Reading Berkshire, RG1 1AX, United Kingdom, 1991. 
--
This is an indispensable reference for the PC implementation of the NFS
version 2 protocol. 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Hall M., Towfiq M., Arnold G., Treadwell D., Sanders H.
"Windows Sockets: An Open Interface for Network Programming under Microsoft
 Windows, version 1.1"
1992.
--
This is the specification of the Windows Sockets API which is the current
standard for Windows PC network socket calls. A must read for current
developers. 

-------------------------------------------------------------------------------

H-5.  FTP Sites

The official FTP sites for comp.protocols.nfs are:
	bcm.tmc.edu:		/nfs
	ftpserver.massey.ac.nz
	src.doc.ic.ac.uk

FAQ draft current location:
	seagull.rtd.com:	/pub/tcpip/FAQ.pcnfs.v1.5.Z or pcnfsfaq.zip

Other FTP sites:
	calvin.sfasi.edu:	/pub/dos/network/ftp-pctcp
	dorm.rutgers.edu: 	/pub/msdos/bws
	ftp.bws.com: 		/pub/bw
	ftp.cica.indiana.edu
	ftp.cnidr.org: 		/pub/NIDR.tools/wais/pc/windows
	ftp.com
	ftp.netmanage.com
	ftp.novell.com:
	ftp.york.ac.uk:		/pub
	grape.ecs.clarkson.edu
	lister.cc.ic.ac.uk
	microdyne.com: 		/pub/winsock
[RFCs]	nic.ddn.mil:
	seagull.rtd.com: 	/pub/tcpip
	sgi.sgi.com
[ODI]	sjf-lwp.novell.com:
	sorokin.anu.edu.au:     /pub/nfs5-addons
	sunsite.unc.edu: 	/pub/micro/pc-stuff/ms-windows/winsock
	vax.ftp.com	
       
-------------------------------------------------------------------------------