当前位置:操作系统 > Unix/Linux >>

FreeBSDSMB/CIFS协议

在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议。这个协议被Microsoft用于它们Lan Manager和Windows NT服务器系统中,而Windows系统均包括这个协议的客户软件,因而这个协议在局域网系统中影响很大。

  随着Internet的流行,Microsoft希望将这个协议扩展到Internet上去,成为Inter net上计算机之间相互共享数据的一种标准。因此它将原有的几乎没有多少技术文档的SMB协议进行整理,重新命名为 CIFS(Common Internet File System),并打算将它与NetBIOS相脱离,试图使它成为Internet上的一个标准协议。

  因此,为了让Windows和Unix计算机相集成,最好的办法即是在Unix中安装支持SMB/CIFS协议的软件,这样Windows客户就不需要更改设置,就能如同使用Windows NT服务器一样,使用Unix计算机上的资源了。

  与其他标准的TCP/IP协议不同,SMB协议是一种复杂的协议,因为随着Windows计算机的开发,越来越多的功能被加入到协议中去了,很难区分哪些概念和功能应该属于Windows操作系统本身,哪些概念应该属于SMB 协议。其他网络协议由于是先有协议,实现相关的软件,因此结构上就清晰简洁一些,而SMB协议一直是与Microsoft 的操作系统混在一起进行开发的,因此协议中就包含了大量的Windows系统中的概念。

  • 浏览


  在SMB协议中,计算机为了访问网络资源,就需要了解网络上存在的资源列表(例如在Windows下使用网络邻居查看可以访问的计算机),这个机制就被称为浏览(Browsing)。虽然SMB协议中经常使用广播的方式,但如果每次都使用广播的方式了解当前的网络资源(包括提供服务的计算机和各个计算机上的服务资源),就需要消耗大量的网络资源和浪费较长的查找时间,因此最好在网络中维护一个网络资源的列表,以方便查找网络资源。只有必要的时候,才重新查找资源,例如使用Windows下的查找计算机功能。

  但没有必要每个计算机都维护整个资源列表,维护网络中当前资源列表的任务由网络上的几个特殊计算机完成的,这些计算机被称为Browser,这些Browser通过记录广播数据或查询名字服务器来记录网络上的各种资源。

  Browser并不是事先指定的计算机,而是在普通计算机之间通过自动进行的推举产生的。不同的计算机可以按照其提供服务的能力,设置在推举时具备的不同权重。为了保证一个Browser停机时网络浏览仍然正常,网络中常常存在多个Browser,一个为主Browser(Master Browser),其他的为备份Browser。
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,