UDPとは
UDP(User Datagram Protocol)とは、トランスポート層で動作する速度を優先した通信プロトコルです。
通信プロトコルとは、通信のルール(約束事)のことです。例えば会話であればお互い「日本語」で話すことで会話が成り立ちます。片方が「日本語」で片方が「英語」だと会話は成立しません。
通信も同じルールを決めて通信を行います。
UDPの特徴は、相手にデータが届いたかの確認を行いません。一方的にデータを送ることで速度の速い通信を実現しています。そのため多少のデータの欠落があっても高速性やリアルタイム性を重視する通信で使われています。
ポイント
スポンサーリンク
TCPとUDPの違い
UDPと同じトランスポート層で動作する有名な通信プロトコルに「TCP」があります。
TCPはUDPの違いは以下です。
名称 | 信頼性 | 速度 | 備考 |
TCP | 高い | 遅い | コネクション型(相手と会話しながらやり取りする) |
UDP | 低い | 早い | コネクションレス型(一方的に送る) |
TCPは相手にデータが届いたかの確認を行い、もし届いていなければ再送する仕組みになっています。そのため、TCPは信頼性が高い通信プロトコルです。
相手と会話しながら通信をしていくコネクション型であるTCPと違い、UDPは相手と会話することなく一方的にデータを送信します。(コネクションレス型といいます)
そのため、UDPは信頼性は低いが速度が速い通信プロトコルです。
UDPヘッダ
UDPで通信する時の、UDPヘッダは以下の通り。
UDPでデータを送信する時は、送信データだけではなく、「送信元ポート番号」などの情報もUDPヘッダとして付与されています。
項目 | ビット数 | 説明 |
送信元ポート番号 | 16 bit | 送信元のポート番号 |
宛先ポート番号 | 16 bit | 宛先のポート番号 |
セグメント長 | 16 bit | UDPヘッダとUDPデータ領域の長さをByte単位で表示します |
チェックサム | 16bit | UDPヘッダとデータ部分のエラーチェックを行うために使用します |
UDPはTCPと違い通信相手にデータが届いたかの確認をしないので、UDPヘッダの内容は非常に少ないです。送受信のポート番号とデータ領域のサイズ、そしてチェックサム程度です。
信頼性の高い通信であるTCPは、通信相手にデータが届いたかの確認を行うため、UDPに比べてヘッダに付与される情報が非常に沢山あります。
TCPヘッダは以下の情報が付与されます。(詳細は「TCPとは」を参照してください)