ネットワーク 技術

TCPとUDP

2025年2月15日

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

マスタリングTCP/IP-入門編ー(第6版) [ 井上 直也 ]
価格:2,420円(税込、送料無料) (2025/5/10時点)


TCPとUDPは、どちらもコンピュータ間の通信を可能にするトランスポート層のプロトコルですが、その特性や使用用途が異なります。TCPは通信前に接続を確立し信頼性が高く、データの完全性と順序を保証します。一方UDPは、通信前に接続を確立せず、高速な通信、データの完全性や順序が保証されないことが特徴になります。

TCP

ポイント

  • 接続の有無:接続を確立するために、送信側と受信側の間で3回の手順(3-way handshake)を必要とします。接続が確立されるまで、データ送信はできません。
  • 信頼性:データの到達を保証し、欠落したパケットを再送するなど、信頼性を高める仕組みを備えています。
  • 順序:データの順序を保証します。
  • オーバーヘッド(リソース):接続確立や再送など、多くの制御情報を必要とするため、UDPよりもオーバーヘッドが大きくなります。
  • 用途:データの正確性と順序が重要なウェブブラウジング、ファイル転送、メールなど。

3ウェイハンドシェイクの簡単なイメージは以下の通り。詳細知りたい方はググってね。

(送信側)パケット送っていい?

(受信側)いいよ。こっちからも返答していい?

(送信側)いいよ!

UDP

ポイント

  • 接続の有無:接続を確立する必要がなく、すぐにデータの送受信を開始できます。
  • 信頼性:データの到達を保証せず、再送も行いません。パケットが途中で失われる可能性があります。
  • 順序:データの順序は保証されません。パケットが到着する順番が異なる可能性があります。
  • オーバーヘッド(リソース):制御情報が少ないため、TCPよりもオーバーヘッドが小さく、高速な通信が可能です。
  • 用途:リアルタイム性が求められるオンラインゲーム、ストリーミング、IoTデバイスの通信など。

どちらのプロトコルを選ぶべきか?

アプリケーションの要件によって異なります。

  • TCP:データの完全性と順序が重要で、多少の遅延を許容できる場合
  • UDP:高速な通信とリアルタイム性が重要で、データの欠落は許容できる場合

-ネットワーク, 技術