4 ms·
Ugh, I am so sick of people implementing "reliable" transport on top of UDP. If you need reliability, use TCP or SCTP. You do not know more than 25 years of in
by suprjami 12y ago
Ugh, I am so sick of people implementing "reliable" transport on top of UDP.
If you need reliability, use TCP or SCTP. You do not know more than 25 years of industry experience developing and implementing transport protocols.
- eru 12y agoTCP gives you some guarantees that you might not need, but still have to pay for.
- mcpherrinm 12y agoBoth TCP and SCTP are in-order, which is what you frequently want but not always. We don't have a good, reliable messaging protocol that allows out of order messages, which can lead to increased latency that isn't necessary for some use cases. This can cause much larger latencies for messages that have arrived but aren't delivered to the application because a previous packet was dropped and is awaiting retransmission
- teddyh 12y agoMessage ordering is optional in SCTP¹. ① http://tools.ietf.org/html/rfc4960#section-6.6 http://tools.ietf.org/html/rfc4960#section-6.6
- Scaevolus 12y agoTCP has well-documented failings on high-bandwidth, high-latency links. (referred to as LFNs (long fat networks) or "elephants"). The congestion and flow control algorithms in TCP are excessively conservative and end up massively under-utilizing the available bandwidth. Once a TCP connection has reduced its transmit rate (due to dropped packets indicating possible congestion), it requires successful packet receipts to increase its transmit rate (depending on latency).