网络文件系统协议-Read.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络文件系统协议-Read.ppt

网络文件系统协议 NFS 1. 简介 NFS是Sun发展的,对网络中的共享文件进行透明远程访问的一种网络文件系统协议。 NFS协议是使用建立在外部数据描述(XDR)上的远程过程调用(RPC)原语定义的。这使之具有广泛的适应性:可适用于不同的机器、操作系统、网络体系和传输协议。 此协议的实现已经存在于从个人电脑到超级计算机等不同种类的机器上。 协议允许服务器分发远程访问优先级给一个受限制的客户集。 它执行了操作系统特定的功能,以允许把远程目录树链接在本地的文件系统上。 1.1 远程过程调用 Sun的远程过程调用规范提供了一种面向过程的远程服务接口。.每一个服务器都提供了一个包含一组过程的“程序”。NFS就是一种这样的程序。 主机地址、程序号和过程号的组合指定了一个远程过程。NFS可以使用在多种底层的传输层协议上,甚至可以使用在另一个远程过程调用实现之上。 为了便于讨论,我们假定NFS实现在Sun的RPC上。 1.2 外部数据描述 外部数据描述(XDR)标准提供了一个在网络上描述数据类型的公用方法。NFS协议规范实际就是用RPC数据描述语言书写的。要想获得更多的信息,请参见RFC 1014 XDR:外部数据描述标准。 1.3 无状态服务器 NFS协议应该尽可能无状态。也就是说,服务器应该不必保持关于它的客户端的任何协议状态信息。在失败事件发生时,无状态服务器比有状态服务器有明显的优点。 在无状态服务器中,客户端仅仅需要重发请求直到服务器响应;客户端甚至不需要知道服务器已经崩溃或者是网络临时故障。而有状态服务器的客户端要么需要检测服务器失败,并且在服务器恢复的时候重建服务器状态,或使客户端操作失败。 简化恢复的基本方法就是尽可能的采取“幂等”操作(为了它们有被重复的潜力)。这个协议各种版本中,大多数操作(例如Read 和Write)是幂等的; NFS中也有一些操作不能幂等。对非密等操作协议中均给与了明确提示。 2. NFS 协议定义 随时间改变,服务器使用的协议也可能改变。不同服务器使用的NFS版本也可能不同。为此,RPC对每一个RPC请求都提供了一个版本号。 已经定义了NFS协议的三个版本。即使在第三版中,也有少部分过时的过程和参数,这将在以后的版本中被删除。 2.1 文件系统模型 NFS假定文件系统是分层次的,除了最底层是文件,其它层次都是目录。在目录中的每一个条目(文件,目录,设备等)都有一个字符串名。不同的操作系统可能在目录树的深度或者使用的名字上有所限制,就象用不同的语义来描述“路径名”,它是在名字中把所有组成部分(目录和文件名)串联起来。 一个“文件系统”就是在一个服务器上(通常是一个磁盘或者物理分区)有一个指定的“根”的树。一些操作系统提供了“安装”操作使所有的文件系统出现在一棵单一的树上。而其它的操作系统保持着一个文件系统“森林”。 文件是由无解释字节组成的无结构流。 第三版的NFS使用更普遍的文件系统模型。 NFS一次只查询路径名中的一个组成部分。为什么不一次就得到整个路径名,返回一个文件句柄呢?这里有一些不这样做的原因。 例如,路径名需要在路径的组成部分之间有分隔符,不同的操作系统可能使用不同的分隔符。我们可以定义一种网络上标准的路径表示法,但是,这样做,对于每一个路径名在每一个终点上(网络节点)都必须进行语法分析和转换。 在NFS协议中的所有过程都假定是同步的。当一个过程返回给客户端完成信息,则客户就可以假定此操作已经完成,并且与请求相关的任何数据都处于一个稳定的存储器上。 例如,客户端的WRITE请求可能导致服务器更新数据块、文件系统信息块(比如间接块)、和文件属性信息(大小和修改时间)。当WRITE返回给客户端完成信息后,客户端就可以假定这个写操作是可靠的。甚至在服务器崩溃的情况下,它也可以恢复这些已经写的数据。这就是服务器无状态的一个非常重要的部分。 任何请求,只要服务器没有返回完成信息,客户端都必须保存这些请求, 以便在服务器崩溃的情况下再次发送这些请求。? 2.2 服务器过程 这个协议被定义为一组过程,这组过程含有用RPC语言定义的参数和结果。 RPC语言实际上是XDR语言在程序、版本、过程声明方面的扩展。 协议中每一个过程功能的简要描述都应该提供足够允许实现的信息。 2.2.1 不做工作 void NFSPROC_NULL(void) = 0; 这个过程不做工作,在所有RPC服务中它可以用来允许服务器响应测试和定时。 2.2.2 获得文件属性 attrstat NFSPROC_GETATTR (

文档评论(0)

wendang_12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档