TCPによる通信

 TCPは、OSI参照モデル4層のトランスポート層に位置するプロトコルです。TCPは、アプリケーションから渡されたデータを転送に最適なサイズに分割します。このことを、セグメント分割といいます。

 小分けにされたセグメントには、ヘッダが付けられます。ヘッダには、以下のような情報などが含まれています。

シーケンス番号

 送信元のTCPが割り振った順番どおりにデータを組み立て直し、アプリケーション層のプロトコルにデータを渡すための番号です。

 パケットは、送った順に届くとは限りませんし、送ったパケットが全て宛先に届くとは限りません。配送される際に、破棄されることもありますし、迷子になってしまうこともあります。

 上の図では、データ(パケット)は、下の経路を通っていますが、上の経路を通る場合もあります。パケットによって、目的地までの経路が異なる場合もあるのですから、パケットは、送った順に届くとは限りません。

確認応答番号

 TCPによる通信では、パケットがちゃんと届いていれば、送信元に通知します。また、荷物が途中で壊れたり、紛失してしまった場合、そのことを通知したり、到着の通知がないことを確認することで、データを確実に相手に届けることができます。