Skip to content

Repository files navigation

ndd - Network Disk Daemon

ndd is an user-space implementation of ND(4p) protocol, used by early SUN Microsystems' diskless workstations to access data on servers over network.

About

The ND protocol was developed in early 1980s by SUN Microsystems. It was completely replaced by NFS in SunOS 4.1.x (around 1989). The protocol is mentioned in some books and papers from 1980s but its internals are described only in the man pages distributed with the SunOS; this work is based on the version distributed with SunOS 3.5.

The ND protocol is very simple: the client encapsulates block I/O request into one or multiple IP datagrams and transmit them to the server. The server performs the I/O and sends the reply back, to the client. Each network "disk" on the server is implemented as a dedicated raw disk slice. The protocol does not provide any kind of access control or support for concurrent access: each client is supposed to modify only its own data; shared data needs to be accessed read-only.

My implementation uses file(s) instead of disk slice(s) and can run either as a daemon or a foreground process. It was originally developed on Solaris 11, but it should run basically on any modern UNIX-like system which provides adequate support for SOCK_RAW/IPPROTO_IP sockets.

The ndd was implemented from scratch, it does not contain any source code created by Sun Microsystems Inc.

Getting Started

Prerequisites

Obtain and install the iniparser

Installing

ndd uses GNU Autotools:

./bootstrap.sh
./configure
make
sudo make install

See the wiki page for more details on how to configure and use the ndd.

Authors

Jan Senolt senjan

License

This project is licensed under the MIT License - see the COPYING file for details

About

ndd is a Sun's Network Disk (ND) protocol server which allows you to install and/or run ancient version of SunOS diskless

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages