What went wrong: SCTP (2009)
blog.ipspace.net
What went wrong: SCTP (2009)
1–10 of 48 posts
Re: What went wrong: SCTP (2009)
#2I think TCP is "good enough" for most cases, so people use it. SCTP is great, but TCP isn't broken. Worse is better and all that.
Re: What went wrong: SCTP (2009)
#3So to summarise, nobody uses it because nobody uses it? I don't buy it. I think TCP is "good enough" for most cases, so people use it. SCTP is great, but TCP isn't broken. Worse is better and all that.
Re: What went wrong: SCTP (2009)
#4Re: What went wrong: SCTP (2009)
#5So to summarise, nobody uses it because nobody uses it? I don't buy it. I think TCP is "good enough" for most cases, so people use it. SCTP is great, but TCP isn't broken. Worse is better and all that.
To me, the real promise of SCTP always seemed to be that it was a reliable out-of-order datagram protocol that played nicely with TCP. Essentially: that it killed the need for applications that can't deal with the slowness of in-order delivery in TCP to write their own protocols.
I think the big mistake with SCTP was in making it an IP protocol, rather than a protocol that lived underneath UDP.
Re: What went wrong: SCTP (2009)
#6Some time ago, I also did performance testing on SCTP vs. TCP. It's surprisingly sad how much worse SCTP's performance was compared to TCP. I imagine that this is because just isn't as much work put into SCTP as TCP.
Re: What went wrong: SCTP (2009)
#7So to summarise, nobody uses it because nobody uses it? I don't buy it. I think TCP is "good enough" for most cases, so people use it. SCTP is great, but TCP isn't broken. Worse is better and all that.
This writer seems to think the killer problem SCTP solves is end-system level IP multihoming. I think that's actually not a problem that many apps really have. To me, the real promise of SCTP always seemed to be that it was a reliable out-of-order datagram protocol that played nicely with TCP. Essentially: that it killed the need for applications that can't deal with the slowness of in-order delivery in TCP to write…
Re: What went wrong: SCTP (2009)
#8WebRTC DataChannels are actually built on SCTP.
Interestingly, Emscripten emulates UDP by using SCTP's unreliable data packet mode with max retransmission set to zero. Relatedly, there is an excellent library for game networking called enet, which implements reliable and unreliable transmission. Enet is included in Emscripten.
So if you use Enet in emscripten you have: Enet, which uses UDP, which is emulated via SCTP, which is transported via UDP! It's pretty crazy but it actually works well.
Re: What went wrong: SCTP (2009)
#9I'd like to also add to this that SCTP doesn't ship on Mac OS X either by default. Although, in recent years there have been development on an SCTP over UDP standard, allowing for user-mode SCTP. Yet, I still haven't seen a mature version of this API ship on Mac OS X. Some time ago, I also did performance testing on SCTP vs. TCP. It's surprisingly sad how much worse SCTP's performance was compared to TCP. I imagine t…
Re: What went wrong: SCTP (2009)
#10So to summarise, nobody uses it because nobody uses it? I don't buy it. I think TCP is "good enough" for most cases, so people use it. SCTP is great, but TCP isn't broken. Worse is better and all that.