NFS报文分析
- 格式:doc
- 大小:429.00 KB
- 文档页数:12
NFS理论《1》概念:(Network FileSystem)的简称特点:可以实现不同操作的系统之间的共享,主要用于linux服务器与客户之间的共享个别的档案,实现要比samba简单的多。
要实现window与Linux之间的共享还是samba比较容易主配置文件:/etc/exports主要设定这个文档。
系统没有默认,系统不一定会存在,需要手动创建/usr/sbin/exportfs维护分享资源指令/usr/sbin/showmount客户端指令用于查看NFS服务器上的共享资源(showmount -e)/var/lib/nfs/xtab用于查看哪些客户端访问过本机的共享资源相关服务:portmap(端口映射服务)ypserv服务---必要要先启动第一个服务《2》安装及相关配置1如果没有exports档案请手动创立注意名字别错2 共享及权限设置格式(vi /etc/exports)预分享目录主机名1或者IP(参数1,参数2)(a)参数参数1 权限:ro只读rw可读可写参数2no_root_squash:如果想用root分享目录,写入档案还具有保root权限可使用本参数,及其不安全不推荐使用root_squash:在登入NFS主机使用分享目录的使用者如果是root,那么它的身份将会被压缩为匿名用户,用户会变成nobady这个系统账户的身份all_squash不管以什么用户登入,他的身份都会被压缩为匿名用户即nobadyanonuid: *_squash设定用户匿名访问的UID值,通常为nobody,可自行设定必须是你的/etc/passwd当中aonogid:*_squash设定GID用法作用同UIDsync:数据同步写入到硬盘中async:先放于内存中。
NFS实验典型案例1.要将/tmp分享出去。
要就所有人都可以读写,要让root写入还具有root 的权限vi /etc/exprots写入(/tmp *(rw,no_root_squash)注意:A *()中间不可以有空格B root的身份登入你的linux主机,那么你的mount上我这部主机上的/tmp 之后,你在该mount目录中将有root的权限2.要将/home/public分享出去。
windows和Linux用SAMBA服务器,但是Linux和Linux主机如何共享资源呢?答案是NFS(network file system)NFS是SUN公司与1984年开发的,它是一种分布式文件系统。
它的原理是在客户端上,通过网络将远程主机共享的文件系统利用安装mount的方式加入本机的文件系统,此后操作就像本地操作一样。
这样的好处就是除了提成资源的使用效率,还可以大大节省硬盘的空间,因为每台主机不需要将所有的文件都复杂到本地上,同时也可以做到资源集中管理。
目前nfs有两个版本NFSV2,NFSV3,NFS用RPC来传递客户端和服务端间的信息,因此在双方进行NFS时,必须启动portmap服务,并且适当的RUN level。
而且portmap服务在运行时,也需要以下协作rpc.mountd rpc.nfsd,如果确定portmap服务已经启动,可以运行指令,假设已经使用portmap服务的nfs服务器为#rpcinfo -p 下面介绍一下NFS服务器的安装和启动。
[root@ns1 ~]# rpm -qa|grep nfs //查看一下软件是否安装了,因为自己已经开始安装系统的时候已近安装了。
所以用rpm -qa|grep nfs查询了一下下面是3个软件包名字。
system-config-nfs-1.3.23-1.el5nfs-utils-lib-1.0.8-7.2.z2nfs-utils-1.0.9-24.el5[root@ns1 ~]# service nfs start启动nfs服务停止stop 重新启动restart。
看进程是否正常.可以用ps ax|grep nfsd来检查[root@ns1 ~]# ps ax|grep nfsd3577 ? S< 0:00 [nfsd4] 3578 ? S 0:00 [nfsd]3579 ? S 0:00 [nfsd]3580 ? S 0:00 [nfsd]3581 ? S 0:00 [nfsd]3582 ? S 0:00 [nfsd]3583 ? S 0:00 [nfsd]3584 ? S 0:00 [nfsd]3585 ? S 0:00 [nfsd]3632 pts/0 S+ 0:00 grep nfsd查看目前NFS的服务器状态。
NFS故障的解析和处理-电脑资料日常的工作和学习中,我们使用的一些系统以及相应的操作中,难免会遇到一些故障问题,。
那么对于NFS故障的分析和解决我们在下文中为大家做了具体的分析和处理,希望本文的总结对您处理问题能够有所帮助。
NFS故障1、NFSD没有启动起来首先要确认 NFS 输出列表存在,否则 nfsd 不会启动.可用 exportfs 命令来检查,如果exportfs 命令没有结果返回或返回不正确,则需要检查 /etc/exports 文件.NFS故障2、 mountd 进程没有启动mountd 进程是一个远程过程调用 (RPC) ,其作用是对客户端要求安装(mount)文件系统的申请作出响应.mountd进程通过查找/etc/xtab文件来获知哪些文件系统可以被远程客户端使用.另外,通过mountd进程,用户可以知道目前有哪些文件系统已被远程文件系统装配,并得知远程客户端的列表.查看mountd是否正常启动起来可以使用命令rpcinfo进行查看,在正常情况下在输出的列表中应该象这样的行: 1000051udp1039mountd 1000051tcp1113mountd 1000052udp1039mountd 1000052tcp1113mountd 1000053udp1039mountd 1000053tcp1113mountd如果没有起来的话可以检查是否安装了PORTMAP组件.rpm -qa|grep portmapNFS故障3、fs type nfs no supported by kernelkernel不支持nfs文件系统,重新编译一下 KERNEL就可以解决.NFS故障4、 can't contact portmapper: RPC: Remote system error - Connection refused出现这个错误信息是由于SEVER端的PORTMAP没有启动.NFS故障5、mount clntudp_create: RPC: Program not registeredNFS没有启动起来,可以用showmout -e host命令来检查NFSSERVER是否正常启动起来.NFS故障6、mount: localhost:/home /test failed, reason given by server: Permission denied这个提示是当 client要mount nfs server时可能出现的提示,意思是说本机没有权限去mount nfs server上的目录.解决方法当然是去修改NFS SERVER咯.NFS故障7、被防火墙阻挡这个原因很多人都忽视了,在有严格要求的网络环境中,我们一般会关闭linux上的所有端口,当需要使用哪个端口的时候才会去打开.而NFS默认是使用111端口,所以我们先要检测是否打开了这个端口,另外也要检查 TCP_Wrappers的设定.。
NFS报文分析范文NFS(Network File System)是一种在网络上共享文件系统的协议。
它允许多台计算机通过网络连接和共享文件和目录,使得用户可以像访问本地文件一样访问远程文件。
NFS协议采用客户端-服务器的模型,其中客户端是需要访问远程文件的计算机,而服务器则存储和管理文件。
NFS报文是在客户端和服务器之间传输的协议数据单元,用于进行文件访问和操作。
在NFS报文中,最常见的操作类型包括读取文件、写入文件、创建目录、删除文件等。
下面我们将对其中几种常见的操作类型进行分析。
1. 读取文件(Read):客户端向服务器发送一个读取请求,请求读取指定文件的内容。
报文头中包含了操作类型为Read,报文体中包含了读取的文件句柄、读取的起始位置和读取的字节数。
服务器接收到请求后,会读取文件的对应部分内容,并将内容返回给客户端。
2. 写入文件(Write):客户端向服务器发送一个写入请求,请求将指定数据写入到指定文件中。
报文头中包含了操作类型为Write,报文体中包含了写入的文件句柄、写入的起始位置和写入的数据。
服务器接收到请求后,会将数据写入到文件的对应位置。
3. 创建目录(Create):客户端向服务器发送一个创建目录的请求,请求在指定目录下创建一个新的子目录。
报文头中包含了操作类型为Create,报文体中包含了创建的目录路径和权限等信息。
服务器接收到请求后,会在指定目录下创建一个新的子目录,并返回创建结果给客户端。
4. 删除文件(Remove):客户端向服务器发送一个删除文件的请求,请求删除指定的文件。
报文头中包含了操作类型为Remove,报文体中包含了要删除的文件路径。
服务器接收到请求后,会删除指定的文件,并返回删除结果给客户端。
除了以上提到的几种操作类型,NFS协议还支持许多其他操作类型,如重命名文件、列出目录内容、获取文件属性等。
总结起来,NFS报文分析涉及到了报文头和报文体的解析,通过解析报文头可以获取操作类型和相关参数,而解析报文体可以获取操作所需的具体数据。
6网络文件系统(NFS)的工作原理和应用技术郭英见图2R PC 工作过程计算机网络的软件环境包括网络协议和网络操作系统两个方面:网络协议用于实现各种操作系统的网络连接和数据通信;而网络操作系统是网络协议中的网络服务系统,是网络的核心。
工业标准的网络文件系统NFS 由于具有网络操作系统文件服务器的功能,且使用维护均比较方便,从而也被广泛地应用在各系统中。
本文从N FS 工作原理和应用技术两方面深入讨论N FS 。
一、网络文件系统NFS 的工作原理N FS 包括N FS 服务器和N FS 客户两部分,采用星型拓扑结构连接。
NFS 服务器是中心,N FS 客户是端点,见图1。
N FS 服务器:提供共享本地硬盘上的任何文件系统或目录等文件信息的计算机。
N FS 客户:能够安装远地文件系统和目录,并且从其他计算机上获取文件信息的计算机。
N FS 服务器与N FS 客户之间并无严格的界定,多任务的操作系统可同时作为客户和服务器,读取网络上其他正在访问自己硬盘的计算机上的文件。
为了NFS 的开发应用专门引入了远程过程调用RPC(Remote Pr ocedure Call)的概念,RPC 过程调用可以作为对话层和报文交换器用于所有的NFS 的应用程序。
RPC 由一系列过程组成,这些过程可以视为处理任何所需网络访问的高层应用程序,即可以透明地访问远地文件系统。
R 通过网络作用于客户和服务器之间,具体工作过程是首先客户向服务器发出请求报文,服务器接收到报文后,从中提取出请求,然后执行请求的过程,并且将结果汇编成响应报文。
客户将接收到的报文响应后,对报文进行反汇编,继续执行应用程序的正常过程。
这个过程的每一步都由RPC 程序库(与应用程序相连)的例程控制。
见图2。
二、网络文件系统NFS 的配置由于N FS 是由N FS 客户和N FS 服务器组成的,所以N FS 的配置就需分成NFS 服务器的配置和N FS 客户的配置。
NFS原理分析范文网络文件系统(Network File System,NFS)是一种用于在计算机网络中共享文件的协议。
它通过允许客户端计算机远程访问服务器上的文件,使得多台计算机可以共享相同的文件并进行协作。
NFS的设计目标是为了提供透明的文件访问服务,使得远程文件访问不感知于网络和服务器资源的限制。
下面将对NFS的原理进行分析。
NFS使用基于客户端-服务器模型的架构,其中服务器端维护文件系统并处理文件共享请求,而客户端通过发出远程过程调用(Remote Procedure Call,RPC)来访问和操作这些共享文件。
NFS的通信是通过网络传输的,因此保证了不同平台和操作系统之间文件的兼容性。
NFS的工作方式是通过操作文件的文件句柄(File Handle)来实现的。
文件句柄是服务器端唯一标识一个文件的数据结构,它包含了文件的元数据(如inode号)和服务器端的文件句柄。
客户端通过使用文件句柄来定位和访问文件,而不需要了解文件的具体路径和位置。
NFS采用了多层缓存机制来提高文件访问的性能。
客户端维护了本地缓存(Local Cache)来存储最近访问的文件数据,以减少对服务器端的请求。
服务器端也维护了文件缓存(File Cache)来存储经常访问的文件数据,以加快文件的读取速度。
此外,NFS还可通过客户端和服务器端之间的有效管理和控制来避免数据的冲突和不一致。
NFS还支持文件锁定机制,以确保在多个客户端同时访问相同文件时不会导致数据的错误和不一致。
通过锁定文件,NFS允许客户端对文件进行独占或共享访问,避免了同时写入导致的数据冲突。
NFS的安全性主要通过访问控制列表(Access Control List,ACL)和身份认证机制来实现。
ACL定义了对文件的访问权限,以确保只有授权的用户才能访问和修改文件。
NFS还支持多种身份认证方法,包括基于口令的认证、基于密钥的认证和基于Kerberos的认证,提供了强大的安全性保障。
NFS⽹络⽂件系统详解第1章 NFS基本概述1.1 什么是nfsNFS是Network File System的缩写及⽹络⽂件系统。
主要功能是通过局域⽹络让不同的主机系统之间可以共享⽂件或⽬录。
NFS系统和Windows⽹络共享、⽹络驱动器类似, 只不过windows⽤于局域⽹, NFS⽤于企业集群架构中, 如果是⼤型⽹站, 会⽤到更复杂的分布式⽂件系统FastDFS,glusterfs,HDFS1.2 为什么要使⽤NFS服务进⾏数据存储1.实现多台服务器之间数据共享2.实现多台服务器之间数据的⼀致1.3 本地⽂件操作⽅式当⽤户执⾏mkdir命令, 该命令会通过shell解释器翻译给内核,由内核解析完成后驱动硬件,完成相应的操作。
1.4 NFS实现原理(需要先了解[程序|进程|线程])1.⽤户进程访问NFS客户端,使⽤不同的函数对数据进⾏处理2.NFS客户端通过TCP/IP的⽅式传递给NFS服务端。
3.NFS服务端接收到请求后,会先调⽤portmap进程进⾏端⼝映射。
4.nfsd进程⽤于判断NFS客户端是否拥有权限连接NFS服务端。
5.Rpc.mount进程判断客户端是否有对应的权限进⾏验证。
6.idmap进程实现⽤户映射和压缩7.最后NFS服务端会将对应请求的函数转换为本地能识别的命令,传递⾄内核,由内核驱动硬件。
rpc是⼀个远程过程调⽤,那么使⽤nfs必须有rpc服务1.5 NFS存储优点1.NFS⽂件系统简单易⽤、⽅便部署、数据可靠、服务稳定、满⾜中⼩企业需求。
2.NFS⽂件系统内存放的数据都在⽂件系统之上,所有数据都是能看得见。
1.6 NFS存储局限1.存在单点故障, 如果构建⾼可⽤维护⿇烦。
(web-》nfs()-》backup)2.NFS数据明⽂, 并不对数据做任何校验。
3.客户端挂载⽆需账户密码, 安全性⼀般(内⽹使⽤)1.7 ⽣产应⽤建议1.⽣产场景应将静态数据尽可能往前端推, 减少后端存储压⼒2.必须将存储⾥的静态资源通过CDN缓存(jpg\png\mp4\avi\css\js)3.如果没有缓存或架构本⾝历史遗留问题太⼤, 在多存储也⽆⽤第2章 NFS基本使⽤2.1 环境准备服务器系统⾓⾊外⽹IP内⽹IP主机名CentOS 7.5NFS服务端eth0:10.0.0.31eth1:172.16.1.31nfsCentOS 7.5NFS客户端eth0:10.0.0.7eth1:172.16.1.7web012.2 关闭防⽕墙及selinux(客户端,服务端都要关闭)2.2.1 关闭防⽕墙systemctl disable firewalldsystemctl stop firewalld2.2.2 关闭selinuxsed -ri '#^SELINUX=#cSELINUX=Disabled' /etc/selinux/configsetenforce 02.3 服务端安装nfs[root@nfs ~]# yum -y install nfs-utils2.3.1 配置nfs我们可以按照共享⽬录的路径允许访问的NFS客户端(共享权限参数)格式,定义要共享的⽬录与相应的权限。
Linux网络文件系统(NFS)分析1. 网络文件系统概述_____________________________________________________ 41.1 远程文件存取____________________________________________________ 4 1.2 网络文件系统概述________________________________________________ 4 1.3 网络文件系统上层实现____________________________________________ 5 1.3.1 Mount安装协议和NFS远程过程 __________________________________ 5 1.3.2 访问文件的具体流程___________________________________________ 5 1.4 网络文件系统下层实现——远程过程调用(RPC) ____________________ 6 1.4.1 RPC的概念模型_______________________________________________ 7 1.4.2 SUN RPC的定义 _______________________________________________ 7 1.4.3 SUN RPC的传输层实现机制 _____________________________________ 8 1.4.3.1 通信语义__________________________________________________ 8 1.4.3.2 动态端口映射______________________________________________ 8 1.4.4 一次RPC远程调用的具体流程 ___________________________________ 9 2. Linux的NFS系统框架 _________________________________________________ 112.1 源码分析环境___________________________________________________ 11 2.2 Linux下NFS的体系结构___________________________________________ 12 2.3 NFS的Client端___________________________________________________ 12 2.3.1 Client端的VFS层______________________________________________ 13 2.3.2 Client端的RPC层_____________________________________________ 20 2.3.3 Client端的NFS层______________________________________________ 27 2.3.3.1 NFS过程层_______________________________________________ 27 2.4 NFS的Server端 __________________________________________________ 33 2.4.1 Server端的RPC层 _____________________________________________ 33 2.4.2 Server端的NFS层_____________________________________________ 37 2.4.3 NFS Server端启动___________________________________________ 39 2.4.4 nfsservctl系统调用实现________________________________________ 40 2.4.5 RPC鉴别机制________________________________________________ 46 3 Mount安装协议的具体实现_____________________________________________ 483.1 NFS Client端Mount协议数据结构_______________________________ 48 3.2 NFS Client端Mount协议实现___________________________________ 50 3.2.1Linux根文件系统的NFS Mount协议安装________________________ 51 3.2.1.1 nfs_root_setup函数的实现_________________________________ 52 3.2.1.2 nfs_root_mount函数的功能________________________________ 54 3.2.2命令行下的动态NFS Mount协议安装___________________________ 60 3.2.2.1 nfs_read_super函数的实现 _________________________________ 60 4NFS文件操作具体流程 _________________________________________________ 64 4.1 NFS文件协议的数据结构 ______________________________________ 64 4.2 打开一个NFS文件的具体流程 __________________________________ 65 4.2.1 VFS层操作分析_______________________________________________ 65 4.2.2 NFS层操作分析______________________________________________ 67 4.2.3 RPC层操作分析______________________________________________ 694.2.4 Server端操作分析 _____________________________________________ 69 4.3 读写一个NFS文件的具体流程 __________________________________ 70 4.3.1 sys_read函数_______________________________________________ 71 4.3.2nfs_file_read函数 ____________________________________________ 71 4.3.3nfs_readpage nfs_readpage_sync函数___________________________ 72 5 NFS文件系统FAQ _____________________________________________________ 76 参考文献:______________________________________________________________ 791. 网络文件系统概述1.1 远程文件存取许多早期的网络系统提供了文件传输(File transfer)服务,它允许用户把某文件的一个副本从一台机器移到另一台机器上。
NFS使用详解之二.服务状态查询及设置操作系统版本:[root@localhost /]# cat /etc/redhat-release1、检查portmap服务运行状态(因为NFS及其辅助程序都是基于RPC的,所以我们要确保系统中首先运行portmap服务)[root@localhost /]# iduid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t[root@localhost /]# service portmap statusportmap is stopped结果显示portmap服务是停止的,可以通过以下命令启动该服务:[root@localhost /]# service portmap startStarting portmap: [ OK ][root@localhost /]# service portmap statusportmap (pid 11085) is running...结果显示portmap服务已处于“running”状态。
2、检查nfs服务运行状态[root@localhost /]# service nfs statusShutting down NFS mountd: rpc.mountd is stoppednfsd is stoppedrpc.rquotad is stopped结果显示nfs服务是停止的,可以通过以下命令启动该服务:[root@localhost /]# service nfs startStarting NFS services: [ OK ]Starting NFS quotas: [ OK ]Starting NFS daemon: [ OK ]Starting NFS mountd: [ OK ]此时来检查一下nfs服务运行状态,由下可知,nfs服务已启用。
1NFS报文分析
NFS协议基于RPC协议,每个NFS报文都对应着一个RPC报文类型。
除NFS报文外,PORTMAP,MOUNT等同NFS密切相关的报文也在分析范围内。
除特别说明外,本次分析服务器IP为192.168.0.120,客户端IP为192.168.0.186。
1.1 查询远程可挂载的目录
1.1.1NFS服务未开启
如果服务器未开启NFS功能输入
showmount –e 主机名或IP
则在终端显示:
mount clntudp_create: RPC: Program not registered
主要交互流程:
客户端通过TCP与服务器的Portmap程序建立连接,尝试通过TCP 远程调用GETPORT,服务器返回MOUNT功能为开启。
然后客户端再次尝试通过UDP达到此目的,服务期同样返回PROGRAM_NOT_AVAILABLE。
整个过程是基于RPC的。
1.1.2NFS服务已开启
客户端首先通过PORTMAP远程调用请求MOUNT的端口。
后面又重传两次,重传报文的XID相同的,而服务器就是通过XID来判断一个报文是否是另一个的REPLY。
服务器得到请求后返回端口号33394。
客户端使用33394端口来进行EXPORT类型MOUNT请求。
服务器返回请求,内容如下:
Procedure:EXPORT下面的V alue Follows代表List 是否还有内容。
在获取到这个List后会在终端显示:
1.2 挂载远程目录
挂载远程目录的过程最本质的是如何获得此目录在服务器上的文件句柄,我们在分析下面的交互时始终以此为中心。
1.2.1挂载不存在的目录
首先通过客户端通过一个基于TCP的RPC获得MOUNT的端口32771,之后,客户端试图通过MOUNT请求来获得/home/work_ro 的句柄,从而实现远程挂载。
但由于目录不存在,服务器会当作权限不够来处理,所以返回ERR_ACCESS。
1.2.2成功挂载
前面的交互和目录不存在的情况基本相同,只是服务器在MOUNT请求后返回了要挂在目录句柄。
此后通过PORTMAP得到NFS的端口,
挂载成功后,客户端还要通过PORTMAP得到NFS端口,NFS端口这一部分请参看RFC1094。
完成上面的交互后,请求的文件目录已经成功挂载到了本地。
通过TYPE为GETATTR类型的NFS报文得到挂载目录的属性,其中包括:文件类型,访问权限,文件大小,文件的归属者以及上次的访问时间等,如下图:
然后,客户端发出了FSSTAT请求,这个请求的内容为此目录的动态信息。
如下图:
目录的动态信息包括,总大小,可用的小等。
客户端发送FSINFO请求,服务器返回目录的静态的信息。
1.2.3挂载多个目录到本地
现在,向服务器
可以看到,在请求第一个目录时,我们可以看到在一个基于TCP的PORTMAP请求后,服务器返回了一个PORTMAP报文。
但在后面的两个目录的请求过程中却只有请求,没有回复。
1.3 管理远程目录
1.3.1管理远程目录包括:获取列表,新建目录,新建文件,
删除目录,删除文件,修改文件,修改属性等。
1.3.2获取远程目录
通过ll命令来查看目录下面的文件列表,目录root_ro(0x75ec0804)
下有以下文件或目录:
aaa hello bbb ccc test test2
我们可以看到客户端会首先进行一次GETATTR的请求,来确认挂载的是目录或者是文件。
在Type字段说明了类型。
请求GETATTR后,客户端发出对root_ro的ACCESS的请求,得到的报文主要内容如下:
说明客户端可以读root_ro但不可进行创建等操作。
作为挂载的顶级目录,root_ro同样是不可LOOKUP的。
除非挂载了root_ro的上一级目录。
在客户端得到allow READ的消息后,通过发送NFS的READDIR请求,得到目录内容列表。
通过这个报文的内容,我们可以看到,root_ro目录下的内容。
然后,客户端开始又一次请求对root_ro的ACCESS报文,这个动作贯穿于NFS的所有交互中。
当前请求的目的是看是否有权限进行下面的对子目录的LOOK UP操作。
得到allow READ之后,开始逐个发送子目录或文件的LOOKUP报文。
在服务器发回的Reply报文中包含了这个目录或文件的句柄File Handle。
“NFS中一个基本概念是文件句柄(file handle)。
它是一个不透明(opaque)的对象,用来引用服务器上的一个文件或目录。
不透明
是指服务器创建文件句柄,把它传递给客户,然后客户访问文件时,使用对应的文件句柄。
客户不会查看文件句柄的内容——它的内容,只对服务器有意义。
“每次一个客户进程打开一个世纪位于一个NFS服务器上的文件时,NFS客户就会NFS服务器那里获得该文件的一个文件句柄。
每次NFS 客户为用户进程读或写时,文件句柄就会传给服务器以指定被访问的文件。
一般情况下,用户进程不会和文件句柄打交道——之有NFS客户和NFS服务器将文件句柄传来传去。
在第2版的NFS中,一个文件句柄占据32个字节,第3版中增加为64个字节。
”
——TCP/IP详解:卷1
1.3.3新建目录
在挂载根目录下,新建目录test1
新建目录时,首先进行两次ACCESS请求,获得对挂载根目录的操作权限。
经过上面两次请求,客户端向服务器查询要建立的目录是否存在。
服务器回复不存在。
客户端再经过一次ACCESS请求后,发送NFS的MKDIR报文。
服务器在返回Reply时,同时返回新建目录的file handle。
如下图:
图1-1
1.3.4改变文件属性
主要操作为:首先客户端请求对挂载根目录的权限,和根目录的属性来判断是否可以改变test1的属性。
再进行一次权限的请求,然后获得test1的属性。
最后通过SETA TTR请求来改变test1的属性。
1.3.5删除目录
主要交互过程和新建目录大致相同,不做冗述。
1.3.6卸载远程目录
先获得MOUNT的端口32771,在通过此端口卸载远程目录。