产品背景知识——CIFS、SMB 和 Samba

产品背景知识——CIFS、SMB 和 Samba

1. SMB(Server Message Block)

  • 定义
    SMB 是一种网络协议,用于在计算机之间共享文件、打印机、串口等资源。它由 IBM 在 1980 年代开发,后被微软采用并扩展。

  • 发展历程

    • SMB 1.0:早期版本,存在严重安全漏洞(如永恒之蓝)。
    • SMB 2.0:随 Windows Vista 发布,性能显著提升,移除对 NetBIOS 的依赖。
    • SMB 3.0:随 Windows 8/Server 2012 发布,增加加密、多通道等功能。
    • SMB 3.1.1:增强安全性,支持 AES-128-GCM 加密。
  • 特点

    • 原生支持 Windows 系统,是 Windows 网络共享的核心协议。
    • 跨平台:Linux、macOS 等系统通过客户端软件支持 SMB。

2. CIFS(Common Internet File System)

  • 定义
    CIFS 是 SMB 协议的公开版本,由微软在 1990 年代标准化并推广。它本质上是 SMB 1.0 的扩展,增加了对 Internet 的支持。

  • 关系

    • CIFS ≈ SMB 1.0:CIFS 基于 SMB 1.0 并添加了 TCP/IP 支持,因此常被视为 SMB 的同义词。
    • 技术差异:CIFS 更强调跨网络(如 Internet)的文件共享,而早期 SMB 主要用于局域网。
  • 现状
    CIFS 已逐渐被更新的 SMB 版本(如 SMB 3.0)取代,但术语仍在某些场景中使用(如 Linux 中的 mount.cifs 命令)。

3. Samba

  • 定义
    Samba 是一个开源软件套件,用于在 Linux/Unix 系统上实现 SMB/CIFS 协议。它允许 Linux 服务器与 Windows 客户端无缝共享文件和打印机。

  • 功能

    • 文件服务器:使 Linux 成为 SMB 兼容的文件共享服务器。
    • 域控制器:支持 Active Directory 集成,替代 Windows Server。
    • 跨平台兼容性:桥接 Windows、Linux、macOS 等系统的文件共享。
  • 与 SMB 的关系

    • Samba 是 SMB 协议的 开源实现,而不是协议本身。
    • 支持最新的 SMB 版本(如 SMB 3.0+),但配置需手动调整以确保兼容性。

4. 核心区别总结

术语本质关键特点典型应用
SMB网络协议(家族)微软原生,不断演进(SMB 1.0/2.0/3.0)Windows 系统间共享
CIFSSMB 1.0 的公开扩展版本强调 Internet 支持,逐渐被 SMB 2.0+ 取代早期跨平台共享(已过时)
Samba开源软件(SMB 协议的实现)在 Linux/Unix 上实现 SMB 功能,支持 AD 集成Linux 作为文件服务器供 Windows 访问

5. 常见混淆场景

  • Linux 命令中的 CIFS
    Linux 中的 mount.cifs 命令实际支持多种 SMB 版本(通过 vers= 选项指定),名称保留是为了向后兼容。

  • 安全风险

    • SMB 1.0/CIFS 存在严重漏洞,建议禁用(如 Windows 中的 “SMB 1.0/CIFS 客户端” 功能)。
    • Samba 服务器需配置为使用 SMB 2.0+ 以提高安全性。

6. 如何选择?

  • Windows 环境:直接使用 SMB(默认启用)。
  • Linux 作为客户端:使用 mount.cifssmbclient 连接 SMB 服务器。
  • Linux 作为服务器:安装 Samba 并配置为支持 SMB 3.0+。
CIFS(Common Internet File System) 协议 CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机的服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议现在是局域网上用于服务器文件访问打印的协议。象SMB协议一样,CIFS在高层运行,而不象TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议超文本传输协议的一个实现。 SMB协议是基于TCP-NETBIOS下的,一般端口使用为139,445。 服务器信息块(SMB)协议是一种IBM协议,用于在计算机间共享文件、打印机、串口等。SMB 协议可以用在因特网的TCP/IP协议之上,也可以用在其它网络协议如IPXNetBEUI 之上。   SMB 一种客户机/服务器、请求/响应协议。通过 SMB 协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过 SMB 协议,应用程序可以访问远程服务器端的文件、以及打印机、邮件槽(mailslot)、命名管道(named pipe)等资源。   在 TCP/IP 环境下,客户机通过 NetBIOS over TCP/IP(或 NetBEUI/TCP 或 SPX/IPX)连接服务器。一旦连接成功,客户机可发送 SMB 命令到服务器上,从而客户机能够访问共享目录、打开文件、读写文件,以及一切在文件系统上能做的所有事情。   从 Windows 95 开始,Microsoft Windows 操作系统(operating system)都包括了客户机服务器 SMB 协议支持。Microsoft 为 Internet 提供了 SMB 的开源版本,即通用 Internet 文件系统 (CIFS)。与现有 Internet 应用程序如文件传输协议(FTP)相比, CIFS 灵活性更大。对于 UNIX 系统,可使用一种称为 Samba 的共享软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值