On Dec 25, 2014, at 4:49 PM, Ibrahim <[email protected]> wrote:

> Yes you are right when you say "Reliable UDP isn’t a defined standard".
> However, there are some protocols has implemented using UDP. For example,
> some Red Hat apps, protocols, and framework implemented using reliable UDP
> (their own reliable UDP), and they works fast and reliable.
> 
> To answer your question, "what sort of improvements would you expect from
> it, over TCP?"
> 
> Zookeeper uses TCP protocol to send/receive messages. For example, when the
> leader sends proposal to 4 followers, it sends it one by one, meaning that
> it needs to send 4 messages (four outgoing packets). Whereas, to achieve
> same thing using RUDP (IP multicast), here leader only needs to send one
> messages (one outgoing packets), as a result, it reduces the network
> traffic.

There’s no free lunch with multicast;  making it reliable is either expensive 
(unicast acknowledgement back to the source, which doesn’t scale) or complex 
(ack aggregation, NACK schemes).  It also makes for difficult and complex flow 
control mechanisms.

The fact that TCP has been stable for 30+ years, but reliable multicast is 
still in the realm of experimentation, is a sign that it’s not as easy as it 
seems.

Reply via email to