対象試験と出題頻度
TCP(Transmission Control Protocol)は、ITパスポート・基本情報技術者・応用情報技術者のすべてで出題されるテーマです。
UDPとの機能の違いや、TCPヘッダに含まれる情報を正確に区別できるかが繰り返し問われており、ネットワーク分野の最重要プロトコルの一つです。
詳細をクリックして確認
ITパスポート
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
情報処理試験を勉強していると、「TCPとUDPってどっちがどっち?」と混乱しがちです。
TCP(Transmission Control Protocol)とは、一言で言うと
「データの到達確認と再送制御を行い、信頼性の高い通信を実現するトランスポート層のプロトコル」
のことです。
イメージとしては、「書留郵便」です。
普通郵便(UDP)は「送ったら終わり」で届いたかどうかの確認はしません。
一方、書留郵便(TCP)は相手が受け取ったことを確認し、届かなければ再送してくれます。
確実に届けたい重要な手紙には書留を使うのがTCPの考え方です。
📊 TCPの基本情報
| 項目 | 内容 |
|---|---|
| 正式名称 | Transmission Control Protocol |
| 所属する層 | トランスポート層(OSI第4層 / TCP/IPモデル第3層) |
| 通信方式 | コネクション型(通信前に接続を確立する) |
| 技術仕様 | RFC 793(IETF) |
解説
インターネット上のデータは、小さなパケットに分割されてバラバラの経路を通り、相手に届きます。途中でパケットが消失したり、順番が入れ替わったりすることは珍しくありません。
こうした不安定なネットワーク環境でもデータを確実に届けるために設計されたのがTCPです。
OSI参照モデルのトランスポート層に位置し、到達確認・再送制御・順序制御の3つの仕組みで通信の信頼性を担保しています。
3ウェイハンドシェイクによるコネクション確立
TCPはデータを送る前に、送信側と受信側で「通信の準備ができているか」を確認し合います。
この手順が3ウェイハンドシェイクです。
▶ 3ウェイハンドシェイクの流れ(クリックで展開)
ステップ1(SYN):送信側が「通信を始めたい」という接続要求(SYNパケット)を受信側に送ります。
ステップ2(SYN+ACK):受信側が「了解、こちらも準備OK」と確認応答(SYN+ACKパケット)を返します。
ステップ3(ACK):送信側が「確認した」と最終確認(ACKパケット)を送り、コネクションが確立します。
電話に例えると、「もしもし(SYN)」→「はい、聞こえますよ(SYN+ACK)」→「それでは話します(ACK)」というやり取りです。
この3回のやり取りが完了して初めてデータの送受信が始まります。
TCPが提供する主な機能
TCPが備える代表的な制御機能は、再送制御・順序制御・フロー制御の3つです。
再送制御:送信したデータに対して一定時間内に確認応答(ACK)が返ってこなければ、パケットが消失したと判断して再送します。
順序制御:各パケットにシーケンス番号を付与し、受信側で正しい順番に並べ替えます。パケットが異なる経路を通って到着順が入れ替わっても、元のデータを復元できます。
フロー制御(ウィンドウ制御):受信側の処理能力を超えるデータを一度に送りつけないよう、ウィンドウサイズで送信量を調整します。
▶ UDPとの違いを整理(クリックで展開)
ここだけは確実に押さえてください。TCPとUDPは同じトランスポート層のプロトコルですが、設計思想が正反対です。
| 比較項目 | TCP | UDP |
|---|---|---|
| 通信方式 | コネクション型 | コネクションレス型 |
| 信頼性 | 高い(再送制御・順序制御あり) | 低い(送りっぱなし) |
| 速度 | 制御処理分だけ遅い | 軽量で速い |
| 主な用途 | Web閲覧(HTTP/HTTPS)、メール(SMTP/POP3)、ファイル転送(FTP) | 動画配信、IP電話、DNS問い合わせ、NTP |
| ヘッダサイズ | 20バイト以上(シーケンス番号等を含む) | 8バイト(最小限の構造) |
「信頼性重視=TCP」「リアルタイム性重視=UDP」と覚えれば、どちらのプロトコルかを即座に判別できます。
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 TCPの核心を3行で
・コネクション型のトランスポート層プロトコルで、再送制御・順序制御・フロー制御によりデータの到達を保証する
・通信開始前に3ウェイハンドシェイク(SYN → SYN+ACK → ACK)でコネクションを確立する
・UDPとの違いは「信頼性 vs リアルタイム性」で整理する
試験ではこう出る!
TCPは、IPAの各試験区分でネットワーク分野の基盤知識として繰り返し出題されています。
出題パターンは大きく3つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| FE H31春 午前 問33 |
トランスポート層のプロトコルで、信頼性よりもリアルタイム性が重視される場合に用いられるものを選ぶ問題。 | ・UDPが正解 ・TCPとUDPの特性の違いを理解しているか ・HTTPやIPはトランスポート層でない点もひっかけ |
| AP R3秋 午前 問34 |
UDPヘッダにはなく、TCPヘッダにだけ含まれる情報を選ぶ問題。 | ・シーケンス番号が正解 ・宛先/送信元ポート番号とチェックサムは両方に共通 ・同一問題がAP R7秋問33でも出題 |
| IP R5 問68 |
FTP・POP・SMTPなどのアプリケーション層プロトコルに共通して利用される下位プロトコルを選ぶ問題。 | ・TCP(とIP)が正解 ・TCP/IP階層モデルの層構造を理解しているかが問われた |
| FE H25春 午前 問35 |
TCPコネクションを識別するために必要な情報の組合せを選ぶ問題。 | ・送信元/宛先IPアドレスと送信元/宛先ポート番号の4つが必要 ・MACアドレスは不要という点がひっかけ |
📝 IPA試験での出題パターン
パターン1:「TCPとUDPの違いを選べ」
TCPとUDPのどちらかの特徴を問う形式。FE・IPで頻出。「信頼性重視=TCP」「リアルタイム性重視=UDP」を覚えていれば即答できる。HTTPやIPが選択肢に紛れ込むが、これらはトランスポート層のプロトコルではない。
パターン2:「TCPヘッダとUDPヘッダの違いを選べ」
AP・FEで定番。シーケンス番号・確認応答番号・ウィンドウサイズはTCPのみ。宛先/送信元ポート番号とチェックサムは両方に共通。この区別を覚えておけば得点できる。
パターン3:「TCP/IP階層モデルで所属する層を選べ」
TCPがトランスポート層に属するという階層の位置づけを問う形式。IPはインターネット層、HTTPはアプリケーション層であり、混同しないことが重要。
試験ではここまででOKです。ウィンドウサイズの計算やスロースタートの仕組みなど、APの午後で問われる高度な内容は深追い不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. TCPの特徴として、最も適切なものはどれでしょうか?
- A. コネクション型のプロトコルであり、3ウェイハンドシェイクでコネクションを確立した後、再送制御や順序制御によりデータの到達を保証する。
- B. コネクションレス型のプロトコルであり、事前の接続確立を行わずにデータを送信するため、リアルタイム性に優れている。
- C. ネットワーク層のプロトコルであり、パケットの宛先IPアドレスを参照して最適な経路を選択する。
正解と解説を見る
正解:A
解説:
TCPはコネクション型のトランスポート層プロトコルで、通信前に3ウェイハンドシェイクでコネクションを確立し、再送制御・順序制御によってデータの確実な到達を保証します。
選択肢BはUDP(User Datagram Protocol)の説明です。UDPはコネクションレス型であり、事前の接続確立や再送制御を行わない代わりにリアルタイム性に優れています。選択肢CはIP(Internet Protocol)の説明です。IPはネットワーク層(インターネット層)のプロトコルであり、経路選択を担いますが、データの到達保証は行いません。
よくある質問(FAQ)
Q. TCPコネクションを識別する情報は何ですか?
送信元IPアドレス・宛先IPアドレス・送信元ポート番号・宛先ポート番号の4つの組み合わせで識別します。この4つの情報が同一であれば同じコネクション、1つでも異なれば別のコネクションとして扱われます。FE H25春問35で直接出題された実績があります。
Q. TCPのコネクション切断はどのように行われますか?
通信を終了する側がFINパケットを送信し、相手がACKで応答します。その後、相手側もFINを送信し、最初の側がACKで応答する「4ウェイハンドシェイク」で切断されます。確立時が3回のやり取りなのに対し、切断時は4回のやり取りが必要です。試験範囲では切断の手順まで深掘りされることは少ないので、参考程度で構いません。
Q. 「TCP/IP」と「TCP」は同じ意味ですか?
異なります。「TCP」はトランスポート層の1プロトコルを指します。「TCP/IP」はTCPとIP(Internet Protocol)を中心としたプロトコル群全体の総称であり、HTTP・SMTP・FTPなど多数のプロトコルを含む通信の仕組み全体を表します。試験では「TCP/IP階層モデル」という形で階層構造の知識が問われることが多く、「TCP単体」と「TCP/IPモデル全体」を混同しないことが大切です。
Q. 実務ではTCPとUDPをどう使い分けていますか?
Webページの表示(HTTP/HTTPS)、メールの送受信(SMTP/POP3/IMAP)、ファイル転送(FTP)など、データの欠損が許されない通信にはTCPを使います。一方、動画のライブ配信、IP電話(VoIP)、オンラインゲームなど、多少のパケット消失よりも遅延の少なさが優先される通信にはUDPが使われます。DNSは通常の名前解決ではUDPを使い、ゾーン転送など大量データの転送時にはTCPに切り替えます。