totonoe

ネットワークを整える

初級

TCP/UDP を整える

= データの運び方の二大ルール「TCP」と「UDP」を図解

インターネットでデータを運ぶ二大ルール「TCP」と「UDP」のしくみを図で整理します。TCP が送信前に行う3回のあいさつ(3ウェイハンドシェイク)と、確実な TCP/速い UDP の使い分けを、アニメと比較表で。読むだけのページなので、通信も入力も一切ありません(送信ゼロ)。

i

TLDR — 30秒で分かる

TCPが送信前に交わす3回のあいさつ(SYN→SYN/ACK→ACK)と、確実なTCP/速いUDPの使い分けを、アニメと比較表でやさしく。

主な機能を見る
  • 3ウェイハンドシェイクの図解アニメ
  • TCPとUDPを対比する2モードの図解
  • 信頼性・順序・速度・再送・用途の比較表
  • Web/メール(TCP)と通話/ゲーム/DNS(UDP)の使い分け
  • ポート番号への導入
アニメで見る — TCP/UDP のしくみ ▶ 再生で1ステップずつ動きます
💻

クライアント

あなたのブラウザ等

① SYN「つなぎたい」
③ ACK「了解」
✅ 接続確立
🖥️

サーバ

Web サーバ等

② SYN/ACK「OK+そちらは?」
✅ 接続確立
📦

TCP

確実に届ける宅配便

🤝 接続してから送る
🔢 順序を保証
✅ 届いたか確認・再送

UDP

速さ優先の投げっぱなし

🚀 確認せず即送信
🍃 取りこぼしは許容

STEP 1

※ イメージ図です。このページは図解だけで、入力・通信は一切行いません(送信ゼロ)。

手を動かす — TCP? UDP? 用途しんだん

あなたの用途、どっちで運ぶ?

4つの質問にトグルで答えると、その用途に向くプロトコル(TCP / UDP)を理由つきで判定します。 下のシナリオを押せば、トグルが自動でセットされて結果が出ます。 判定はすべてブラウザ内。何も送信しません。

▼ シナリオから選ぶ(トグルが自動でセットされます)

質問に答えるか
シナリオを選ぶと
ここに判定が出ます

※ これは「考え方の目安」です。現実には UDP の上に独自の信頼性補正を載せる方式(QUIC など)もあり、 用途によって両者を組み合わせます。判定の軸は、上の比較表(信頼性・順序・速度)と同じです。

3ウェイハンドシェイクとは

いきなり話し出さず、まず3回あいさつしてから。

TCP は「確実に届ける」ことを大切にする運び方です。だからデータを送る前に、相手と 3回のあいさつを交わして「お互い準備できた」と確認します。これが 3ウェイハンドシェイク。電話で「もしもし」「はい、聞こえます」「では話します」と 確認してから本題に入るのと同じ発想です。

  1. 1

    SYN =「つなぎたい」

    クライアントがサーバに「接続したい」と申し込みます。SYN(Synchronize)は、最初の合図です。

  2. 2

    SYN/ACK =「OK、そちらは?」

    サーバが「受け取った(ACK)+こちらも準備できた(SYN)」を一度に返します。承認と申し込みの合わせ技です。

  3. 3

    ACK =「了解」

    クライアントが「確認しました」と返します。これで往復3回がそろい、接続が確立。ようやく本物のデータが流れ始めます。

この往復の手間があるぶん、TCP は接続開始に一瞬の遅れが出ます。けれども「届いたか確認して、抜けたら再送する」しくみが この接続の上に乗るので、データが順番どおり・取りこぼしなく相手に届きます。

TCP と UDP の違い

確実さの TCP、速さの UDP。

観点 📦 TCP ⚡ UDP
信頼性 高い(確実に届ける) 低め(届く保証なし)
順序 送った順に並べ直す 保証しない(前後しうる)
速度 やや遅い(確認の手間) 速い(接続・確認なし)
確認応答・再送 あり(抜けたら送り直す) なし(投げっぱなし)
接続 あり(3ウェイハンドシェイク) なし(コネクションレス)
用途例 Web(HTTP/HTTPS)・メール・ファイル転送 動画通話・オンラインゲーム・DNS

どちらが「優れている」ではなく向き不向きです。1文字でも欠けたら困るもの(Web・メール・ファイル)は 確実な TCP。多少抜けても止めたくないもの(通話・ゲーム・DNS)は速い UDP。配信動画やビデオ会議では UDP 系の上に独自の補正を重ねるなど、両者を組み合わせる場面も増えています。

ひとこと:宛先には「ポート番号」もついている

TCP も UDP も、IPアドレス(どの機器か)に加えてポート番号(その機器の中のどの窓口か)を使って相手を特定します。 たとえば Web は 80/443、メールは 25/587 など。同じパソコンの中で複数のアプリが同時に通信できるのは、この窓口番号のおかげです。 ポート番号の早見は別ツール(/ports/・準備中)で扱います。

🔒 解説と比較表は読み物、上の「用途しんだん」も判定はすべてブラウザ内で行います。入力も通信もサーバには送られません(送信ゼロ)。

よくある質問

Q. TCPとUDPの違いは何ですか?
A. TCPは接続を作って確実に・順番どおり・取りこぼしなく届けます。UDPは接続も確認もせず速く送り、取りこぼしを許容します。確実さのTCP、速さのUDP、と覚えると分かりやすいです。
Q. 3ウェイハンドシェイクとは何ですか?
A. TCPがデータを送る前に交わす3回のあいさつです。①SYN(つなぎたい)②SYN/ACK(OK+そちらは?)③ACK(了解)の順で往復し、接続を確立してから本データを流します。
Q. なぜSYN/ACKは1回にまとめるのですか?
A. サーバ側は「受け取った合図(ACK)」と「自分も接続したい合図(SYN)」を同時に返せるためです。往復を減らせて効率的なので、2番目だけSYNとACKが合わさります。
Q. どんなときにTCP/UDPが使われますか?
A. 1文字でも欠けたら困るWeb(HTTP/HTTPS)・メール・ファイル転送はTCP。遅延が致命的でわずかな欠落を許せる動画通話・オンラインゲーム・DNSはUDPが向きます。
Q. UDPは信頼できないから使わないほうがいい?
A. いいえ。「遅れて届くより、抜けても最新を届けたい」用途ではUDPが最適です。古いコマを再送するより次の最新コマを送るほうが自然な通話・ゲームでは、むしろUDPが正解です。
Q. TCP/UDPとポート番号の関係は?
A. どちらもIPアドレス(どの機器か)に加えてポート番号(機器内のどの窓口か)で相手を特定します。同じ端末で複数アプリが同時に通信できるのはポート番号のおかげです。
Q. このツールで通信や接続テストはできますか?
A. いいえ。図解と解説だけの読み物で、入力欄も通信もありません。実際にデータが送られることはなく、端末から外には何も出ません(送信ゼロ)。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

RELATED TOOLS

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト