Hacker News new | ask | show | jobs
by bullen 2235 days ago
These kind of articles are made by ignoramuses that don't understand that TCP is an edge protocol and those profit from ossification because it allows the backbone to evolve without everyone re-implementing everything over and over again at the edges!

Over-engineering and technical debt is a bi-product of: “It is difficult to get a man to understand something, when his salary depends upon his not understanding it!” - Upton Sinclair

On the backbone nothing uses TCP, not even IP. It's all BGP or other proprietary formats. Edit: I'm pretty sure the backbones with billions invested in fiber across oceans are not running vanilla IP from the 70s on their hardware/cables, don't you? Or if they do then it's case closed for anything else really, so any way you turn this.

Re-implementing delivery guarantee wont solve anything better ever, TCP and HTTP/1.1 are the final protocols for the human race in this universe, get over it and start building something useful on top of them instead.

4 comments

> On the backbone nothing uses TCP, not even IP. It's all BGP or other proprietary formats.

Do what? "The backbone" usually refers to the core networks internet service providers and so on use. They carry whatever higher-layer protocols (including TCP and UDP) that their users want to use. It's like saying "on the highway nobody uses cars". The two are different parts of the stack.

Also, BGP is a routing protocol (to share IP reachability information) which runs over TCP. It's not a replacement for TCP. I can't download cat pictures over BGP. Are you referring to things like MPLS? Even that isn't a TCP-level thing. It's a halfway between layer 2 (Ethernet and friends) and layer 3 (mostly IP). TCP is still on top of all of this.

> On the backbone nothing uses TCP, not even IP. It's all BGP or other proprietary formats.

BGP is not a protocol for moving data - it's a way to find the path to deliver IP packets. Nor is it proprietary :/

Sure, but I'm pretty sure the fiber cables under the oceans are not running vanilla IP/TCP/UDP.
The submarine cables are more or less like other physical mediums for networks, like WiFi or ethernet.

You could easily say that your home network “doesn’t run vanilla IP/TCP/UDP” since it’s actually running 1000BASE-T, or Ethernet.

What you do is take your IP packets and shove them into ethernet frames when you send them across your local network. Your modem will pull the IP packets out from the ethernet frame, and send them out to the internet inside something else like PPP or a different ethernet network. We call this vanilla IP/TCP/UDP, running on top of ethernet.

Submarine fiber optic cables are the same. It’s still vanilla IP/TCP/UDP.

I have worked for an NSP for 7 years. These fiber cables (and all other ones) have IPv4/IPv6 traffic going over them with Ethernet. Sometimes there's MPLS too, sometimes some VLAN headers, but still IP/Ethernet. There is not a single scenario I know of where this is not the case.

Standardized protocols are important to a network which must rely on multiple router vendors.

Okay, so let's imagine I want to send you an email using SMTP, which runs over TCP, and we have to cross this cable. TCP has a lot of state: first we need to agree on terms like window size and sequence numbers, and then you and I need to keep track of which bytes were received by each other, resend lost bytes, slow down if the other end is overwhelmed, and so on. How do you imagine the special undersea cable protocol handles this so that each of us is still presented with a consistent view of our TCP state? Are you saying that each end has a magic box which can understand all of the TCP state management and seamlessly map it onto whatever undersea cable protocol it uses, then reverse that at the other end so the recipient knows this TCP state? That would be crazy. TCP is just carried over whatever goes on at the lower layers.

"Replacing" IP is a bit more likely: large backbones typically run MPLS, which encapsulates IP and provides for a simpler label-based switching process that can be more efficient than IP. But IP isn't replaced: it's merely wrapped in something more efficient in this case. It's like a company sending mail from one office to another over its internal post instead of routing every individual letter through the public mail system.

The point of having different layers of the network stack is so that each layer has its own responsibilities that are largely separated from the other layers. As long as IP A wants to send IP B something over TCP those cables will be carrying IP and TCP over whatever protocol they run underneath.

Undersea fiber cables are only Layer 1. They might not be using Ethernet protocol, but everything above that- IP, TCP, etc is the same.
> On the backbone nothing uses TCP, not even IP. It's all BGP or other proprietary formats.

.... BGP runs over TCP.

> TCP and HTTP/1.1 are the final protocols for the human race in this universe

Right, QUIC is only used by all things Google.

BGP uses TCP transport...