Accedian is now part of Cisco  |

Avatar photo
By Boris Rogier

SMB troubleshooting basics: anatomy of a CIFS transaction

SMB troubleshooting

SMB troubleshooting / CIFS troubleshooting

SMB troubleshooting and CIFS troubleshooting are more and more in demand. SMB/CIFS is widely used to access and store files for both user activities and as part of application chains. It has become critical in numerous environments.

So, what’s up with SMB/CIFS?

SMB / CIFS is a complex protocol:

  • There are many versions which are significantly different.
  • The version of the SMB dialect used depends on the SMB support of both, the Client and the Server that are involved in the communication.
  • One user’s activity does not translate into a simple request-response couple, unlike many commonly used protocols such as DNS, HTTP, SQL, etc.
  • From SMB2, one packet may contain several commands. A deep analysis of each packet is going to be required.

What does a simple users’ SMB operation look like?

To be able to identify an erroneous transaction, let’s start by understanding the different steps of an SMB transaction that works properly.

Let’s start with a very simple example: a user wants to put a file on a remote folder: here is the list of SMB transactions that are required to complete a simple user operation such as this one:

SMB troubleshooting - client vs server

To troubleshoot any such transaction which would be slow or run into an error, you would need to:

  • Measure the response time for every command (couple request/response)
  • Track error messages in any step of this conversation.

Learn more

If you are willing to further investigate best practices in SMB troubleshooting, specifically performance issues in SMB / CIFS exchanges, you might want to take a look at this guide: best practices for SMB / CIFS performance troubleshooting.