Sistem berkas jaringan
Sistem berkas jaringan (Inggris: network file system disingkat NFS) adalah sebuah kumpulan protokol yang digunakan untuk mengakses beberapa sistem berkas melalui jaringan. Spesifikasi NFS didefinisikan dalam RFC 1094, dan saat ini telah mencapai versi 3 yang didefinisikan dalam RFC 1813.
NFS merupakan sebuah sistem berkas terdistribusi yang dikembangkan oleh Sun Microsystems Inc. pada awal dekade 1980-an yang menjadi standar "de facto" dalam urusan sistem berkas terdistribusi. NFS didesain sedemikian rupa untuk mengizinkan pengeksporan sistem berkas terhadap jaringan yang heterogen (yang terdiri dari sistem-sistem operasi yang berbeda dan platform yang juga berbeda). Teknologi NFS
ini dilisensikan kepada lebih dari 200 vendor komputer dan jaringan, dan telah dibuat implementasinya pada banyak platform dan sistem operasi, termasuk di antaranya adalah UNIX, GNU/Linux, Microsoft Windows, dan lingkungan mainframe.
NFS dapat mengizinkan klien-klien untuk menemukan dan mengakses berkas yang disimpan di dalam server jaringan jarak jauh. Memang, desain awal spesifikasi NFS dikhususkan untuk penggunaan dalam jaringan lokal (LAN) dan tidak dioptimalkan untuk penggunaan dalam WAN. Tapi, versi NFS 3 yang digunakan saat ini dapat digunakan dalam jaringan WAN, sebaik ketika ia bekerja di dalam LAN. Fitur-fitur yang dimiliki oleh NFS versi 3 adalah sebagai berikut:
NFS menggunakan arsitektur protokol jaringan berlapis ("layered protocol") yang dibuat berdasarkan model referensi jaringan OSI, seperti yang ditunjukkan dalam tabel berikut.
NFS diimplementasikan sebagai sebuah sistem client/server yang menggunakan perangkat lunak NFS server dan NFS client yang berjalan di atas "workstation". NFS Server akan menggunakan protokol NFS untuk mengekspor sistem berkas yang dimilikinya kepada klien NFS agar dapat dibaca ole klien, seolah-olah sistem berkas "remote" tersebut merupakan sistem berkas yang dimiliki oleh klien secara lokal.
NFS umumnya menggunakan protokol Remote Procedure Call (RPC) yang berjalan di atas UDP dan membuka port UDP dengan port number 2049 untuk komunikasi antara klien dan server di dalam jaringan. Klien NFS selanjutnya akan mengimpor sistem berkas remote dari server NFS, sementara server NFS mengekspor sistem berkas lokal kepada klien. Mesin-mesin yang menjalankan perangkat lunak NFS server dapat saling berhubungan dengan perangkat lunak NFS server untuk membaca,
menulis, memodifikasi, menghapus berkas dan direktori yang berada di dalam server dengan menggunakan request RPC seperti halnya READ, WRITE, CREATE, dan MKDIR. Berkas dan direktori remote akan seolah-olah terlihat sebagai berkas lokal bagi pengguna. Sebelum dapat mengakses berkas remote di dalam struktur direktori dalam sistem berkas UNIX dari dalam NFS Server, administrator harus melakukan mounting terlebih dahulu bagian
dari sistem berkas UNIX lokal yang akan dibuat dapat diakses oleh klien dan menetapkan izin akses terhadap berkas atau direktori.
NFS umumnya digunakan dalam platform-platform UNIX, sementara Windows menggunakan protokol berbagi-berkas yang disebut sebagai Server Message Block (SMB), sehingga dua sistem tersebut aslinya tidak kompatibel satu sama lainnya. Agar dapat saling mendukung, dalam sistem UNIX harus diinstalasikan klien protokol SMB semacam SAMBA atau menginstalasikan klien protokol NFS dalam sistem operasi UNIX, yang dapat diperoleh dari beberapa
vendor. Microsoft menyediakan Windows Services for Unix (SFU) yang dapat digunakan dalam sistem operasi Windows 2000 Server, dan Windows Server 2003 sebagai perangkat lunak klien protokol NFS, sehingga menjadikan sistem Windows dapat berinteroperasi dengan sistem NFS dalam sistem operasi UNIX. Selain SFU, beberapa vendor lainnya juga membuat implementasi NFS dalam platform Windows, seperti halnya NetManage dengan ChameleonNFS, Hummingbird International dengan NFS Maestro, dan masih banyak lainnya.