服务器 频道

Server2003对决2008系列之文件服务器

SMB 2.0

  自从文件服务功能被引入到Windows中以来,服务器消息块(Server Message Block,SMB) 远程文件系统协议就已成为Windows文件服务的基础。SMB文件系统的一个开放版本也称为通用Internet文件系统(Common Internet File System,CIFS)并为Microsoft广泛使用。

  如同Windows通过软件可以支持NFS一样,Linux/Unix通过Samba也可以支持SMB,实际上,不少的小型NAS都是使用了Linux + Samba来提供Windows文件服务器支持的。

  SMB 1.0最早在15年前的Windows for Workgroup出现,然而直到今天,我们仍然在使用这个古老的协议。在过去的几年中,SMB 的设计限制制约了Windows文件服务的性能和利用新的本地文件系统功能的能力。例如,单个消息能传输的最大缓冲区大小为约 60KB,并且 SMB 1.0 无法识别 Windows Vista 和 Windows Server 2008 中新增的 NTFS 客户端符号链接。

  Windows Vista和Windows Server 2008中引入了SMB 2.0,它是Windows最新的远程文件服务协议。除了能正确地处理客户端符号链接和一些其它的NTFS增强功能之外,SMB 2.0还使用批处理来最小化客户端和服务器之间的信息交换数量,它支持将多个请求封装到单一的数据包内,从而降低了损耗,允许传输更多的数据,最终提高了特别是广域网 (WAN) 这样高延迟的网络的吞吐量。


SMB协议可以运行于NetBIOS/NetBEUI/IPX以及TCP/UDP/IP上方

  SMB 2.0还允许更多的连接数量,SMB 1.0针对单个文件按顺序执行I/O,而SMB 2.0则实现了I/O管道,从而可针对同一文件执行多个并发I/O。SMB通过衡量客户端用于未完成I/O 的服务器内存数量来决定管道的深度。这些最终提升了文件服务的品质。

  如上一篇文章所述,由于Windows Server 2008的I/O内存管理器和I/O系统、TCP/IP协议方面的改进,SMB 2.0可以显著提高吞吐量并减少了大型传输的文件复制时间。不过由于SMB是一种Server/Client的架构,需要客户机和服务器都支持SMB 2.0方能达到最高的性能,我们测试的Windows Server 2008文件服务器支持SMB 2.0,而我们的60台客户机则只支持SMB 1.0(基于Windows XP操作系统),因此我们的测试只能反映出Windows Server 2008架构对SMB 1.0的提升。

  Windows Server 2003只支持SMB 1.0。我们期待下一步将所有的XP客户机都升级为支持SMB 2.0的Vista机器。

0
相关文章