The Server Message Block Protocol (SMB protocol) provides a method for client applications in a computer to read and write to files on and to request services from server programs in a computer network. The SMB protocol can be used over the Internet on top of its TCP/IP protocol or on top of other network protocols such as Internetwork Packet Exchange and NetBEUI. Using the SMB protocol, an application (or the user of an application) can access files at a remote server as well as other resources, including printers, mailslots, and named pipes. Thus, a client application can read, create, and update files on the remote server. It can also communicate with any server program that is set up to receive an SMB client request.
Microsoft Windows operating systems since Windows 95 include client and server SMB protocol support. For UNIX systems, a shareware program, Samba, is available. The SMB protocol originated at Microsoft and has gone through a number of developments. A given client and server may implement different sets of protocol variations which they negotiate before starting a session.
Microsoft has offered a public or open source version of SMB for the Internet to the Internet Engineering Task Force (IETF). Called the Common Internet File System (CIFS), this new protocol provides more flexibility than existing Internet applications such as the File Transfer Protocol (FTP). CIFS is envisioned as a complement to the Internet's Hypertext Transfer Protocol for Web browsing.
SMB also stands for "small to medium-size business."