[Samba] Windows clients connecting to SMB share differently over IP than DNS

Gavin Greenwalt im.thatoneguy at gmail.com
Thu Apr 1 16:44:40 UTC 2021


I have a CIFS share on a samba server ((Version 4.4.16)) joined as a member
to a Windows 2012 R2 AD domain. If I on a windows 10 machine mount the
share over IP address it takes about 14.5 minutes for 21,000 files to copy.
(which is in of itself slow but I believe due to a lack of official SMB3
multichannel support in Samba.) If I mount the share with the DNS name it
takes *205* minutes to copy the 21,000 files to copy.  More than 10x
slower.

Connecting to the IP address (e.g. \\1.1.1.1\share) the SMB transaction
goes as expected.

5153       19.122016            2.2.2.2   1.1.1.1   Create Request File:
temp\Folder\1 - Copy (83).txt

5154       19.122612            1.1.1.1   2.2.2.2   Create Response File:
temp\Folder\1 - Copy (83).txt

5155       19.122716            2.2.2.2   1.1.1.1   SetInfo Request
FILE_INFO/SMB2_FILE_ENDOFFILE_INFO File: temp\Folder\1 - Copy (83).txt

5156       19.122886            1.1.1.1   2.2.2.2   SetInfo Response

5157       19.122951            2.2.2.2   1.1.1.1   Write Request Len:8888
Off:0 File: temp\Folder\1 - Copy (83).txt

5159       19.123135            1.1.1.1   2.2.2.2   Write Response

5160       19.123165            2.2.2.2   1.1.1.1   SetInfo Request
FILE_INFO/SMB2_FILE_BASIC_INFO File: temp\Folder\1 - Copy (83).txt

5161       19.123308            1.1.1.1   2.2.2.2   SetInfo Response

5162       19.123338            2.2.2.2   1.1.1.1   GetInfo Request
FILE_INFO/SMB2_FILE_NETWORK_OPEN_INFO File: temp\Folder\1 - Copy (83).txt

5163       19.123420            1.1.1.1   2.2.2.2   GetInfo Response

5164       19.123541            2.2.2.2   1.1.1.1   GetInfo Request
FILE_INFO/SMB2_FILE_NETWORK_OPEN_INFO File: temp\Folder\1 - Copy (83).txt

5165       19.123616            1.1.1.1   2.2.2.2   GetInfo Response

5166       19.123666            2.2.2.2   1.1.1.1   GetInfo Request
SEC_INFO/SMB2_SEC_INFO_00 File: temp\Folder\1 - Copy (83).txt

5167       19.127104            1.1.1.1   2.2.2.2   GetInfo Response,
Error: STATUS_BUFFER_TOO_SMALL

5168       19.127171            2.2.2.2   1.1.1.1   GetInfo Request
SEC_INFO/SMB2_SEC_INFO_00 File: temp\Folder\1 - Copy (83).txt

5169       19.130321            1.1.1.1   2.2.2.2   GetInfo Response

5170       19.130584            2.2.2.2   1.1.1.1   Close Request File:
temp\Folder\1 - Copy (83).txt

5171       19.130800            1.1.1.1   2.2.2.2   Close Response



Over DNS (e.g. \\server\share) things screech to a halt and follow a
completely different transaction loop involving a tree connect request over
every single file.  This slows things down to about 1 file/second.



4365       9.064473              2.2.2.2   1.1.1.1   Session Setup Request

4367       9.067749              2.2.2.2   1.1.1.1   Create Request File:
temp\Folder\1 - Copy (83).txt

4749       10.061721            2.2.2.2   1.1.1.1   Create Request File:
temp\Folder

4755       10.068555            1.1.1.1   2.2.2.2   Session Setup Response

4756       10.068922            2.2.2.2   1.1.1.1   Tree Connect Request
Tree: \\Synology\Share

4757       10.069262            1.1.1.1   2.2.2.2   Create Response File:
temp\Folder\1 - Copy (83).txt

4758       10.069483            2.2.2.2   1.1.1.1   SetInfo Request
FILE_INFO/SMB2_FILE_ENDOFFILE_INFO File: temp\Folder\1 - Copy (83).txt

4759       10.069613            1.1.1.1   2.2.2.2   Create Response File:
temp\Folder

4760       10.069729            2.2.2.2   1.1.1.1   Find Request File:
temp\Folder SMB2_FIND_ID_BOTH_DIRECTORY_INFO Pattern: *;Find Request File:
temp\Folder SMB2_FIND_ID_BOTH_DIRECTORY_INFO Pattern: *

4762       10.074482            1.1.1.1   2.2.2.2   Tree Connect Response,
Error: STATUS_ACCESS_DENIED

4763       10.074550            2.2.2.2   1.1.1.1   Session Logoff Request

4764       10.074688            1.1.1.1   2.2.2.2   SetInfo Response

4765       10.074810            2.2.2.2   1.1.1.1   Write Request Len:8888
Off:0 File: temp\Folder\1 - Copy (83).txt

4767       10.077222            1.1.1.1   2.2.2.2   Response;Find Response,
Error: STATUS_NO_MORE_FILES

4769       10.077405            1.1.1.1   2.2.2.2   Session Logoff Response

4770       10.077448            2.2.2.2   1.1.1.1   Close Request File:
temp\Folder

4771       10.077535            1.1.1.1   2.2.2.2   Write Response

4772       10.077630            1.1.1.1   2.2.2.2   Close Response

4774       10.077712            2.2.2.2   1.1.1.1   SetInfo Request
FILE_INFO/SMB2_FILE_BASIC_INFO File: temp\Folder\1 - Copy (83).txt

4775       10.077872            2.2.2.2   1.1.1.1   Create Request File:
temp\Folder

4776       10.078096            1.1.1.1   2.2.2.2   SetInfo Response

4777       10.078166            2.2.2.2   1.1.1.1   GetInfo Request
FILE_INFO/SMB2_FILE_NETWORK_OPEN_INFO File: temp\Folder\1 - Copy (83).txt

4778       10.078337            1.1.1.1   2.2.2.2   Create Response File:
temp\Folder

4779       10.078378            1.1.1.1   2.2.2.2   GetInfo Response

4781       10.078430            2.2.2.2   1.1.1.1   Close Request File:
temp\Folder

4782       10.078550            1.1.1.1   2.2.2.2   Close Response

4783       10.078648            2.2.2.2   1.1.1.1   GetInfo Request
FILE_INFO/SMB2_FILE_NETWORK_OPEN_INFO File: temp\Folder\1 - Copy (83).txt

4784       10.078670            2.2.2.2   1.1.1.1   Create Request File:
temp

4785       10.078748            1.1.1.1   2.2.2.2   GetInfo Response

4786       10.078821            2.2.2.2   1.1.1.1   GetInfo Request
SEC_INFO/SMB2_SEC_INFO_00 File: temp\Folder\1 - Copy (83).txt

4787       10.078897            1.1.1.1   2.2.2.2   Create Response File:
temp

4788       10.078998            2.2.2.2   1.1.1.1   Close Request File: temp

4789       10.083060            1.1.1.1   2.2.2.2   GetInfo Response,
Error: STATUS_BUFFER_TOO_SMALL

4790       10.083148            1.1.1.1   2.2.2.2   Close Response

4791       10.083155            2.2.2.2   1.1.1.1   GetInfo Request
SEC_INFO/SMB2_SEC_INFO_00 File: temp\Folder\1 - Copy (83).txt

4792       10.083252            2.2.2.2   1.1.1.1   Create Request File:

4793       10.087615            1.1.1.1   2.2.2.2   GetInfo Response

4794       10.087860            1.1.1.1   2.2.2.2   Create Response File:

4796       10.087948            2.2.2.2   1.1.1.1   Find Request File:
SMB2_FIND_ID_BOTH_DIRECTORY_INFO Pattern: *;Find Request File:
SMB2_FIND_ID_BOTH_DIRECTORY_INFO Pattern: *

4797       10.088101            2.2.2.2   1.1.1.1   Close Request File:
temp\Folder\1 - Copy (83).txt

4798       10.089075            1.1.1.1   2.2.2.2   Find Response;Find
Response, Error: STATUS_NO_MORE_FILES

4800       10.089169            2.2.2.2   1.1.1.1   Close Request File:

4801       10.089291            1.1.1.1   2.2.2.2   Close Response

4802       10.089375            1.1.1.1   2.2.2.2   Close Response



The initial delay seems to be somewhat random. E.g. but consistenly around
1second per file for the negotiation.

11686    28.24ms               2.2.2.2   1.1.1.1   Session Setup Request

11688    28.24ms               2.2.2.2   1.1.1.1   Create Request File:
temp\Folder\1 - Copy (114).txt

11997    28.74ms               2.2.2.2   1.1.1.1  Create Request File:
temp\Folder\Files

12079    28.99ms               1.1.1.1   2.2.2.2   Session Setup Response

12080    28.99ms               2.2.2.2   1.1.1.1   Tree Connect Request
Tree: \\Synology\Share

Do windows clients connect to \\path\shares differently from
\\ip.ad.d.ress\paths? I’m kind of stuck trying to think of what else to
test to make progress on why the server is so much slower on Windows 10
clients when mapped over DNS name.   Windows reports the smb connection as
a 3.1.1 dialect for both \\ip and \\dns.

The only intriguing thing I can note is that Windows connects to the \\ip
address as domain\user for credentials. However no matter what I do it
connects as domain*.com*\user for named server connections (both Windows
and Linux\samba).  For comparison a Windows 2012R2 file server and a
Windows 10 desktop client follow the correct (fast\streamlined) SMB
transaction with both DNS and IP Address.  So it seems to be limited to the
Samba share.

- Gavin Greenwalt


More information about the samba mailing list