redocumenting historic cifs - snia · cifs:common internet file system a name given to the suite of...
TRANSCRIPT
![Page 1: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/1.jpg)
ReDocumentingReDocumenting
HistoricHistoric CIFSCIFSChristopher R. HertelStorage Architect and CIFS GeekFounder and CTOwww.ubiqx.com
SNIA Storage Developer's Conference ● September, 2009Copyright © 2009 Christopher R. Hertel
![Page 2: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/2.jpg)
IntroductionsIntroductions
1SNIA Storage Developer's Conference ● September, 2009
Who am I?
Why am I here?
Where are we going?
![Page 3: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/3.jpg)
IntroductionsIntroductions
2SNIA Storage Developer's Conference ● September, 2009
...and what am I doing in this handbasket?
![Page 4: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/4.jpg)
IntroductionsIntroductions
3
Who am I?
This geek here.
SNIA Storage Developer's Conference ● September, 2009
![Page 5: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/5.jpg)
IntroductionsIntroductions
4
Who am I?
SNIA Storage Developer's Conference ● September, 2009
Samba Team (12± years)
jCIFS Co-Founder
Started with SMB/CIFS circa 1990 (DEC Pathworks)
![Page 6: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/6.jpg)
IntroductionsIntroductions
V
Who am I?
SNIA Storage Developer's Conference ● September, 2009
I have founded a new companyWe do SAN and NAS consultingWe are a team of geeks
![Page 7: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/7.jpg)
IntroductionsIntroductions
6
Why am I Here?To tell you about the exciting new documentation...
SNIA Storage Developer's Conference ● September, 2009
![Page 8: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/8.jpg)
IntroductionsIntroductions
7
Why am I Here?To tell you about the exciting new documentation...
...that covers CIFS circa 19961996.
SNIA Storage Developer's Conference ● September, 2009
![Page 9: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/9.jpg)
IntroductionsIntroductions
8
Why am I Here?To tell you about the exciting new documentation...
...that covers CIFS circa 19961996.
Yes, really.
Hang on... I'll explain why this is a good thing.
SNIA Storage Developer's Conference ● September, 2009
![Page 10: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/10.jpg)
IntroductionsIntroductions
9
Why am I Here?To tell you about the exciting new Microsoft documentation...
...that covers CIFS circa 19961996.
Part of the MCPP/WSPP documentation set.
On-line, downloadable, and available to the public.
SNIA Storage Developer's Conference ● September, 2009
![Page 11: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/11.jpg)
IntroductionsIntroductions
10
Why am I Here?Microsoft asked a member of theSamba Team to document SMB/CIFS.
SNIA Storage Developer's Conference ● September, 2009
![Page 12: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/12.jpg)
IntroductionsIntroductions
11
Why am I Here?Microsoft asked a member of theSamba Team to document SMB/CIFS
“If you're surprised, you're not paying attention.”—Sam Ramji
SNIA Storage Developer's Conference ● September, 2009
![Page 13: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/13.jpg)
IntroductionsIntroductions
12
Where are we going?
History:Why it matters.
Scope:What is(n't) covered, & why.
Process:How we are going about it.
Results:The benefit to you.
SNIA Storage Developer's Conference ● September, 2009
![Page 14: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/14.jpg)
HistoryHistory
13SNIA Storage Developer's Conference ● September, 2009
![Page 15: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/15.jpg)
HistoryHistory
14SNIA Storage Developer's Conference ● September, 2009
SMB is the COBOL of Network File Systems.
![Page 16: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/16.jpg)
HistoryHistory
15
In the early days, SMB was documented:1984:1984: IBM Personal Computer Seminar Proceedings, Volume 2, Number 8
1986:1986: OpenNET/Microsoft Networks FILE SHARING PROTOCOL EXTENSIONS, Version 1.9, Microsoft and Intel (XENIX extensions)
1988:1988: Microsoft Networks/OpenNet, Document Version 2, Microsoft and Intel (Core)
1988:1988: Microsoft Networks SMB File Sharing Protocol Extensions Version 2.0, Document Version 3.3, Microsoft Corporation (LAN Manager 1.0)
1989:1989: Microsoft Networks SMB File Sharing Protocol Extensions Version 3.0, Document Version 1.09, Microsoft Corporation (LAN Manager 1.2)
1990:1990: Microsoft Networks SMB File Sharing Protocol Extensions Version 3.0, Document Version 1.11, Microsoft Corporation (LAN Manager 2.0)
19921992: Microsoft Networks SMB File Sharing Protocol Extensions, Document Version 3.4, Microsoft Corporation (LAN Manager 2.1)
SNIA Storage Developer's Conference ● September, 2009
![Page 17: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/17.jpg)
HistoryHistory
0x10
Then things started thinning out.1992:1992: X/Open CAE Specification, Protocols for X/Open PC Interworking: SMB, Version 2, X/Open Company, Ltd. (Core through LAN Manager 2.0)
1996:1996: Microsoft Networks SMB File Sharing Protocol, Document Version 6.0p, Microsoft (Unfinished draft of NT LAN Manager 0.12 documentation.)
1997:1997: A Common Internet File System (CIFS/1.0) Protocol, IETF INTERNET-DRAFT, Paul J. Leach, Dilip C. Naik (Unfinished draft v2 of NT LAN Manager 0.12 specification.)
2002:2002: Common Internet File System (CIFS) Technical Reference, Revision: 1.0, Storage Networking Industry Association (SNIA)
2003:2003: Implementing CIFS, yours truly, Prentice Hall PTR
SNIA Storage Developer's Conference ● September, 2009
![Page 18: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/18.jpg)
HistoryHistory
17
Never ascribe to malice that which is adequately explained by incompetence. attributed to Napoleon Bonaparte, among others—
During this time...
[MS|PC]-DOS
OS/2
Windows NT
Windows 2000
Windows XP
Windows 2003
Windows Vista
...and we already knew that the documentation we had was, in places,
Incorrect
Incomplete
Incomprehensible
SNIA Storage Developer's Conference ● September, 2009
![Page 19: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/19.jpg)
HistoryHistory
18
This situation made people unhappy.
SNIA Storage Developer's Conference ● September, 2009
![Page 20: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/20.jpg)
HistoryHistory
19
Those who cannot learn from history are doomed to repeat it. Santayana—
The Misinterpretation:“You guys want our source code!”
The Real Problem:No clear, documented standard for interoperability.
The Proposal:“Write it!”
SNIA Storage Developer's Conference ● September, 2009
![Page 21: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/21.jpg)
HistoryHistory
20
Terms and Conditions
SNIA Storage Developer's Conference ● September, 2009
![Page 22: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/22.jpg)
ScopeScope
21SNIA Storage Developer's Conference ● September, 2009
![Page 23: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/23.jpg)
ScopeScope
22SNIA Storage Developer's Conference ● September, 2009
CIFS: A Common Internet File System
What does the term “CIFS” mean this week?Only the NT LM 0.12 dialect
Not DOS or OS/2 LAN ManagerCertainly not the Xenix or Core dialects
The NT LM 0.12 dialect as of:Windows NT3.51 & NT4 ServerWindows NT4 & 98 client
“CIFS” is now a Snapshot in Time
the he
ck
^
![Page 24: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/24.jpg)
ScopeScope
++22SNIA Storage Developer's Conference ● September, 2009
Very Limited Scope.
![Page 25: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/25.jpg)
ScopeScope
24SNIA Storage Developer's Conference ● September, 2009
![Page 26: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/26.jpg)
ScopeScope
25SNIA Storage Developer's Conference ● September, 2009
Related docs are being updated to match
[MS CIFS] content.‑
![Page 27: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/27.jpg)
ScopeScope
26
Must fit within the Template
Not a developer's dreamThere are unusual rulesThe format is a mix of ISO and IETF Standards stylesIt was put together by non-techies
We are committed to making the best of it.
(Just as we are all committed to making the best of SMB/CIFS, eh?)
SNIA Storage Developer's Conference ● September, 2009
![Page 28: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/28.jpg)
ProcessProcess
27SNIA Storage Developer's Conference ● September, 2009
![Page 29: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/29.jpg)
ProcessProcess
28
Information Gathering
The ancient texts:A phenomenal source of...
questions.Oddities in the old IBM docsHold-overs from the Xenix docsA lot to learn from the LANMAN docsThere are forgotten docs tooWho here has noticed the references to a SID field in the SMB header in Leach/Naik?
SNIA Storage Developer's Conference ● September, 2009
![Page 30: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/30.jpg)
ProcessProcess
29
Where the bodies are buried
What I can say about the NT code is that it is pretty much what we expected:
Relatively thinExposes Windows OS behaviorsUndeadUndead commands (Move/Copy)It is very old code now
SNIA Storage Developer's Conference ● September, 2009
![Page 31: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/31.jpg)
ProcessProcess
30
All writing is done in a Wiki, maintained within Microsoft.
It's a scratch padA communication mediumProvides opportunities to review/rewriteAvailable for MS to monitorWe add questions and comments to the command write-ups as we proceed.
(Implementing CIFS was written in public.)
SNIA Storage Developer's Conference ● September, 2009
Writing
![Page 32: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/32.jpg)
ProcessProcess
31
Testing and Code Spelunking
TestingSMB Torture and jCIFS
Kludgey modifications to the abovePlus a little code of our own
Code DiggingResolve questionsDiscover nuancesRaise new questions
SNIA Storage Developer's Conference ● September, 2009
![Page 33: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/33.jpg)
ProcessProcess
32
Cart/horse placement issues...
SNIA Storage Developer's Conference ● September, 2009
![Page 34: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/34.jpg)
ResultsResults
33
Those that respect the law and love sausage should watch neither being made. Mark Twain—
SNIA Storage Developer's Conference ● September, 2009
![Page 35: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/35.jpg)
ResultsResults
34
Pretty much what we expected
Studying CIFS raises as many questions as it answersWe have to "document out" OS behaviorsThe new doc will be
more completemore correctmore detailed than any previous CIFS doc
It's still a CIFS doc
SNIA Storage Developer's Conference ● September, 2009
![Page 36: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/36.jpg)
ResultsResults
35
Advantages this time 'round:Two very different perspectives"Are you sure that's how that works?"[MS-CIFS] handed off to Microsoft
A preview is available!We do want feedback
http://msdn.microsoft.com/en-us/library/ee230215.aspx
SNIA Storage Developer's Conference ● September, 2009
![Page 37: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/37.jpg)
ResultsResults
36
What's next?
Rewriting [MS-SMB]to conform to [MS-CIFS].
Review of related docsWe have been working in these docs for monthsHave already started submitting bug reports
SNIA Storage Developer's Conference ● September, 2009
![Page 38: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/38.jpg)
ResultsResults
37
[MS-SMB] Update
[MS-SMB] is a “delta”
Originally a supplement to Leach/Naik ([CIFS])
Being overhauled to conform to [MS-CIFS]
SNIA Storage Developer's Conference ● September, 2009
![Page 39: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/39.jpg)
In SummaryIn Summary
38SNIA Storage Developer's Conference ● September, 2009
[MS-CIFS] replaces Leach/Naik and the SNIA CIFS TR as the new baseline SMB/CIFS reference.
It fills a void in Microsoft's MCPP/WSPP documentation set.
[MS-CIFS] provides a sturdy foundation for the other MCPP/WSPP documentation.
Protocol extensions since NT are in [MS SMB].‑
![Page 40: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/40.jpg)
39SNIA Storage Developer's Conference ● September, 2009
Additional Information (extras)Additional Information (extras)
Definitions (real world):
SMB: Server Message BlockA stateful network file system protocol originally created by IBM in the early 1980s for use with the PC-DOS operating system.
CIFS: Common Internet File SystemA name given to the suite of protocols that include SMB and related supporting protocols. This name was created in the mid 1990's.
SMB2:Server Message Block v2A network file system protocol created by Microsoft for Windows Vista. SMB2 is a redesign of SMB, focusing on improved network efficiency and wide-area-network (WAN) performance.
![Page 41: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/41.jpg)
40SNIA Storage Developer's Conference ● September, 2009
Additional Information (extras)Additional Information (extras)
Definitions (legal and regulatory world):
CIFS: The Server Message Block file sharing protocol as implemented in Windows NT 3.51, NT 4, and Windows 9x clients.
SMB: The Server Message Block file sharing protocol as implemented in Windows starting with Windows 2000, up to and including current versions of Windows.
SMB2:The Server Message Block protocol, v2 as defined above.
Unfortunately, the terminology changes depending upon who you talk to, when you talk with them, and the context of the conversation.
![Page 42: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/42.jpg)
The EndThe End
41SNIA Storage Developer's Conference ● September, 2009
![Page 43: ReDocumenting Historic CIFS - SNIA · CIFS:Common Internet File System A name given to the suite of protocols that include SMB and related supporting protocols. This name was created](https://reader031.vdocuments.site/reader031/viewer/2022012003/60a24f70ede7a20ea634ca27/html5/thumbnails/43.jpg)
Any Questions?Any Questions?
42SNIA Storage Developer's Conference ● September, 2009