Network File System: Difference between revisions

Content deleted Content added
No edit summary
Tags: Reverted Mobile edit Mobile web edit
m Reverted edit by 185.70.225.26 (talk) to last version by VulcanSphere
Line 13:
Version&nbsp;2 of the protocol (defined in {{IETF RFC|1094|link=no}}, March 1989) originally operated only over [[User Datagram Protocol]] (UDP). Its designers meant to keep the server side [[Stateless server|stateless]], with [[lock (computer science)|locking]] (for example) implemented outside of the core protocol. People involved in the creation of NFS version&nbsp;2 include [[Russel Sandberg]], [[Bob Lyon (engineer)|Bob Lyon]], [[Bill Joy]], [[Steve Kleiman]], and others.<ref name="sun85" /><ref name="Rusty">{{Cite journal |title= The Sun Network Filesystem: Design, Implementation and Experience |journal= Technical Report |author= Russel Sandberg |publisher= Sun Microsystems |url= http://www.cse.buffalo.edu/faculty/tkosar/cse710_spring13/papers/nfs.pdf |archive-date= 2013-11-26 |access-date= 2013-08-04 |archive-url= https://web.archive.org/web/20131126095851/http://www.cse.buffalo.edu/faculty/tkosar/cse710_spring13/papers/nfs.pdf |url-status= live }}</ref>
 
The [[Virtual File System]] interface allows a modular implementation, reflected in a simple protocol. By February 1986, implementations were demonstrated for operating systems such as [[System V]] release&nbsp;2, [[DOS]], and VAX/VMS using [[Eunice (software)|Eunice]].<ref name="Rusty" />
NFSv2 only allows the first 2&nbsp;GB of a file to be read due to [[32-bit]] limitations.
 
Line 24:
* assorted other improvements.
 
The first NFS Version&nbsp;3 proposal within Sun Microsystems was created not long after the release of NFS Version&nbsp;2. The principal motivation was an attempt to mitigate the performance issue of the synchronous write operation in NFS Version&nbsp;2.<ref name="usenix94">{{cite web |url=https://www.usenix.org/legacy/publications/library/proceedings/bos94/full_papers/pawlowski.ps |title=NFS Version&nbsp;3 Design and Implementation |year=1994 |publisher=[[USENIX]] |author1=Brian Pawlowski |author2=Chet Juszczak |author3=Peter Staubach |author4=Carl Smith |author5=Diane Lebel |author6=David Hitz |access-date=2015-11-23 |archive-date=2015-11-24 |archive-url=https://web.archive.org/web/20151124182558/https://www.usenix.org/legacy/publications/library/proceedings/bos94/full_papers/pawlowski.ps |url-status=live }}</ref> By July 1992, implementation practice had solved many shortcomings of NFS Version&nbsp;2, leaving only lack of large file support (64-bit file sizes and offsets) a pressing issue. At the time of introduction of Version&nbsp;3, vendor support for [[Transmission Control Protocol|TCP]] as a [[transport layer|transport-layer]] protocol began increasing. While several vendors had already added support for NFS Version&nbsp;2 with TCP as a transport, Sun Microsystems added support for TCP as a transport for NFS at the same time it added support for Version&nbsp;3. Using TCP as a transport made using NFS over a [[Wide area network|WAN]] more feasible, and allowed the use of larger read and write transfer sizes beyond the 8&nbsp;KB limit imposed by [[User Datagram Protocol]].
 
====YANFS/WebNFS====
{{anchor|WebNFS|reason=Old section name; could have incoming links, though they should probably go to the main article.}}
{{Main|WebNFS}}
YANFS (Yet Another NFS), formerly [[WebNFS]], is an extension to NFSv2 and NFSv3 allowing it to function behind restrictive firewalls without the complexity of Portmap and MOUNT protocols. YANFS/WebNFS has a fixed [[List of TCP and UDP port numbers|TCP/UDP port number]] (2049), and instead of requiring the client to contact the MOUNT RPC service to determine the initial filehandle of every filesystem, it introduced the concept of a ''public filehandle'' (null for NFSv2, zero-length for NFSv3) which could be used as the starting point. Both of those changes were later incorporated into NFSv4. YANFS's post-WebNFS development has also included server-side integration.
 
===NFSv4===