続いて、UDP/TCPのPDU構造や振る舞いを説明したいところですが、その前にこれらのプロトコルを理解するのに重要な2つの考え方を紹介します。それが、コネクションレスコミュニケーションとコネクションオリエンテッドコミュニケーションです。
これらの特徴は、それぞれ駅のアナウンスと電話における情報の送り方になぞらえることができます。まずはコネクションレスコミュニケーションですが、これは駅のアナウンスだと思ってください。つまり、下記のような特徴があります。
(※3)重要なアナウンスだと気にしますが普段は聞き流しているはずです。
一方、コネクションオリエンテッドコミュニケーションは電話ですので、下記のような流れが存在しています。
UDPとTCPは、それぞれコネクションレスコミュニケーション、コネクションオリエンテッドコミュニケーションのプロトコルですので、そのために必要な制御情報や通信時の振る舞いが異なっています。では、それぞれ見ていきましょう。
繰り返しになりますが、UDPはコネクションレスコミュニケーション、つまり駅のアナウンスなので、「出しっぱなし・送りっぱなし」ということです。従って制御情報も宛先(デスティネーション)ポート、送り元(ソース)ポート(※4)、データ長(※5)、そしてチェックサムの4つだけです(図2参照)。従って、エラー処理もシンプルで、受信側におけるチェックサム(※6)確認のみです。TCPと比較すると信頼性は劣りますが、オーバーヘッドが小さく、即時性に優れます。なおUDPにおけるPDU(PCI:ヘッダ+SDU:データ)はデータグラムとよばれます(※7)(図3参照)。
(※4)返信を期待しない処理の場合は、省略する(0とする)ことができます。
(※5)ヘッダと実データ長の合計、つまりはUDPデータグラム全体の長さです。
(※6)v4だと、これすら省略することもできます。
(※7)一般用語である「パケット」を使うこともあります。
(※8)TCP/IPの世界での通信は一般的に「クライアント・サーバ通信」で、先に通信を始めるのはクライアント側です。
Copyright © ITmedia, Inc. All Rights Reserved.