SMB works through a client-server approach, where a client makes specific requests and the network server responds accordingly.
The SMB servers make their file systems and other resources available to clients on the network. Client computers may have their own hard disks, which are not publically shared, yet also want access to the shared file systems and printers on the server.
The Microsoft implementation of SMB is known as NetBIOS and clients may use any transport protocol (e.g. NetBEUI, or IPX), though TCP/IP is the most common. To this implementation, Microsoft has added several tweaks and incompatibilities that are not part of the original SMB protocol.