Discovery is also called periodically by MERGE2 (see Section 7.4.1, “MERGE2”), to see if we have diverging cluster membership information.
IP multicast packets send on a host P will therefore not be received by anyone on P. Specifying TCP in your protocol stack tells JGroups to use TCP to send messages between cluster members.
Instead of using a multicast bus, the cluster members create a mesh of TCP connections.
Subsequent requests for the same physical address will therefore be spaced at least who_has_cache_timeout ms apart UDP uses IP multicast for sending messages to all members of a group and UDP datagrams for unicast messages (sent to a single member).
When started, it opens a unicast and multicast socket: the unicast socket is used to send/receive unicast messages, whereas the multicast socket sends and receives multicast messages.
If running across subnets, an admin has to ensure that IP multicast is enabled across subnets.