Penguin
Note: You are viewing an old revision of this page. View the current version.

ServerMessageBlock (SMB) is a client/server protocol similar to remote procedure calls (RPC), but specialised for file system access. It is the native method of file and print sharing for Microsoft's operating systems, where it is called Microsoft Networking. Windows for Workgroups, Windows 95, and Windows NT all include SMB clients and servers.

But SMB is also used by OS/2, Lan Manager and Banyan Vines, and there are SMB servers and clients for Unix, for example Samba and smbclient(1). The protocol was developed by Intel, Microsoft, and IBM in the early 1980s. It has also had input from Xerox and 3Com.

SMB originally ran on top of the lower level protocols NetBEUI and NetBIOS, but now typically runs over TCP/IP.

While it is mainly used for file and printer sharing between computers, it has provisions for much more. SMB is a presentation layer protocol structured as a large set of commands (Server Message Blocks). Clients and servers may implement different versions ("dialects") of the protocol, and will negotiate the version to use before starting a session. There are commands to support sharing of files, printers, serial ports, for user authentication, resource browsing, communications abstractions such as named pipes and mail slots, and other miscellaneous functions. A redirector packages SMB requests into a network control block (NBC) structure that can be sent across the network to a remote device.

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.


CategoryProtocols