UDP(User Datagram Protocol)とは、OSI参照モデル第4層:トランスポート層で動作する速さ優先の通信プロトコルです。
このページでは、UDPって何?UDPはいつどのように利用される?UDPとTCPの違いは?というような疑問をお持ちのネットワーク初心者の方のために、UDPの基本を図解付きでわかりやすく解説します。
ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。

UDPやTCPをしっかり理解するためには、OSI参照モデルやTCP/IPについての基礎知識があるとGood。
OSI参照モデルって何?TCP/IPって何?と疑問をお持ちの方は本編の前に以下の記事を是非ご覧ください。
UDPとは?わかりやすく

UDP(User Datagram Protocol)とはOSI参照モデルのトランスポート層で動作し、IP(Internet Protocol)の上位プロトコルとしての役割を果たるプロトコルです。
OSI参照モデルの第1層:物理層~第3層:ネットワーク層までが有機的に動作することで、通信機器同士のEnd-to-Endの通信環境が確立されます。

現実世界で言えば、手紙を送るときに相手の住所とこちらの住所が明確になっている状況です。
OSI参照モデルの第4層:トランスポート層のプロトコルでは、通信環境の確立を踏まえて大きく以下の2つを行います。
UDP(User Datagram Protocol)は、トランスポート層のプロトコルであるにも関わらず、End-to-Endの通信品質の担保を行いません(コネクションレス型の通信)。その代わり無駄な通信を行わないので、通信速度を向上させ、リアルタイムな通信環境を確立することが可能になるという特徴を持ちます。
TCPは別名「伝送制御プロトコル」とも呼ばれ、通信品質の担保を行うために様々な仕組みを備えますが、UDPには同様の仕組みが存在しません。

そのため、プロトコル定義書(RFC)も非常に簡易的なものとなっています。

UDPはトランスポート層で動作するプロトコルなので、分かりやすく言えば「通信速度重視」でアプリケーションの識別(=ポート番号の識別)を行うプロトコルだと考えることもできます。
ポート番号とは、コンピュータがTCP/IP通信に使用するプログラムを識別するための番号です。
あなたがメールをしながら動画を見て、同時にExcelなどのファイルを編集できるのは、コンピュータ内部では複数のアプリケーションが動いているためです。


したがって、送られてくるデータも「どのアプリケーションのデータ」なのか?を判別する必要があります。

アプリケーションの識別を行う際には、アプリケーションごとに決められたポート番号を参照しに行きます。IPアドレスが住所であるとするなら、ポート番号は部屋番号のようなもので、ポート番号があるからこそ、メールデータをきちんとメールサーバーに届けることができるのです。
種類 | 現実世界で例えると・・・ | 例 |
---|---|---|
IPアドレス | 住所 | 東京都千代田区永田町1−1−1 |
ポート番号 | 部屋番号 | 101号室 |

ポート番号について更に詳しく学習したい方は以下の記事をご覧ください!
TCPとUDPの違い
UDPをより深く理解できるように、TCPの比較を通してUDPの仕組みを1つ1つ見ていきましょう。
UDPヘッダのフォーマット
UDPのヘッダはTCPと比較して非常に簡易的です。

# | bit数 | 説明 |
---|---|---|
送信元ポート番号 | 16 bit | 送信元のポート番号 |
送信先ポート番号 | 16 bit | 送信先(宛先)のポート番号 |
パケット長 | 16 bit | UDPヘッダとUDPデータの長さの合計 |
チェックサム | 16 bit | UDPヘッダとUDPデータのエラーチェック用の値 |

TCPと比較すると分かりますが、UDPは本当にポート番号の識別ぐらいしか役割がありませんね。
TCPはご覧のようにポート番号の他にも通信品質担保のための様々なデータをやり取りします。

UDPは簡易的なフォーマットですが、その分通信速度が向上します。
UDPとTCPの用途
UDPは以下のような特徴を持つプロトコルです。
その特徴を生かして以下のような画面で利用されます。

TCPとの比較をまとめると以下の通りです。
プロトコル | TCP | UDP |
---|---|---|
信頼性 | 高 | 低 |
通信速度 | 低 | 高 |
通信方式 | コネクション型 | コネクションレス型 |
用途 | メール送受信/ファイル共有/Webページの閲覧など | ストリーミング/音声通話/テレビ会議など |

UDPはTCPと違い非常にシンプルなプロトコルなので技術的に覚える内容が少なく多少不完全燃焼な感じもありますが、UDPの基本的な仕組みは以上です。
イマイチ理解できていない・・・と感じる方はもう一度このページを読み返してみましょう!
ネットワークエンジニアを目指したい方は
TCPをはじめとして、ネットワークの基礎を1から学びたい方はこちらの書籍を購入してがっつり学びましょう!
さくっと手軽に読める内容ではないのですが、ネットワークエンジニア全員が必ず読破している本と言っても過言ではありません。是非この機会にチャレンジしてみてみましょう。
ITを1から学びなおしたい方は
システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。
システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。

無料で読めるようにしてあります。累計12万人に参考にしていただきました!