「TCP」と「UDP」の違いと用途


概要

TCP/IP規格においてトランスポート層を担当する「TCP」と「UDP」について、それぞれの特徴をまとめました

前知識

○インターネットでは、TCP/IPという通信規格が使用されている

○TCP/IPでは、ネットワーク層のプロトコルとして「IP」、トランスポート層のプロトコルとして「TCP」が使用される

○「IP」が通信相手の指定やルーティング、「TCP」がデータの正確性の保証を担当する

○トランスポート層のプロトコルには、「TCP」以外に「UDP」がある

○もともとは「TCP」だけだったが、必要に応じて「UDP」が生まれた

それぞれの特徴

「TCP」

・正確性重視
・最初にデータの通り道を確保する

(3ウェイハンドシェークというコネクション確率のやりとりを最初に行う)

・データの保証機能がある

(受け取った側が受け取ったデータの情報を反映した「ACK番号」を返すことで、送信元が正しく送信できたことを確認できる→届いていない場合は再送)

・順序通りにデータを届けられる

(パケットごとにシーケンス番号を付ける)

<用途>

・HTTPやSMTP(メール送信)のプロトコルで使用される
・動画配信等のリアルタイム性の求められる用途には向いていない

「UDP」

・速さ重視
・TCPの弱点を補うために開発された
・事前のコネクション確立や確認の応答、再送、順番保証なし

(→データヘッダが単純になる)

・通信相手に一方的にデータを送るだけ

<用途>

・DNS、DHCP、SNMP等のプロトコル
・リアルタイム性の求められる用途(動画配信、音声通話)
・正確性がそこまで求められない用途

まとめ

・インターネット通信において、転送の役割を果たす規格には「TCP」と「UDP」がある

・正確さ重視なら「TCP」、速さ重視なら「UDP」

参考サイト

以下のページを参考にさせていただきました!
https://hldc.co.jp/blog/2019/07/11/2819/