Server message block
In computer networking, Server Message Block (SMB) operates as an application-level network protocol mainly applied to shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an authenticated Inter-process communication mechanism. Most usage of SMB involves computers running Microsoft Windows: in Microsoft environments users often know it simply as "Microsoft Windows Network".
When discussing SMB, one should distinguish:
* SMB the protocol
* the SMB services that run on the protocol
* NetBIOS
* the DCE/RPC services that use SMB as an authenticated Inter-process communication channel (over named pipes)
* the "Network Neighborhood" protocols which primarily (but not exclusively) run as datagram services directly on the NetBIOS transport
Barry Feigenbaum originally invented SMB at IBM with the aim of turning DOS "Interrupt 33" (21h) local file-access into a networked file-system. Microsoft has made considerable modifications to the version used most commonly. Microsoft merged the SMB protocol with the LAN Manager product which it had started developing with 3Com circa 1990, and continued to add features to the protocol in Windows for Workgroups (circa 1992) and in later versions of Windows.
The original design of SMB envisaged it running on top of the NetBIOS and NetBEUI APIs (typically implemented with NBF, NetBIOS over IPX/SPX, or NBT), though SMB can also run directly on the TCP/IP protocols, a feature introduced with Windows 2000 (the server listens on TCP port 445 for this purpose).
At around the time when Sun Microsystems announced WebNFS [1], Microsoft launched an initiative in 1996 to rename SMB to Common Internet File System (CIFS), and added more features, including support for symbolic links, hard links, larger file sizes, and an attempt at supporting direct connections without all the NetBIOS trimmings (a largely experimental effort that required further refinement). Microsoft submitted some partial specifications as Internet-Drafts to the IETF,[1] though these submissions have expired.
Because of the importance of the SMB protocol in interacting with the widespread Microsoft Windows platform, coupled with the heavily modified nature of the SMB implementation present in that platform, the Samba project originated with the aim of reverse engineering and providing a free implementation of a compatible SMB client and server for use with non-Microsoft operating systems.
With Windows Vista (released in 2006), Microsoft introduced Server Message Block 2.0.