Server Message Block: Difference between revisions

Content deleted Content added
SMB 2.0: Combine sentences to reduce redundancy.
changed NFS to SMB for Likewise
 
(3 intermediate revisions by 2 users not shown)
Line 3:
'''Server Message Block''' ('''SMB''') is a [[communication protocol]]<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/aa365233(VS.85).aspx|title=Microsoft SMB Protocol and CIFS Protocol Overview|publisher=[[Microsoft]]|date=October 22, 2009|access-date=April 10, 2019|archive-url=https://web.archive.org/web/20160802013033/https://msdn.microsoft.com/en-us/library/aa365233(vs.85).aspx|archive-date=August 2, 2016|url-status=live}}</ref> used to share files, [[Printer (computing)|printers]], [[serial port]]s, and miscellaneous communications between [[Node (networking)|nodes]] on a [[Computer network|network]]. On [[Microsoft Windows]], the SMB implementation consists of two vaguely named [[Windows service]]s: "Server" (ID: <code>LanmanServer</code>) and "Workstation" (ID: <code>LanmanWorkstation</code>).<ref name=":0">{{Cite web |title=Lan Manager Networking Concepts |url=http://support.microsoft.com/kb/86899 |url-status=dead |archive-url=https://web.archive.org/web/20121230184225/http://support.microsoft.com/kb/86899 |archive-date=December 30, 2012 |access-date=September 18, 2014 |website=Support |publisher=Microsoft}}</ref> It uses [[NTLM]] or [[Kerberos (protocol)|Kerberos]] protocols for user authentication. It also provides an authenticated [[inter-process communication]] (IPC) mechanism.
 
SMB was originally developed in 1983 by Barry A. Feigenbaum at IBM<ref name="tridgemyths" /> to [[shared access|share access]] to [[Computer file|files]] and [[Printer (computing)|printers]] across a network of systems running IBM's [[OS/2IBM PC DOS]]. In 1987, [[Microsoft]] and [[3Com]] implemented SMB in [[LAN Manager]] for [[OS/2]], at which time SMB used the [[NetBIOS]] service atop the [[NetBIOS Frames]] protocol as its underlying transport. Later, Microsoft implemented SMB in [[Windows NT 3.1]] and has been updating it ever since, adapting it to work with newer underlying transports: [[TCP/IP]] and [[NetBIOS over TCP/IP|NetBT]]. SMB over [[QUIC]] was introduced in [[Windows Server 2022]].
 
In 1996, Microsoft published a version of SMB 1.0<ref name=":2" /> with minor modifications under the '''Common Internet File System''' ('''CIFS''' {{IPAc-en|s|ɪ|f|s}}) moniker. CIFS was compatible with even the earliest incarnation of SMB, including [[LAN Manager]]'s.<ref name=":2" /> It supports symbolic links, hard links, and larger file size, but none of the features of SMB 2.0 and later.<ref name=":2">{{cite web|date=18 July 2012|title=Common Internet File System|url=https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc939973(v=technet.10)|website=Windows 2000 Web and Application Services Technical Overview|publisher=Microsoft|via=[[Microsoft Docs]]|access-date=30 January 2022|archive-date=30 January 2022|archive-url=https://web.archive.org/web/20220130134645/https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc939973(v=technet.10)|url-status=live}}</ref><ref>{{cite web|last1=Coulter|first1=David|last2=Satran|first2=Michael|last3=Batchelor|first3=Drew|date=8 January 2021|title=Microsoft SMB Protocol and CIFS Protocol Overview|url=https://docs.microsoft.com/en-us/windows/win32/fileio/microsoft-smb-protocol-and-cifs-protocol-overview|website=Windows App Development|publisher=[[Microsoft]]|via=[[Microsoft Docs]]|access-date=30 January 2022|archive-date=28 January 2022|archive-url=https://web.archive.org/web/20220128051636/https://docs.microsoft.com/en-us/windows/win32/fileio/microsoft-smb-protocol-and-cifs-protocol-overview|url-status=live}}</ref> Microsoft's proposal, however, remained an [[Internet Draft]] and never achieved standard status.<ref name="IETF" /> Microsoft has since discontinued the CIFS moniker but continues developing SMB and publishing subsequent specifications. [[Samba (software)|Samba]] is a [[free software]] reimplementation of the SMB protocol and the Microsoft extensions to it.
Line 105:
 
=== Netsmb ===
NSMB (Netsmb and SMBFS) is a family of in-kernel SMB client implementations in BSD operating systems. It was first contributed to [[FreeBSD]] 4.4 by Boris Popov, and is now found in a wide range of other BSD systems including [[NetBSD]] and [[macOS]].<ref>{{cite web |title=netsmb(4) |url=https://man.netbsd.org/NetBSD-8.0/man4/netsmb.4 |website=NetBSD 8.0 manual pages |access-date=5 January 2020 |archive-date=17 November 2022 |archive-url=https://web.archive.org/web/20221117092107/https://man.netbsd.org/NetBSD-8.0/man4/netsmb.4 |url-status=live }}</ref> The implementations have diverged significantly ever since.<ref>{{man|5|nsmb.conf|FreeBSD}}.</ref>
 
The macOS version of NSMB is notable for its now-common scheme of representing symlinks. This "Minshall-French" format shows symlinks as textual files with a {{code|.symlink}} extension and a {{code|Xsym\n}} magic number, always 1067 bytes long. This format is also used for storing symlinks on native SMB servers or unsupported filesystems. Samba supports this format with an {{code|mfsymlink}} option.<ref>{{cite web |title=UNIX Extensions |url=https://wiki.samba.org/index.php/UNIX_Extensions#Storing_symlinks_on_Windows_servers |website=SambaWiki |access-date=March 15, 2020 |archive-url=https://web.archive.org/web/20200612000308/https://wiki.samba.org/index.php/UNIX_Extensions#Storing_symlinks_on_Windows_servers |archive-date=June 12, 2020 |url-status=live }}</ref> Docker on Windows also seems to use it.{{Citation needed|date=May 2020}}
Line 113:
 
=== MoSMB ===
MoSMB is an advanceda user space SMB implementation for Linux. It supports SMB 2.x and SMB 3.x. Key features include Cloud-scale Active-Active Scale-out Clusters, SMB Direct (RDMA), SMB Multichannel, Transparent Failover and Continuous Availability. MoSMB also supports [[Amazon S3]] object storage as storage backend in addition to POSIX file systems likesuch as [[ext4]], [[ZFS]], [[Lustre (file system)|Lustre]], [[Ceph (software)|Ceph]], etc.<ref>{{cite web|url=http://www.snia.org/sites/default/files/SDC/2016/presentations/smb/Sunu_Engineer_Building_Highly_Scalable_Performant_SMB_Protocol_Server.pdf|title=Building a Highly Scalable and Performant SMB Protocol Server|author=Sunu Engineer|access-date=September 25, 2016|archive-url=https://web.archive.org/web/20160927162136/http://www.snia.org/sites/default/files/SDC/2016/presentations/smb/Sunu_Engineer_Building_Highly_Scalable_Performant_SMB_Protocol_Server.pdf|archive-date=September 27, 2016|url-status=live}}</ref>
 
=== Fusion File Share by Tuxera ===
Line 120:
=== Likewise ===
 
Likewise developed a CIFS/SMB implementation (versions 1.0, 2.0, 2.1 and NFSSMB 3.0) in 2009 that provided a multiprotocol, identity-aware platform for network access to files used in [[Original equipment manufacturer|OEM]] storage products built on Linux/Unix based devices. The platform could be used for traditional NAS, Cloud Gateway, and Cloud Caching devices for providing secure access to files across a network. Likewise was purchased by [[EMC Isilon]] in 2012.
 
=== KSMBD ===