## MultiCast Discovery ¶

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.
- When `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::4e4e:4350` (hexadecimal ASCII `NNCP`) multicast address and 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.