本日からは、CCNA学習の中でも土台となる Network Fundamentals の内容に入り、今回は TCP と UDP の違い について整理しました。どちらもトランスポート層を代表するプロトコルですが、考え方はかなり異なります。ひとことで言えば、TCP は正確さ重視、UDP は速さ重視 です。まずはこの大きな違いをつかむことが、理解の入口になると感じました。
1. TCP とは何か
TCP は Transmission Control Protocol の略で、コネクション型で信頼性の高い通信を行うプロトコルです。通信を始める前に接続を確立し、送ったデータが相手に届いたかを確認しながら進めるため、多少遅くなっても「正しく届くこと」を重視する方式といえます。
TCP の重要な性質としては、次のような点があります。
- 通信前に接続を確立する
- 受信確認(ACK)を使う
- 届かなければ再送する
- データの順序を整える
- 重複データを除きやすい
- チェックサムで破損確認を行う
これらの仕組みがあるため、TCP は紛失・重複・順番の入れ替わり・破損といった問題に対応しやすく、信頼性の高い通信に向いています。
2. UDP とは何か
UDP は User Datagram Protocol の略で、コネクションレス型の軽量な通信プロトコルです。TCP のように事前の接続確立を行わず、基本的には必要最小限の処理でデータを送るため、まず速く届けることを重視した方式です。
UDP の重要な性質としては、次のような点があります。
- 接続確立をしない
- 受信確認(ACK)をしない
- 再送制御をしない
- 順序保証をしない
- 軽量で高速
- 遅延を小さくしやすい
そのため UDP は、多少の欠損があっても、まず速く届けたい通信に向いています。

3. TCP はなぜ信頼性が高いのか
TCP の信頼性を支えている中心的な仕組みは、番号付け・確認応答・再送です。
画像でも、TCP の仕組みとして 接続確立、ACK、再送、順序制御、チェックサム が整理されていました。 Source
まず、通信前には 3ウェイハンドシェイク によって接続を確立します。さらに、受信側は届いたデータに対して ACK を返し、送信側は ACK が返ってこなければ再送を行います。
また、TCP では順序制御により、受信側がデータを正しい順番に並べ直しやすく、重複データの扱いにも対応しやすくなっています。さらにチェックサムによって破損検出も行えるため、「多少時間がかかっても正確に届ける」 という役割に適しています。
4. UDP はなぜ速いのか
UDP が速い理由は、確認・再送・接続確立などの手順を省いているからです。
TCP のような細かな制御を行わないぶん、UDP はオーバーヘッドが小さく、シンプルにデータを送りやすくなります。その結果、遅延を小さくしやすく、リアルタイム性が重視される通信で使いやすくなります。
ただし、その代償として、
- 一部パケットが失われる可能性がある
- 順番が乱れる可能性がある
- 重複する可能性がある
といった点には注意が必要です。つまり UDP は、「完璧さ」よりも「スピード」を優先する通信方式と考えると理解しやすいです。

5. connection-oriented と connectionless
TCP と UDP を整理するときに大切なのが、
TCP = connection-oriented
UDP = connectionless
という考え方です。
TCP は通信前に接続を確立してからデータをやり取りするため、connection-oriented と呼ばれます。一方の UDP は、相手と事前に接続を作らず、そのままデータを送るため connectionless です。
6. TCP と UDP はどんな用途で使い分けるか
TCP が向くのは、正確に届くことが重要な通信です。
TCP の用途例として Web(HTTP/HTTPS) や 正確なデータ転送 があります。ファイル転送やWeb閲覧のように、「欠けずに正しい順序で届くこと」が大切な場面では TCP が向いています。
一方で UDP が向くのは、多少の欠損よりも速さが重要な通信です。
UDP の用途例として VoIP(音声通話)、動画配信(ライブ配信など)、オンラインゲーム、DNS があります。リアルタイム性が求められる場面では、少しの欠損よりも遅延の少なさが重要になるため、UDP が選ばれやすくなります。
まとめ
今回のポイントは、TCP は正確さ重視、UDP は速さ重視 という違いをしっかり押さえることです。TCP は接続確立、ACK、再送、順序制御、チェックサムなどによって信頼性を高めています。一方の UDP は、そうした手順を省くことで軽量かつ高速に動作し、低遅延が求められる通信に向いています。どちらが優れているというよりも、用途に応じて使い分けることが大切だと理解できました。


コメント