Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Server Message Block
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== SMB 2.0 === Microsoft introduced a new version of the protocol (SMB 2.0 or SMB2) in 2006 with [[Windows Vista]] and [[Windows Server 2008]].<ref name="smb2">{{cite web | url=http://blogs.msdn.com/chkdsk/archive/2006/03/10/548787.aspx | title=What's new in SMB in Windows Vista | date=March 10, 2006 | access-date=May 1, 2006 | author=Navjot Virk and Prashanth Prahalad | work=Chk Your Dsks | publisher=[[Microsoft]] | url-status=dead | archive-url=https://web.archive.org/web/20060505005515/http://blogs.msdn.com/chkdsk/archive/2006/03/10/548787.aspx | archive-date=May 5, 2006 | df=mdy-all }}</ref> Although the protocol is proprietary, its specification has been published to allow other systems to interoperate with Microsoft operating systems that use the new protocol.<ref>{{cite tech report |url=https://docs.microsoft.com/openspecs/windows_protocols/ms-smb2 |title=Server Message Block (SMB) Protocol Versions 2 and 3 |department=Windows Protocols |work=Open Specifications |series=[[Microsoft Docs]] |institution=[[Microsoft]] |number=MS-SMB2 |access-date=2020-11-29}}</ref> SMB2 reduces the 'chattiness' of the SMB 1.0 protocol by reducing the number of commands and subcommands from over a hundred to just nineteen.<ref name="barreto"/> It has mechanisms for [[Pipeline (computing)|pipelining]], that is, sending additional requests before the response to a previous request arrives, thereby improving performance over high-[[Network latency|latency]] links. It adds the ability to compound multiple actions into a single request, which significantly reduces the number of [[round-trip delay time|round-trips]] the client needs to make to the server, improving performance as a result.<ref name="barreto"/> SMB1 also has a compounding mechanism—known as AndX—to compound multiple actions, but Microsoft clients rarely use AndX.{{Citation needed|date=November 2010}} It also introduces the notion of "durable file handles": these allow a connection to an SMB server to survive brief network outages, as are typical in a wireless network, without having to incur the overhead of re-negotiating a new session. SMB2 includes support for [[symbolic link]]s. Other improvements include caching of file properties, improved message signing with [[HMAC]] [[SHA-256]] hashing algorithm and better scalability by increasing the number of users, shares and open files per server among others.<ref name="barreto"/> The SMB1 protocol uses 16-bit data sizes, which amongst other things, limits the maximum block size to 64K. SMB2 uses 32- or 64-bit wide storage fields, and 128 bits in the case of [[file handle|file-handle]]s, thereby removing previous constraints on block sizes, which improves performance with large file transfers over fast networks.<ref name="barreto"/> Windows Vista/[[Server 2008]] and later operating systems use SMB2 when communicating with other machines also capable of using SMB2. SMB1 continues in use for connections with older versions of Windows, as well various vendors' [[Network-attached storage|NAS]] solutions. Samba 3.5 also includes experimental support for SMB2.<ref>{{Cite web |url=http://www.samba.org/samba/history/samba-3.5.0.html |title=Samba 3.5.0 Available for Download |access-date=July 8, 2011 |archive-url=https://web.archive.org/web/20110724051402/http://www.samba.org/samba/history/samba-3.5.0.html |archive-date=July 24, 2011 |url-status=live }}</ref> Samba 3.6 fully supports SMB2, except the modification of user quotas using the Windows quota management tools.<ref>{{Cite web |url=http://samba.org/samba/history/samba-3.6.0.html |title=Samba 3.6.0 Available for Download |access-date=August 10, 2011 |archive-url=https://web.archive.org/web/20110924042737/http://www.samba.org/samba/history/samba-3.6.0.html |archive-date=September 24, 2011 |url-status=live }}</ref> When SMB2 was introduced it brought a number of benefits over SMB1 for third party implementers of SMB protocols. SMB1, originally designed by [[IBM]], was [[reverse engineering|reverse engineered]], and later became part of a wide variety of non-Windows operating systems such as [[Xenix]], [[OS/2]] and [[OpenVMS|VMS]] ([[Pathworks]]). [[X/Open]] standardized it partially; Microsoft had submitted Internet-Drafts describing SMB2 to the [[Internet Engineering Task Force|IETF]], partly in response to formal IETF standardization of version 4 of the [[Network File System]] in December 2000 as IETF RFC 3010;<ref>{{cite IETF|rfc=3010|title=NFS version 4 Protocol|date=December 2000}}</ref> however, those SMB-related Internet-Drafts expired without achieving any IETF standards-track approval or any other IETF endorsement. (See http://ubiqx.org/cifs/Intro.html for historical detail.) SMB2 is also a relatively clean break with the past. Microsoft's SMB1 code has to work with a large variety of SMB clients and servers. SMB1 features many versions of information for commands (selecting what structure to return for a particular request) because features such as [[Unicode]] support were retro-fitted at a later date. SMB2 involves significantly reduced compatibility-testing for implementers of the protocol. SMB2 code has considerably less complexity since far less variability exists (for example, non-Unicode code paths become redundant as SMB2 requires Unicode support). Apple migrated to SMB2 (from their own [[Apple Filing Protocol]], now legacy) starting with [[OS X Mavericks|OS X 10.9 "Mavericks"]].<ref name="ai2013">{{cite web |last=Eran |first=Daniel |url=http://appleinsider.com/articles/13/06/11/apple-shifts-from-afp-file-sharing-to-smb2-in-os-x-109-mavericks |title=Apple shifts from AFP file sharing to SMB2 in OS X 10.9 Mavericks |publisher=Appleinsider.com |date=June 11, 2013 |access-date=January 12, 2014 |archive-url=https://web.archive.org/web/20170212162139/http://appleinsider.com/articles/13/06/11/apple-shifts-from-afp-file-sharing-to-smb2-in-os-x-109-mavericks |archive-date=February 12, 2017 |url-status=live }}</ref> This transition was fraught with compatibility problems though.<ref>{{cite web |last=Vaughan |first=Steven J. |url=https://www.zdnet.com/article/mavericks-smb2-problem-and-fixes/ |title=Mavericks' SMB2 problem and fixes |publisher=ZDNet |date=October 28, 2013 |access-date=January 12, 2014 |archive-url=https://web.archive.org/web/20140105011410/http://www.zdnet.com/mavericks-smb2-problem-and-fixes-7000022519/ |archive-date=January 5, 2014 |url-status=live }}</ref><ref>{{cite web |author=MacParc |url=http://hints.macworld.com/article.php?story=20131122083837447 |title=10.9: Switch the SMB stack to use SMB1 as default |work=Mac OS X Hints |publisher=macworld.com |access-date=January 12, 2014 |archive-url=https://web.archive.org/web/20140112051604/http://hints.macworld.com/article.php?story=20131122083837447 |archive-date=January 12, 2014 |url-status=live }}</ref> Non-default support for SMB2 appeared in fact in OS X 10.7, when Apple abandoned Samba in favor of its own SMB implementation called SMBX<ref name="ai2013"/> after Samba adopted [[GPLv3]].<ref>{{cite web|url=http://reviews.cnet.com/8301-13727_7-20046383-263.html|title=Say adios to Samba in OS X|author=Topher Kessler|date=March 23, 2011|publisher=CNET|access-date=January 12, 2014|archive-url=https://web.archive.org/web/20140115220216/http://reviews.cnet.com/8301-13727_7-20046383-263.html|archive-date=January 15, 2014|url-status=live}}</ref><ref>{{cite web|url=http://www.osnews.com/story/24572/Apple_Ditches_SAMBA_in_Favour_of_Homegrown_Replacement|title=Apple Ditches SAMBA in Favour of Homegrown Replacement|author=Thom Holwerda|date=March 26, 2011|access-date=January 12, 2014|archive-url=https://web.archive.org/web/20131102235327/http://www.osnews.com/story/24572/Apple_Ditches_SAMBA_in_Favour_of_Homegrown_Replacement|archive-date=November 2, 2013|url-status=live}}</ref> The [[Linux kernel]]'s CIFS client file system has SMB2 support since version 3.7.<ref>{{cite web|url=https://kernelnewbies.org/Linux_3.7#head-7c9c911e4c41bcbc635cd8fa561278c833844bc2|title=Linux 3.7 - Linux Kernel Newbies|access-date=September 4, 2016|archive-url=https://web.archive.org/web/20160911130335/https://kernelnewbies.org/Linux_3.7#head-7c9c911e4c41bcbc635cd8fa561278c833844bc2|archive-date=September 11, 2016|url-status=live}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)