TCP と UDP の違いを説明してください

確実さの TCP と、速さと軽さの UDP を、届いたかの確かめ、順番、つなぐ手間の 3 点で比べて答える問い。使われる場面を添えます。

こう聞かれます

  • 「TCP と UDP の違いを説明してください」
  • 「動画の通話やオンラインのゲームで UDP が使われるのはなぜですか」
  • 「Web の通信はどちらを使っていますか」(知っている範囲を確かめる形)

面接官が見ている点

  • 「TCP は確実、UDP は速い」の先に、なぜそうなるのか (確かめと送り直し、順番、つなぐ手間) を話せるか
  • どちらが上というのではなく、場面で選ぶ物だと分かっているか
  • 使われている例を正しく挙げられるか

短い答え

  • TCP は、先に相手とつないでから送り、届いたかを確かめ、抜けた分は送り直して、送った順に並べて渡します。確実ですが手間がかかります。
  • UDP は、つながずにすぐ送り、届いたかも順番も確かめません。そのぶん軽く、待ちが短くなります。
  • だから Web やメールのように欠けては困る物は TCP、通話やオンラインのゲームのように少し欠けても遅れない方がよい物は UDP を使います。

少し詳しい答え

TCP が確実なわけ

  • つなぐ送る前に 3 回のやり取り (3-way ハンドシェイク) で、お互いが送れる状態かを確かめます
  • 確かめと送り直し受け取った側は「ここまで届いた」と返します。返事が来ない分は送り直します
  • 順番データに通し番号を付けるので、受け取った側は順に並べ直せます
  • 混み具合への配慮相手や回線が詰まっていれば、送る量を絞ります

この手間のぶん、最初の 1 バイトが届くまでに時間がかかり、抜けを待つあいだ後ろの分も止まります。

UDP が軽いわけ

UDP はこれらを持たず、宛先のポート番号などを付けて送るだけです。欠けても送り直さないので、通話なら一瞬音が飛ぶだけで、遅れて届いた古い音を待つことがありません。DNS の問い合わせのように 1 往復で済む小さなやり取りにも向きます。

Web の通信は

HTTP/1.1 と HTTP/2 は TCP の上で動きます。HTTP/3 は UDP の上に QUIC という仕組みを載せ、確かめや送り直しを QUIC の側で行います。UDP をそのまま使うのではなく、必要な確実さを上で作り直している、という点が大事です。

作った物と結ぶなら、たとえば「チャットの機能を作ったとき、メッセージは欠けては困るので TCP の上の WebSocket を使った」のように話します。

よくある間違い

  • 「UDP は届かないこともある、だから使えない」と言う欠けても待たない方がよい場面では、それが利点になります。確実さが要るならアプリの側で補います
  • 「TCP なら処理が 1 回だけ行われる」と思う TCP が守るのは通信の中での到達と順番です。アプリの処理が二重に走らないかは別に考えます
  • 「HTTP/3 は UDP だから確実でない」と言う QUIC が UDP の上で送り直しや順番の管理をしています

深掘りの問い

  • 「3-way ハンドシェイクでは何をやり取りしますか」つなぎたいという合図、それへの返事と合図、最後の返事、の 3 回で、お互いの通し番号の始まりを伝え合う、と答えます
  • 「TCP で 1 つの抜けがあると何が起きますか」抜けた分が届くまで、後ろに届いた分もアプリに渡せず待つ、と答えます
  • 「ほかに UDP を使う例はありますか」 DNS の問い合わせや、時刻合わせなどを挙げます

確認日 2026年10月23日

技術面接問題の一覧へ戻る