Linux nfs

nfs简介
1.1 nfs特点
●NFS (Network File System) 即网络文件系统,是FreeBSDP支持的文件系统中的一种, 它允许网络中的计算机之间通过TCP/IP网络共享资源。
●在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
●nfs适用于Linux与Unix之间实现文件共享,不能实现L inux与Windows间的文件共享功能。
●nfs是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上
●nfs服务只能基于IP进行认证,这也是它的缺点之一

TCP/IP协议:
TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

OSI七层模型:

应用层
网络服务与最终用户的一个接口。
协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP

表示层
数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
格式有,JPEG、ASCll、DECOIC、加密格式等

会话层
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话

传输层
定义传输数据的协议端口号,以及流控和差错校验。
协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层

网络层
进行逻辑地址寻址,实现不同网络之间的路径选择。
协议有:ICMP IGMP IP(IPV4 IPV6)

数据链路层
建立逻辑连接、进行硬件地址寻址、差错校验 [2] 等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。

物理层
建立、维护、断开物理连接。(由底层网络定义协议)

1.2使用nfs的好处
●节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用
●用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络.上被访问使用
●些存储设备如软驱、CDROM和Zip (一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量

1.3 nfs的体系组成
nfs体系至少有两个主要部分:
●一台nfs服务器
●若干台客户机.
nfs体系的架构图如下:

客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据
在NFS服务器正式启用前,需要根据实际环境和需求,配置-些NFS参数

1.4 nfs的应用场景
nfs有很多实际应用场景,以下是一些常用的场景:
●多个机器共享一台CDROM或其他设备。这对于在多台机器中安装软件来说更加便宜与方便
●在大型网络中,配置一台中心NFS服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录
●不同客户端可在NFS.上观看影视文件,节省本地空间
●在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下

  1. nfs工作机制
    nfs是基于rpc来实现网络文件系统共享的。所以我们先来说说rpc。

2.1 RPC
RPC (Remote Procedure Call Protocol) ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。