SMB is a network file sharing protocol that allows computer applications to read and write to files. It is also used to request services from server programs in a computer network. This protocol is used on top of TCP/IP or other network protocols. Application accesses the files or other resources at a remote server by making use of this protocol, thus allowing reading, creating and updating files on the remote server. Windows server 2012 uses SMB protocol v3.0.
New SMB features of Windows server 2012 includes:
SMB Transparent Failover: Administrators are allowed to perform hardware or software maintenance of nodes in a clustered file server without interrupting server applications storing data on these file shares. The same is also applicable in case of any software or hardware failure on a cluster node.
SMB Scale Out: Improves scalability and manageability for scale-out file servers. SMB client connections are tracked on per file share basis and the clients are redirected to the cluster node with the best access to the volume that the file share uses.
SMB Multichannel: If multiple paths are available between the SMB 3.0client and SMB 3.0server, then aggregates network bandwidth and network fault tolerance. Allows server applications to utilize all available network bandwidth.
SMB Direct: Supports RDMA capable network adapters and can function at full speed with low latency, making use of very little cpu.
RDMA: Remote Direct Memory Access allows DMA from the memory of one computer into that of another without the involvement of operating systems.
SMB-specific Windows Powershell cmdlets: Allows administrators to manage file shares on the file server, from the command line interface.
SMB Encryption: Results in end-to-end encryption of SMB data and protects data from eavesdropping occurences. No need for IPSec or specialized hardware.
SMB Directory Leasing: Makes use of cache concept thus improving application response time. No longer needed to read from server for all queries initiated by clients. Clients are notified of the server directory information change, whenever occurs.