TCPとUDPの違いを図解で比較|ゲーム・動画配信・Webの最適プロトコルは?

IT基礎

1_TCP及びUDPとは?

TCP(Transmission Contorol Protocol)UDP(User Datagram Protocol)は、トランスポート層と呼ばれるはアプリケーション間のデータ転送を担う階層のプロトコル(約束事)を指します。簡単に言ってしまうと、通信が相手方に届くまでの順序制御や信頼性に関するルールだと思ってください。

バグ太郎
バグ太郎

毎度よくわからなくなるんですけど、IPアドレスの役割とは違うのですか?

C-3PU
C-3PU

IPアドレスは、機器同士が通信を取る際に相手方にたどり着くまでに必要な情報になります。TCPやUDPに代表されるトランスポート層のプロトコルは、どのようにして相手方までたどり着くかを決めたルールになります。間違いなく相手方が本人(通信先)かを確認する信頼性を重視するのか、送るスピードを優先するのかといった感じです。郵便で例えると、本人限定郵便とするのか速達とするのかといった感じです。

2_TCP(Transmission Contorol Protocol)

信頼性及び順序制御重視したルールになります。
特徴としては、データ本体の送信前に「接続」ための通信を行い、相手が接続の準備が整っているか確認します。そして問題なければ、相手の送るデータを順番に分けて番号を付けた上で送信し、受け取った側は届いた番号を確認して「返事(ACK)」を返し、届かなければ再送します。
ウェブ閲覧やメールなど、正確さが重要な場面で使われます

TCPの概念及び通信の具体例を表した図
2-1_TCP通信の流れについて3ウェイハンドシェイク

TCPは信頼性及び順序制御を重視しているため、まず3ウェイハンドシェイクと呼ばれる通信を始めるためのやり取りを実施します。
まず送る側が「①SYN」という合図を送って接続を要求します。受け取った側は「②SYN+ACK」で受け取りと準備完了を伝えます。最後に送る側が「③ACK」で受け取りを確認すると接続が確立し、データの送受信が始まります。これにより相手が通信可能か確認でき、安全で順序あるやり取りができます。

TCPの通信フロー図。3ウェイハンドシェイクを段階ごとに示した詳細なステップ図

3_UDP(User Datagram Protocol)

スピード(リアルタイム性)を重視したルールになります。
速さを重視する「送りっぱなし」の通信の仕組みです。TCPと異なり、相手が接続の準備が整っているかの通信を実施せず、データを小さな塊で送ります。順番や到達確認を行わないため、届かなくても再送しません。その代わり遅延が少なくリアルタイム性が重要な音声通話、動画配信、オンラインゲーム、DNS問い合わせなどでよく使われます。

UDPの概念及び通信の具体例を表した図
3-1_UDP通信の流れについて

UDPは、TCPと異なりスピード(リアルタイム性)を重視しているため、3ウェイハンドシェイクのような前置き通信は実施しません。イメージとしては、一方からデータがどんどん送られる感じです。

UDPの概念図。コネクションレスで速度優先の送信を示すイラスト

4_まとめ(比較表)

項目 TCPUDP
通信のイメージ宅配便(手渡し・受取確認あり)ポスト投函(送りっぱなし)
接続の有無接続あり(3ウェイハンドシェイク)接続なし(即送信)
信頼性高い(順番・到達確認・再送あり)低い(順番保証なし・再送なし)
スピードやや遅い(確認処理が多い)速い(処理が少ない)
データ順序保証される保証されない
主な用途Web閲覧、メール、ファイル転送など動画配信、音声通話、ゲーム、DNS
タイトルとURLをコピーしました