网络文件系统

网络文件系统

NFSv1 只在SUN公司内部用作实验目的。开发团队在NFSv1的基础上做了重大改进之后将其对外发布,版本NFSv2由此产生。[2]

NFSv2

编辑

NFSv2最初在SunOS 2.0上面实现,1985年发布[3]。

参与NFSv2设计实现的人包括罗素·桑德柏格(Russel Sandberg)、鲍伯·里昂(Bob Lyon)、比尔·乔伊、史提夫·克莱曼(Steve Kleiman)等。[1][4]

NFSv2 的定义RFC 1094,于1989年3月发布。

NFSv2 最初只是基于 UDP。设计者旨在保持伺服器端是无状态的,而将“锁”等机制的实现独立于核心协议之外。[1]这是一个关键决定,它使服务器从故障恢复变得简单:当一个服务器变得不可用时,所有的网络客户端冻结,但一旦服务器恢复,每一个尝试重传的状态都包含在每个RPC里面,这是由客户端存根发起的。这样的设计决策允许UNIX应用程序可以忽视服务器端的问题。

虚拟档案系统接口很容易模块化地实现一个简单的协议。在1986年2月,诸多操作系统实现了对NFSv2的支持,例如 System V release 2、DOS,以及使用Eunice(英语:Eunice (software))的VAX/VMS。[4]

由于 32-bit 的限制,NFSv2 只允读写文件起始2G大小的内容。

NFSv3

编辑

Version 3(RFC 1813,1995年6月)添加如下功能:

支持 64 bit 文件大小和偏移量,即突破 2GB 文件大小的限制;

支持服务端的异步写操作,提升写入性能;

在许多响应报文中额外增加文件属性,避免用到这些属性时重新获取;

增加 READDIRPLUS 调用,用于在遍历目录时获取文件描述符和文件属性;

其他改进。

在NFSv2发布后不久,NFSv3协议提案就在Sun Microsystems内部被提出,其主要目的是解决NFSv2进行同步写操作的性能问题[5]。1992年7月的实现版本已经解决了NFSv2的许多不足之处,但是大文件支持(64位元文件大小和偏移量)这一紧迫的问题还没有解决。这成为迪吉多公司的一个痛点,他们当时推出64位版本的Ultrix,以支持其新推出的64位RISC处理器Alpha 21064。在引入NFSv3时厂商们正在越来越多的支持TCP作为传输层协议。当时有些厂商已经在NFS version 2支持TCP做为传输层,Sun Microsystems 在发布NFSv3时也增加了将TCP作为传输层的支持。使用TCP做传输层使得NFS跨越 WAN 成为可能,并且可以突破 UDP 传输大小8K的限制,使用更大的读写数据单元。

NFSv4

编辑

NFSv4协议(RFC 3010,2000年12月;更新版 RFC 3530,2003年4月),借鉴了AFS(Andrew File System)和SMB/CIFS(Server Message Block)的特性,主要做了如下改进:性能提升,强制安全策略,引入有状态的协议。[6]从NFSv4开始,协议的实现/开发工作不再是由SUN公司主导开发,而是改为由网际网路工程任务组(IETF)开发。

NFSv4.1

编辑

NFSv4.1(RFC 5661,2010年1月)旨在为并行访问可横向扩展的集群服务(pNFS扩展)提供协议支持。

NFSv4.2

编辑

NFSv4.2 于2016年发布。

其他扩展

编辑

WebNFS,一个NFSv2 v3的扩展,使得用户可以方便的通过网页浏览器与NFS服务端交互,且不受防火墙限制。在2007年,SUN公司开源了WebNFS客户端的实现[7]

各种NFS相关的外挂/捆绑协议:

字节区间建议锁网路锁定管理(Network Lock Manager,缩写 NLM)协议(支持 UNIX System V 文件锁定 APIs)。

远程配额记录(RQUOTAD)协议;使NFS用户可以查看服务端数据存储配额。

NFS over RDMA 是NFS对远端直接记忆体存取(RDMA)协议的适配[8][9],就是将默认的传输层协议TCP替换为RDMA。

相关推荐

世界杯2014赔率体彩,2014世界杯各场比分结果
365bet在线体育官网

世界杯2014赔率体彩,2014世界杯各场比分结果

📅 07-01 👁️ 8530
《汪国真诗选》品评
365bet体育开户

《汪国真诗选》品评

📅 07-22 👁️ 7124
簣的意思,簣的解释,簣的拼音,簣的部首,簣的笔顺
365bet在线体育官网

簣的意思,簣的解释,簣的拼音,簣的部首,簣的笔顺

📅 07-24 👁️ 6358