[zeromq-dev] Comment on ZRE spec flaw

Bjorn Reese breese at mail1.stofanet.dk
Thu Feb 21 10:31:46 CET 2013

On 2013-02-20 10:29, Michael Haberler wrote:

> - a joining node A sends its own node ID, PLUS a list of all node ID's it has already heard (which may be empty at startup)

This got me thinking...

In the following I am not trying to solve a consistency problem, but
rather to suggest an optimization opportunity.

According to RFC 20, "Each ZRE node SHALL broadcast, at regular
intervals, a UDP beacon that identifies itself to any listening nodes
on the network."

If the beacon not only contains information about the sending node, but
also the peers that the sender is aware of, then those peers do not
need to broadcast themselves, thus saving network traffic. The list
should not included all known peers, but only as many as will fit into
a single UDP package.

Information about peers would have to include their IP addresses.

Peer disappearance is handled via heartbeating.

PS: What is the rationale for creating the Zyre discovery protocol
rather than reusing one of the existing discovery protocols (ZeroConf,
SSDP, SLP, etc.) ?

More information about the zeromq-dev mailing list