TCP/IP がどのように機能するかの説明は、その場しのぎの SO の質問ではなく、研究課題として残しておくのが最善です。通常、最初に立ち寄るのはWikipediaかもしれませんが、それでは概念レベルからの適切な紹介が得られない可能性があります。コメントには、 TCP チュートリアルへのリンクもあります。
ただし、本質的には、TCP はその名前が示すように、バイト ストリームを確実に配信するためのメカニズムを提供する伝送制御プロトコルです。バイト ストリームが与えられると、TCP は基本的に、受信側が正しい順序でバイトを受信することを保証します。ストリームの途中でバイトが「失われた」場合、TCP はこれを検出し、再送信を手配します。これらはすべて、受信側には透過的です。TCP の魔法は、受信側がソケットから読み取るだけで、データがそのままの状態で正しい順序で表示されることです。
TCP ソケットを使用する場合、ACK と NACK、および再送信を処理しません。これらはすべて、アプリケーションに対して透過的です。
これで、相手が離れたことを検出できますが、相手が確実にメッセージを受信したか、受信しなかったかを知ることはできません。これが二大将の問題です。
しかし実際には、TCP の仕組みに興味がある場合は、W Richard Stevens の TCP/IP Illustratedを読んでください。あなたをなだめようとしているわけではありませんが、それを理解するには、実際に離れてそれについて読む必要があります(オンラインまたは枯れ木で).