Server Message Block
| Server Message Block | |
| Fonction | Partage de fichiers et d'imprimantes |
|---|---|
| Sigle | SMB |
| Port | 445[1] |
| modifier |
|
| Pile de protocoles | ||||||||||||||
|
||||||||||||||
| Modèle Internet Modèle OSI |
Le protocole SMB (Server Message Block[2]) est un protocole permettant le partage de ressources (fichiers et imprimantes) sur des réseaux locaux avec des PC sous Windows.
Dans l'ancien Windows NT 4, il était appelé CIFS (Common Internet File System). Dans Vista et Seven, il est appelé SMB 2[3].
Sommaire |
[modifier] Chez Microsoft, de Lan Manager à CIFS
Créé en 1985 par IBM, ce protocole s'est d'abord appelé LAN Manager sous OS/2, puis il a été popularisé par Microsoft Windows qui l'intégrait comme système par défaut de partage de fichiers sous Windows. En 1998, Microsoft renomme SMB en CIFS (Common Internet File System) et ajoute plusieurs fonctions comme le support des raccourcis et de fichiers de plus grande taille.
Avec l'arrivée de Windows Vista et de Seven, Microsoft a mis au point une version 2 du protocole plus rapide. Le protocole est de nouveau nommé SMB (SMB 2).
[modifier] Architecture client-serveur
SMB fonctionne via une structure de client/serveur, le client va envoyer des requêtes spécifiques et le serveur de fichiers va y répondre. Le protocole est optimisé pour une utilisation dans un réseau local, mais il peut aussi être utilisé sur Internet (la plupart des attaques simples sous Windows ont pour source cette raison, profitant notamment de la présence du service "Serveur" lancé par défaut).[réf. nécessaire]
[modifier] Partage de ressources diverses
Le serveur SMB permet de donner l’accès aux clients du réseau à des systèmes de fichiers, mais aussi à d’autres ressources comme des imprimantes. Le client peut avoir ses propres disques qui ne seront pas partagés et peut accéder en même temps aux disques et imprimantes partagés par le serveur.
[modifier] La couche réseau utilisée par CIFS : TCP/IP ou NetBEUI
SMB a été à l’origine conçu pour tourner par dessus une des implémentations de NetBEUI nommé aussi NBT.
Des évolutions du protocole ont été apportées car il n'était pas routable (interconnexion d'un réseau avec un autre). Il a été encapsulé dans des trames TCP/IP depuis Windows 2000.
Actuellement (en février 2012), Microsoft prévoit que le futur Windows 8 utilisera la version 2.2[4] de SMB.
[modifier] Charge du réseau
Le protocole fait une utilisation intensive de la bande passante réseau si le service Explorateur d'ordinateur est lancé sur plusieurs ordinateurs utilisant ce réseau. En effet, chaque client reporte sa présence à tout le réseau (via des broadcasts).
[modifier] Base de registre (service LanManWorkstation et autres)
Dans la base de registre (notamment sous Windows 7), le paramétrage de base de SMB est dans l'arborescence HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/LanManWorkstation. Comme pour beaucoup d'autres éléments de la base de registre, les noms d'origine des fonctionnalités ont été conservés dans la base de registre, alors que Microsoft a changé le nom de la fonctionnalité.
En plus de ces paramètres de base, il y a de nombreux autres paramètres concernant SMB :
- Le paramétrage qui a le plus d'impact sur les performances réseau est dans l'arborescence HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Browser
- Le paramétrage ayant le plus d'impact sur la sécurité est dans HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/LanManServer.
[modifier] Samba dans l'Open Source
Le protocole SMB est aujourd'hui disponible sur la plupart des systèmes d'exploitation, notamment linux/unix, grâce à son implémentation libre Samba.
[modifier] Références
[modifier] Voir aussi
[modifier] Articles connexes
- Microsoft : Partage administratif : IPC$, PRINT$, FAX$
- Open source : Samba
- NFS :
[modifier] Liens externes
- Site officiel de Samba
- Description du protocole SMB (Anglais)
- Labo-Linux : Samba et le protocole SMB
- Le très bon HOWTO SMB en français
- jCIFS le java CIFS, la bibliothèque logicielle de Samba
- (en) La page de Microsoft concernant CIFS
- (en) JLAN Implémentation CIFS issue d'Alfresco