プロトコルデータユニット(PDU)とは
電気通信におけるプロトコルデータユニット(PDU)とは、
コンピュータネットワーク上のピアエンティティ間で送受信される、最小の情報単位を指します。PDUは、
通信プロトコルで定義された制御情報(ヘッダ)部分と、実際に転送するデータであるペイロードから構成されます。ネットワークの各層で異なる形式のPDUが用いられ、データの効率的な送受信を支えています。
PDUの構造
一般的に、PDUは次の2つの主要な部分から構成されます。
1.
ヘッダ (Header):
通信プロトコルによって定義される制御情報が含まれます。送信元や宛先のアドレス、シーケンス番号、エラー検出コードなどが含まれます。
2.
ペイロード (Payload): 実際に転送されるデータ本体です。
通信プロトコルスタックの階層化アーキテクチャでは、各層が特定のデータ交換に合わせて調整されたプロトコルを実装します。このため、各層で扱われるPDUの形式は異なります。例えば、TCPプロトコルはコネクション型転送モードを使用し、そのPDUはセグメントと呼ばれます。一方、UDPプロトコルはコネクションレス型転送モードを使用し、PDUとしてデータグラムを使用します。インターネットプロトコルスイートの下位層である
インターネット層では、ペイロードの種類に関わらず、PDUは
パケットと呼ばれます。
OSI参照モデルの各層におけるPDUは次のようになります。
物理層: データはビット列として表現されます。
データ[[リンク層]]: データはフレームとして表現されます。
ネットワーク層: データはパケットとして表現されます。
トランスポート層: データはセグメントとして表現されます。
セッション層、プレゼンテーション層、アプリケーション層: データはデータ単位として表現されます。
特定のOSI階層の文脈においては、PDUはその階層におけるデータ表現の同義語として使用されることがあります。
インターネットプロトコルスイートにおけるPDU
インターネットプロトコルスイートの各層におけるPDUは次のようになります。
リンク層: データはフレームとして表現されます。
インターネット層: データはパケットとして表現されます。
トランスポート層: データはセグメント(TCPの場合)またはデータグラム(UDPの場合)として表現されます。
アプリケーション層: データはメッセージとして表現されます。
イーサネット上のTCP/IPでは、物理層のデータはイーサネットフレームによって転送されます。
ATMにおけるPDU
ATM(Asynchronous Transfer Mode)ネットワークでは、データ[[リンク層]]のPDUはセルと呼ばれます。ATMセルは固定長の53バイトで構成され、効率的なデータ転送を実現します。
メディアアクセス制御プロトコルデータユニット (MPDU)
メディアアクセス制御プロトコルデータユニット(MPDU)は、OSI参照モデルに基づいて通信システム内のメディアアクセス制御(MAC)エンティティ間で交換されるメッセージです。MPDUは、MACサービスデータユニット(MSDU)よりも大きくなるシステムでは、パケットアグリゲーションによって複数のMSDUに分割されることがあります。逆に、MPDUがMSDUよりも小さいシステムでは、パケットセグメンテーションによって、1つのMSDUが複数のMPDUを生成することがあります。
トランスポートプロトコルデータユニット (TPDU)
トランスポートプロトコルデータユニット(TPDU)は、ペイロードメッセージの先頭に数バイトのルーティングヘッダを追加したメッセージカプセル化フォーマットです。TPDUには、オーバーヘッドTPDUとバイトあたりのオーバーヘッドの2種類の処理オーバーヘッドがあります。
まとめ
PDUは、ネットワーク通信においてデータの効率的な転送を実現するための基本的な要素です。各プロトコル層で異なる形式のPDUが定義され、ネットワークの複雑な処理を支えています。PDUの理解は、ネットワークプロトコルを深く理解する上で重要です。
関連項目
フレーム (ネットワーク)
MAC service data unit
Smart card application protocol data unit
外部リンク
* comp.protocols.iso FAQ (search for "PDU")