×
ネットワーク

TCPがデータの信頼性を担保する仕組みとして、送信するデータに「シーケンス番号(順番を表すシリアル番号)」と「確認応答番号(ACK番号:次に欲しいデータの番号)」を割り振ります。受信側は正しく受け取ったデータに対して確認応答を返し、もし送信側へ一定時間ACKが戻ってこない(タイムアウト)場合は、送信中にパケットが消失したとみなして「再送制御」を行います。

また、通信効率を最適化するための仕組みとして「スライディングウィンドウ方式」が採用されています。これは、受信側のデータ一時保存領域(バッファ)の空き容量である「ウィンドウサイズ」を送信側に通知し、送信側は確認応答を待つことなく、そのサイズ分までのデータを一気に連続して送信できる仕組みです。これにより、ネットワーク全体の通信効率(スループット)を向上させています。

試験でのポイント

ネットワーク分野の試験では、TCPが「コネクション型」のプロトコルであり、データの「信頼性」を最優先しているという基本特徴が前提知識となります。具体的な挙動として、3ウェイハンドシェイクにおけるパケット(SYNやACK)のやり取りの手順や順番、およびデータ受信バッファの空き容量を通知して送信量を調整する「スライディングウィンドウ方式」の仕組みが非常に出題されやすいです。

さらに、対をなす「UDP」との仕様の比較問題も必須の論点です。「信頼性を犠牲にしても速度を優先するUDP」と「速度よりも信頼性を優先するTCP」の、メリット・デメリットおよびそれぞれが利用される代表的なアプリケーション(TCPはHTTPやSMTP、UDPは動画ストリーミングやDNS)の仕分け問題で確実に正解できるように整理しておく必要があります。

関連する用語

TCPに関連する用語には、信頼性よりも速度を重視する「UDP」、接続を確立する手順「3ウェイハンドシェイク」、送信効率を高める「スライディングウィンドウ」、パケットの順序を管理する「シーケンス番号」、アプリケーションの窓口となる「ポート番号」などがあります。