由于打开操作有状态,所以产生了另一个问题 。大多数操作系统在打开文件的时候检查许可权限,在每一次读写请求的时候检查文件是否打开 。在无状态的服务器中,服务器没有办法知道文件是否打开,必须在每次读写调用的时候检查许可权限 。在一个本地文件系统上,用户可以打开文件,然后改变权限不答应别人接触它,但是仍然能够写文件,因为文件是打开的 。相反,在远程文件系统上,写操作将失败 。为了避免这种问题,服务器的许可检查算法将答应文件的所有者访问文件,而不管许可的设置 。
在从网络中的文件上进行页面调度的时候,也会出现相似的问题 。操作系统在打开一个文件进行页面调度之前,总是检查执行许可权限,然后从打开的文件中读取块 。文件可能没有读许可权限,但是在文件打开后,这就不是一个问题了 。NFS服务器不能区分在正常文件读和页面调入请求读之间的区别 。为了使这个可以工作,假如在调用中被给的"uid"在文件上有执行或者读许可权限,服务器将答应读文件 。
在大多数操作系统中,一个非凡的用户(在UNIX上,用户ID为0)有访问所有文件的权限,而不管文件中的所有权和设定的许可权限 。"super-user"权限在服务器上不可能被答应,因为在自己工作站上的任何具有超级用户权限的人都能访问所有的远程文件 。UNIX服务器在访问检查前,默认把用户ID0映射为-2 。这个工作在NFS的根文件系统中例外,在那里超级用户访问不能避免 。
3.4RPC信息
认证
NFS服务使用AUTH_UNIX,AUTH_DES或者AUTH_SHORT类型的认证,
在NULL过程中例外,在那里AUTH_NONE也被答应 。
传输协议
NFS通常由UDP支持 。
端口号
NFS协议当前使用UDP端口号2049 。这不是一个正式分配的端口号,所以,
这个协议的后继版本使用RPC的“端口映射”工具 。
3.4XDR结构的尺寸
这里有一些使用在此协议中不同的XDR结构的尺寸,用十进制字节给出 。
/*
*在读写请求中的数据的最大字节数 。
*/
constMAXDATA=https://www.rkxy.com.cn/dnjc/8192;
/*在路径参数中的最大字节数*/
constMAXPATHLEN=1024;
/*在文件名参数中的最大字节数*/
constMAXNAMLEN=255;
/*被READDIR传送的"cookie"字节数的大小*/
constCOOKIESIZE=4;
/*不透明文件句柄的字节数的大小*/
constFHSIZE=32;
3.6设置RPC的参数
不同的文件系统参数和选项应该在安装的时候设置 。安装协议在附录中描述 。例如,象“硬”安装一样,“软”安装也被提供 。当RPC操作失败(在给出一个重传的选项号后),软安装文件系统返回错误,而硬安装文件系统一直继续重传 。最大的传输尺寸依靠于实现 。对于在一个本地网的有效操作来说,通常使用8192字节的数据 。这可能导致下层的分段(诸如在IP层) 。既然一些网络接口不答应这样的包,对于在低速网络、主机上的操作,或者通过网关的操作,512或1024字节总是提供较好的结果 。
客户机和服务器可能需要把当前的操作保存在缓冲区中,以帮助避免因为非幂等的操作产生的问题 。例如,假如传输协议丢失了删除文件操作的响应,在重传的时候,服务器可能返回一个NFSERR_NOENT来代替NFS_OK 。但是,假如服务器保持上次的请求操作和结果,它可能返回正确的成功的代码 。当然,服务器在重传之间可能崩溃、重起 。但是一块很小的缓冲区(甚至只是容纳一个条目)将解决大部分的问题 。
附录A安装协议定义
A.1.简介
安装协议与NFS协议分离,但是与NFS协议相关 。它提供了操作系统特定的服务来扩展NFS的功能:查询服务器路径名,使用户身份有效,检查访问权限 。客户端使用安装协议得到第一个文件句柄,这答应客户进入一个远程的文件系统 。
推荐阅读
- Win10忘记网络密码具体解决步骤
- 在NetBIOS网络上传输IP数据报的标准
- vivox23幻彩版连接电脑传文件
- 荣耀9x怎么在桌面新建文件夹
- py是什么梗
- 随e行登录后WLAN网络会被断开
- 如何清理PSP缓存
- 随e行WLAN网络哪些是中国移动
- GameCIH2如何进入隐藏模式
- vivoy91怎么在桌面创建文件夹
