MCD is an addition to online synchronization protocol, that gives ability to make node discovery by sending multicast announcements in local area network. It is very simple:
nncp-daemon
sends multicast messages about its presence
from time to time.
See mcd-send configuration option.
nncp-caller
sees them, it adds them as the most
preferred addresses to already known ones. If MCD address
announcement was not refreshed after two minutes – it is removed.
See mcd-listen and
mcd-ignore configuration options.
MCD announcement is an XDR-encoded packet with only two fields:
+----------------+ | MAGIC | SENDER | +----------------+
Magic number is N N C P D 0x00 0x00 0x01 and sender is 32-byte
identifier of the node. It is sent as UDP packet on IPv6 ff02::1
multicast address (all hosts in the network) and hard-coded 5400
port. Operating system will use IPv6 link-local address as a source one,
with the port taken from nncp-daemon
’s -bind option.
That way, IP packet itself will carry the link-scope reachable address
of the daemon.