在网络环境中,rpc为运行在不同机器、不同操作系统上的程序(过程)相互调用、传递参数及回送结果等提供一种规范的方法。rpc为实现网络上的客户/服务器模式提供了支持。比如,一个程序员可以把他的程序分解成为客户、服务器两部分,在客户方面,程序员设计了一些过程,如remote,并将rpc码插入到这些过程之中;而服务器方面,应用rpc的其他功能,实现了一些处理该种调用的过程。当一个运行中的客户程序发出远程调用时,rpc软件自动对变元的值进行收集,并打成数据包(message)发往远地服务器,启动调用过程,最后返回结果。整个调用过程如同调用本地过程一样。prc实际上是iso rm 会话层协议的具体实现,该机制将下层协议的细节掩盖了起来,使程序员抛开通信协议的具体过程,就可以设计出分布式程序。
xdr是数据描述和编码的一种标准,是表示层的具体实现。它提供了在不同体系结构的计算机之间进行数据传输时,数据表示的规范方法。比如,对于32- bit的整数表示方法来说,各种机器并不相同,有的将整数的主要字节放在高位地址部分,有的则刚好相反,所以在网络上要使数据在这两种整数表示法的机器之间进行传送,就必须进行适当的转换,否则数值在传输后会发生变化。xdr就提供了这种转换功能。xdr采用的是iso推荐的抽象语言法表示记法1,即 asn.1,作为内部数据传送的标准语法表示。相互通信的两方xdr进行本地语法表示与asn.1之间的转换与逆转换。
rpc和xdr提供的这种网络服务为构造nfs这样的分布式数据处理系统奠定了基础。由此可见,由nfs协议本身、rpc和xdr三者相结合,在 tcp/ip或udp/ip之上,实现了nfs概念的全部。它们互为基础、互相配合,实现了基于nfs的异种设备、异种操作系统之间的透明在线共享文件的访问功能。
三、举例说明nfs的工作过程
标签: