教育・資格支援

TCPとは?3ウェイハンドシェイクと信頼性の仕組みをわかりやすく解説

結論:TCP=相手と確認を取り合いながら、確実に・順番通りに届ける通信ルール

TCPは、送る前に相手と「送っていい?」「いいよ」と合意を取り(3ウェイハンドシェイク)、送った後も「届いた?」と確認応答(ACK)を取り合うプロトコルです。
届かなければ再送し、順番が入れ替われば並べ直す。この「確認と再送」の仕組みさえ掴めば、試験で迷うことはありません。
本記事では仕組み・図解・練習問題まで3分で押さえられるよう整理しました。

今回は、ITパスポートと基本情報技術者試験でほぼ毎年出題される定番プロトコル、「TCP(Transmission Control Protocol)」の仕組みを、やさしく解説していきます。

「TCP/IPという言葉は聞くけど、TCPが何をしているのか説明できない」「3ウェイハンドシェイクの順番をすぐ忘れる」——本当にこの相談は多いです。でも、「確認を取り合う通信」というイメージさえ掴めれば、もう暗記に頼る必要はありません。3分で完了するので、サクッといきましょう。

この記事でわかること

・TCPの役割(信頼性・順序保証・再送制御)と仕組み
・試験頻出の3ウェイハンドシェイクを図解でひと目で理解
・シーケンス番号とACK・再送の流れ
・試験で確実に1点取るための練習問題3問
・実務(Web・メール・クラウド)での使われ方

ネットワーク全体の階層構造(TCPがどの層に居るのか)をまだ押さえていない方は、先にこちらの記事で全体像を掴んでおくと、この後の話がスッと入ってきます。

こちらもCHECK

【図で理解】TCP/IPプロトコルスタックの全体像とレイヤ別の役割

今回は、ネットワークの基礎中の基礎である 「TCP/IPプロトコルスタック」 について、できるだけシンプルに解説します。 エンジニアの勉強を始めたばかりの頃、 そもそも「プロトコルって何?」 「スタッ ...

続きを見る


1. TCP(Transmission Control Protocol)とは


仕組み

TCPとは、データを確実に・正しい順序で相手に届けることを保証する、トランスポート層のプロトコルです。

ポイントは、次の3本柱で「信頼性のある通信」を実現していることです。

ポイント

信頼性:届いたかどうかを確認応答(ACK)で必ずチェックする
順序保証:シーケンス番号でデータに通し番号を付け、順番通りに並べ直す
再送制御:届かなかったデータは自動的に送り直す

身近な例でいえば、書留郵便のイメージです。普通郵便はポストに投函したら終わりですが、書留は配達の記録が残り、受け取りの確認まで行われます。TCPはまさにこの「受け取り確認つきの配達」をネットワーク上で行う仕組みです。下位のIPが「宛先まで運ぶ」ことだけを担当するのに対し、TCPは確実に届いたことを保証する役割を担います。


UDPとの違いをひとことで

TCPとよくセットで登場するのがUDPです。詳しい比較は別記事に譲りますが、ここでは一言だけ押さえておきましょう。「信頼性のTCP、速さのUDP」。UDPは確認応答も再送も行わない代わりに高速で、動画配信や音声通話などに使われます。試験ではこの分担がそのまま問われます。

こちらもCHECK

UDPとは?TCPとの違いをわかりやすく解説【ITパスポート・基本情報】

今回は、ITパスポートと基本情報技術者試験でほぼ毎年出題される定番用語、「UDP(User Datagram Protocol)」を、TCPとの違いを軸にやさしく解説していきます。 「TCPとUDP、 ...

続きを見る


講師視点|TCPの「信頼性」のつかみ方

僕が初学者に説明する時は以下のような伝え方をしています。

ポイント

・書留郵便のイメージ(受け取り確認が返ってくる。返ってこなければ調査=再送)
・LINEの既読マーク(既読=ACK。既読が付かなければ「届いてる?」と送り直す感覚)
・宅配便の受領サイン(サインをもらって初めて「配達完了」になる)

「TCP=データを運ぶプロトコル」という誤解をする方が結構多い印象です。実際に宛先まで運ぶのはIPの仕事で、TCPは運ばれた結果を確認し、保証する係。「運ぶのはIP、保証するのはTCP」と役割を分けて理解しておきましょう。


2. 3ウェイハンドシェイク【図解】


コネクション確立の3ステップ

TCPは、データを送り始める前に、まず相手とコネクション(通信の合意)を確立します。この手順が試験最頻出の3ウェイハンドシェイクです。名前の通り、3回のやり取り(握手)で成立します。

ステップは次の通りです。

① SYN:クライアントがサーバーに「接続したいです」と接続要求を送る
② SYN+ACK:サーバーが「了解です。こちらからも接続します」と、要求の受諾+確認応答をまとめて返す
③ ACK:クライアントが「確認しました」と最後の確認応答を送る

この3往復が完了して初めて、データの送信が始まります。順番は「SYN → SYN+ACK → ACK」。試験ではこの順序の並べ替えや、2番目が「SYNとACKの両方を兼ねる」点がよく問われます。


講師視点|ハンドシェイクの覚え方と誤解パターン

僕が初学者に説明する時は以下のような伝え方をしています。

ポイント

・電話の「もしもし」→「はい、聞こえてます。そちらは?」→「聞こえてます」(お互いの声の確認が取れてから本題に入る)
・ビジネスの挨拶「よろしくお願いします」→「こちらこそ、よろしくお願いします」→「はい」(双方向の合意)
・待ち合わせの確認「明日15時でいい?」→「OK。場所は駅前でいい?」→「OK」(両方が合意して約束成立)

「3ウェイハンドシェイク=2往復(SYN→ACK)で終わり」と覚えてしまう方が結構多い印象です。TCPは双方向の通信路を作るため、サーバー側からの接続確認(②のSYN部分)にもクライアントの応答(③のACK)が必要になります。だから3回、と理屈で押さえておくと番号を忘れなくなりますよ。


3. シーケンス番号とACK・再送制御

コネクション確立後のデータ送信では、TCPはすべてのデータにシーケンス番号(通し番号)を付けて送ります。受け取った側は「ここまで受け取りました」という確認応答(ACK)を返します。

この番号があるおかげで、受信側はデータの抜けや順序の入れ替わりを検出できます。ネットワークの途中でパケットが失われても、送信側は「一定時間ACKが返ってこない」ことでそれを察知し、タイムアウト後に同じデータを再送します。

なお、通信エラーそのものを「通知」する役割は、ネットワーク層のICMPが担当しています。TCPの再送はあくまで「ACKが返らないから送り直す」という自己完結の仕組みで、ICMPのエラー通知とは別物です。混同しやすいポイントなので、区別して覚えておきましょう。

こちらもCHECK

【ネットワーク基礎】ICMPとは?仕組みと役割をやさしく解説

今回は、ネットワークの基礎プロトコル ICMP(Internet Control Message Protocol) について、 実際の通信を追いながらわかりやすく解説します。 ICMPと聞くと少しマ ...

続きを見る


4. コネクションの切断(4ウェイハンドシェイク)

通信が終わったら、コネクションは4回のやり取りで丁寧に閉じられます。

ポイント

① FIN:クライアントが「送信を終了します」と切断要求を送る
② ACK:サーバーが「了解しました」と応答する
③ FIN:サーバー側も送信が終わったら「こちらも終了します」と切断要求を送る
④ ACK:クライアントが「了解しました」と応答して切断完了

確立は3回なのに切断が4回なのは、お互いの送信終了タイミングが別々だからです。片方が話し終えても、もう片方はまだ送信中かもしれない。だから「自分の終了宣言+相手の了解」を双方が1セットずつ行い、合計4回になります。試験では「確立=3ウェイ、切断=4ウェイ」の対比で覚えておけば十分です。


5. ポート番号の役割

TCPを語る上で欠かせないのがポート番号です。IPアドレスが「建物の住所」だとすれば、ポート番号は「部屋番号」。同じコンピュータの中で動いている複数のアプリケーション(Webサーバー・メールサーバーなど)のうち、どれ宛のデータかを識別します。

特に、よく使われるサービスにはウェルノウンポート(0〜1023番)としてあらかじめ番号が割り当てられています。代表例は、HTTP=80番、HTTPS=443番、SMTP(メール送信)=25番など。試験でも「443番はどのプロトコルか」といった形で問われる定番知識です。

ちなみに「住所」側にあたるIPアドレスとMACアドレスの関係は、こちらの記事で整理しています。

こちらもCHECK

IPアドレスとMACアドレスの違い・関係を図解でわかりやすく解説

今回は、ネットワークの基礎技術である IP(Internet Protocol) について解説します。 IPはインターネット通信の土台となる重要な仕組みですが、 「名前は聞いたことがあるけど、実はよく ...

続きを見る


6. 試験対策|練習問題で確認しよう

以下は、IPA過去問の傾向を踏まえて作成したオリジナルの練習問題です(IPA公式の過去問そのものではありません)。本番形式に慣れるための練習として活用してください。実際の過去問はIPA公式サイトで公開されています。


練習問題①(ITパスポートレベル)

(問題) 通信の開始前にコネクションを確立し、確認応答と再送によって信頼性の高いデータ転送を実現するプロトコルはどれか。

ア.UDP
イ.IP
ウ.TCP
エ.ICMP

👉 正解:ウ(TCP)

解説:「コネクション」「確認応答」「再送」「信頼性」がキーワード。UDP(ア)はコネクションを確立せず再送も行わない高速重視のプロトコル、IP(イ)はパケットを宛先まで運ぶ経路制御が役割、ICMP(エ)は通信エラーの通知や到達確認が役割なので、確認応答と再送で信頼性を保証するTCPが正解です。


練習問題②(基本情報レベル)

(問題) TCPのコネクション確立(3ウェイハンドシェイク)において、クライアントとサーバー間で交換されるパケットの順序として適切なものはどれか。

ア.SYN → ACK → FIN
イ.SYN+ACK → SYN → ACK
ウ.ACK → SYN+ACK → SYN
エ.SYN → SYN+ACK → ACK

👉 正解:エ(SYN → SYN+ACK → ACK)

解説:「クライアントの接続要求(SYN)→サーバーの受諾+確認応答(SYN+ACK)→クライアントの確認応答(ACK)」の3往復がコネクション確立の定義そのもの。FIN(ア)はコネクション切断で使うパケットなので、確立の手順に登場する時点で誤りと判断できます。


練習問題③(混同しやすいポイント)

(問題) 次のうち、TCPの説明として最も適切なものはどれか。

ア.コネクションを確立せず、確認応答を行わないため高速だが、データの到達は保証しない
イ.IPアドレスを基にパケットを宛先のネットワークまで届ける経路制御を行う
ウ.シーケンス番号と確認応答を用い、データの到達と順序を保証しながら転送する
エ.通信エラーの通知や、宛先への到達可能性の確認を行う

👉 正解:ウ

解説:アはUDP、イはIP、エはICMPの説明です。「シーケンス番号」「確認応答(ACK)」という表現を見たら、TCPと判断できればOKです。


7. 実務ではどう使われている?

試験対策だけでなく、TCPは現場のあらゆる通信の土台になっています。

普段見ているWebページ(HTTP/HTTPS)も、メールの送受信(SMTP/POP3)も、ファイル転送(FTP)も、すべてTCPの上で動いています。「Webが表示される=裏で3ウェイハンドシェイクが完了している」と考えると、毎日何百回もTCPのお世話になっていることが分かります。

クラウド時代になっても考え方は変わりません。AWSやAzureのロードバランサーはTCPのコネクション単位で通信を振り分けますし、サーバーの死活監視(ヘルスチェック)にもTCPの接続確認が使われています。障害調査で「コネクションが確立できているか」を最初に確認するのは、現場の定番手順です。


8. まとめ|一言で覚えるポイント

ポイント

・TCP=確認応答(ACK)と再送で「確実に届く」を保証するプロトコル
・コネクション確立は「SYN → SYN+ACK → ACK」の3ウェイハンドシェイク
・信頼性のTCP、速さのUDP、と役割分担で覚える

ITパスポートや基本情報の試験では、「確認応答・再送・コネクション」というキーワードとTCPを結びつけられれば確実に1点取れる「サービス問題」です。応用情報以上を目指す方は、ウィンドウ制御(まとめ送りで効率化する仕組み)や輻輳制御まで押さえておくと万全です。

それではまた!

一人で悩まず、相談しながら合格を目指したい方へ

「独学だと続かない…」「分からない用語を気軽に質問できる人が欲しい…」
そんな方向けに、エンジニア歴20年・現役講師の僕が運営する無料LINEコミュニティを用意しています。資格学習のコツ・勉強法・キャリア相談まで、気軽に質問できる場所です。

▶ ITキャリアラボに参加する(無料)

ITキャリアラボ

【無料】ITの悩みを気軽に相談できるコミュニティ・ITキャリアラボ

IT業界を目指すあなたへ|「ITキャリアラボ」無料コミュニティのご案内 「IT業界に転職したいけど、何から始めればいいかわからない…」「資格の勉強が続かない…」「相談できる人がいない…」 そんな不安、 ...

続きを見る

  • この記事を書いた人
  • 最新記事

ユウイチ

20年間ソフトウェアエンジニアとして働いた後、フリーランスを経て現在は1人社長として活動。 プログラミング講師やIT教育を中心に活動しながら、趣味でゲーム開発やシナリオ作成にも挑戦中。どちらも「創ることを通じて人を笑顔にしたい」という想いから始めた、大切なライフワーク。 「創造と教育で、人生に迷う人の“自由な一歩”を支援」を理念に発信中。

-教育・資格支援