違いシリーズ一覧に戻る
テクノロジ系

TCPとUDPの違い

TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)はトランスポート層の代表的プロトコル。TCPはコネクション型で再送制御により信頼性を確保し、UDPはコネクションレス型で低遅延・高速転送を実現します。両者の特性差は応用情報技術者試験で頻出論点です。

比較表で見る違い

観点TCPUDP
正式名称Transmission Control ProtocolUser Datagram Protocol
コネクションコネクション型(3ウェイハンドシェイク)コネクションレス型
信頼性高い(再送制御・順序制御あり)低い(再送なし・ベストエフォート)
通信速度相対的に遅い(オーバーヘッド大)速い(ヘッダ小・制御少)
ヘッダ長20バイト以上(可変)8バイト固定
フロー制御あり(ウィンドウ制御)なし
主な用途HTTP/HTTPS、SMTP、FTP、SSHDNS、DHCP、SNMP、VoIP、ストリーミング
ポート番号0〜655350〜65535(TCPと独立)

それぞれの詳しい解説

ATCP

コネクション型の信頼性重視プロトコル。通信開始時に3ウェイハンドシェイク(SYN→SYN/ACK→ACK)で接続を確立し、シーケンス番号と確認応答(ACK)により到達確認と順序保証を行います。パケットロス時は自動的に再送します。Webブラウジング・メール送信・ファイル転送など、データ欠損が許されない用途で使われます。

  • 3ウェイハンドシェイクで接続確立

  • 再送制御・順序制御で信頼性確保

  • フロー制御・輻輳制御を備える

  • HTTP/HTTPS・SMTP・FTPなどで利用

BUDP

コネクションレス型の高速優先プロトコル。事前の接続確立なしにデータグラムを送出し、再送制御も順序保証もしません。ヘッダが8バイトと小さくオーバーヘッドが少ないため低遅延ですが、データの到達は保証されません。DNS問合せ・動画ストリーミング・VoIP・オンラインゲームなど即時性重視の通信に向きます。

  • コネクションレスで接続確立不要

  • 再送なし・順序保証なしのベストエフォート

  • ヘッダが8バイト固定で軽量

  • DNS・VoIP・ストリーミングで利用

試験対策のポイント

「TCP=信頼性・コネクション型・重い、UDP=速度・コネクションレス・軽い」で整理。Web系はTCP、リアルタイム系はUDP。

理解度チェック(2問)

Q1. TCPに関する記述として、適切なものはどれか。

  1. 1コネクションレス型でヘッダは8バイト固定である
  2. 23ウェイハンドシェイクで接続を確立し、再送制御を行う
  3. 3DNSやVoIPで主に使われる
  4. 4パケットの順序保証は行わない
解答・解説を見る

正解:2. 3ウェイハンドシェイクで接続を確立し、再送制御を行う

TCPはコネクション型で3ウェイハンドシェイクにより接続を確立し、シーケンス番号と確認応答で再送制御・順序制御を行う。DNSやVoIPはUDPが主に使われる。

Q2. UDPが適しているアプリケーションとして、適切なものはどれか。

  1. 1銀行のオンライン振込
  2. 2電子メール送信
  3. 3リアルタイム動画ストリーミング
  4. 4Webページの閲覧
解答・解説を見る

正解:3. リアルタイム動画ストリーミング

UDPは再送制御がなく低遅延のため、多少のパケット欠損より即時性が重視されるリアルタイム動画ストリーミングやVoIPに適する。銀行取引・メール・Web閲覧はTCPを使う。

同じ分野の「違い」記事

応用情報 記憶定着問題で演習する