[zeromq-dev] Unreliable multicast was: udp not enabled on Mac OS X 10.6

Martin Lucina mato at kotelna.sk
Fri Mar 5 18:18:47 CET 2010


sustrik at 250bpm.com said:
> Chris Wong wrote:
> > Actually i want support for unreliable multicast vs reliable multicast.  
> > Zeromq is a nice framework to allow me to transparently switch the 
> > underlying transport. There are applications that don't need the 
> > ordering and lossless guarantee of PGM.
> > 
> > The unreliable multicast transport may or may not work for all the 
> > messaging pattern but should at least work for the multicast pattern.
> 
> Now it makes sense. Paradoxically, unreliable multicast is easier to 
> implement than unreliable unicast.

How so? Isn't unreliable unicast just unicast UDP? And unreliable multicast
just multicast UDP? (But see below about datagram length)

> Just copy pgm_sender.cpp/.hpp and pgm_receiver.cpp/.hpp, name it 
> udp_sender/udp_reciever. Rip off OpenPGM stuff, use UDP socket instead.

This is starting to look the the 'udp' transport we don't have (yet) :-)

> One additional thing that has to be done is to attach a sequence number 
> to each UDP packet, so that you know when packet was lost.

Why would you need to know when a packet was lost, it is after all just
unreliable multicast...

What I see as more of a problem is that UDP datagrams are limited to 65,507
bytes in length, so any 0MQ UDP transport (multicast or unicast) would have
to split and recombine messages.

-mato



More information about the zeromq-dev mailing list