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(转)的更多相关文章

  1. 搭建服务器之文件共享cifs,nfs,samba

    cifs: 微软系统中用于网上邻居共享的一个机制,在linux下也可以通过命令mount -t cifs .....来挂载共享的文件目录等. nfs: linux之间的共享文件方式,基于rpc ser ...

  2. 测试nfs和cifs

    losetup /dev/loop1 file1.img losetup /dev/loop2 file2.img losetup /dev/loop3 file3.img mkfs -t ext4 ...

  3. NFS vs. CIFS

    1.  CIFS协议分析 CIFS(Common Internet File System,公共互联网文件系统)是当前主流异构平台共享文件系统之一.主要应用在NT/Windows环境下,是由Micro ...

  4. NFS CIFS SAMBA 的联系和区别

    Common Internet File System, CIFS Server Message Block, SMB Network File System, NFS 在早期网络世界当中,档案数据在 ...

  5. 自己家里搭建NAS服务器有什么好方案?

    转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...

  6. 1o_Samba

    ∮Linux下Samba的安装配置 §Linux 下文件共享软件 Samba 是一款实现跨主机,跨平台文件共享的软件.同类型的软件还有 ftp,nfs 不再赘述. §文件共享协议 Windows : ...

  7. 存储OS

    openfiler这个登陆慢 是https协议的问题 http://www.getnas.com/open-source-nas FreeNAS®,目前最受欢迎的开源免费 NAS 操作系统之一,基于以 ...

  8. 虚拟机里面安装Openfiler 2.99

    简介 Openfiler 由rPath Linux驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN).Open ...

  9. [IT新应用]存储入门-文件级存储及块级别存储的选择

    http://www.techrepublic.com/blog/the-enterprise-cloud/block-level-storage-vs-file-level-storage-a-co ...

随机推荐

  1. hdu1754线段树维护区间最大值

    #include <iostream> #include <cstdio> using namespace std; #define MAXN 200005 int N,M; ...

  2. Myeclipse:No projects are available for deployment to this server!

    这是因为以前的项目不是用myEclipse创建的,所以用myeclipse deploy的时候找不到你的项目. 可以这样做:右击原项目名 - myeclipse - Add myeclipse  We ...

  3. 正则表达式30分钟入门教程<转载>

    来园子之前写的一篇正则表达式教程,部分翻译自codeproject的The 30 Minute Regex Tutorial. 由于评论里有过长的URL,所以本页排版比较混乱,推荐你到原处查看,看完了 ...

  4. 禁止UINavigationController 左滑 返回的效果

    在iOS7中,新增加了一个小小的功能,也就是这个:self.navigationController.interactivePopGestureRecognizer.enabled = YES;

  5. 感动前行——给医学媳妇写的演讲稿(非IT类)

    感动前行 我是一个平庸的人,走在人群中大家可能不能辨别出我.我是一个平庸的人,每天上班.工作.吃饭.睡觉.我是一个平庸的人,来了医院多半年也仅仅和检验科的同事相对照较熟悉,其它科室人员非常少有交流. ...

  6. 编写程序,查找并删除forward_list<int>中的奇数元素

    #include<iostream> #include<forward_list> using namespace std; int main() { forward_list ...

  7. VMware:虚拟机磁盘空间不足怎么办

    前言: 虚拟机里一般我们用的虚拟磁盘,在电脑上是一个或多个文件,随着软件和数据的增多,有时也会提示磁盘空间不足. 那么,虚拟机磁盘空间不足如何处理呢?   一:调整磁盘分区大小; 若只是提示相应磁盘分 ...

  8. mysql sql语句使用技巧

    mysql更新数据限制limitmysql更新时,要更新记录中某个区间的数据,只能用WHERE条件来限制了,用LIMIT只能限制更新多少条!测试如下:UPDATE products SET goods ...

  9. Ambiguous mapping found. Cannot map 'xxxxController' bean method

    1.背景 今天要做一个demo,从github上clone一个springmvc mybatis的工程(https://github.com/komamitsu/Spring-MVC-sample-u ...

  10. Routing and controllers

    Routing and controllers We will build a very simple inventory system to display our album collection ...