TCPとUDPの違いとは?確実さと速さで使い分ける通信方式をやさしく解説

TCPとUDPの違いとは?確実さと速さで使い分ける通信方式をやさしく解説

TCPとUDPの違いに悩むネットワーク初心者のイメージ
「TCPとUDPって、結局どこが違うの?」
「試験ではどっちがどの用途か、いつも迷う…」
「ポート番号との関係も、正直あいまい」

この3つの疑問、ここでまとめて片づけます。ネットワークの通信方式はいくつもありますが、あなたが最初に押さえるべきは2つ、TCPとUDPです。

両者を分けるのはたった1点、「届いたかを確認するかどうか」。TCPは確認しながら運び、UDPは確認せず投げます。この差が、速度も用途も試験の問われ方も決めています

 

以下では、確実さを生む3ウェイハンドシェイクを図で開き、主要サービスのポート番号を一覧にし、現役エンジニアの切り分け方まで順に見ていきます。基本情報・SGのネットワーク対策にそのまま効きます。

 

1. 30秒で決着 — TCPとUDPの違いは「確認するかどうか」だけ

TCPとUDPの違いを1枚で押さえるイメージ

細かい仕様に入る前に、あなたにまず持ち帰ってほしい対比を1枚の表にしました。TCPとUDPの違いは、突き詰めると「受け取りを確認するか、しないか」という設計思想の差に集約されます。

 

観点 TCP UDP
基本姿勢 確認しながら取りこぼさず運ぶ 確認せず速く投げる
接続 コネクション型(事前に接続を確立) コネクションレス型(いきなり送信)
届かなかった時 再送する 再送しない(送りっぱなし)
順序 並べ直して保証 保証しない
速度・遅延 やや遅い 速い・遅延が小さい
ヘッダの大きさ 20バイト(大きめ) 8バイト(小さい)
代表用途 Web・メール・ファイル転送 動画・音声通話・DNS・ゲーム

 

TCPもUDPも、データを運ぶトランスポート層という同じ階層で働きます。役割が「アプリのデータを相手のアプリまで届ける」点は共通で、その届け方の流儀だけが正反対だと捉えてください。階層全体の位置づけは、OSI参照モデルとTCP/IPとは で俯瞰すると頭の中の地図が整います。

 

たとえるなら、TCPは受領印をもらう宅配便、UDPは相手の返事を待たず言い切る伝言です。宅配便は確実だが手続きがある。伝言は速いが届いたかは分からない。この違いが、そのまま2つの通信方式の違いになります。

 

2. TCPの確実さの正体 — 3ウェイハンドシェイク

TCPが接続を確立する3ウェイハンドシェイクのイメージ

あなたがWebサイトを開くたび、裏側でTCPはデータ本体を送る前に「あいさつ」を交わしています。これが3ウェイハンドシェイクで、TCPの確実さの出発点です。次の図が、その3往復のやり取りです。

 

クライアント サーバ ① SYN「つないでいい?」 ② SYN/ACK「いいよ、そちらは?」 ③ ACK「では送るね」→ 接続確立

 

この3往復で「お互い送受信できる状態か」を確かめてから、本番のデータが流れ始めます。さらにTCPはデータを送るたびに受け取り確認(ACK)を求め、返事が来なければ同じデータを送り直します。順番が入れ替わっても、番号を頼りに正しい順序へ並べ直します。

 

TCPが遅く感じられる原因は、この「あいさつ+確認+再送」の手間にあります。逆に言えば、1バイトも欠けずに届くのは、この手間を毎回払っているおかげです。文章や画像やプログラムのように、欠けたら壊れるデータはTCPの独壇場です。

 

3. UDPが速い理由 — 確認しないから軽い

UDPが確認せず素早く送るイメージ

あなたが動画を見たり通話をしたりするとき働くのがUDPです。UDPはあいさつも確認も再送もしません。届いたかを気にせず、ただ次々に送ります。手続きを捨てた分、遅延が小さく、ヘッダも8バイトと軽いのが持ち味です。

 

「確認しないなんて雑では?」と思うところですが、リアルタイム通信ではこれが正解になります。オンライン会議で相手の声が一瞬途切れても、あなたは会話を続けられますよね。0.5秒前の音声を再送して待つより、今の音声を遅れなく届けるほうが自然だからです。動画も1コマ欠けてすぐ次が来るので、止まらないことを優先します。

 

UDPは「とにかく速ければよい」ではありません。「遅れが体験を壊す用途」という選び方が本質です。音声・映像・ゲームの位置情報のように、古いデータを送り直しても意味がないものが、UDPの主戦場になります。

 

4. ポート番号で見分ける「今どっちが動いているか」

サービスとポート番号の対応を示すイメージ

TCPとUDPは、目には見えません。では「今この通信はどっち?」をどう判断するか。手がかりがポート番号です。IPアドレスが「どの機器か」を示すのに対し、ポート番号は「どのアプリ宛てか」を示します。主要なサービスは番号が決まっているので、頻出のものを一覧にしました。

 

サービス ポート番号 使うプロトコル
HTTP(Web) 80 TCP
HTTPS(暗号化Web) 443 TCP
SMTP(メール送信) 25 TCP
DNS(名前解決) 53 UDP(通常)/TCP(大きい応答等)
DHCP(IPアドレス自動割当) 67・68 UDP
NTP(時刻同期) 123 UDP

 

この表を眺めると、あなたの中の「欠けたら困るか、遅れたら困るか」という感覚が裏づけられるはずです。WebやメールはTCP、時刻合わせや初期設定の問い合わせはUDP。役割から、使うプロトコルが素直に決まっています。

 

注目してほしいのがDNSです。名前解決は「サイトの住所は?」という短い1往復なので、軽いUDPで済ませます。ただし応答が大きい場合やゾーン転送ではTCPに切り替わります。「DNS=UDPだけ」と丸暗記すると引っかかる——ここは試験でも実務でも要注意です。名前解決そのものの流れは DNSとは で確認できます。

 

5. 実務のトラブル切り分けと、試験で狙われる3点

実務と試験の両面から使い分けるイメージ

ここまでの知識が、実務と試験でどう効くのか。当社の在籍エンジニア(SE歴15年以上)の視点で、最後に落とし込みます。

 

実務では、この違いはトラブル対応で生きます。通信が重いWebアプリなら、再送や再接続でTCPが往復を繰り返していないかを疑う。逆に音声がブツブツ切れるUDP通話は、そもそも再送しないぶんネットワークの品質が直に体験へ出るので、経路の混雑対策が主役になります。プロトコルの性格を知っていると、原因の当たりを早くつけられます。

 

試験では、用途を挙げて「TCPかUDPか」を選ばせる形が定番です。狙われやすい3点を、あなたは先に押さえておきましょう。

 

  • 「UDPは信頼性がない=使えない」 → 速さが要る用途であえて選ぶ、が正しい
  • 「DNSはUDPのみ」 → 大きい応答・ゾーン転送はTCP
  • コネクション型/コネクションレス型の対応 → TCP=コネクション型、UDP=コネクションレス型

 

用途の言葉で振り分ければ、選択問題はほどけます。Web・メール・ファイルは「欠けたら困る」でTCP、動画・通話・ゲームは「遅れたら困る」でUDP。この物差し1本で足ります。

 

次のステップ

ネットワーク分野が試験全体でどう問われるかを俯瞰したいなら、基本情報技術者試験の試験範囲と勉強法ガイド で学習の優先順位を立てるのがおすすめです。

知識を得点に変えたいなら、基本情報技術者 ネットワークの問題集 で、実際の出題角度に手を動かして慣れておくのが近道です。