Az SMB (Server Message Block) egy az IBM által az 1980-as évek végén kifejlesztett kliens-szerver fájlmegosztó protokoll, amely olyan osztott hálózati erőforrások szerkezetét írja le, mint például könyvtárak, fájlok, nyomtatók és soros portok. Ez egy kérés-válasz protokoll.

Az SMB-protokoll leírja a fájlrendszer elérését, valamint azt, hogy a kliensek hogyan kérhetik le a fájlokat. Leírja továbbá az SMB-protokoll folyamatok közötti belső kommunikációját is. Minden SMB-üzenetnek közös a formátuma. Ez a formátum egy állandó hosszúságú fejlécet és egy azt követő változó méretű paraméter- és adatkomponenst használ.

Az SMB-üzenetek az alábbiakra alkalmasak:

Az SMB alapú fájlmegosztás és nyomtatás a Microsoft legfőbb hálózati szolgáltatásaivá vált. A Windows 2000 szoftversorozat megjelenésével a Microsoft megváltoztatta az SMB által használt mögöttes struktúrát. A Microsoft termékek korábbi verzióiban az SMB-szolgáltatások névfeloldásra még nem TCP/IP-re épülő protokollt használtak. A Windows 2000-től minden Microsoft termék már DNS neveket használ, ami közvetlenül támogatja az SMB-erőforrások TCP/IP protokoll alapú megosztását (lásd 1. ábra). A 2. ábra két Windows PC közti SMB-alapú fájlcserefolyamatot szemlélteti.

A fájlátviteli protokollal (FTP) ellentétben a fájlmegosztásra a kliensek tartós kapcsolatokat építenek ki a szerverekkel. A kapcsolat létrejötte után a kliens felhasználója a szerveren lévő erőforrásokat helyi erőforrásként tudja elérni.

A Linux és Unix operációs rendszerek egy SAMBA nevű SMB-verzió alkalmazásával biztosítanak módszert a Microsoft hálózatokkal történő erőforrás-megosztásához. Az Apple Macintosh operációs rendszerek ugyancsak támogatják az SMB-protokoll alapú erőforrás-megosztást.