NFS是网络文件系统,通过NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。
NFS协议工作流程:
1) 客户端远程访问服务器的文件,客户端发起TCP连接,和111端口的portmap程序建立TCP连接,111端口是SUN公司提供的远程过程调用服务所开放的端口,portmap把RPC程序号转化Internet端口号。
2) 客户端通过TCP远程调用GETPORT,获得NFS端口号。
3) 客户端与NFS服务器建立TCP连接。
4) 客户端与111端口关闭连接。
5) 通过MOUNT,将请求的文件目录挂载到本地。
6) 客户端通过GETATTR命令,获得挂载目录的属性,包括:文件类型、访问权限、文件大小、文件归属者、上次访问时间等。
7) 客户端发送FSSTAT请求,请求目录的动态信息,包括:总大小、可用大小。
8) 客户端发送READ请求,下载文件。
9) 文件下载完成,服务器返回READ 响应。
10) 客户端发送CREATE请求,创建文件进行上传。
11) 客户端发送SETARRT请求,设置文件的属性。
12) 客户端上传数据到服务器。
13) 客户端发送WRITE请求,将数据写入文件。
14) 客户端发送MMIT请求,提交上传的文件,服务器发送COMMIT响应,完成上传。
閱讀更多 楊冰幻 的文章