ユーザーデータグラムプロトコル

UDPの理解とTCPとの違い

ユーザーデータグラムプロトコル(UDP)は1980年に導入され、存在する最古のネットワークプロトコルの 1つです。 これは、クライアント/サーバネットワークアプリケーション用のシンプルなOSIトランスポート層プロトコルであり、 インターネットプロトコル(IP)に基づいており、 TCPの主な代替手段です。

UDPの簡単な説明は、TCPと比較した場合、それが信頼できないプロトコルであることを説明するかもしれません。 これは真実ですが、データ送信に伴うエラーのチェックや修正がないため、TCPが一致できないこのプロトコルのアプリケーションが確実に存在することは間違いありません。

UDP(UDP / IPと呼ばれることもある)は、 ビデオ会議アプリケーションや、リアルタイムパフォーマンス専用に作られたコンピュータゲームでよく使用されます。 より高い性能を達成するために、プロトコルは個々のパケットが(再試行なしで)廃棄され、UDPパケットが、送信された順序とは異なる順序で受信されることをアプリケーションによって指示される。

この伝送方法は、TCPと比較すると、少ないデータオーバーヘッドと遅延を可能にします。 パケットが何であっても送信され、エラーチェックが含まれていないため、 帯域幅が少なくなります。

UDPはTCPよりも優れていますか?

この質問に対する答えは、UDPはTCPよりも優れたパフォーマンスを可能にしますが、品質はおそらく悪くなるため、コンテキストによって異なります。

TCPがTCPよりも優先される場合の良い例は、オンラインゲーム、ビデオチャット、音声送信など、 レイテンシを短くしてパフォーマンスが向上するアプリケーションの場合です。 パケットは失われる可能性がありますが、品質を低下させるために全体的な遅延が少なくて済むため、品質の低下はあまり感じられません。

オンラインゲームでは、接続が一時的に失われた場合でも、何らかの理由でパケットの一部が破棄された場合でも、UDPトラフィックによりゲームを続行できます。 エラー訂正が含まれていた場合、パケットはエラーを補うために途中で再入力しようとしているため、接続に時間がかかることがありますが、ライブビデオゲームでは不要です。 ライブストリーミングでも同じことが言えます。

しかし、ファイル転送に関してUDPがそれほど優れていないのは、適切に使用するためにファイル全体必要なことです。 しかし、それを楽しむためにビデオゲームやビデオのすべてのパケットが必要なわけではありません。

OSIモデルのレイヤ4でTCPとUDPの両方を使用し、 TFTP 、RTSP、 DNSなどのサービスで動作します。

UDPデータグラム

UDPトラフィックは、データグラムと呼ばれるものを介して動作し、すべてのデータグラムは単一のメッセージユニットで構成されます。 ヘッダーの詳細は最初の8バイトに格納されますが、残りは実際のメッセージを保持するものです。

ここに記載されているUDPデータグラムヘッダーの各部分は2 バイトです。

UDP ポート番号により、TCPと同様に、さまざまなアプリケーションがデータ用に独自のチャネルを維持できます。 UDPポートヘッダーは2バイト長です。 したがって、有効なUDPポート番号の範囲は0〜65535です。

UDPデータグラムサイズは、ヘッダーセクションとデータセクションに含まれる合計バイト数のカウントです。 ヘッダーの長さは固定サイズであるため、このフィールドは可変サイズのデータ​​部分(ペイロードとも呼ばれます)の長さを効果的に追跡します。

データグラムのサイズは、動作環境によって異なりますが、最大65535バイトです。

UDP チェックサムは 、メッセージデータの改ざんを防ぎます。 チェックサム値は、最初に送信者によって計算され、その後受信者によって計算されたデータグラムデータの符号化を表す。 送信中に個々のデータグラムが改ざんされたり破損したりすると、UDPプロトコルはチェックサム計算の不一致を検出します。

UDPでは、チェックサムが必須であるTCPとは対照的に、チェックサムはオプションです。