1

Does CIFS / SMB use multiple connections?

I am wondering this because transferring multiple files on the same computer seems to be limited to one NIC link and not more. I have a 10G on the client and multiple LACP nics on the server. You would think that a multiple socket connection could allow you to saturate all the LACP nics.

Can't seem to find an answer to this anywhere.

https://msdn.microsoft.com/en-us/library/ee441901.aspx

Seems to indicate a single NetBIOS TCP connection per SMB / CIFS session.

If this is true, obviously this is a horrible design. Not allowing out of band file transfers seems crazy.

7
  • for modern implementations, on the server side, SMB transfers over 445 exclusively. you can try disabling NETBios over TCP/IP, but I believe that it would use UDP, and the streams may not play nicely with your aggregated links. Commented Mar 12, 2015 at 0:47
  • The server side may be 445 but will the client use multiple sockets per session for transfers or does the client use a single multiplexed TCP connection? Commented Mar 12, 2015 at 0:49
  • client connections come from an unused ports above 49000. Commented Mar 12, 2015 at 0:55
  • That would only make sense if it was using UDP because then you would create one listener port per client. This is how VoIP works. It creates UDP ports for each data stream. Commented Mar 12, 2015 at 0:59
  • 1
    TCP is most efficient when a single connection is multiplexed, so that's how SMB works. Commented Mar 13, 2015 at 1:57

1 Answer 1

2

The multiple connections feature (aka - multichannel) is available from SMB 3.0. So that it will work, for instance, between W8 and W2k12.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .