Better networking with SCTP
ibm.com
ibm.com
First, it provides a datagram/record transport that is TCP-friendly. The most important thing TCP does isn't reliability; it's the insanely complicated interpretive dance it performs with other TCPs to keep them from melting the network. Right now, your only scalable transport option is TCP, which means you're boned if you want real-time.
Second, it provides reliable out-of-order delivery, which is exactly the happy medium that I assert without evidence 99% of UDP apps actually need. Reliability good. Enforced ordered delivery bad; means updates lag behind stale data.
The big issue with SCTP is that firewalls will block it.
SCTP is interesting to me because it offers choice:
- Do I want reliable or unreliable?
- Do I want ordered or unordered?
- Do I want multiple streams per connection?
- Do I want multi homing?
And a few other benefits:
- Resistant to SYN attacks
- Proper shutdown procedure/no half open connections
IMHO, it IS the superior protocol. Obviously since its not widespread, it won't work too well for some things yet.
I agree that, on paper, it's a more useful protocol. Remember though that TCP is about the congestion control algorithm. The rest of what TCP does is trivial.
edit: needed to review the OSI model.
(I am aware of your credentials so I'm trying to figure out what I'm missing, not trying to be snippy)
FTP would be far worse than SCTP, because you're much more likely to be using it.
I'll admit, my mind jumped immediately to "vulnerability in the kernel! much worse than vulnerability in a web server!", which is exactly the wrong way to think about the problem --- once you've conceded code execution to an attacker, you've conceded the box.
Maybe that wasn't his argument. Thanks for calling me out on that.
Either way, the Linux advisory he cited should have absolutely no impact on your consideration of SCTP.
I don't think that you can really exclude Windows from the category "major operating systems". It might not be your favorite operating system (it certainly isn't mine), but give the devil his due.
http://tools.ietf.org/html/draft-natarajan-http-over-sctp-02