[zeromq-dev] Preferred Transport to Handle Lossy Networks?

Brian Adamson brian.adamson at nrl.navy.mil
Wed Jun 3 00:01:21 CEST 2015


Another option here is the NORM protocol.  One thing to note is NORM in ZMQ uses its default TCP-Friendly congestion control mechanism by default.  For lossy wireless links, this particular congestion control approach uses packet loss as a congestion indicator just like TCP and thus has similar issues.  

However, NORM _can_ be set to operate at a fixed rate and also has options for an ECN-based mode of congestion control that uses ECN to detect congestion instead of packet loss (for the most part).  It also can be configured to provide a simple loss-tolerant form of congestion control similar to what UDT offers where isolated packet loss is discounted as a congestion indications.  With one of these alternative congestion control mechanisms, NORM can provide good performance in lossy wireless environments.  I think it would be possible to expose some of these additional options somehow, but I haven’t had a tremendous amount of time recently to investigate this further.  Like UDT, you could use NORM (it has its own API) separate from ZMQ if you like.

cheers,

Brian


> On Jun 1, 2015, at 3:47 PM, Peter Krey <krey at ripple.com <mailto:krey at ripple.com>> wrote:
> 
> In this context of 1 to 1 transfer then yes I agree that UDT protocol will best meet your needs.
> http://udt.sourceforge.net/ <http://udt.sourceforge.net/>
> 
> 
> On Mon, Jun 1, 2015 at 12:43 PM, Steven McCoy <steven.mccoy at miru.hk <mailto:steven.mccoy at miru.hk>> wrote:
> On 1 June 2015 at 12:33, Peter Krey <krey at ripple.com <mailto:krey at ripple.com>> wrote:
> Yes use the PGM or EPGM transport. If you want to use an additional layer at the application level, you can implement your own resend logic with message sequence numbers if your network is truely massively losing messages.
> 
> 
> I think on wireless PGM is not a great idea unless you can implement a congestion control method that works, with tweaks for radio interference patterns.  PGM is 1-to-many, for 1-to-1 there are a plethora of options, my first choice excepted it not being implemented in 0MQ would be QUIC from Google, for long links it would be UDT.  For real lossy environments you may need UDP-Lite and possibly a one-way broadcast channel.
> 
> I'm the developer of the PGM implementation, the project is currently on hiatus until I have a new use case for it.  Presently I only have need to 1-to-1 channels.
> 
> -- 
> Steve-o 
> 
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org <mailto:zeromq-dev at lists.zeromq.org>
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev <http://lists.zeromq.org/mailman/listinfo/zeromq-dev>
> 
> 
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org <mailto:zeromq-dev at lists.zeromq.org>
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20150602/17591d2a/attachment.htm>


More information about the zeromq-dev mailing list