すでに述べたように、TCP は信頼性の高いトランスポート層プロトコルと見なされています。このことは、確認応答のある配信によってアプリケーション間で信頼性の高い配信が確実に行われるようにするプロセスが TCP に含まれていることを意味します。 TCP のトランスポートは、送り主から届け先まで追跡される荷物の配送と似ています。 1 回の注文に含まれている商品が宅配便で複数の荷物として発送された場合、依頼人は配達の順序をオンラインで調べることができます。

TCP では、信頼性のための 3 つの基本動作として次のことが行われます。

TCP では、メッセージをセグメントと呼ばれる小さな単位に分割します。 セグメントには順に番号が付けられます。そして、それらのセグメントが IP プロセスに渡されてパケットが作られます。 TCP では、特定のアプリケーションから特定のホストに送信されたセグメントの数が追跡されます。 一定時間内に送信側に確認応答が返ってこない場合、セグメントが失われたものとみなして再送信します。 送信されるのはメッセージの失われた部分だけで、メッセージ全体は送信されません。 受信側のホストでは、TCP によってメッセージ セグメントが再構成され、アプリケーションに渡されます。 FTP(File Transfer Protocol; ファイル転送プロトコル)と HTTP(HyperText Transfer Protocol; ハイパーテキスト転送プロトコル)は、データ配信を保証するために TCP を使用するアプリケーションの例です。

図中の [再生] ボタンをクリックすると、送信側から受信側に TCP セグメントが送られていくアニメーションを見ることができます。

これらの信頼性プロセスは、確認応答、追跡、および再送信のプロセスのせいでネットワーク リソースのオーバーヘッドを増大させることになります。 これらの信頼性プロセスをサポートするために、送信側ホストと受信側ホストの間で制御データがさらに交換されます。 この制御情報は TCP ヘッダーに含まれています。