User Datagram Protocol
TCP/IP |
---|
アプリケーション |
|
トランスポート |
カテゴリ |
インターネット |
カテゴリ |
リンク |
カテゴリ |
User Datagram Protocol(ユーザ データグラム プロトコル、UDP)はIPネットワーク
概要
[UDPはインターネットを
デイヴィッド・P・リードが1980
機能
[UDPはInternet Protocol
UDP/IPスタック
[IP | UDP/IP | TCP/IP | |
---|---|---|---|
ホスト |
✔ | ✔ | ✔ |
アプリ |
- | ✔ | ✔ |
パケットトランザクション | △[6] | ✔ | ✔ |
バイトストリーム |
- | - | ✔ |
- | - | ✔ | |
- | - | ✔ | |
- | - | ✔ | |
- | - | ✔ |
すなわちUDP/IPは「ネットワークのネットワークにおけるトランザクション
UDP
[UDPは2つの
- ホスト
内 通信 振 り分 け: ポート - データグラム
完全 性 チェック: チェックサム
IPはホスト
すなわちUDPはアプリケーション
仕組 み
[パケット構造
[UDPの
オフセット(ビット) | 0 – 15 | 16 – 31 | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ||||||||||||||||||||||||||||||||
32 | データ |
チェックサム | ||||||||||||||||||||||||||||||
64+ | データ |
UDPヘッダには4つのフィールドがあり、それぞれ2バイト(16ビット)である[5]。そのうち2つ(
送信 元 ポート
[宛先 ポート
[データ長
[データ
データ
チェックサム
[チェックサム(
チェックサムはUDPヘッダの
IPヘッダからの
情報 で作 られる擬似 ヘッダとUDPヘッダとデータを長 さが2オクテットの倍数 になるように(必要 なら)値 がゼロのオクテットでパディングし、各 2オクテットの1の補数 の総和 の1の補数 の下位 16ビットをチェックサムとする[25]。
つまり、
チェックサム
IPv4とIPv6ではチェックサム
IPv4 擬似 ヘッダ
[IPv4
bits | 0 – 7 | 8 – 15 | 16 – 23 | 24 – 31 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ||||||||||||||||||||||||||||||||
32 | あて | |||||||||||||||||||||||||||||||
64 | ゼロ | プロトコル |
UDP | |||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||
128 | データ |
チェックサム | ||||||||||||||||||||||||||||||
160+ | データ |
UDPチェックサム
IPv6 擬似 ヘッダ
[IPv6
トランスポート
層 かそれより上位 のプロトコルで、IPヘッダ内 のアドレスをチェックサム計算 に使 う場合 、IPv6では128ビットのIPv6のアドレスを使用 する[23]。
チェックサム
bits | 0 – 7 | 8 – 15 | 16 – 23 | 24 – 31 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ||||||||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||
128 | あて | |||||||||||||||||||||||||||||||
160 | ||||||||||||||||||||||||||||||||
192 | ||||||||||||||||||||||||||||||||
224 | ||||||||||||||||||||||||||||||||
256 | UDP | |||||||||||||||||||||||||||||||
288 | ゼロ | |||||||||||||||||||||||||||||||
320 | ||||||||||||||||||||||||||||||||
352 | データ |
チェックサム | ||||||||||||||||||||||||||||||
384+ | データ |
データ
[UDPモジュール
[UDPモジュールはソケットを
用途
[UDPを
- Domain Name System (DNS): 1つのクエリに
素早 く1つの応答 パケットを返 すだけなのでUDPを使用 - Simple Network Management Protocol (SNMP)
- Routing Information Protocol (RIP)[5]
- Dynamic Host Configuration Protocol (DHCP)
- Network Time Protocol (NTP)
- ストリーミング、ゲーミング、VoIP: パケット
喪失 =若干 の品質 低下 、再送 待 ちはシステムを停止 させてしまう
UDP
問題 点
[UDPは
POS、
規格
[RFC 768 User Datagram Protocol | RFC Internet Standard | 1980-08-28 |
- RFC 768 – User Datagram Protocol
- RFC 2460 – Internet Protocol, Version 6 (IPv6) Specification
- RFC 2675 - IPv6 Jumbograms
- RFC 4113 – Management Information Base for the UDP
- RFC 4347 - Datagram Transport Layer Security
- RFC 5405 – Unicast UDP Usage Guidelines for Application Designers
脚注
[- ^ a b "User Datagram Protocol ... make available a datagram mode of packet-switched computer communication in the environment of an interconnected set of computer networks. ... provides a procedure for application programs to send messages to other programs ... is transaction oriented"RFC 768より
引用 。 - ^ a b "This protocol assumes that the Internet Protocol ... is used as the underlying protocol."RFC 768より
引用 。 - ^ a b "This protocol provides a procedure for application programs to send messages to other programs"RFC 768より
引用 。 - ^ a b c d e Forouzan, B.A. (2000). TCP/IP: Protocol Suite, 1st ed. New Delhi, India: Tata McGraw-Hill Publishing Company Limited.
- ^ a b c Kurose, J. F.; Ross, K. W. (2010). Computer Networking: A Top-Down Approach (5th ed.). Boston, MA: Pearson Education. ISBN 9780131365483
- ^ IP header のみトランザクション
成立 - ^ "This protocol provides a procedure ...with a minimum of protocol mechanism"RFC 768より
引用 。 - ^ content@ipv6.com. “UDP Protocol Overview”. Ipv6.com. 2012
年 2月 27日 閲覧 。 - ^ "UDP header contains ... the destination address ... This information gives protection against misrouted datagrams."RFC 768より
引用 。 - ^ 「
正常 かわからないパケット」が存在 せず、「壊 れた/届 かないパケット」と「正常 なパケット」のみからなる - ^ "The protocol is transaction oriented" UDP specification.
- ^ Clark, M.P. (2003). Data Networks IP and the Internet, 1st ed. West Sussex, England: John Wiley & Sons Ltd.
- ^ "Source Port ... indicates the port of the sending proces"RFC 768より
引用 。 - ^ "Source Port is an optional field"RFC 768より
引用 。 - ^ "If not used, a value of zero is inserted."RFC 768より
引用 。 - ^ "Source Port ... may be assumed to be the port to which a reply should be addressed in the absence of any other information."RFC 768より
引用 。 - ^ "Length is the length in octets of this user datagram"RFC 768より
引用 。 - ^ "the minimum value of the length is eight."RFC 768より
引用 。 - ^ RFC 2675
- ^ "Checksum is of a pseudo header of information from the IP header, the UDP header, and the data, padded"RFC 768より
引用 。 - ^ "no checksum (for debugging or for higher level protocols that don't care)"RFC 768より
引用 。 - ^ "An all zero transmitted checksum value means that the transmitter generated no checksum"RFC 768より
引用 。 - ^ a b Deering S. & Hinden R. (December 1998). RFC 2460: Internet Protocol, Version 6 (IPv6) Specification. Internet Engineering Task Force. Retrieved from //tools.ietf.org/html/rfc2460
- ^
井上 直也 、松山 公 保 、荒井 透 、苅田 幸雄 『マスタリング TCP/IP入門 編 第 6版 』オ ーム社 、2019年 、260-261頁 。ISBN 978-4-274-22447-8。 - ^ Postel, J. (August 1980). RFC 768: User Datagram Protocol. Internet Engineering Task Force. Retrieved from //tools.ietf.org/html/rfc768
- ^ Eubanks, M., Chimento, P., and M. Westerlund, "IPv6 and UDP Checksums for Tunneled Packets", RFC 6935, April 2013.
- ^ “The impact of voice/video on data applications”. Networkperformancedaily.com. 2011
年 8月 17日 閲覧 。
関連 項目
[- UDP-Lite
- TCPやUDPにおけるポート
番号 の一覧 - UDPヘルパーアドレス
- TCP (Transmission Control Protocol)
- SCTP
- Reliable User Datagram Protocol (RUDP)