ネットワーク

UDPとは

2019年6月16日

UDPとは

UDP(User Datagram Protocol)とは、トランスポート層で動作する速度を優先した通信プロトコルです。

通信プロトコルとは、通信のルール(約束事)のことです。例えば会話であればお互い「日本語」で話すことで会話が成り立ちます。片方が「日本語」で片方が「英語」だと会話は成立しません。

通信も同じルールを決めて通信を行います。

UDPとは

 

UDPの特徴は、相手にデータが届いたかの確認を行いません。一方的にデータを送ることで速度の速い通信を実現しています。そのため多少のデータの欠落があっても高速性やリアルタイム性を重視する通信で使われています。

 

ポイント

UPDは信頼性は低いが、通信速度が速い通信プロトコルです。

スポンサーリンク

TCPとUDPの違い

UDPと同じトランスポート層で動作する有名な通信プロトコルに「TCP」があります。

TCPはUDPの違いは以下です。

名称信頼性速度備考
TCP高い遅いコネクション型(相手と会話しながらやり取りする)
UDP低い早いコネクションレス型(一方的に送る)

 

TCPは相手にデータが届いたかの確認を行い、もし届いていなければ再送する仕組みになっています。そのため、TCPは信頼性が高い通信プロトコルです。

 

TCP再送信

 

相手と会話しながら通信をしていくコネクション型であるTCPと違い、UDPは相手と会話することなく一方的にデータを送信します。(コネクションレス型といいます)

そのため、UDPは信頼性は低いが速度が速い通信プロトコルです。

 

UDPヘッダ

UDPで通信する時の、UDPヘッダは以下の通り。

UDPでデータを送信する時は、送信データだけではなく、「送信元ポート番号」などの情報もUDPヘッダとして付与されています。

UDPヘッダ

項目ビット数説明
送信元ポート番号16 bit送信元のポート番号
宛先ポート番号16 bit宛先のポート番号
セグメント長16 bitUDPヘッダとUDPデータ領域の長さをByte単位で表示します
チェックサム16bitUDPヘッダとデータ部分のエラーチェックを行うために使用します

 

UDPはTCPと違い通信相手にデータが届いたかの確認をしないので、UDPヘッダの内容は非常に少ないです。送受信のポート番号とデータ領域のサイズ、そしてチェックサム程度です。

信頼性の高い通信であるTCPは、通信相手にデータが届いたかの確認を行うため、UDPに比べてヘッダに付与される情報が非常に沢山あります。

TCPヘッダは以下の情報が付与されます。(詳細は「TCPとは」を参照してください)

TCPヘッダ

helpful