Jaa


What version of SMB2 am I using on my Windows file server?

Note: This post is now obsolete. Please refer to this newer post which includes coverage of  SMB 3.0:
https://blogs.technet.com/b/josebda/archive/2012/06/06/windows-server-2012-which-version-of-the-smb-protocol-smb-1-0-smb-2-0-smb-2-1-or-smb-3-0-you-are-using-on-your-file-server.aspx

 


 

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: 

Client / Server OS Previous versions of Windows Windows Vista SP1+ Windows Server 2008 Windows 7 Windows Server 2008 R2
Previous versions of Windows SMB 1 SMB 1 SMB 1
Windows Vista SP1+ Windows Server 2008 SMB 1 SMB2 (v2.002) SMB2 (v2.002)
Windows 7 Windows Server 2008 R2 SMB 1 SMB2 (v2.002) SMB2.1

 If you don’t know what changed from SMB1 to SMB2, I recommend that you read this blog post:
https://blogs.technet.com/b/josebda/archive/2008/12/09/smb2-a-complete-redesign-of-the-main-remote-file-protocol-for-windows.aspx

For details on what changed from SMB2 to SMB2.1, you can check this deck from SNIA’s Storage Developer’s Conference, delivered by David Kruse, Microsoft’s Developer Lead on the SMB2 team:
https://www.snia.org/events/storage-developer2009/presentations/tuesday/DavidKruse_SMBv21.pdf

 


Note 1: If you consider yourself an SMB2 geek and you actually want to understand the SMB NEGOTIATE command in greater details, you can read the MS-SMB2 protocol documentation:

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.

clip_image002

Comments

  • Anonymous
    January 01, 2003
    Note 3:Windows Storage Server 2003 cannot use SMB2 (only SMB1), like Windows Server 2003.Windows Storage Server 2008 can go up to SMB2 (SMB2 v2.002), like Windows Server 2008.Windows Storage Server 2008 R2 can go up to SMB2.1 (SMB2 v2.1), like Windows Server 2008 R2.
  • Anonymous
    January 01, 2003
    Introduction The SQL CAT team has posted a blog last year about the "Top 10 hidden gems in SQL Server
  • Anonymous
    March 31, 2017
    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?
    • Anonymous
      May 16, 2017
      To get a newer version of SMB you need to upgrade to a newer version of Windows.