[MS-SMB2]: Overview (2024)

  • Article

The Server Message Block (SMB) Protocol Versions 2 and 3,hereafter referred to as "SMB 2 Protocol", is an extension of theoriginal Server Message Block (SMB) Protocol (as specified in [MS-SMB]and [MS-CIFS]).Both protocols are used by clients to request file and print services from aserver system over the network. Both are stateful protocols in which clientsestablish a connection to a server, establish an authenticated contexton that connection, and thenissue a variety of requests to access files, printers, and named pipes forinterprocess communication.

The SMB 2 Protocol is a major revision of the existing SMBProtocol, as specified in [MS-SMB]. The packet formats are completely differentfrom those of the SMB Protocol; however, many of the underlying concepts arecarried over. The underlying transports that are used to initiate and acceptconnections are either Direct TCP as specified in section 2.1or NetBIOS over TCP transports as specified in [RFC1001] and [RFC1002].

To retain compatibility with existing clients and servers,the existing SMB Protocol can be used to negotiate the use of the SMB 2Protocol, as described in section 1.7. However, thetwo protocols will never be intermixed on a specified connection after one isselected during negotiation.

Like its predecessor, which was the original SMB Protocol(as specified in [MS-SMB]), the SMB 2 Protocol supports the following features:

The SMB 2 Protocol provides several enhancements in additionto the preceding features:

  • Allowing an open to a file to bereestablished after a client connection becomes temporarily disconnected.

  • Allowing the server to balance the number of simultaneousoperations that a client can have outstanding at any time.

  • Providing scalability in terms of the number of shares, users,and simultaneously open files.

  • Supporting symbolic links.

  • Using a stronger algorithm to validate the integrity of requestsand responses.

The SMB 2.1 dialect introduces the following enhancements:

  • Allowing a client to indicate support for multiple SMB 2 dialectsin a multi-protocol negotiate request.

  • Allowing a client to obtain and preserve client caching stateacross multiple opens from the same client.

  • Allowing a client to mark individual write operations onunbuffered handles to be treated as write-through.

  • Allowing a client to retrieve hashes of a file for use in branchcache retrieval, as specified in [MS-PCCRC]section 2.3.

The SMB 3.0 dialect introduces the following enhancements:

  • Allowing a client to retrieve hashes for a particular region of afile for use in branch cache retrieval, as specified in [MS-PCCRC] section 2.4.

  • Allowing a client to obtain lease on a directory.

  • Supporting the encryption of traffic between client and server ona per-share basis.

  • Supporting the use of Remote Direct Memory Access (RDMA)transports, when the appropriate hardware and network are available.

  • Supporting enhanced failover between client and server, includingoptional handle persistence.

  • Allowing an application to failover on a new client and open afile that was previously opened using an application instance identifier.

  • Allowing a client to bind a session to multipleconnections to the server. A request can be sent through any channelassociated to the session, and the corresponding response is sent through thesame channel as used by the request. The following diagram shows an example oftwo sessions using multiple channels to the server.

[MS-SMB2]: Overview (1)

Figure 1: Two sessions using multiple channels

The SMB 3.0.2 dialect introduces the following enhancements:

  • Allowing a client to detect asymmetric shares through treeconnect response, so that client can optimize its connections to theserver, in order to improve availability and performance when accessing suchshares.

  • Allowing a client to request unbuffered read, write operations.

  • Allowing a client to request remote invalidation while performingI/O using RDMA transport.

The SMB 3.1.1 dialect introduces the following enhancements:

  • Supporting the negotiation of encryption and integrityalgorithms.

  • Enhanced protection of negotiation and session establishment.

  • Reconnecting with a specified dialect.

  • Supporting the compression of messages between client and server.

  • Supporting the encryption of RDMA payloads through negotiation ofRDMA transforms.

[MS-SMB2]: Overview (2024)

FAQs

[MS-SMB2]: Overview? ›

The Server Message Block (SMB) Protocol Versions 2 and 3, hereafter referred to as "SMB 2 Protocol", is an extension of the original Server Message Block (SMB) Protocol (as specified in [MS-SMB] and [MS-CIFS]). Both protocols are used by clients to request file and print services from a server system over the network.

What are the features of SMB2? ›

SMB2 uses 32- or 64-bit wide storage fields, and 128 bits in the case of file-handles, thereby removing previous constraints on block sizes, which improves performance with large file transfers over fast networks.

Is SMB2 still supported? ›

The supported versions of windows (eg excluding XP and earlier) all support SMB2/3. As for disabling SMB2 - that means some older kit might not work.

What is the difference between SMB2 and SMB3? ›

A new hashing algorithm, HMAC SHA-256, makes SMB2. 0 more secure compared to the earlier dialects. With SMB3. 0, security has been further enhanced by the AES-CMAC algorithm, and with Windows 10, AES-128-GCM has been introduced.

What is the block size of SMB2? ›

SMB had a maximum block size of 64K because it has a limit of 16-bit data sizes. SMB2 uses either 32-bit or 64-bit data sizes, which raises the 64KB limit.

How does SMB2 work? ›

The SMB 2 Protocol provides several enhancements in addition to the preceding features: Allowing an open to a file to be reestablished after a client connection becomes temporarily disconnected. Allowing the server to balance the number of simultaneous operations that a client can have outstanding at any time.

Is SMB2 vulnerable? ›

Vulnerabilities in Microsoft Windows SMB2 '_Smb2ValidateProviderCallback()' Vulnerability (MS09-050, Network Check) is a high risk vulnerability that is one of the most frequently found on networks around the world.

How do I know if SMB v2 is enabled? ›

SMB v2/v3
  1. Detect: PowerShell Copy. Get-SmbServerConfiguration | Select EnableSMB2Protocol.
  2. Disable: PowerShell Copy. Set-SmbServerConfiguration -EnableSMB2Protocol $false.
  3. Enable: PowerShell Copy. Set-SmbServerConfiguration -EnableSMB2Protocol $true.
May 18, 2023

What ports does SMB v2 use? ›

SMB2 runs on top of TCP ports 139 and 445 which are the same ports used by the older SMB protocol. TCP: SMB2 uses TCP as its transport protocol. The well known TCP port for SMB2 is 445.

Does SMB2 require signing? ›

SMB2 Signing Configuration and Defaults

SMB2 simplified this configuration by having only one setting: whether signing was required or not. This can be configured via Group Policy or registry setting, on SMB2 clients and SMB2 servers. On each side, signing can be set to be “Required” or “Not Required”.

Does SMB2 use encryption? ›

SMB 2.0 used the older HMAC-SHA256 encryption algorithm. AES-CMAC and AES-CCM can significantly accelerate data encryption on most modern CPUs that have AES instruction support.

How many worlds are there in SMB2? ›

The game consists of 20 different levels across the seven worlds comprising Subcon. Each world has three levels, except World 7, which has two.

Is SMB2 TCP or UDP? ›

SMB 1.0 and older CIFS traffic supported the NetBIOS over TCP (NBT) protocol supported the UDP transport, but starting in Windows Vista and Windows Server 2008 with SMB 2.0. 2, requires TCP/IP over port 445.

How long to beat SMB2? ›

When focusing on the main objectives, Super Mario Bros. 2 is about 3 Hours in length. If you're a gamer that strives to see all aspects of the game, you are likely to spend around 4 Hours to obtain 100% completion.

What is SMB2 set info? ›

The SMB2 SET_INFO Request packet is sent by a client to set information on a file or underlying object store. This request consists of an SMB2 header, as specified in section 2.2. 1, followed by this request structure.

What is SMB2 based on? ›

Since the game is based on Yume Kojo: Doki Doki Panic, it has little in common with the original Super Mario Bros. For example, in order to defeat enemies, the player needs to pluck blades of grass to receive items (such as vegetables), and then throw the vegetables at them.

What is the SMB2? ›

[MS-SMB2]: Server Message Block (SMB) Protocol Versions 2 and 3.

What are SMB features? ›

The Server Message Block protocol (SMB protocol) is a client-server communication protocol used for sharing access to files, printers, serial ports and other resources on a network. It can also carry transaction protocols for interprocess communication.

What is the difference between SMB2 and CIFS? ›

The key difference between CIFS and SMB is that CIFS is a dialect of SMB – a particular implementation of the SMB protocol. The CIFS protocol is now considered an outdated SMB dialect, with the newer SMB 2.0 and SMB 3.0 addressing many of the inefficiencies of CIFS.

Top Articles
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated:

Views: 5501

Rating: 4.6 / 5 (66 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.