W systemie operacyjnym Linux network block device (NBD) jest protokołem sieciowym pozwalającym na udostępnianie urządzenia blokowego (zwykle twardego dysku, partycji lub wolumenu logicznego) innym komputerom podłączonym przez sieć TCP/IP.
Protokół był początkowo rozwijany dla wersji 2.1.55 jądra systemu Linux i opublikowany w 1997 roku[1]. W 2011 roku protokół został zrewidowany, formalnie udokumentowany i obecnie jest rozwijany w kolaboracji jako otwarty standard. Istnieje kilka niezależnie rozwijanych programów klienckich i serwerowych, które mogą ze sobą współpracować.
Angielski termin network block device (z ang. sieciowe urządzenie blokowe) jest także czasem używany bardziej ogólnie, np. w odniesieniu do podobnych technologii dla SAN (jak np. iSCSI).
Technicznie, NBD jest zrealizowany przy pomocy trzech komponentów: serwera, klienta oraz łączącej ich sieci. Na maszynie klienckiej, która zdalnie korzysta z dysku serwera, sterownik jądra systemu kontroluje operacje na urządzeniu (takie jak odczyt / zapis bloku danych). Gdy jakiś program próbuje wykonać operację na urządzeniu, jądro systemu przesyła to żądanie do serwera, w którym fizycznie znajduje się wykorzystywane urządzenie. Po stronie serwera, żądania przesłane przez klienta są wykonywane przez program działający w przestrzeni użytkownika na udostępnionym urządzeniu blokowym.
Moduł klienta NBD, oprócz Linuxa, jest dostępny dla systemów: FreeBSD, GNU Hurd, Plan 9 oraz MS-Windows.
Serwer, będąc programem działającym w przestrzeni użytkownika, może potencjalnie działać na dowolnej platformie systemowej zgodnej ze standardem POSIX.