Two Minute Drill: Overview of SMB 2.0

Two Minute Drill: Overview of SMB 2.0

  • Comments 12
  • Likes

The Server Message Protocol (SMB) is the file sharing protocol used by default on Windows-based computers.  Although file sharing and network protocols are primarily supported by our Networking team, it is important to understand how SMB works given its importance to network activities.  SMB 2.0 was introduced in Windows Vista and Windows Server 2008.  SMB 1.0 was designed for early Windows network operating systems such as Microsoft LAN Manager and Windows for Workgroups.  SMB 2.0 is designed for the needs of the next generation of file servers.  Both Windows Server 2008 and Windows Vista support SMB 1.0 and SMB 2.0.

There are several enhancements in SMB 2.0, including:

  • Sending multiple SMB commands in the same packet which reduces the number of packets sent between a client and server
  • Larger buffer sizes
  • Increased scalability, including an increase in the number of concurrent open file handles on the server and the number of shares that a server can share out
  • Support for Durable Handles that can withstand short network problems
  • Support of Symbolic Links

The version of SMB used for file sharing is determined during the SMB session negotiation.  If both the client and server support SMB 2.0, then SMB 2.0 is selected during the initial negotiation.  Otherwise SMB 1.0 preserving backwards compatibility.  The table below shows the version of SMB that will be used in different client / server scenarios:

Client Server SMB Version
Windows Server 2008 / Vista Windows Server 2008 / Vista SMB 2.0
Windows Server 2008 / Vista Windows 2000, XP, 2003 SMB 1.0
Windows 2000, XP, 2003 Windows Server 2008 / Vista SMB 1.0
Windows 2000, XP, 2003 Windows 2000, XP, 2003 SMB 1.0

Both SMB 1.0 and 2.0 are enabled by default on Windows Vista and Windows Server 2008.  In some testing and troubleshooting scenarios it may be necessary to disable either SMB 1.0 or SMB 2.0.  However, it should be noted that this is not a recommended practice.  To disable SMB 1.0 for Windows Vista or Windows Server 2008 systems that are the “client” systems (accessing the network resources), run the following commands:

sc config lanmanworkstation depend= bowser/mrxsmb20/nsi 
sc config mrxsmb10 start= disabled

To disable SMB 1.0 on a Windows Vista or Windows Server 2008 system that is acting as the “server” system (hosting the network resources), a registry modification is required.  Navigate to the HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters key.  If there is no REG_DWORD value named Smb1, you will need to create it.  This value does not exist by default.  Once the value is created, set the value to 0 to disable SMB 1.0 or 1 to enable SMB 1.0.

Finally, to disable SMB 2.0 on Windows Vista or Windows Server 2008 systems that are acting as the “server”, navigate to the registry key listed above.  Instead of creating the Smb1 REG_DWORD value, you would create a REG_DWORD value called Smb2.  Set the value to 0 to disable SMB 2.0 and 1 to enable SMB 2.0.

And with that, we have reached the end of our Two Minute Drill on SMB 2.0.  Until next time …

- CC Hameed

Share this post :
Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Note that there is a typo in the above:

    "depend ="

    should be

    "depend="

  • Steve -

    Thanks for pointing that out - I've fixed the typo.

    - CC

  • After moving to server 2008 from 2003 file server. Excel files are slow to respond initially after opening. (can't click on any cells in the spreadsheet for 5-10 seconds after opening -- get not responding eventually). Size of file doesn't seem to matter, and very simple files with a few sheets.

    Issue only arises when

    Server 2008 -> XP SP3

    Nno Problem from

    Server 2008 -> Vista

    Server 2003 -> Vista

    Server 2003 -> XP SP3

    I feel like this is an SMB issue, however disabling SMB2 provides no help. Is there any other related settings?

  • Hello Hameed,

    Very good article.  We are resellers for a CRM package which utilizes SQL Server.  Your article is actually mentioned in the manufacturer's readme file.

    In any case, I just thought I might ping you on this related problem:

    We have a client running SQL 2008 and Server 2008 on the servers and mostly XP with a handful of Vista workstations.

    Scenario:  nobody is logged-in to the CRM system (so no DB connections)

    - 3 Vista machines login; no problem

    - XP machines begin to login

    - After some time, the Vista machines lock-up and the CRM program closes.

    The manufacturer's top tech said:

    "The indication is that there is a Windows License limitation or restirction taking part, either with concurrent network or SQL connections perhaps even a combination of the two."

    Any ideas on what would cause this?  Any direction or suggestions would be great.

    Thanks in advance Hameed!

  • Taarik - I would strongly recommend opening up a Support Incident with Microsoft Product Support and we can collaborate with you and with the ISV's support to troubleshoot.

    - CC

  • GD - have you gathered a network trace and process monitor for the problem combination and compared it to a working combination?  That may help to narrow down your troubleshooting.

    - CC

  • well on my windows 7 copying to server 2008, ive just had to turn 2.0 off in order to get decent performance

    with it on 20-25 MBps

    with it off 60-65 MBps

    it sure dont work for me

  • I had a Server 2008 machine with IIS installed, with it's web page root pointed to another Server 2008 machines network share. I got terrible bandwidth when loading data from the website. After turning off SMB 2.0 the problem is fixed.

  • We've run into issues with our tax software (CPA firm) that's built on an ancient FoxPro database. Per their tech support the problem has to do with how OpLocks are handled under SMB2.0 and the only 'fix' (workaround) is to disable SMB2.0. I've done so on both the servers (SBS 2008 Premium) and the clients (Vista Business) and it seemed to resolve the issue.

    My question, that I haven't been able to find any real answers to, is what are the long-term implications of disabling SMB2.0? It seems like I'm getting quite a few red and yellow lights in the event logs of my servers now - not sure what are real issues and what are more cosmetic side-effects of disabling SMB2.0... The daily Event ID 4005 from WinLogon is particularly troubling, but I'm not seeing any issues with users being able to log in and/or the server rebooting spontaneously.

  • we develop and service a popular SAAS-delivered VFP9 app, via a XenApp farm.   We've experienced issues a fair number of issues since moving to Server 2008.. all seem to corroborate the above.   We've wasted much time to get to this point.

    We'd also like to know if the SMB2.0 issues that seem to HAMPER rather than HELP heavy file-system-access ... will be fixed?  Am surprised to see no clear, ackowledging KB's from Microsoft about this yet.  

    Is MS aware of the magnitude of the problems this has caused?

  • Turning off SMB2.0 has solved the problem of slow opening & saving of files in Office2007 from my server running Server2008.

  • What are the negative impacts of disabling SMB 2.0?