Does tcp know whether the data was received by the server? I read somewhere that the send only responds successfully if it hands the data correctly to the network stack but it doesn’t really know whether it was received by the server.
The network stack then handles the retransmission logic.
Suppose you have a scenario where send responds successfully but there is a network partition. How would we know that there is an issue but the data was never received?
Do you always need application level confirmations?