logo

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

ユーザー データグラム プロトコル (UDP) トランスポート層プロトコルです。 UDP は、UDP/IP スイートと呼ばれるインターネット プロトコル スイートの一部です。 TCP とは異なり、 信頼性の低いコネクションレス型プロトコル。 したがって、データ転送前に接続を確立する必要はありません。 UDP は、ネットワーク上で低遅延で損失耐性のある接続を確立するのに役立ちます。 UDP により、プロセス間通信が可能になります。

ユーザー データグラム プロトコルとは何ですか?

伝送制御プロトコル (TCP) は、ほとんどのインターネット サービスで使用される主要なトランスポート層プロトコルですが、は確実な配信、信頼性などを提供しますが、これらすべてのサービスには追加のオーバーヘッドと待ち時間がかかります。ここで UDP が登場します。コンピュータ ゲーム、音声またはビデオ通信、ライブ会議などのリアルタイム サービスの場合。 UDPが必要です。高いパフォーマンスが必要なため、UDP では遅延パケットを処理する代わりにパケットをドロップすることが許可されています。 UDP にはエラー チェックがないため、帯域幅も節約されます。



UDP-gif

UDPヘッダー

UDP ヘッダーは、 8バイト 固定の単純なヘッダーですが、TCP の場合は 20 バイトから 60 バイトまで変化します。最初の 8 バイトには必要なヘッダー情報がすべて含まれ、残りの部分はデータで構成されます。 UDP ポート番号フィールドはそれぞれ 16 ビット長であるため、ポート番号の範囲は 0 ~ 65535 で定義されます。ポート番号 0 は予約されています。ポート番号は、さまざまなユーザー要求やプロセスを区別するのに役立ちます。

UDPヘッダー



UDPヘッダー

  1. 送信元ポート: 送信元ポートは、送信元のポート番号を識別するために使用される 2 バイト長のフィールドです。
  2. 宛先ポート: これは 2 バイトの長さのフィールドで、宛先パケットのポートを識別するために使用されます。
  3. 長さ: 長さは、ヘッダーとデータを含む UDP の長さです。これは 16 ビットのフィールドです。
  4. チェックサム: チェックサムは 2 バイトの長さのフィールドです。これは、UDP ヘッダー、IP ヘッダーからの情報の擬似ヘッダー、およびデータの 1 の補数の合計の 16 ビットの 1 の補数であり、2 の倍数にするために (必要に応じて) 最後にゼロ オクテットが埋め込まれます。オクテット。

ノート - TCP とは異なり、UDP ではチェックサムの計算は必須ではありません。 UDP ではエラー制御やフロー制御は提供されません。したがって、UDP はエラー報告のために IP と ICMP に依存します。また、UDP はユーザーのリクエストを区別できるようにポート番号を提供します。

UDPの応用例

  • データのサイズが小さいため、フローやエラー制御に対する懸念が少ない場合の、単純な要求/応答通信に使用されます。
  • UDP はパケット スイッチングをサポートしているため、マルチキャストに適したプロトコルです。
  • UDP は、RIP(Routing Information Protocol) などの一部のルーティング アップデート プロトコルに使用されます。
  • 通常、受信メッセージのセクション間の不均一な遅延を許容できないリアルタイム アプリケーションに使用されます。
  • UDP はオンライン ゲームで広く使用されており、優れたゲーム エクスペリエンスには低遅延と高速通信が不可欠です。ゲーム サーバーは多くの場合、小さくて頻繁なデータ パケットをクライアントに送信します。UDP は高速で軽量であるため、この種の通信に適しています。
  • IPTV、オンライン ラジオ、ビデオ会議などのストリーミング メディア アプリケーションは、UDP を使用してリアルタイムのオーディオ データとビデオ データを送信します。これらのアプリケーションでは、データが継続的に流れ、再送信する必要がないため、一部のパケットの損失は許容されます。
  • Skype や WhatsApp などの VoIP (Voice over Internet Protocol) サービスは、リアルタイム音声通信に UDP を使用します。輻輳制御によりパケットが遅延すると音声通信の遅延が顕著になるため、高速かつ効率的なデータ送信を実現するためにUDPが使用されます。
  • DNS (ドメイン ネーム システム) もクエリ/応答メッセージに UDP を使用します。通常、DNS クエリは小さく、迅速な応答時間を必要とするため、UDP はこのアプリケーションに適したプロトコルです。
  • DHCP (動的ホスト構成プロトコル) は、UDP を使用して、ネットワーク上のデバイスに IP アドレスを動的に割り当てます。 DHCP メッセージは通常小さく、パケット損失や再送信によって引き起こされる遅延は通常、このアプリケーションにとって重大ではありません。
  • 次の実装では、トランスポート層プロトコルとして UDP を使用します。
    • NTP (ネットワーク タイム プロトコル)
    • DNS (ドメインネームサービス)
    • ブート、DHCP。
    • NNP (ネットワーク ニュース プロトコル)
    • 今日の名言プロトコル
    • TFTP、RTSP、RIP。
  • アプリケーション層は、UDP を通じて一部のタスクを実行できます。
    • トレースルート
    • ルートを記録する
    • タイムスタンプ
  • UDP はネットワーク層からデータグラムを取得し、そのヘッダーを添付してユーザーに送信します。したがって、高速に動作します。
  • 実際、チェックサム フィールドを削除すると、UDP はヌル プロトコルになります。
    1. コンピューター リソースの要件を軽減します。
    2. マルチキャストまたはブロードキャストを使用して転送する場合。
    3. 主にマルチメディア アプリケーションにおけるリアルタイム パケットの送信。

UDPの利点

  • スピード: UDP は、接続を確立して信頼性の高いデータ配信を保証するオーバーヘッドがないため、TCP よりも高速です。
  • 待ち時間の短縮: 接続が確立されないため、待ち時間が短くなり、応答時間が短縮されます。
  • シンプルさ: UDP は TCP よりもプロトコル設計が単純であるため、実装と管理が容易です。
  • ブロードキャストのサポート: UDP は複数の受信者へのブロードキャストをサポートしているため、ビデオ ストリーミングやオンライン ゲームなどのアプリケーションに役立ちます。
  • パケットサイズが小さくなる: UDP は、より小さいパケット サイズを使用します。 TCP、 これにより、ネットワークの輻輳が軽減され、ネットワーク全体のパフォーマンスが向上します。
  • ユーザー データグラム プロトコル (UDP) は、遅延と帯域幅の両方の点でより効率的です。

UDPの欠点

  • 信頼性がない: UDP はパケットの配信や配信順序を保証しないため、データの欠落や重複が発生する可能性があります。
  • 輻輳制御なし: UDP には輻輳制御がありません。つまり、ネットワーク輻輳を引き起こす可能性のある速度でパケットを送信する可能性があります。
  • フロー制御なし: UDP にはフロー制御がないため、受信側が処理できないパケットで圧倒される可能性があります。
  • 攻撃に対して脆弱: UDP はサービス拒否攻撃に対して脆弱です。攻撃者がネットワークに UDP パケットを大量に送り込み、ネットワークを圧倒してクラッシュさせる可能性があります。
  • 限られた使用例: UDP は、電子メールやファイル転送など、信頼性の高いデータ配信を必要とするアプリケーションには適していませんが、ビデオ ストリーミングやオンライン ゲームなど、ある程度のデータ損失を許容できるアプリケーションに適しています。

UDP疑似ヘッダー

  • 擬似ヘッダーを使用する目的は、UDP パケットが正しい宛先に到達したことを確認することです。
  • 正しい宛先は、特定のマシンとそのマシン内の特定のプロトコル ポート番号で構成されます。

UDP疑似ヘッダー



UDP 擬似ヘッダーの詳細

  • UDP ヘッダー自体はプロトコル ポート番号のみを指定するため、送信側マシン上の宛先 UDP を確認するために、宛先 IP アドレスと UDP パケットをカバーするチェックサムが計算されます。
  • 最終的な宛先では、UDP ソフトウェアは、UDP メッセージを伝送した IP パケットのヘッダーから取得した宛先 IP アドレスを使用してチェックサムを検証します。
  • チェックサムが一致する場合は、パケットが目的の宛先ホストおよびそのホスト内の正しいプロトコル ポートに到達したことが真実である必要があります。

ユーザーインターフェース

ユーザー インターフェイスでは、新しい受信ポートの作成、データ オクテットと送信元ポートと送信元アドレスの表示を返す受信ポートでの受信操作、およびデータ、送信元、および送信元アドレスを指定してデータグラムを送信できる操作を許可する必要があります。送信先ポートとアドレス。

IPインターフェース

  • UDP モジュールは、インターネット ヘッダーから送信元および宛先のインターネット アドレスとプロトコル フィールドを判断できなければなりません。
  • 考えられる UDP/IP インターフェイスの 1 つは、受信操作に応じてインターネット ヘッダー全体を含むインターネット データグラム全体を返すことです。
  • このようなインターフェイスにより、UDP はヘッダーを備えた完全なインターネット データグラムを IP に渡して送信することもできます。 IP は特定のフィールドの一貫性を検証し、インターネット ヘッダーのチェックサムを計算します。
  • IP インターフェイスにより、UDP モジュールは、ネットワーク全体でのデータのルーティングと配信を担当するプロトコル スタックのネットワーク層と対話できるようになります。
  • IP インターフェイスは、基盤となる IP プロトコルへのアクセスを提供することで、UDP モジュールがネットワーク上の他のホストと通信するためのメカニズムを提供します。
  • UDP モジュールは IP インターフェイスを使用して、IP ルーティングおよびアドレス指定メカニズムを利用してネットワーク上でデータ パケットを送受信できます。
  • IP インターフェイスは、複雑な IP ルーティングやアドレス指定に直接対処することなく、UDP モジュールがネットワーク層と対話できるようにする抽象化レベルを提供します。
  • IP インターフェイスは、IP パケットの断片化と再構築も処理します。これは、ネットワークで許可される最大パケット サイズを超える可能性がある大規模なデータ送信にとって重要です。
  • IP インターフェイスは、サービス品質 (QoS) パラメータや IPsec などのセキュリティ メカニズムのサポートなどの追加サービスも提供する場合があります。
  • IP インターフェイスは、インターネット上のホスト間の通信を可能にし、ネットワーク全体でのデータ パケットのシームレスな送信を可能にするため、インターネット プロトコル スイートの重要なコンポーネントです。

GATE の練習問題

  1. GATE CS 2013、質問 12
  2. GATE CS 2012、質問 65
  3. GATE CS 2007、質問 20
  4. ゲート CS 2005、質問 23
  5. GATE IT 2008、質問 66
  6. GATE モック 2015、質問 5

UDP に関するよくある質問 – FAQ

1. UDP を使用するプロトコルに名前を付けますか?

UDP モデルを使用するプロトコルは次のとおりです。

2. TCP と UDP のどちらが速いですか?

UDP は TCP よりも高速です。