ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
SMB - Wikipedia

SMB

维基百科,自由的百科全书

SMBServer Message Block,又稱Common Internet File SystemCIFS))是由微软开发的一种软件程序级的网络传输协议,主要用来使得一个网络上的机器共享计算机文件打印机串行端口和通讯等资源。它也提供认证的行程間通訊机能。它主要用在装有Microsoft Windows的机器上,在这样的机器上被称为Microsoft Windows Network

经过Unix服务器厂商重新开发后,它可以用于连接Unix服务器和Windows客户机,执行打印和文件共享等任务。

CIFS 的消息格式不同与NFS的固定长度格式, 大多数消息体都包含可变长的数据,这带来一定的协议复杂性。CIFS 消息一般在netbios或Tcp协议层上,分别使用不同的端口 139 或445, 目前倾向于使用445端口。CIFS的消息包括一个消息头(32字节)和消息体(1个或多个,可变长)。

目录

[编辑] 历史

SMB最初是IBM的贝瑞·费根鲍姆(Barry Feigenbaum)研制的,其目的是将DOS操作系统中的当地文件接触接口“中断13”改造为网络文件系统。后来微软对这个发展进行了重大更改,这个更改后的版本也是最常见的版本。微软将SMB协议与它和3Com一起发展的网络管理程序结合在一起,并在Windows for Workgroups和后来的Windows版本中不断加入新的功能。

SMB一开始的设计是在NetBIOS协议上运行的(而NetBIOS本身则运行在NetBEUIIPX/SPX或{{lang|en|TCP/IP协议上),Windows 2000引入了SMB直接在TCP/IP上运行的功能。在这里我们必须区分SMB协议和运行在这个协议上的SMB业务,以及NetBIOS和使用SMB作为认证隧道的DCE/RPC业务。此外我们还要区分主要(但不仅仅)直接使用NetBIOS数据报的“网络邻居”协议。

1996年,约于升阳推出WebNFS的同时[1],微软提出将SMB改称为Common Internet File System[2]。此外微软还加入了许多新的功能,比如符号链接、硬链接、提高文件的大小。微软还试图支持直接联系,不依靠NetBIOS,不过这个试图依然处于尝试阶段,并需要继续完善。微软向互联网工程工作小组提出了部分定义作为互联网草案[3]。不过这些提案现在均已过期。

由于SMB协议对于与占主要地位的Microsoft Windows平台通讯时的重要性,而目前该平台使用的Template:SMB协议与初始的版本相比有巨大的改变,因此Samba项目就是被创立来逆向工程来提供一个与SMB软件兼容的自由软件,使得非微软操作系统也能够使用它。

Windows Vista中微软又推出了Server Message Block 2.0

[编辑] 实施

[编辑] 客户端-服务器端结构

SMB使用点对点的通讯方式,一个客户端向一个服务器提出质询,服务器相应地回答。SMB协议中的一部分专门用来接触文件,使得客户端可以接触一个文件服务器SMB也有行程間通訊的部分。SMB协议尤其适用于局部子网,但是也可以被用来通过万维网来链接不同的子网。Microsoft Windows的文件和打印机分享主要使用这个功能。

SMB服务器向网络上的客户端提供文件系统和其它资源。客户端电脑也可能有其自己的、不共享的硬盘,但是可能也想使用服务器上分享的文件系统和打印机。这是SMB为什么这么出名和广泛地被使用的原因。SMB普及的另一个原因是它使用适合NT网域的协议,至少提供基于NT网域式的认证。NT网域协议是一个微软远程过程调用服务,几乎只能被SMB行程間通訊有名管道使用。几乎所有SMB服务器的实施使用NT网域来认证用户是否可以解除一个资源。

[编辑] 速度问题

一般认为SMB协议使用很多网络带宽,因为每个客户端均在整个子网内广播其存在。但是SMB本身并不使用广播。SMB造成的广播问题实际上是NetBIOS服务中的定位协议造成的。一般来说Microsoft Windows服务器使用NetBIOS来协议和定位服务。而NetBIOS则定时向一个特定的服务器广播一个服务的存在。对于一个少于20个服务器的网络来说这个方式是可行的。但是随服务器数目的增加广播造成的交通会导致问题。通过适当地实施Windows Internet名字服务(WINS)定位协议这个问题可以被缓和。WINS使用更高级的系统来确定和中央化服务需求,但是造成自己的设计和保管网络的问题。動態DNS是另一个解决方法。微软本身推荐在微软的活动目录环境下使用動態DNS。网络延迟对SMB协议的速度有非常大的冲击。在服务器之间网络延迟大的情况下通过SMB来更换档案夹非常明显地反映了这个问题。比如在通过万维网使用虛擬私人網路时网络延迟就会比较大,这时使用SMB就很恼人。

[编辑] 微软的更改

微软在实施其SMB时添加许多功能,比如微软引入了NTLM版本2,因为原来的版本1使用的DES有错。此外NT 4.0美国以外使用40位加密,对于今天的标准来说不可靠。

[编辑] 特点

SMB的行程間通訊机构值得一提。通过这个系统它提供有名管道。这个机构是最早的、程序员可以使用的少数行程間通訊之一,它继承客户端联系SMB服务器时的认证来提供服务。有名管道继承认证是一个独特和透明的机构,因此使用Windows API的程序员和Windows的用户均将它看作是自然的。

奇怪的是有些服务使用有名管道,比如使用通过SMB的微软远程过程调用的程序,也允许微软远程过程调用客户端程序进行自己的认证,并且由此掩盖SMB服务器的认证。但是这个掩盖只在客户端程序的认证成功的情况下才生效。

另一个特点是SMB对文件使用一种特殊的、被称为伺机锁定的锁定机构来提高速度。

微软的分布式文件系统实施是基于SMB上的。

[编辑] 其它实施和版本

以下列出的包括SMB客户端、服务器以及不同的扩展SMB的协议。

  • Samba是对SMB和微软的扩展的重新实施,它是自由软件,包括服务器和命令行客户端。
  • Samba-TNG是一款Samba的衍生版本。
  • Linux内核包括两个SMB客户端实施,它们使用虚拟文件系统通过标准文件系统应用程序接口提供接触SMB服务器上的文件。
  • ONStor公司实施了其自己的SMB,这个实施也支持NFS协议。
  • Novell NetWare版本6以上提供CIFS服务器实施,使得Microsoft Network客户端可以解除NetWare的文件。
  • FreeBSDNetBSDMac OS X均包含使用它们自己的虚拟文件系统的SMB客户端。
  • FreeNAS是一个小型的網路儲存設備服务,其目的在于使得用户可以重新使用老电脑作为文件服务器。它支持CIFS/Samba协议。
  • 维尔软件公司实施过一个SMB
  • Network Appliance有一个SMB服务器的实施。

[编辑] 参考资料

[编辑] 外部链接


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -