JoseBarreto SMB3 Remote File Protocol Revision
JoseBarreto SMB3 Remote File Protocol Revision
Objectives
Understand the basic architecture of the SMB protocol family
Enumerate the main capabilities introduced with SMB 2.0
Describe the main capabilities introduced with SMB 3.0
SMB remote file protocol (including SMB 3.0)
2012 Storage Networking Industry Association. All Rights Reserved.
Summary
Basics and History
Remote file protocol
A brief history of CIFS,
SMB, SMB2 and SMB3
SMB implementers
The basics of SMB
SMB 2.0
SMB 2.1
SMB 3.0
SMB Transparent Failover
SMB Scale-Out
SMB Witness
SMB Multichannel
SMB Direct
SMB Directory Leasing
SMB Encryption
VSS for Remote File Shares
Protocol
Well-defined and documented
Examples
NFS, SMB2, SMB3, WebDAV
CIFS - 1996
Windows NT 4.0 1996
IETF draft Common Internet File System 1997
SNIA Technical Specification 1999
SMB 3.0
SMB 2.1
SMB 2.0
SMB 1.0
SMB 3.0
SMB 3.0
SMB 2.1
SMB 2.0
SMB 1.0
SMB 2.1
SMB 2.1
SMB 2.1
SMB 2.0
SMB 1.0
SMB 2.0
SMB 2.0
SMB 2.0
SMB 2.0
SMB 1.0
SMB 1.0
SMB 1.0
SMB 1.0
SMB 1.0
SMB 1.0
Any references to CIFS usually mean SMB 1.0, but could be other versions.
SMB remote file protocol (including SMB 3.0)
2012 Storage Networking Industry Association. All Rights Reserved.
Protocol negotiation
As pictured in the SMB2/SMB3 protocol SMB remote file protocol (including SMB 3.0)
documentation (see link later in this deck) 2012 Storage Networking Industry Association. All Rights Reserved.
NetApp
EMC
Older versions CIFS/SMB 1
EMC VNX / EMC Isilon SMB 3 (pre-release)
Microsoft
Microsoft LAN Manager SMB
Windows NT 4.0 CIFS
Windows 2000 SMB 1
Windows Server 2003 or Windows XP SMB 1
Windows Server 2008 or Windows Vista SMB 2
Windows Server 2008 R2 or Windows 7 SMB 2.1
Windows Server 2012 or Windows 8 SMB 3
Information on this slide gathered from publicly available information as of October 2012.
Please contact the implementers directly to obtain the accurate, up-to-date information on their SMB implementation.
SMB remote file protocol (including SMB 3.0)
2012 Storage Networking Industry Association. All Rights Reserved.
10
11
DIR \\FS.EXAMPLE.COM\SHARE1
From
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
To
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
FS
CL
Packet
SMB:C NEGOTIATE, Dialect = (Dialect List)
SMB2:R NEGOTIATE (0x0), GUID={8E4F0109-0E04-FD9C-434A-05881428984C}, Mid = 0
SMB2:C SESSION SETUP (0x1), Mid = 1
SMB2:R SESSION SETUP (0x1) ,SessionFlags=0x0, Mid = 1
SMB2:C TREE CONNECT (0x3), Path=\\fs.example.com\IPC$, Mid = 2
SMB2:R TREE CONNECT (0x3), TID=0x1, Mid = 2
DFS:Get DFS Referral Request, FileName: \fs.example.com\share1, MaxReferralLevel: 4
SMB2:R , Mid = 3 - NT Status: System - Error, Code = (412) STATUS_FS_DRIVER_REQUIRED Not a DFS Namespace, just a file share
SMB2:C TREE CONNECT (0x3), Path=\\fs.example.com\share1, Mid = 4
SMB2:R TREE CONNECT (0x3), TID=0x5, Mid = 4
SMB2:C CREATE (0x5), Context=DHnQ, Context=MxAc, Context=QFid, Mid = 5
SMB2:R CREATE (0x5), Context=MxAc, Context=QFid, FID=0xFFFFFFFF00000001, Mid = 5
SMB2:C QUERY INFO (0x10), FID=0xFFFFFFFF00000001, InformationClass=Query FS Volume Info, FID=0xFFFFFFFF00000001, Mid = 6
SMB2:R QUERY INFO (0x10), Mid = 6
SMB2:C CREATE (0x5), Context=DHnQ, Context=MxAc, Context=QFid, Mid = 8
SMB2:R CREATE (0x5), Context=MxAc, Context=QFid, FID=0xFFFFFFFF00000005, Mid = 8
SMB2:C CLOSE (0x6), FID=0xFFFFFFFF00000001, Mid = 11
SMB2:R CLOSE (0x6), Mid = 11
SMB2:C QUERY INFO (0x10), FID=0xFFFFFFFF00000005, InformationClass=Query FS Full Size Info, FID=0xFFFFFFFF00000005, Mid = 12
SMB2:R QUERY INFO (0x10), Mid = 12
SMB2:C TREE DISCONNECT (0x4), TID=0x1, Mid = 13
SMB2:R TREE DISCONNECT (0x4), Mid = 13
SMB2:C TREE DISCONNECT (0x4), TID=0x5, Mid = 14
SMB2:R TREE DISCONNECT (0x4), Mid = 14
SMB2:C LOGOFF (0x2), Mid = 15
SMB2:R LOGOFF (0x2), Mid = 15
12
SMB 1.0
CIFS as in the 1997 IETF draft
Windows improvements (over time)
Kerberos authentication
Shadow copy
Server to server copy
Signing MD5
13
SMB 2.0
First major redesign of SMB
Increased file sharing scalability
Improved performance
Improved request compounding (reduced round trips)
Asynchronous operations (multiple packets in flight)
Larger reads/writes (more data in each packet)
Security-related changes
Much smaller command set (from 75 to just 19)
SMB Durability provide limited network fault tolerance
Signing Uses HMAC SHA-256 instead of old MD5
SMB remote file protocol (including SMB 3.0)
2012 Storage Networking Industry Association. All Rights Reserved.
14
Other
ECHO, OPLOCK_BREAK
SMB remote file protocol (including SMB 3.0)
2012 Storage Networking Industry Association. All Rights Reserved.
15
SMB 2.1
File leasing improvements
File Leasing replaces Opportunistic Locking (oplocks)
Improves performance when frequently updating metadata
Uses local metadata caching, some forms of shared leases
16
SMB 3.0
Availability
Backup
Performance
SMB Scale-Out
SMB Direct (RDMA)
SMB Multichannel
Directory Leasing
BranchCache V2
Security
SMB Encryption AES-CCM
Signing - AES-CMAC
Management
PowerShell over WS-Man
SMI-S File
17
Normal operation
Server Application
\\fs1\share
\\fs1\share
2
File Server Cluster
File Server
Node A
File Server
Node B
SMB Scale-Out
Targeted for server app storage
Application Cluster
Key capabilities:
Active/Active file shares
Fault tolerance with zero downtime
Fast failure recovery
SMB Client
SMB Server
Application
User
Scenario
Kernel
SMB Client
Network w/
RDMA
support
Required hardware
RDMA-capable network interface (R-NIC)
Three types: iWARP, RoCE and Infiniband
SMB Server
Network w/
RDMA
support
Local
File
Sy
ste
m
Disk
SMB Multichannel
Full Throughput
Bandwidth aggregation with multiple
NICs
Multiple CPUs cores engaged when
NIC offers Receive Side Scaling (RSS)
Automatic Failover
Sample Configurations
Single 10GbE
RSS-capable
NIC
SMB Client
Automatic Configuration
SMB detects and uses multiple paths
Multiple 10GbE
in NIC team
SMB Client
SMB Client
SMB Client
NIC Team
NIC
10GbE
NIC
1GbE
Switch
10GbE
Switch
1GbE
NIC
10GbE
NIC
1GbE
NIC
1GbE
Switch
1GbE
NIC
10GbE
Switch
10GbE
NIC
1GbE
NIC
10GbE
NIC
10GbE
Switch
10GbE
NIC
10GbE
NIC
10GbE/IB
Switch
10GbE/IB
NIC
10GbE/IB
NIC
10GbE/IB
Switch
10GbE/IB
NIC
10GbE/IB
NIC Team
SMB Server
SMB Server
SMB Server
SMB Server
\users\bob
{K11,K1}
Metadata cache
{K12,K1}
\users\alex
{K111,K11}
\users\bob\a.txt
Targeted at
\users
{K112,K11}
\users\bob\b.tx
t
Directory handles
Directory metadata
23
SMB Encryption
End-to-end encryption of data in flight
Protects data from eavesdropping/snooping
attacks on untrusted networks
Configured per share or for the entire server
Client
SMB Encryption
Server
Algorithm
No IPSec required
No Public Key Infrastructure (PKI) required
No specialized hardware required
Backup Server
Backup
Backup Agent
B
Read from
Shadow Copy
Share
VSS Providers
D
Application Server
Relay
Shadow
Copy
request
\\fs\foo
Data volume
\\fs\foo@t1
Shadow Copy
File Server
SMB Management
WMI objects introduced (accessible via WS-Management)
Manages SMB shares, file server sessions and settings, client connections and
settings
Aimed at both System Administrator and Developers
Covers both standalone and clustered file server and shares
SMI-S File
WMI = Windows
Management
Instrumentation,
implementation of
DMTF standards
(WBEM, CIM) on the
Windows Platform.
WS-Management = Web
Services Management.
DMTF open standard
for SOAP-based
protocol for server
management.
SMI-S = Storage
Management Initiative
Specification. SNIA
Storage Management
Standard.
26
Description
Specifies the Common Internet File System (CIFS) Protocol, a cross-platform, transportindependent protocol that provides a mechanism for client systems to use file and print
services made available by server systems over a network.
[MS-SMB]: Server Message Block (SMB) Protocol Specifies the Server Message Block (SMB) Protocol, which defines extensions to the existing
Specification
Common Internet File System (CIFS) specification that have been implemented by Microsoft
since the publication of the [CIFS] specification.
[MS-SMB2]: Server Message Block (SMB)
Protocol Versions 2 and 3 Specification
Specifies the Server Message Block (SMB) Protocol Versions 2 and 3, which support the
sharing of file and print resources between machines and extend the concepts from the Server
Message Block Protocol.
[MS-SMBD]: SMB Remote Direct Memory Access Specifies the SMB Remote Direct Memory Access (RDMA) Transport Protocol, a wrapper for
(RDMA) Transport Protocol Specification
the existing SMB protocol that allows SMB packets to be delivered over RDMA-capable
transports such as iWARP or Infiniband while utilizing the direct data placement (DDP)
capabilities of these transports. Benefits include reduced CPU overhead, lower latency, and
improved throughput.
[MS-SWN]: Service Witness Protocol
Specification
Specifies the Service Witness Protocol, which enables an SMB clustered file server to notify
SMB clients with prompt and explicit notifications about the failure or recovery of a network
name and associated services.
Specifies the File Server Remote VSS Protocol, an RPC-based protocol used for creating
shadow copies of file shares on a remote computer, and for facilitating backup applications in
performing application-consistent backup and restore of data on SMB shares.
Note: Protocols published by Microsoft, but available to anyone to implement in non-Windows platforms.
27
Plugfest
SMB/SMV2/SMB3
PlugFest happens every
year side-by-side with
the Storage Developer
Conference (SNIA
SDC) in September
Intense week of
interaction across
operating systems and
SMB implementations.
28
Review
Objectives
Understand the basic architecture of the SMB protocol family
Enumerate the main capabilities introduced with SMB 2.0
Describe the main capabilities introduced with SMB 3.0
29
Additional Contributors
SW Worth
Christopher Hertel
Updates:
Jose Barreto / October 2012
30
Thank you!
31