Server Message Block disingkat SMB adalah istilah bahasa Inggris dalam teknologi informasi yang mengacu kepada protokol client/server yang ditujukan sebagai layanan untuk berbagi berkas di dalam sebuah jaringan. Protokol ini seringnya digunakan di dalam sistem operasi Microsoft Windows dan IBM OS/2. Sistem operasi berbasis UNIX juga dapat menggunakannya dengan tambahan perangkat lunak yang disebut dengan SAMBA.

Protokol SMB ditemukan oleh Barry Feignbaum dari Laboratorium Boca Raton milik IBM pada saat sistem operasi MS-DOS masih berjaya. Protokol itu selanjutnya dikembangkan lebih lanjut oleh 3Com Corporation, IBM, Intel, dan Microsoft pada pertengahan dekade 1980 hingga akhir dekade tersebut. SMB awalnya menggunakan protokol NetBIOS sebagai protokol di mana ia berjalan, sebelum menggunakan protokol NetBIOS over TCP/IP (NBT) sebagai protokol lapisan transport-nya. Dengan begitu, SMB juga dapat digunakan dalam sebuah jaringan TCP/IP yang lebih luas dukungannya.

SMB mendukung fungsi-fungsi seperti:

  • Membuka dan menutup koneksi antara klien-klien SMB (yang disebut sebagai Redirector) dan server SMB (komputer yang menjalankan file and print services) untuk mengizinkan klien agar dapat mengakses sumberdaya di dalam jaringan.
  • Menemukan, membaca, dan menulisi berkas dalam sebuah file server.
  • Menemukan dan menggunakan alat pencetak yang digunakan bersama-sama untuk mencetak secara jarak jauh.

SMB juga dapat digunakan sebagai sebuah protokol message-passing untuk melakukan beberapa transaksi dalam lingkungan aplikasi terdistribusi. Protokol Remote Procedure Call (RPC) dapat digunakan melalui SMB dan SMB juga mendukung beberapa mekanisme Interprocess communication (IPC), seperti halnya named pipe (pipa bernama) dan mailslot.

SMB memiliki empat jenis pesan (message):

  • Session Control Message: digunakan untuk membuka atau menutup sebuah koneksi antara redirector dengan server.
  • File Message: digunakan oleh redirector untuk memperoleh akses terhadap berkas yang berada di dalam server.
  • Printer Message: digunakan oleh redirector untuk mengirimkan data ke sebuah antrean alat pencetak (print queue) yang terdapat dalam server.
  • Message: mengizinkan aplikasi untuk saling bertukar pesan dengan komputer lainnya.

Untuk masalah keamanan, SMB mengimplementasikannya pada dua level, yakni user-level dan share-level.

SMB tidak diajukan menjadi standar Internet, sebelum tahun 1996, saat Microsoft memodifikasi SMB menjadi protokol CIFS (Common Internet File System).

Layanan

sunting

Pada Microsoft Windows, implementasi SMB terdiri dari dua layanan Windows service: "Server" (ID: LanmanServer) dan "Workstation" (ID: LanmanWorkstation).[1]

Layanan server

sunting

Layanan server, dalam Windows (sering juga disebut sebagai LanmanServer), adalah sebuah komponen di dalam sistem operasi Microsoft Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, dan Windows Server 2008 yang mengizinkan sebuah komputer untuk menyediakan layanan berbagi berkas (file sharing) dan alat pencetak (print service) melalui sebuah jaringan. Ketika komponen klien (disebut sebagai Redirector) membuat sebuah permintaan terhadap sebuah sumber daya yang diizinkan untuk diakses di dalam sebuah komputer, maka layanan ini akan merespons dan meneruskan sumber daya tersebut kepada klien.

Layanan ini diimplementasikan sebagai driver sistem berkas dalam Windows NT dan diletakkan di atas lapisan Transport Driver Interface (TDI), yang mengizinkannya untuk berinteraksi secara independen dengan semua protokol lapisan transport yang tersedia di dalam sistem operasi. Layanan ini akan merespons terhadap semua permintaan seperti halnya yang dilakukan oleh driver sistem berkas, sehingga mengizinkan pengguna untuk membaca dan menulisi data ke dalam sebuah share dalam jaringan.

Layanan ini terdiri atas dua komponen dasar, yakni:

  • Server (atau SRV), yakni sebuah layanan Windows yang berjalan di dalam proses Service Control Manager (services.exe).
  • Srv.sys: yakni sebuah driver sistem berkas yang beroperasi di dalam modus kernel dan menangani semua fungsi-fungsi tingkat rendah dari layanan server, seperti halnya membaca berkas dan menulisnya.

Jika sebuah klien jaringan jarak jauh membuat sebuah permintaan terhadap layanan Server di dalam komputer lokal, yang dilakukan dengan cara meminta sebauh berkas dari sistem berkas lokal, maka permintaan tersebut akan diterima oleh driver kartu jaringan/Network Interface Card dan diberikan ke atas kepada srv.sys, yang kemudian meneruskan permintaan tersebut kepada driver sistem berkas yang cocok (seperti halnya ntfs.sys atau fastfat.sys). Driver sistem berkas pun akan memanggil driver subsistem media penyimpanan Windows (disk.sys) untuk membaca berkas yang diminta dan kemudian mengembalikan isi dari berkas yang diminta kepada driver sistem berkas yang kemudian memberikannya kembali kepada srv.sys.Srv.sys pun memberikan informasi tersebut melalui stack protokol ke driver Network Interface Card, yang kemudian meneruskannya kepada klien yang memintanya di jaringan.

Layanan Workstation

sunting

Layanan Workstation, yang juga dikenal sebagai LanManWorkstation, adalah sebuah komponen yang terdapat di dalam sistem operasi keluarga Windows NT (Windows NT 3.1, Windows NT 3.50, Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, dan Windows Server 2008) yang mengizinkan sebuah klien untuk melakukan request sebuah sumber daya tertentu (berkas ataupun printer) dari server yang menjalankan layanan server melalui jaringan.

Layanan Workstation adalah merupakan sebuah layanan yang bergerak dalam modus pengguna yang bekerja bersama-sama dengan sebuah driver sistem berkas Windows NT yang berjalan dalam modus kernel yang disebut dengan redirector. Redirector diwujudkan oleh berkas rdr.sys. Redirector diimplementasikan sebagai sebuah driver sistem berkas standar (sama seperti halnya FAT, CDFS atau NTFS) dan terletak di atas lapisan Transport Driver Interface (TDI), yang memungkinkannya untuk berinteraksi secara independen dengan protokol lapisan transpor apapun yang terinstalasi di dalam sistem.

Layanan Workstation dalam sebuah komputer klien akan menerima sebuah request I/O untuk mengakses berkas, named pipe, atau mailslot, dan menentukan layanan mana yang terbaik yang dapat menyediakan apa yang diminta dan kemudian melakukan pengalihan (redirection) terhadap request tersebut kepada layanan server di dalam komputer server di mana sumber daya yang diminta berada. Layanan Server kemudian menyediakan sumber daya yang diminta dan kemudian memetakannya kembali kepada komputer klien yang melakukan request tadi. Layanan server juga terdiri atas dua komponen, yakni sebuah komponen yang berjalan di dalam modus pengguna yang disebut dengan LanManServer dan sebuah komponen yang berjalan di dalam modus kernel yang diimplementasikan sebagai sebuah driver sistem berkas yang disebut dengan Srv.sys.

Selain redirector bawaan Windows, Administrator juga dapat menginstalasikan beberapa redirector lainnnya dari pihak ketiga yang tentuya dapat berjalan bersebelahan dengan layanan Workstation Windows. Sebuah contoh, adalah Gateway Service for NetWare, yang mengizinkan klien-klien berbasis Microsoft Windows untuk mengakses berkas dan printer dari sebuah server yang menjalankan Novell NetWare.

  1. ^ "Lan Manager Networking Concepts". Support. Microsoft. Diarsipkan dari versi asli tanggal December 30, 2012. Diakses tanggal September 18, 2014.