3 ms·
TCP won’t give you a reliable connection if you tunnel TCP over TCP, paradoxically, but you can tunnel TCP over UDP, UDP over TCP, or UDP over UDP. Leaky!
by klodolph 5y ago
TCP won’t give you a reliable connection if you tunnel TCP over TCP, paradoxically, but you can tunnel TCP over UDP, UDP over TCP, or UDP over UDP. Leaky!
- lmm 5y agoNot "leaky", the conditions that a TCP connection needs its underlying transport to satisfy are explicitly documented, and TCP doesn't conform to them.
- klodolph 5y agoIf you're going into the details of what conditions a TCP connection needs, you're no longer talking about an abstraction.
- lmm 5y agoAn abstraction doesn't mean you can close your eyes and everything will work by magic. They're extremely useful tools, but like I said: garbage in, garbage out.
- klodolph 5y ago> An abstraction doesn't mean you can close your eyes and everything will work by magic. Right... that's why they're called "leaky abstractions". Because when you don't pay attention to the implementation details and their constraints, things break. If it weren't leaky, you'd call it a "specification" instead of an "abstraction".