How to debug 100x variance in writing the same file?

Christopher R. Hertel crh at
Fri Jan 21 22:51:21 GMT 2005

On Fri, Jan 21, 2005 at 02:22:16PM -0800, John Gerth wrote:
> Thanks for the guidance. I probably had some subconscious hope that this
> was a known issue and someone would write "John, you ignoramous, why didn't
> you set socket options to .....".  As must be painfully clear, I'm not very
> NBT-protocol aware. It had been my naive hope that TCP was already covering
> all the packet loss issues and thus why I both used 'scp' and NBT to the 
> W2k3
> server to try and convince myself that the network transport wasn't an 
> issue.

You can ignore the "NBT Layer" for your purposes.  As a transport for SMB, 
there is almost no difference between NBT and naked TCP transport.

(The difference is in the size of the packet length field.  Under NBT it's 
defined as 17 bits with 7 more bits reserved.  Under naked transport, it 
*may* be counted as a full 24 bits.)

The problem we are suggesting *may* be the source of your headache is the
request/response nature of the higher-level SMB protocol.

With a stream protocol, if a packet is dropped it is simply resent a few 
packets later and the receiving end pops it back into its correct place 
and all is well.  Other packets continue to flow so there is little 

With a request/response protocol, if a packet is dropped the entire
transaction gets held up.  You have to wait until the timeout expires
before the dropped packet is resent, then the transaction is processed,
then the response is sent and, once again, if you lose a packet you wait.

Anyway, that's all a first-guess.  If that's the problem you'll see it in 
Ethereal.  You'll need to find a hub or a switch with a span port so that 
you can see all of the packets.  I sometimes use a box with two ethernet 
cards and bridging running.  :)

Chris -)-----

"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team --     -)-----   Christopher R. Hertel
jCIFS Team --   -)-----   ubiqx development, uninq.
ubiqx Team --     -)-----   crh at
OnLineBook --    -)-----   crh at

More information about the samba-technical mailing list