This is a really weird article. It's dated today but seems to contain information from 2010 or so.
TCP Sucks
51–60 of 64 posts
Re: TCP Sucks
#52Earlier quoted context omitted.
It sounds like you are evaluating the idea that protocol X will replace TCP, but I don’t think anyone is making that argument. Protocol X would be used alongside TCP, and you wouldn’t be able to use protocol X in all networks. This is already the world we live in.
Then I don't understand what your argument is. There is already a bunch of protocols you can use if you don't like TCP.
Re: TCP Sucks
#53Re: TCP Sucks
#54TCP pretty obviously doesn’t suck as it’s pretty much powered the internet for the last 30ish (maybe more) years. I’m sure it isn’t perfect for every purpose and maybe I can be improved but enough with the click bait.
Coal power obviously doesn't suck as its pretty much powered the planet for the last 100 years. It's perfectly possible for something to both be incredibly popular and to suck. An appeal to popularity is certainly not better than a click-bait headline. I'd argue that most of the stuff we use sucks in some ways as well; suck isn't an absolute term. TCP sucks in very specific ways the article talks about.
Re: TCP Sucks
#551) TCP checksums are a bit weak.
The author claims that we don't know how many errors are not caught by TCP's CRC and while that's true on some level the probability of bit errors is driven by properties of the physical medium over which the packet is traveling, not the transport layer protocol in use. That's why most, if not all, physical layers that do have a significant chance of bit errors have FEC built-in at the physical layer.
As a point of reference, I pulled stats on one of our servers and see about 10k bad packets out of 1.3 billion. If we assume that bit errors caused all 10k, we get an error rate of about %0.00076. Since we need two independent bit errors to trigger a state where the CRC might not catch the error, we can calculate that on this particular server we would expect .076 packets that might be corrupt in a way in which it's even possible for the existing checksum would miss it (and it probably would still be caught). If that is an unacceptable error rate, you should absolutely be using some way to verify message integrity at a higher layer. Still, for most applications, a fast hash that lets a bad packet through every couple of years is a good trade-off.
2) TCP's over-eager in-order delivery
The author talks about getting packets 1,3,2 in that order in the context of a file transfer, and in that specific scenario, it might be marginally preferable. Far more likely than out of order packets are lost packets and lost packets may never come if the connection gets closed/reset before its retransmitted. For the vast majority of applications having a partially transferred entity isn't helpful, but not having to deal with the complexity of out of order and partial transfers is.
Re: TCP Sucks
#56From my relatively-inexperienced perspective, notwithstanding the widespread protocol ossification of Internet network infrastructure, the underlying MTU for each connection seems to be the primary constraint that any viable alternative must deal with effectively. This article did not seem to discuss MTU considerations at all. It's hard to take a protocol argument seriously that neglects to deal with such a fundamental constraint of network infrastructure.
Re: TCP Sucks
#57How can there be so much TCP bashing, without a mention of SCTP. I mean at least that's implemented in some BSDs with ports available for other OSes.
Sadly the state of the internet means that only TCP and UDP will be widely used for the foreseeable future. There are a quantity of old routers which just throw away protocols they don't know, and they don't know much. See https://en.wikipedia.org/wiki/Protocol_ossification
I personally don't think IP (tcp and udp included) will be used on Internet 2.0. Theres just too much baggage with those protocols.
Perhaps we'll see Internet 1.5 leverage encapsulation and build a huge underlying canvas for new protocols to blossom, but we seem to be approaching the point where anything with an IP address is too much of a hassle to maintain and a longterm security liability/commitment.
Just moving IP to the borders of a network would open up space for more secure protocols.
Its probably time we put the middle one behind port 79 anyways.
Re: TCP Sucks
#58TCP pretty obviously doesn’t suck as it’s pretty much powered the internet for the last 30ish (maybe more) years. I’m sure it isn’t perfect for every purpose and maybe I can be improved but enough with the click bait.
Yeah, TCP is the worst protocol except for all the others.
Re: TCP Sucks
#59TCP is fine. There is some questionable things here and I'll just touch on a couple of them. 1) TCP checksums are a bit weak. The author claims that we don't know how many errors are not caught by TCP's CRC and while that's true on some level the probability of bit errors is driven by properties of the physical medium over which the packet is traveling, not the transport layer protocol in use. That's why most, if not…
This issue, however, is so overblown by the author. It's not that often earlier packages delayed and new packages arrive faster and when that happens often you problem is usually much greater than server waiting for 101-200 before sending 201-300 to application...
To me the most annoying part of TCP are:
- Slow Start - Single channel - Single Mode
Everyone life would be so much better if within a single established connection you could open multiple channels in multiple modes like framed vs stream. Each channel could have its own order with congestion control overseeing entire bunch of channels.
You can build something similar on top TCP today, but it's not the same. Best part of TCP is that it's a standard available everywhere without conflicting implementations.
Re: TCP Sucks
#60Let's start with the fact that TCP obviously has problems. People who wrote the protocol did not expect for it to live that long. At the time the life expectancy of any standard was pretty short. But... before you get too caught up with bashing... if I were you I would spend just a tiny bit trying to really understand why we are in this situation. It might be because it is "just enough" to build upon. You are free to…