Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am doing some speed tests with different types of file transfers in my network.

I have noticed that windows file transfers (SMB) are slower than FTP, HTTP, and other types of protocols.

I was thinking that is might have to do with a persistent connection.

I have a few questions, not just one.

  1. Do SMB File Transfers use a persistent connection?

  2. Do SMB File transfers send one packet at a time and wait for an asoociated ACK? or do they do something like HTTP pipelining?

  3. Is there a way I can find this information out for myself? (Microsoft's site is not helpful.)

share|improve this question
1  
What version of SMB 1,2, or 3 ? –  Zypher Feb 28 '13 at 16:07
add comment

1 Answer 1

up vote 4 down vote accepted

Some of these things depend on the version of SMB you're talking about. There are a number of different dialects and "flavors". There have been entire books written about SMB/CIFS-- you're talking about a fairly broad topic.

The original SMB dialect, over TCP/IP, sends commands across a single TCP connection between the client and the server. There is no "pipelining" functionality.

SMBv2 added pipelining functionality, decreased the overall number of commands and simplified the protocol, and generally reduced the protocol's back-and-forth nature that contributed to poor performance on latent connections.

Implementing CIFS is a good resource re: the original SMB protocol. For SMBv2, I'd look first to Microsoft's protocol documentation. Some other resources, from the Samba perspective, are:

SMB3 added a lot more functionality, too. The Windows Server Blog on Technet has some details about SMBv3 functionality.

share|improve this answer
1  
last but not least, SMBv3 introduces multichannel which is using multiple simultaneous TCP connections for a single session. –  the-wabbit Feb 28 '13 at 16:17
    
Thank you!I will look at the links you gave. One other thing, Is the version of SMB operating system dependent? or can it be "upgraded"? –  son_of_fire Mar 1 '13 at 10:28
    
In Windows the available SMB versions is OS-dependent. SMBv2 launched w/ Windows Vista, and SMBv3 with Windows 8. With non-Windows OS's you are much more likely to be able to load whatever SMB server and client software you want. –  Evan Anderson Mar 1 '13 at 14:09
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.