【NET技術.006】TCPとUDPについて➂
佐藤@IT雑貨屋です。
前回まではTCPについて書きましたが、私たちが生活の中でインターネットを利用するシーンではUDPも多用されています。動画や音声などのストリーム通信などがそれに当たります。
◆UDPが利用される範囲
UDPではTCPのようなフロー制御などは一切行われません。そのためネットワークが混雑状態であっても、データは送信され、そこでパケットロスが発生しても再送処理はありません。IP電話の音途切れや、動画再生時のちょっとした不具合などは、このフロー制御が行われていないUDP通信によるものなのです。
ただしこのフロー制御などを行っていない事から、通信速度は速くなり、パケット量が少ない時には、コネクション確立のパケットなどの影響も無いので、高速化を実感できる通信となります。
このUDPを利用したプロトコルには以下のものがあります。
①TFTP:アプリケーション層で信頼性を確保するもの
②DNS/SNMP/NTP:通信パケットの小さいもの
➂RTP:信頼性よりもリアルタイム性を求めるもの
④DHCP/RIP:マルチキャストやブロードキャスト配信が必要なもの。
◆UDPヘッダ
UDPヘッダを含めたUDPデータグラムフォーマットを以下に示します。
・送信元ポート番号(Source Port)
16ビット長で、送信元のポート番号を示します。
・宛先ポート番号(Desitiation Port)
16ビット常で、宛先のポート番号を示します。
・パケット長(Length)
16ビット長でUDPヘッダとデータの長さの合計が格納されます。単位は
オクテットで、このフィールドはTCPヘッダにはなく、UDPのみ設定されます。
・チェックサム
16ビット長でUDPヘッダとデータが破壊されていない事を保証するための
チェックサムを示します。チェックサム計算時には、IPアドレスを含む疑似
ヘッダを使用します。UDPパケットではチェックサムは省略可能で、その際には
0を設定します。
以上がUDPの概要となります。
ここまでTCPとUDPの概要を説明してきましたが、この様な基礎的な技術の上にで、様々なアプリケーションは通信を行っているのです。