远程过程调用协议
NFS 在多种主机类型、操作系统和网络体系结构上实现。 NFS 使用远程过程调用 (RPC) 协议实现这种独立性。
RPC 是一个过程库。 这些过程允许一个进程(客户机进程)命令另一个进程(服务器进程)来运行过程调用,就像客户机进程在自己的地址空间运行过这些调用似的。 因为客户机和服务器是两个不同的独立进程,它们不需要在同一个物理系统中存在(尽管可以)。
NFS 作为一组 RPC 调用实现,其中,服务器为客户机发出的某些类型的调用提供服务。 客户机发出此类调用是基于由客户机进程执行的文件系统操作。 在这种情况下 NFS是一个 RPC 应用程序。
因为服务器和客户机进程可以驻留在体系结构完全不同的两个物理系统上,所以 RPC 必须面对两个系统间不使用相同数据表示方式的可能性。 由于此原因,RPC 使用 eXternal Data Representation (XDR) 协议定义的数据类型。