TCP/UDP - UDP

 

UDP

UDP はトランスポート層で動作する、
コネクションレス型のプロトコルです。

コネクションレスなので、信頼性よりも
効率性重視の仕様となっています。

 

UDP ヘッダ

UDP のヘッダは以下のような構成となっています。

 

Highslide JS

 

見れば分かるように、効率性を重視しているため
非常に単純な構造になっています。

それぞれのフィールドの意味は以下の通りです。

  1. 送信元ポート番号:16 ビット
    送信元ノードのアプリケーションが使用している
    ポート番号がセットされます。
  2. 宛先ポート番号:16 ビット
    宛先アプリケーションが使用するポート番号が
    セットされます。
  3. パケット長:16 ビット
    UDP ヘッダの長さ(通常は 64 ビット)と
    データ部分の長さを合計した数値がセットされます。
  4. チェックサム:16 ビット
    通信中にエラーが発生していないかどうかを
    チェックする数式がセットされます。
    ここでいっているエラーとは、送られるパケット自体の
    エラーの有無であって、相手とやり取りされる通信の
    確実性ではありません。

 

UDP の動作

UDP は効率よくデータを送信することを目的としていますので、

  • 相手はデータを受け取る準備が出来ているのか?
  • 相手に間違いなくデータが届いているのか?

といったことは一切無視して、データを相手に送りつけます。
もちろん相手がしっかり受け取ったかどうかは
まったく気にもしません。

そのため、UDP ヘッダには相手と自分のポート番号ぐらいしか
フィールドも存在しません。

 

UDP ヘッダのサイズは 8 バイト。

今後説明していく TCP のヘッダサイズは
標準でも 20 バイトですので、いかに UDP には余計なヘッダが
付かないかが理解できると思います。

このことからも、UDP の通信効率は非常に良いことが
分かるのではないでしょうか。

 

Highslide JS

 

でも、せめて相手に届いたかどうかは知りたい
という場合もあるでしょう。

その場合は、UDP にはそんな機能はありませんから、
さらに上のレイヤのアプリケーション層で実装することになります。

 

UDP を使用した代表的なプロトコル

UDP を使用した代表的なアプリケーションプロトコルには
以下のようなものがあります。

  • DHCP
    IP アドレスやサブネットマスクなどを自動で設定するためのプロトコル。
    DHCPとは?
  • DNS
    ドメイン名に対する IP アドレスを調べるためのプロトコル。
    TCP を使用することも可能
  • RIP
    ルータ間でルーティングテーブルのやり取りをするためのプロトコル
    RIP について

 

関連記事

トランスポート層(レイヤ 4)の役割
トランスポート層(レイヤ 4)の役割について

ポート番号
ポート番号について

コネクションとコネクションレス
コネクションとコネクションレスについて

UDP
UDPについて

TCP ヘッダ
TCP ヘッダについて

仮想コネクションの確立
TCP ヘッダについて

ACK による到達確認
TCP ヘッダについて

ウインドウサイズを利用したフロー制御
TCP ヘッダについて

TCPウインドウ制御
TCPウインドウ制御とスライディング・ウインドウについて

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: