文件共享协议SMB、CIFS和Samba的区别

SMB、CIFS和Samba是在计算机网络中用于文件共享的相关协议和软件,很多朋友看到这几个单词会比较陌生,它们之间有什么区别和联系呢?

如果你已经是一名在“社会大学”混迹许久的上班族,那么或多或少用过Windows系统的“网上邻居”(WinXP时代叫法),或者叫“网络”(Win7及更高版本系统的叫法)。在“我的电脑”、“计算机”或者“此电脑”的左侧一般都能看到它,如下图。

SMB、CIFS和Samba的区别

既然NAS名为“网络存储器”,那么“共享访问”才是让它名副其实、最基础的系统功能,而SMB协议又是最常见、通用的共享协议,所以市面上现有的NAS产品,无论是老牌厂商的群晖、威联通、铁威马、万由、爱速特(原华芸)、华硕等,还是国内NAS品牌新秀的极空间、绿联、奥睿科等,又或是UNRAID、TrueNAS、FreeNAS、OpenMediaVault等独立的NAS系统开发商,都会内置支持SMB协议,作为产品系统里对“网络共享”功能提供最基本的支撑。

在SMB协议出现之前,如果需要在各个电脑之间交换数据,可能需要用到软盘或者其他介质的硬件设备进行拷贝,再在另一台电脑上读取修改。或者通过FTP协议传输,但是FTP协议无法像SMB一样可以直接在远程主机上修改文件,只能下载到本地修改再上传,这样就显得异常繁琐,还可能因为忘记上传导致其他人调用的数据不同步。

而SMB协议诞生之后,通过它就可以轻松访问到其他电脑(设备)上的文件,在公司内部可以方便地在各个电脑之间实现文件的共享传输、甚至是直接打开修改、保存远程电脑上的文件等操作;或者家用场景中,直接用电脑、手机等终端设备直接播放NAS上的影音文件。

下面再来说说,SMB、CIFS和Samba三者之间的区别和联系。

SMB

SMB(Server Message Block)是一种用于在计算机网络中进行文件和打印机共享的协议,是IBM公司在80年代中期开发的一种文件共享协议,后来由微软引入Windows操作系统中。SMB协议允许计算机之间共享文件、打印机和其他资源,以便用户可以在网络上访问和使用它们。SMB协议通常运行在TCP/IP网络上。

CIFS

CIFS全称是“Common Internet File System”译为“通用互联网文件系统”,是90年代中期由微软公司开发,以一种特殊方式实现的SMB协议,属于SMB协议的衍生,且当时微软曾提议将SMB更名为CIFS,但时至今日无论是产品厂商还是用户都更愿意使用SMB,所以在某些NAS上会同时看到SMB和CIFS的名词。虽然两者在实际功能上略有不同,但是两者都是共享协议。CIFS是SMB协议的一种扩展,它添加了对跨互联网的文件访问的支持。CIFS协议运行在TCP/IP上,并使用NetBIOS(Network Basic Input/Output System)或者TCP端口445进行通信。

Samba

由于初期SMB协议仅在Windows平台流行,后来一个名为Samba的软件项目被创立,用于实现在Linux或UNIX等非Windows系统下兼容SMB协议,使得非Windows系统也能够通过SMB协议在各个设备之间实现“共享访问”等功能。而现在主流的NAS系统均以Linux系统底层进行开发,所以在一些专业的NAS系统中,可能会看到Samba这个名词的身影。

总结

现如今SMB已经“占领”了全平台,成为了通用性最强的共享协议!常见的微软Windows系,开源的Linux系(如Ubuntu、CentOS等),谷歌的Android(手机、平板、电视、投影仪等)、苹果的macOS、iOS、iPadOS,Apple tvOS等系统,均支持SMB协议,这就使得所有平台的设备均可以通过SMB协议进行数据交互,也就让NAS设备作为家庭、企业的“数据共享中心”成为了可能。

当然SMB只是诸多共享协议中的一种,虽然其得到全平台的支持成为通用性的“最强王者”,但是在某些兼容性方面,可能会有不一样的表现,所以其他平台也有各自的共享协议,例如Linux的NFS协议、macOS的AFP协议等。

因此,SMB是最初的文件共享协议,CIFS是SMB协议的互联网扩展,而Samba是一个开源软件套件,用于在Linux和UNIX系统上实现SMB/CIFS协议,实现与Windows系统的互操作性。

✅来源:十一张博客
© 版权声明
THE END
如果觉得这篇文章对您有帮助,不妨考虑请我喝杯奶茶😄
点赞1赞赏 分享
评论 抢沙发
头像
评论人工审核通过显示,请勿重复提交!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容