1
SMB3 Protocol Update
Tom Talpey Microsoft Corporation
SMB3 Protocol Update Tom Talpey Microsoft Corporation 1 Outline - - PowerPoint PPT Presentation
SMB3 Protocol Update Tom Talpey Microsoft Corporation 1 Outline SMB3 Protocol changes SMB3 Protocol futures Possible Microsoft/Samba collaborations sambaXP 2019 Gttingen 2 SMB3 Protocol Changes sambaXP 2019 Gttingen 3
1
Tom Talpey Microsoft Corporation
2
sambaXP 2019 Göttingen
3
sambaXP 2019 Göttingen
4
smb2/5606ad47-5ee0-437a-817e-70c366052962
sambaXP 2019 Göttingen
5
sambaXP 2019 Göttingen
6
sambaXP 2019 Göttingen
7
sambaXP 2019 Göttingen
Algorithm Count Algorithm Id 1 Algorithm Id 2 Algorithm Id 3
2 Byte 2 Byte 2 Byte
……
2 Byte
n Selected Algorithm Id 1
2 Byte
Selected Algorithm Id n
2 Byte
……
8
sambaXP 2019 Göttingen
Reserved Compression Offset Algorithm Protocol ID Original Segment Size
SMB Transform Header SMB Compression Transform Header SMB2 HEADER and
9
sambaXP 2019 Göttingen
10
sambaXP 2019 Göttingen
11
sambaXP 2019 Göttingen
12
100 100 400 168 100 200 300 400 500 Patterned Data Random Data
SMB Compression performance under 100Mbps network with EXPRESS using Intel Xeon W3520
No Compression With Compression
sambaXP 2019 Göttingen
13
200 200 544 232 100 200 300 400 500 600 Patterned Data Random Data
SMB Compression performance under 200Mbps network with EXPRESS using Intel Xeon W3520
No Compression With Compression
sambaXP 2019 Göttingen
14
sambaXP 2019 Göttingen
15
sambaXP 2019 Göttingen
16
sambaXP 2019 Göttingen
Name length Unicode null-terminated name
2 Byte Variable
17
sambaXP 2019 Göttingen
18
trips and improve performance
sambaXP 2019 Göttingen
19
sambaXP 2019 Göttingen
20
sambaXP 2019 Göttingen
21
sambaXP 2019 Göttingen
22
sambaXP 2019 Göttingen
23
sambaXP 2019 Göttingen
24
sambaXP 2019 Göttingen
25
AES-CCM based signing
computations
sambaXP 2019 Göttingen
26
sambaXP 2019 Göttingen
27
signing in SMB 3.1.1. New negotiation context specifying the algorithm count and algorithm IDs:
sambaXP 2019 Göttingen
0x0001 Selected Algorithm ID
2 Byte
Algorithm Count Algorithm Id 1 Algorithm Id Algorithm Id 2
2 Byte 2 Byte 2 Byte
……
28
RDMA.
packet-based authenticated and/or encrypted traffic over SMB RDMA.
signing, AES-CCM and AES-GCM for encryption.
sambaXP 2019 Göttingen
SMB2 RDR SMB2 SRV
RDMA Buffer RDMA Buffer
(Encrypted/Signed)
RDMA Buffer
(Decrypted/Verified)
E.g. An SMB RDMA write:
RDMA Pull
29
sambaXP 2019 Göttingen
Signature and Nonce Transform Descriptor Signature Length Signature Offset Nonce Length Nonce Offset Original Message Size Reserved 1 Reserved 2 Channel Offset Channel Length Channel (V1 or V1 Invalidate) SMB2 HEADER SMB2 REQ WRITE RDMA Descriptor
30
1 2 3 1 Traditional i/o 2 DAX memcpy by SMB3 Server 3 Push Mode direct from RDMA NIC
Mode” discussed at previous events
read/write to DAX file
protocol extensions required
SMB3 Server RDMA NIC SMB3 RDMA Push/ Commit “Buffer Cache”
RDMA R/W Load/Store
DAX Filesystem PMEM
I/O requests
Direct file mapping
sambaXP 2019 Göttingen
31
sambaXP 2019 Göttingen
32
sambaXP 2019 Göttingen
33
Clara
sambaXP 2019 Göttingen
34
sambaXP 2019 Göttingen
35
sambaXP 2019 Göttingen
36
sambaXP 2019 Göttingen