SMB protocol is an application-layer network protocol. It follows client-server architecture whhere client system requests access to files available on the remote server.
Developed by IBM and later extended by Microsoft.
Allows users to read, write and modify files stored on the server.
Manages permissions by supporting authentication and access control.
SBM Dialects
It is a specific version of the SBM protocol. Various dialects define how mesages are structured and communication between client and server occurs.
It determines the features and capabilities supported by the protocol.
Each dialect improves performance, security, and reliability.
Examples include SMB 1.0 (CIFS), SMB 2.0, and SMB 3.0.
NetBIOS Support in SMB
In earlier implementations, SMB relied on NetBIOS (Network Basic Input/Output System) for communication.
NetBIOS allows applications on different computers to communicate over a local network.
It provides services such as name resolution, session management, and data transfer.
Common NetBIOS ports include UDP 137- NetBIOS Name Service, UDP 138- NetBIOS Datagram Service, TCP 139- NetBIOS Session Service
Implementation of SMB Protocol
The open-source software called SAMBA that can run best on UNIX environment and able to communicate with Microsoft Window's Clients.
SAMBA is able to provide the sharing service by employing this common internet file system.
SAMBA server allows resource sharing between a system running Microsoft OS and systems running UNIX.
NFS Systems are more specific to LINUX/UNIX environment, there is an application layer protocol called NFS which provides a file sharing solution in cross-platform environment. Some common uses of NFS are:
Migrating applications between operating systems by storing the data on shares accessible from multiple systems.
Some famous applications like TeamViewer, ShareIT and many other uses this protocol from remote access and remote file sharing.