CIFS与NFS(转)
1、CIFS
Microsoft推出SMB(server message block)后,进一步发展,使其扩展到Internet上,成为common internet file system。
CIFS采用C/S模式,基本网络协议:TCP/IP和IPX/SPX;
两种资源访问模式:
(1) share level security:所有用户的共享资源访问口令是相同的,主要在win9x中使用;
(2) user level securyt:Win NT以后的OS只提供ULS,用于必须提供正确的U/P,并且每个用户权限可以是不同的。
C/S的交互模式:类似与三次握手;三个交互:
(1) 协议选择:双方选择合适的协议进行交互;
(2) 身份验证:按选定的协议登录server,由server对client进行身份验证;
(3) 资源获取:认证通过后,server和client进行交互,进行文件读写等操作。
注意:相同win OS中,所有机器都是对等的,扮演双重角色,可以作server,也可以是client。
CIFS是一种协议,和具体的OS关系不大,Unix在安装samba后可以使用CIFS;
2、 CIFS和NFS对比
(1) CIFS面向网络连接的共享协议,对网络传输的可靠性要求高,常使用TCP/IP;NFS是独立于传输的,可使用TCP或UDP;
(2) NFS缺点之一,是要求client必须安装专用软件;而CIFS集成在OS内部,无需额外添加软件;
(3) NFS属无状态协议,而CIFS属有状态协议;NFS受故障影响小,可以自恢复交互过程,CIFS不行;从传输效率上看,CIFS优于NFS,没有太多冗余信息传送;
(4) 两种协议都需要文件格式转换,NFS保留了unix的文件格式特性,如所有人、组等等;CIFS则完全安装win的风格来作。
NAS之文件系统之NFS
NFS:sun公司1984年推出,基于RPC构建,依靠Unix OS。
目的:通过网络连接来共享servers上的Files和Data。
基本原理:server借助NFS导出一个或多个可供远程客户端共享的目的,客户端mount server上的目录,实现对文件资源的共享。客户端借助RPC对服务器提出服务请求。
NFS是带Cache的,提高访问效率。
NFS的服务器提供三个关键守护进程:portmap,mounted,nfsd
(1) portmap ―― 监听固定端口,提供RPC服务,将TCP/IP的协议端口映射为RPC程序号;
(2) nfsd ―― 根据客户需求启动文件系统请求服务守护进程,处理用户需求;
(3) mounted ―― 发送文件句柄给客户端的mount进程。
其它进程nfsiod:用于提供IO吞吐率。
NFS特点:
(1) 无状态协议;
(2) 支持故障自恢复功能;可实现容错、容灾功能;
3、 NFS和CIFS网络文件系统
NFS(Network File System,网络文件系统)是当前主流异构平台共享文件系统之一。主要应用在UNIX环境下。最早是由SUN microsystem开发,现在能够支持在不同类型的系统之间通过网络进行文件共享,广泛应用在FreeBSD、SCO、Solaris等等异构操作系统平台,允许一个系统在网络上与他人 共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件,使得每个计算机的节点能够像使用本地资源一样方便的使用网上资源。换言之,NFS可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。
NFS的工作原理是使用客户端/服务器架构,由一个客户端程序和服务器程序组成。服务器程序向其它计算机提供对文件系统的访问,其过程就叫做“输出”。NFS客户端程序对共享文件系统进行访问时,把它们从NFS服务器“输送”出来。文件通常以“块”为单位进行传输,其尺寸是8K(虽然它可能会将操作分成更小尺寸的分片)。NFS传输协议用于服务器和客户机之间的文件访问和共享的通信,从而使客户机远程的访问保存在存储设备上的数据。
CIFS(Common Internet File System,公共互联网文件系统)是当前主流异构平台共享文件系统之一。主要应用在NT/Windows环境下,是由Microsoft公司开发。其工作原理是让CIFS协议运行与TCP/IP通信协议之上,让Unix计算机可以在网络邻居上被Windows计算机看到。
共享文件系统特点:
1、 异构平台下的文件共享:不同平台下的多个客户端可以很容易的共享NAS中的同一个文件。
2、 充分利用现有的LAN网络结构,保护现有**。
3、 冗余安装,使用和管理都很方便,实现即插即用。
4、 广泛的连接性:由于基于IP/Ethernet以及标准的NFS和CIFS,可以适应复杂的网络环境。
5、 内部资源的整合:可以将内部的磁盘整合成一个统一的存储池,以卷的方式提供给不同的用户,每一个卷可以格式化成不同的文件系统。
6、 允许应用进程打开一个远地文件,并能够在该文件的某一个特定的位置上开始读写数据。NFS可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件,在网络上传送的只是少量的修改数据。
需要注意的是,CIFS和NFS虽然统一也是文件系统(File System),但它并不能用于在磁盘中存储和管理数据,它定义的是通过TCP/IP网络传输文件时的文件组织格式和数据传输方式。利用CIFS和NFS共享文件实际涉及到两次的文件系统转换。客户端从服务器端申请一个文件时,服务器端首先从本地读出文件(本地文件系统格式),并以NFS/CIFS的格式封装成IP报文并发送给客户端。客户端收到IP报文以后,把文件存储于本地磁盘中(本地文件系统格式)。
4、 存储系统与文件系统
提到NAS,通常会想到传统的NAS设备,它具有自己的文件系统,具有较大的存储容量,具有一定的文件管理和服务功能。NAS设备和客户端之间通过IP网络连接,基于NFS/CIFS协议在不同平台之间共享文件,数据的传输以文件为组织单位。虽然NAS设备常被认为是一种存储架构,但NAS设备最核心的东西实际上在存储之外,那就是文件管理服务。从功能上来看,传统NAS设备就是一个带有DAS存储的文件服务器。从数据的IO路径来看,它的数据IO发生在NAS设备内部,这种架构与DAS毫无分别。而事实上,很多NAS设备内部的文件服务模块与磁盘之间是通过SCSI总线连接的。至于通过NFS/CIFS共享文件,完全属于高层协议通信,根本就不在数据IO路径上,所以数据的传输不可能以块来组织。正是由于这种功能上的重叠,在SAN出现以后,NAS头设备(或NAS网关)逐渐发展起来,NAS over SAN的方案越来越多,NAS回归了其文件服务的本质。
由此可知,NAS与一般的应用主机在网络层次上的位置是相同的,为了在磁盘中存储数据,就必须要建立文件系统。有的NAS设备采用专有文件系统,而有的NAS设备则直接借用其操作系统支持的文件系统。由于不同的OS平台之间文件系统不兼容,所以NAS设备和客户端之间就采用通用的NFS/CIFS来共享文件。至于SAN,它提供给应用主机的就是一块未建立文件系统的“虚拟磁盘”。在上面建立什么样的文件系统,完全由主机操作系统确定。
CIFS与NFS(转)的更多相关文章
- 搭建服务器之文件共享cifs,nfs,samba
cifs: 微软系统中用于网上邻居共享的一个机制,在linux下也可以通过命令mount -t cifs .....来挂载共享的文件目录等. nfs: linux之间的共享文件方式,基于rpc ser ...
- 测试nfs和cifs
losetup /dev/loop1 file1.img losetup /dev/loop2 file2.img losetup /dev/loop3 file3.img mkfs -t ext4 ...
- NFS vs. CIFS
1. CIFS协议分析 CIFS(Common Internet File System,公共互联网文件系统)是当前主流异构平台共享文件系统之一.主要应用在NT/Windows环境下,是由Micro ...
- NFS CIFS SAMBA 的联系和区别
Common Internet File System, CIFS Server Message Block, SMB Network File System, NFS 在早期网络世界当中,档案数据在 ...
- 自己家里搭建NAS服务器有什么好方案?
转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...
- 1o_Samba
∮Linux下Samba的安装配置 §Linux 下文件共享软件 Samba 是一款实现跨主机,跨平台文件共享的软件.同类型的软件还有 ftp,nfs 不再赘述. §文件共享协议 Windows : ...
- 存储OS
openfiler这个登陆慢 是https协议的问题 http://www.getnas.com/open-source-nas FreeNAS®,目前最受欢迎的开源免费 NAS 操作系统之一,基于以 ...
- 虚拟机里面安装Openfiler 2.99
简介 Openfiler 由rPath Linux驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN).Open ...
- [IT新应用]存储入门-文件级存储及块级别存储的选择
http://www.techrepublic.com/blog/the-enterprise-cloud/block-level-storage-vs-file-level-storage-a-co ...
随机推荐
- ant中调用外部ant任务的两种方法
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- HDU 5002 Tree LCT 区间更新
Tree Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?c ...
- iOS开发——UI篇OC篇&UICollectionView详解+实例
UICollectionView详解+实例 实现步骤: 一.新建两个类 1.继承自UIScrollView的子类,比如HMWaterflowView * 瀑布流显示控件,用来显示所有的瀑布流数据 2. ...
- 定时自动同步文件,支持多文件夹同步,支持过滤文件和文件夹,解决FileSystemWatcher多次文件触发事件(源码)
博客园里面有很多同步工具和软件,关于FileSystemWatcher类解释的也很多,但收集了很多文章后,感觉没好的方法,自己没事写了一个定时文件同步,借鉴了很多博客园朋友的东西: 上主菜: 配置文件 ...
- linux文件夹操作(及模糊搜索)
mkdir 文件夹名称 :创建文件夹 touch 文件名称 : 创建文件 给文件夹或文件授权 chmod -R 777 文件夹名称 : 递归给文件夹授读写执行权限 chmo ...
- JavaScript网站设计实践(三)设计有特色的主页,给主页链接添加JavaScript动画脚本
一.主页一般都会比较有特色,现在在网站设计(二)实现的基础上,来给主页添加一点动画效果. 1.这里实现的动画效果是:当鼠标悬停在其中某个超链接时,会显示出属于该页面的背景缩略图,让用户知道这个链接的页 ...
- Asp.Net 之 当前上下文中不存在名称" Server "
在开发中经常用到应用程序的物理路径,在获取应用程序中文件的物理路径时最常用: string path = Server.MapPath("Document/example.doc" ...
- eclipse安装插件的方法,以python为例子
一 转载自:http://www.cnblogs.com/linzhenjie/articles/2639113.html 1.基本需求 1.Eclipse 集成开发环境下载 http://115.c ...
- linux下修改环境变量
把/etc/apache/bin目录添加到PATH中,方法有三: 1.#PATH=$PATH:/etc/apache/bin 使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH ...
- Gmail账户安全冰山一角
本文没有任何价值,只是一个事实的记录. 看到qq邮箱有个代理其他邮箱的功能,就好奇地输入了我的Gmail邮箱,结果代理不成功. 本来没care,后来gmail自己弹出来一封邮件. 后来我确认是本人所为 ...