1@node MCD
2@unnumbered MultiCast Discovery
3
4MCD is an addition to online @ref{Sync, synchronization protocol}, that
5gives ability to make node discovery by sending multicast announcements
6in local area network. It is very simple:
7
8@itemize
9@item
10    @ref{nncp-daemon} sends multicast messages about its presence from
11    time to time. See @ref{CfgMCDSend, mcd-send} configuration option.
12@item
13    When @ref{nncp-caller} sees them, it adds them as the most
14    preferred addresses to already known ones. If MCD address
15    announcement was not refreshed after two minutes -- it is removed.
16    See @ref{CfgMCDListen, mcd-listen} and
17    @ref{CfgMCDIgnore, mcd-ignore} configuration options.
18@end itemize
19
20MCD announcement is an XDR-encoded packet with only two fields:
21
22@verbatim
23+----------------+
24| MAGIC | SENDER |
25+----------------+
26@end verbatim
27
28Magic number is @verb{|N N C P D 0x00 0x00 0x01|} and sender is 32-byte
29identifier of the node. It is sent as UDP packet on IPv6
30@strong{@verb{|ff02::4e4e:4350|}} (hexadecimal ASCII @verb{|NNCP|})
31multicast address and @strong{5400} port. Operating system will use IPv6
32link-local address as a source one, with the port taken from
33@command{nncp-daemon}'s @option{-bind} option. That way, IP packet
34itself will carry the link-scope reachable address of the daemon.
35