CIFS 与 SMB 有什么区别?

https://www.getnas.com/2018/11/30/cifs-vs-smb/

网络协议 一知半解 学习一下挺好的.. 

记得 win2019 已经废弃了CIFS1.1的协议. 

SMB

Server Message Block - SMB,即服务(器)消息块,是 IBM 公司在 80 年代中期发明的一种文件共享协议。它只是系统之间通信的一种方式(协议),并不是一款特殊的软件。

SMB 协议被设计成为允许计算机通过本地局域网(LAN)在远程主机上读写文件。远程主机上通过 SMB 协议开放访问的目录称为 共享文件夹

CIFS

Common Internet File System - CIFS,即通用因特网文件系统。CIFS 是 SMB 协议的衍生品,即 CIFS 是 SMB 协议的一种特殊实现,由美国微软公司开发。

CIFS 与 SMB

由于 CIFS 是 SMB 的另一中实现,那么 CIFS 和 SMB 的客户端之间可以互访就不足为奇。

二者都是协议级别的概念,名字不同自然存在实现方式和性能优化方面的差别,如文件锁、LAN/WAN 网络性能和文件批量修改等。

CIFS 与 SMB:该用哪个?

时至今日,你仍旧应该使用 SMB 这个名称。

你可能会想:“既然它们几乎是相同的,为什么一定要叫 SMB?”

这里有两个原因:

  1. CIFS 实现的协议至今仍很少被使用。大多数现代存储系统不再使用 CIFS,而是使用 SMB2 或 SMB3。在 Windows 系统环境中,SMB2 和 SMB3 是事实使用的标准。

  2. 在学术上 CIFS 有消极的含义。SMB2 和 SMB3 是对 CIFS 协议的重大升级,存储架构工程师大多不喜欢这种命名。

Samba 和 NFS

CIFS 和 SMB 远不是文件共享协议的全部,如果要与旧版系统相互操作,很可能还需要其他的协议。Samba 和 NFS 就是你应该了解的另外两种优秀的文件共享协议。

SAMBA

Samba 是一组不同功能程序组成的应用集合,它能让 Linux 服务器实现文件服务器、身份授权和认证、名称解析和打印服务等功能。

与 CIFS 类似,Samba 也是 SMB 协议的实现,它允许 Windows 客户访问 Linux 系统上的目录、打印机和文件(就像访问 Windows 服务器时一样)。

重要的是,Samba 可以将 Linux 服务器构建成一个域控制器。这样一来,就可以直接使用 Windows 域中的用户凭据,免去手动在 Linux 服务器上重新创建的麻烦。

NFS

Network File System - NFS,即网络文件系统。由 Sun 公司面向 SMB 相同的功能(通过本地网络访问文件系统)而开发,但它与 CIFS/SMB 完全不兼容。也就是说 NFS 客户端是无法直接与 SMB 服务器交互的。

NFS 用于 Linux 系统和客户端之间的连接。而 Windows 和 Linux 客户端混合使用时,就应该使用 Samba。

CIFS 与 SMB 有什么区别?的更多相关文章

  1. NFS CIFS SAMBA 的联系和区别

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

  2. 通过SCVMM分配SMB 3.0 文件共享

    1.创建SMB群集共享,赋予Hyper-V主机. Hyper-V群集名称.Hyper-V管理员.Hyper-V服务账户完全控制权限 2.VMM提供程序导入 文件服务器(运行方式账户要对文件服务器群集的 ...

  3. SMB(Server Message Block) Protocal Research

    catalogue . 什么是SMB . 基础SMB协议 . SMB Clients and Servers 1. 什么是SMB 全世界有很多的客户端和服务端软件实现了SMB协议,全部windows工 ...

  4. SMB协议概述

    一.概述 SMB(Server Message Block)是由微软开发的一种软件程序级的网络传输协议,主要用来使得一个网络上的计算机共享计文件.打印机.串行端口和通讯等资源.它也提供认证的进行进程间 ...

  5. samba实现CentOS和window上的数据同步

    前言 之前做了一个项目,需要写python脚本来修改组件的安装方式,脚本是在windows下面的pycharm下面进行编写,但是编译要在linux上面进行分模块的maven编译,虽然之前也写了pych ...

  6. Atitit s2018.5 s5 doc list on com pc.docx  v2

    Atitit s2018.5 s5  doc list on com pc.docx  Acc  112237553.docx Acc Acc  112237553.docx Acc baidu ne ...

  7. Atitit s2018.5 s5 doc list on com pc.docx  Acc 112237553.docx Acc baidu netdisk.docx Acc csdn 18821766710 attilax main num.docx Atiitt put post 工具 开发工具dev tool test.docx Atiitt 腾讯图像分类相册管家.docx

    Atitit s2018.5 s5  doc list on com pc.docx  Acc  112237553.docx Acc baidu netdisk.docx Acc csdn 1882 ...

  8. Atitit s2018.2 s2 doc list on home ntpc.docx  \Atiitt uke制度体系 法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别 讯飞科大 语音云.docx \Atitit 代码托管与虚拟主机.docx \Atitit 企业文化 每日心灵 鸡汤 值班 发布.docx \Atitit 几大研发体系对比 Stage-Gat

    Atitit s2018.2 s2 doc list on home ntpc.docx \Atiitt uke制度体系  法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别   ...

  9. ubuntu上Android开发环境及依赖项

    [时间:2018-07] [状态:Open] [关键词:ubuntu,系统安装,开发环境搭建,android,工具集] Ubuntu系统版本:v18.04 LTS c/c++ dev (build-e ...

随机推荐

  1. python requests简介

    更为强大的库requests是为了更加方便地实现爬虫操作,有了它 , Cookies .登录验证.代理设置等操作都不是 . 一.安装requests模块(cmd窗口执行) pip3 install r ...

  2. C#基础知识之List和数组之间的转换

    1,从System.String[]转到List<System.String> System.String[] str={"str","string" ...

  3. 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南

    原文:http://my.oschina.net/wstone/blog/365010#OSC_h3_13 (WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 [X] ...

  4. 8.02-json_use

    import json # 1.字符串和 dic list转换 # 字符串(json)----dict list data = '[{"name":"张三",& ...

  5. [3] TensorFlow 深层神经网络

    深层神经网络简称为深度学习有两个非常重要的特性1. 多层2. 非线性 线性模型的局限性 :例如前面的神经网络有两层(不算输入层),但是它和单层的神经网络井没有区别,任意线性模型的组合仍然还是线性模型, ...

  6. ansible-playbook 实战案例 全网备份 实时备份

    目录 ansible-playbook 基础介绍 1.YAML三板斧 2. ansible playbook 安装apache 示例 案例 全网备份 实时备份 环境规划 目录规划 base.yaml ...

  7. ROS 创建服务和请求

    教程 维基 http://wiki.ros.org/cn/ROS/Tutorials 快速过程 创建包 $ cd ~/catkin_ws $ mkdir ~/catkin_ws/src $ cd ~/ ...

  8. falcon常用参数解析

    CPU.xxx cpu.idle cpu.idle表示除硬盘IO等待时间以外其它等待时间,这个值越大,表示cpu越空闲,还可以执行更多的任务,反之亦然,此处我们falcon展示的是idle的波动情况, ...

  9. WCF无.SVC文件服务激活,及不添加服务引用调用WCF

    一,新建WCF服务引用程序 1,删除.svc文件,全部删除. 2,新建 IService 类 namespace TestWcf { [ServiceContract] public interfac ...

  10. Java 将两个Map对象合并为一个Map对象

    实现方式是通过 putAll() 方法将多个 map 对象中的数据放到另外一个全新的 map 对象中,代码如下所示,展示了两个 map 对象的合并,如果是多个 map 合并也是用这种方式. publi ...