After reading this post about the inherent problems of TCP connection termination, I almost feel sorry for the protocol. It seems to be trying so hard, but doomed for inevitable failure.
Martin Sustrik goes through all the reasons this is problematic in great detail. His main takeaway is that the symmetrical nature of TCP termination call can’t be consistently reliable. Really well thought out, plus the diagrams really help visualize a lot of the problems.
Martin Sustrik comments:
The shortcomings of TCP connection termination have been described many times. If you are not familiar with those problems here’s an example of an article that focuses on the problem.
However, there’s one special use case that is rarely, if ever, discussed.
Imagine a TCP client wanting to shut down its TCP connection to server cleanly. It wants to send the last request to the server, read any responses it may produce and exit.
Given that it has no idea how many responses are about to arrive it can’t just close the socket (it would miss the responses) but, at the same time, it cannot just go on reading responses forever (that would make it hang after the last response is received). What it needs is some way to let server know that it is shutting down. The server should then send back all the pending responses and subsequently acknowledge the shut down.
Read more at: Why is my TCP not reliable (expert edition)
- ioFABRIC Vicinity 3.0: Storage Myth Making - August 22, 2017
- Eclipse Logistics - August 21, 2017
- Asus B250 Mining Expert Motherboard with 19 PCI-E Slots - August 21, 2017
- Apple and the Oak Tree - August 21, 2017
- QLC NAND – how real is it and what can we expect from the technology? - August 18, 2017
- Episode 8 – Wireless Misconceptions - August 17, 2017
- Dueling AMD and Intel Server CPUs, HyperGrid Brings On-Demand to the Data Center, and Old World AI in Gestalt Server News 17.8 - August 16, 2017
- Sprucing up the lab with ioFABRIC & NVMe - August 16, 2017
- AMD Threadripper X399 Motherboards RANKED (by tackiness) - August 15, 2017
- Will Killing Net Neutrality End the Public Cloud? - August 15, 2017