3 ms·
> Let's not forget about TCP, IP, and all the other protocols involved in the internet that are binary by design. It's funny that you mention IP and TCP. I's s
by quotemstr 11y ago
> Let's not forget about TCP, IP, and all the other protocols involved in the internet that are binary by design.
It's funny that you mention IP and TCP. I's sad that we've degraded the end-to-end principle those protocols embodied. Today, it's not really practical to use IP protocol numbers other than 6 (TCP), 17 (UDP), and 1 (ICMP) and their IPv6 equivalents. Middleboxes, out of misplaced caution, reject packets that look unusual. We can't even use ECN. To work around this problem, we run everything over TCP and UDP.
That doesn't even work, though, because other middleboxes, working one level up the stack, reject TCP on anything but ports 80 and 433.
So now we run everything over multiplexed encrypted connections on one TCP port on one IP protocol. That's just silly.
The low-level protocol situation is like a fossilized idiom in human language. In English, we can that something "wreaks havoc", but what about "wreaks happiness"? Nobody understands "wreaks" anymore. It's no longer a productive rule. Likewise, IP and (arguably) TCP protocol details aren't productive either, except in specialized cases, or on closed networks.
The internet isn't just running in debug mode. It's also flinging around lots of bytes that do nothing other than reflect past aspects of its evolution, like an embryo's tail and gills.