Blog

L’essentiel en diagnostic SMB : Anatomie d’une transaction CIFS

Nous avons remarqué une demande croissante pour du diagnostic SMB / CIFS. SMB/CIFS sont largement utilisés pour accéder et archiver des dossiers, aussi bien pour les activités utilisateur, qu’en tant que chaînes applicatives.

C’est devenu critique dans de nombreux environnements.

Que se passe t’il donc avec SMB/CIFS?

SMB / CIFS est un Protocol complexe :

  • Il existe de nombreuses versions qui sont significativement différentes.
  • La version du dialecte SMB utilisé dépend aussi bien du support SMB du client que celui du serveur impliqués dans la communication.
  • L’activité d’un seul utilisateur, ne se réduit pas à un simple « requête/réponse », à l’instar de nombreux protocoles communément utilisés, tels que le DNS, HTTP, SQL, etc.
  • A partir de SMB2, un paquet peut contenir plusieurs commandes. Une analyse profonde de chaque paquet sera nécessaire.

À quoi ressemble une simple opération SMB utilisateur ?

Afin de pouvoir identifier une transaction erronée, commençons par comprendre les différentes étapes d’une transaction SMB qui fonctionne correctement.

Prenons un exemple de base : un utilisateur veut mettre un fichier sur un dossier distant, voici la liste des transactions SMB qui sont requises pour compléter une simple opération utilisateur comme celle-ci :

Pour diagnostiquer une telle transaction qui serait lente ou qui comporterait une erreur, il faudrait :

  • Mesurer le temps de réponse pour chaque commande (couple requête/réponse).
  • Tracer les messages d’erreur sur toutes les étapes de cette conversation.

Si vous souhaitez en savoir plus sur les bonnes pratiques pour diagnostiquer des problèmes de performance sur les échanges SMB/CIFS, vous serez peut-être intéressé par notre guide (en anglais): best practices for SMB / CIFS performance troubleshooting.