NFS协议最为权威的参考文档自然是RFC文档了。以NFSv3为例,对应的RFC文档是RFC1813。但是当我们初次接触该文档的时候有种找不到北的感觉。以NFSv3的WRITE例程为例,在文档中的说明如下图所示,从该图中似乎看不太明白协议的具体定义。
图1 NFS 写协议描述
其实要理解上述内容并不困难,首先是要结合前面文章介绍的RPC的内容来理解,这样再理解NFS协议的内容就不会太难了。
在RPC协议中我们了解到,RPC实现了一种远程函数调用的机制。也就是客户端在调用基于RPC的函数(存根)时,该函数会被封装成网络消息发送到服务端,并且激活一个服务端的函数(存根)。并且,通常客户端的存根与服务端的存根是一一对应的。
图2 存根函数
RPC实现了函数的远程调用,但是并没有定义