wiki:DECnet

Version 2 (modified by ph3-der-loewe, 8 years ago) (diff)

clarify that area and node part must not be zero for real nodes

DECnet

DECnet is a protocol designed by DEC used to let multiple computers communicate with each other. DECnet works on both local and WAN links.

The node

In DECnet slang computers (and other devices) are called 'nodes'. They have an address and an name. The name consists of six char like 'mynode' or 'homepc'. The node address consists of two parts. The first one is known as the area and the second as node part. The area part has six bit so it is a number from zero to 63. The node part is an ten bit integer from zero to 1023. Both parts are separated by an dot like this: 1.7, 44.88, 12.740. Area and node part must not be zero for real nodes. Zero area and node part is reserved for special things.

The area is the local group of nodes in an segment of the network. Normally this maps to the physical segment (read: LAN). Nodes within one area can talk to each other directly. In the following document we assume all nodes are within the same area.

The node address needs to be unique on the network. The node part can be chosen freely within your area. For example if you want to run the nodes 'pcmom' and 'pcdad' you can chose the node address to be 1.10 and 1.20 (using some schema) or 1.10 and 1.11 (just counting).

Be aware that the MAC address is changed at boot when you use DECnet. This may confuse other protocols like DHCP. On VMS and other DEC (now HP) systems this is handled correctly as well as by the Debian package. If you network seems to be down after install wait a moment for the other protocols to recover or just reboot. It should work again after this.

Services on DECnet

On DECnet services (in IP world this maps to 'ports'. Note that 'ports' are something different in DECnet!) are called objects. They are identified by object number (1 to 255) or object name (object number is zero in this case). Object numbers are used by basic services like file transfer. In RoarAudio context only object names are relevant.

Oject addresses consists of the node name or address followed by two colons and the service name. For example: pcdad::roar or 1.20::roar.

Setup

On Debian

Install package dnet-common. The install will ask you for everything important.

On other systems

See the system documentation about this.

DECnet and RoarAudio

After you installed and configured DECnet you can use it with RoarAudio. roard and µRoarD use the option -n to listen on DECnet. The default object is 'roar'. On Debian you can change the configuration for the system wide daemons in /etc/default/roaraudio (roard) and /etc/default/muroard (µRoarD). We suggest you to use ROARD_PROFILES='roar-dnet' for roard. See the default file's comments for details.

To test if it works it is normally only needed to run 'roard -n'.

After you have started the server you can connect to it using the node::object syntax. If no node is given the current node is used. If no object is given the default object ('roar') is used. So you normally will use something like nodename::. Here is a real world example: roarctl --server pcdad:: allinfo