族谱网 头条 人物百科

服务器消息区块

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:247
转发:0
评论:0
特性SMB可以以不同方式运行在会话层或者更低的网络层之上:直接运行在TCP上port445;通过使用NetBIOSAPI,它可以运行在几种不同的transports:SMB的"进程间通信&q

特性

SMB可以以不同方式运行在会话层或者更低的网络层之上:

直接运行在 TCP 上 port 445;

通过使用NetBIOSAPI, 它可以运行在几种不同的 transports:

SMB的 "进程间通信" (IPC) 系统提供 命名管道s 机制,它使得程序员可以方便的实现继承认证(客户端第一次连接SMB服务获取认证信息后)。

一些服务的操作基于命名管道机制, 例如那些 Microsoft 内部实现的基于SMB的DCE/RPC, 被称为基于SMB的 MSRPC, 同时允许 MSRPC 客户端程序 处理认证过程(借助SMB服务提供的认证服务实现), 但是只在MSRPC客户端程序上下文中有效。

SMB 签名 : Windows NT 4.0 Service Pack 3 及后续版本提供了基于数字签名的SMB连接机制。常用的官方术语叫做“SMB 签名”。其他被同时被使用的官方术语有

一些未翻译的非现代汉语已进行隐藏,欢迎参与翻译。 "[SMB] Security Signatures", "SMB sequence numbers" 和 "SMB Message Signing". SMB 签名可以分别配置 SMB 传入连接 (handled by the "LanManServer" service) 和 SMB 传出连接 (handled by the "LanManWorkstation" service). Windows 98 及后续版本上的默认设置是 opportunistically sign outgoing connections whenever the server also supports this. And to fall back to unsigned SMB if both partners allow this. Windows domain controllers from Server 2003 及后续版本的默认设置是 to not allow fall back for incoming connections. 这个特性也可以在任何 Windows NT 4.0 Service Pack 3 及后续版本上打开. This protects from man-in-the-middle attacks against the Clients retrieving their policies from domain controllers at login.

Server Message Block version 2 (SMB2) 旨在通过将SMB signals合并为一个数据包来减轻这个性能限制。

SMB 支持 机会锁 — 一种特殊的锁机制 — 来提升性能。

SMB 服务是 Microsoft"s Distributed File System 实现的基础.

历史

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

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

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

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

在 Windows Vista 中微软又推出了 Server Message Block 2.0 ,后又在 Windows 7 中做了改进,截至2012年依次发布的主版本有 2.1 和 3.0。

SMB 2.0

2006年,Microsoft 随着Windows Vista的发布 引入了新的SMB版本 (SMB 2.0 or SMB2) ...

SMB 2.1

SMB 2.1, 随 Windows 7 和 Server 2008 R2 引入, 主要是通过引入新的机会锁机制来提升性能。

SMB 3.0

SMB 3.0 (previously named SMB 2.2) 在Windows 8 和 Windows Server 2012 中引入。它带来几项重大改变,例如 the SMB Direct Protocol (SMB over RDMA) 和 SMB Multichannel (multiple connections per SMB session), ...

实现

客户端-服务器端结构

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

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

性能问题

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

微软的更改

微软在实现其 SMB 时添加了许多功能,比如微软引入了NTLMv2,因为原来的第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 的文件。

FreeBSD 、 NetBSD 和 Mac OS X 均包含使用它们自己的虚拟文件系统的 SMB 客户端。

FreeNAS 是一个小型的网络存储设备服务,其目的在于使得用户可以重新使用老电脑作为文件服务器。它支持 CIFS/Samba 协议。

维尔软件公司实施过一个 SMB 。

Network Appliance 有一个 SMB 服务器的实施。

安全

多年以来,微软实现的其直接依赖的协议与组件都存在着许多安全漏洞。 其他供应商的安全漏洞主要在于缺乏对较新的 身份验证协议 ( 英语 : authentication protocol ) (例如 NTLMv2 ( 英语 : NTLMv2 ) 和Kerberos赞成如NTLMv1、 LanMan ( 英语 : LM hash ) 或纯文本密码)的支持。实时攻击跟踪 表明SMB是入侵企图的主要攻击媒介之一 ,例如2014年索尼影业遭黑客攻击事件 ,以及2017年的WannaCry勒索软件攻击。

相关条目

NetBIOS

NetBIOS Frames协议

NetBIOS over TCP/IP


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· 区块链
商业应用商业组织正在为各种应用开发分布式分类账和其他区块链启发的软件:参阅货币历史加密电子货币列表新兴技术列表参考文献来源张美.一文看懂可能颠覆金融业的比特币区块链技术.2015年11月16日(中文()‎).参见比特币Blockchain.info
· 服务器
定义有时,这两种定义会引起混淆,如网页服务器。它可能是指用于网站的计算机,也可能是指像Apache这样的软件,运行在这样的计算机上以管理网页组件和回应网页浏览器的请求。服务器(硬件)服务器作为硬件来说,通常是指那些具有较高计算能力,能够提供给多个用户使用的计算机。服务器与PC机的不同点很多,例如PC机在一个时刻通常只为一个用户服务。服务器与主机不同,主机是通过终端给用户使用的,服务器是通过网络给客户端用户使用的。和普通的PC相比,服务器需要连续的工作在7X24小时环境。这就意味着服务器需要更多的稳定性技术RAS,比如支持使用ECC内存。根据不同的计算能力,服务器又分为工作组级服务器,部门级服务器和企业级服务器。服务器操作系统是指运行在服务器硬件上的操作系统。服务器操作系统需要管理和充分利用服务器硬件的计算能力并提供给服务器硬件上的软件使用。现在,市场上有很多为服务器作平台的操作系统。类Un...
· ApacheHTTP服务器
历史Apache起初由伊利诺伊大学香槟分校的国家超级电脑应用中心(NCSA)开发。此后,ApacheHttpd被开放源代码团体的成员不断的发展和加强。ApacheHttp网站服务器拥有牢靠可信的美誉,已经在全球超过半数的网站中被使用-特别是几乎所有最热门和访问量最大的网站。比方说,维基百科网站服务器就是使用Apache的。刚开始发展时,Apache只是Netscape网页服务器(现在是SunONE(英语:SunONE))之外的开放源代码选择之一。慢慢地,它开始在功能和速度超越其他基于Unix的HTTP服务器。到了Apache2.x的时代,实际效率又比Apache1.x更快,2.x比1.x能同时服务更多的网页连接数。1996年4月以来,Apache一直是Internet上最流行的HTTP服务器:1999年5月它在57%的网页服务器上运行,到了2005年7月这个比例上升到了69%。在2005年...
· 消息
在人类沟通的角色在人与人沟通之际,消息可能是言语的或非言语的:言语的消息是使用语言或文字,例如面对面交谈、打电话、语音邮件等;非言语的消息是使用动作或行为沟通,而非语言或文字,例如肢体语言。在计算机科学“消息”一词在电脑运算上有两种主要意义:一种是由电脑系统本身发送而属于其人类用户之间的消息;另一种是为特定目的在不同计算机程序之间或一支程序的不同组件之间互相发送的消息。即时通信和电子邮件是典型的消息电脑软件,被设计用来传递人类可读的消息,将格式化或者非格式化的文本从一个用户传到另一个用户。消息传递是用于协同或平行运算、面向对象程序设计、跨程序通信的一种沟通型式,此时沟通是通过发出消息给接收者而运作。有关这种概念的消息相关应用,例如在Smalltalk或Java这种面向对象编程语言中,一个消息是发送一个对象,指定行动的请求。相关条目邮件航空邮件电子邮件特快专递即时通信信息
· 网页服务器
常见软件网页服务器占有率现在市面上普遍的网页(HTTP)服务器有:Apache软件基金会的ApacheHTTP服务器Microsoft的InternetInformationServer(IIS)Google的GoogleWebServerNginx公司的nginxlighttpd公司的lighttpdCherokee_(Web服务器)Microsoft的FrontPage一般功能虽然每个网页服务器程序有很多不同,但有一些共同的特点:每一个网页服务器程序都需要从网络接受HTTP请求,然后提供HTTP回复给请求者。HTTP回复一般包含一个HTML文件,有时也可以包含纯文本文件、图像或其他类型的文件。一般来说这些文件都存储在网页服务器的本地文件系统里,而URL和本地档名都有一个阶级组织结构的,服务器会简单的把URL对照到本地文件系统中。当正确安装和设置好网页服务器软件,服务器管理员会从服务器软...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信