Server Message Block

Map Network Drive dialog in Windows 10, connecting to a local SMB network drive

Server Message Block (SMB) is a communication protocol[1] used to share files, printers, serial ports, and miscellaneous communications between nodes on a network. On Microsoft Windows, the SMB implementation consists of two vaguely named Windows services: "Server" (ID: LanmanServer) and "Workstation" (ID: LanmanWorkstation).[2] It uses NTLM or 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[3] to share access to files and printers across a network of systems running IBM's IBM 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 NetBT. SMB over QUIC was introduced in Windows Server 2022.

In 1996, Microsoft published a version of SMB 1.0[4] with minor modifications under the Common Internet File System (CIFS /sɪfs/) moniker. CIFS was compatible with even the earliest incarnation of SMB, including LAN Manager's.[4] It supports symbolic links, hard links, and larger file size, but none of the features of SMB 2.0 and later.[4][5] Microsoft's proposal, however, remained an Internet Draft and never achieved standard status.[6] Microsoft has since discontinued the CIFS moniker but continues developing SMB and publishing subsequent specifications. Samba is a free software reimplementation of the SMB protocol and the Microsoft extensions to it.

  1. ^ "Microsoft SMB Protocol and CIFS Protocol Overview". Microsoft. October 22, 2009. Archived from the original on August 2, 2016. Retrieved April 10, 2019.
  2. ^ "Lan Manager Networking Concepts". Support. Microsoft. Archived from the original on December 30, 2012. Retrieved September 18, 2014.
  3. ^ Cite error: The named reference tridgemyths was invoked but never defined (see the help page).
  4. ^ a b c "Common Internet File System". Windows 2000 Web and Application Services Technical Overview. Microsoft. 18 July 2012. Archived from the original on 30 January 2022. Retrieved 30 January 2022 – via Microsoft Docs.
  5. ^ Coulter, David; Satran, Michael; Batchelor, Drew (8 January 2021). "Microsoft SMB Protocol and CIFS Protocol Overview". Windows App Development. Microsoft. Archived from the original on 28 January 2022. Retrieved 30 January 2022 – via Microsoft Docs.
  6. ^ Cite error: The named reference IETF was invoked but never defined (see the help page).