Content deleted Content added
Guy Harris (talk | contribs) Get rid of unnecessary piping. |
Guy Harris (talk | contribs) →SMB 2.0: And it also supported AFP until recently, but neither it nor NFS are relevant to a discussion of SMB for a particular platform (and macOS isn't the only platform to have both NFS and SMB clients; for example, there's this obscure OS, the kernel of which was originally written by somebody from Finland, that also does). |
||
Line 67:
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"/> Apple switched to its own SMBX implementation 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>
|