Server Message Block Protocol (SMB protocol)
The Server Message Block Protocol (SMB protocol) is a client-server communication protocol created by IBM in the 1980s. It is used for sharing access to files, printers, serial ports and other resources on a network. It can also carry transaction protocols for interprocess communication.
How does the SMB protocol work?
The SMB protocol enables an application or the user of an application to access files on a remote server, as well as other resources, including printers, mail slots, and named pipes. Thus, a client application can open, read, move, create and update files on the remote server. This protocol can communicate with any server program that is set up to receive an SMB client request.
The SMB protocol is known as a response-request protocol which means it transmits multiple messages between the client and server to establish a connection.
The later version SMB 2.0, improved the protocol’s efficiency by drastically reducing its hundreds of commands and subcommands down to just 19.
The SMB protocol operates in Layer 7, also known as the application layer, and can be used over TCP/IP on port 445 for transport. The devices that do not support SMB for communication directly over TCP/IP requires the use of NetBIOS over a transport protocol, such as TCP/IP.
Since Windows 95, Microsoft Windows operating systems have included client and server SMB protocol support. Samba, an open source server was released for Unix systems to support SMB protocol.