Server Message Block
(SMB) A client/server protocol that provides file and printer sharing between computers. In addition SMB can share serial ports and communications abstractions such as named pipes and mail slots. SMB is similar to remote procedure call (RPC) specialised for file system access.
SMB was developed by Intel, Microsoft, and IBM in the early 1980s. It has also had input from Xerox and 3Com. It is the native method of file and print sharing for Microsoft operating systems; where it is called Microsoft Networking. Windows for Workgroups, Windows 95, and Windows NT all include SMB clients and servers. SMB is also used by OS/2, Lan Manager and Banyan Vines. There are SMB servers and clients for Unix, for example Samba and smbclient.
SMB is a presentation layer protocol structured as a large set of commands (Server Message Blocks). There are commands to support file sharing, printer sharing, user authentication, resource browsing, and other miscellaneous functions. As clients and servers may implement different versions ("dialects") of the protocol they negotiate before starting a session.
The redirector packages SMB requests into a network control block (NBC) structure that can be sent across the network to a remote device.
SMB originally ran on top of the lower level protocols NetBEUI and NetBIOS, but now typically runs over TCP/IP.
Microsoft have developed an extended version of SMB for the Internet, the Common Internet File System (CIFS), which in most cases replaces SMB. CIFS runs only runs over TCP/IP.