电脑技术学习

NetWare与UNIX的互联方法与实现

dn001

  从用户的角度看,nfs是不可见的。用户可以运行一独占的程序并且可以对独享文件进行i/o操作,而这时用户并不清楚它们是本地的还是远程的程序或文件。

  使用nfs的好处很多。nfs允许多台机器使用同一个数据文件,所以文件的数据对网络上的各机器来说都是可存取的。而且nfs可以通过将大的文件存储在一台机器上而由大家来共享的方式,使存储的费用明显的降低。尤其是在数据库应用系统中,你可以把数据文件可靠、统一地集中在一起,既可共享使用又可以进行方便的统一管理。

  nfs目前已经得到开放系统组织的承认,成为今天的分布式文件系统的工业标准。nfs不仅能够支持sun工作站之间的连接,而且能够支持来自主要计算机厂家的产品。尤其是大多数Unix操作系统,诸如sco unix,都提供了支持nfs协议的软件,以实现unix与其它操作系统之间的通讯。

  二、从网络的体系结构来说明nfs的实现

  nfs在一个操作系统中的具体形式如图1。当一个应用程序运行时,它可以通过系统调用打开一个文件,并对其进行存取访问。这时的文件存取系统可以接收用户的各种请求,并且能够自动判断将该请求发往何处,即是本地文件系统还是nfs客户服务部分。这种判断是根据被请求的文件是在本地存储介质上还是在远程的计算机上而做出的。当一个被请求文件在远地时,nfs客户服务软件利用nfs协议与远地机器上适当的nfs服务器取得联系,并且进行相应的请求操作。在远地服务器对请求做出回答后,客户服务软件获得结果,将它传送给应用程序。

  从程序员的角度来看,nfs协议本身并没有提供什么特别的调用过程。一旦管理员将nfs设置完成后,程序员就可以对远地和本地的文件进行同样的存取操作,它们之间并无明显的差别。

  对于nfs,设计者并没有将它设计成为解决所有文件传输的综合性协议,而是将nfs的实现分成三个相对独立的部分:nfs协议本身、远程过程调用 (remote procedure call, rpc)机制和外部数据表示(external data representation, xdr)。如果将它们与iso/osi的推荐标准相对照的话,可以看出rpc对应于会话层,xdr对应于表示层,而nfs协议本身则对应于应用层,见图 2。从这个体系结构可以看出,真正的nfs服务是建立在外部数据表示xdr和远程过程调用rpc所提供的服务功能之上。

标签: