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)の上位プロトコルとしての役割を果たるプロトコルです。
UDP(User Datagram Protocol)は、トランスポート層のプロトコルであるにも関わらず、End-to-Endの通信品質の担保を行いません(コネクションレス型の通信)。その代わり無駄な通信を行わないので、通信速度を向上させ、リアルタイムな通信環境を確立することが可能になるという特徴を持ちます。
TCPは別名「伝送制御プロトコル」とも呼ばれ、通信品質の担保を行うために様々な仕組みを備えますが、UDPには同様の仕組みが存在しません。
そのため、プロトコル定義書(RFC)も非常に簡易的なものとなっています。
UDPはトランスポート層で動作するプロトコルなので、分かりやすく言えば「通信速度重視」でアプリケーションの識別(=ポート番号の識別)を行うプロトコルだと考えることもできます。
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万人に参考にしていただきました!