TCP with Half-Open Connection, how to transmit data

half-duplextcp

Sender at TCP can not finish transmitting data without receiving ACK packets of transmitted packets.

But the situation I want to think is that server closes the connection so the state is 'half-open(client) connection' in this case, client can not get ack from server, and then how can client transmit the data? or what does client do?

Best Answer

Client then does what it's instructed to do... normally there are limits in place to deal with so called "embryonic connection" as half open connection state is normally achieved when negotiating connection . Without limits and timeouts endpoint is exposed to SYN flood DoS attack. You could read on RFC 793 , page 33 , about " Half-Open Connections and Other Anomalies"

https://www.rfc-editor.org/rfc/rfc793