I recently talked to a customer that was surprised to hear that their Windows 7 clients were not using the latest version of SMB2 to talk with their Windows Server 2003 file servers.

I explained to him that, in order to use SMB2, both sides of the connection have to support it. If not, they will negotiate down to the highest version that both support.

I also explained that Windows actually uses 2 different versions of SMB2:

SMB2 (technically SMB2 version 2.002) which is the version on Windows Vista SP1 (or later SP) and Windows Server 2008 (or any SP)

SMB2.1 (technically SMB2 version 2.1) which is the version on Windows 7 (or any SP) and Windows Server 2008 R2 (or any SP)

However, all versions offer the ability to negotiate the SMB client and server capabilities and they will talk to older versions at their level. This “negotiate” process happens automatically and it is transparent to end users and applications.

Here’s a table to help you understand what version you end up using, depending on what Windows client version is talking to what Windows Server version:

Note 2: During the recent SNIA CIFS/SMB/SMB2 PlugFest, the T-shirt shown below was handed to every attendee. It’s a play on a diagram from the MS-SMB2 protocol documentation, with a few “customizations” from the original version.

Hi Jose,
How can we upgrade our workstation and server to a newer SMB?
If we have a few Windows 7 and Windows Server 2008 (SMB 2.1) still in use, can we update their SMB to 3.0 or even better 3.1.1?
Can we, and should we, upgrade our Windows 2012 to the most recent SMB version?
How de we go about it?