「Protocol Data Unit」の版間の差分

en:Protocol data unit 2019-02-02T07:30:51版を訳出(Packet-switched data networks以外)
m (曖昧さ回避ページへのリンクを付け替え(ペイロードペイロード (コンピュータ)))
(en:Protocol data unit 2019-02-02T07:30:51版を訳出(Packet-switched data networks以外))
 
[[Image:Pdu and sdu.svg|thumb|350px|[[媒体アクセス制御]](MAC)層のprotocol data unit(PDU)は[[物理層]]の{{仮リンク|service data unit|en|service data unit}}(SDU)となる。]]
'''Protocol Data Unit'''(プロトコル データ ユニット、'''PDU''')とは、データ通信に使われるバイナリデータの並びのこと。
 
[[電気通信]]において、'''protocol data unit'''('''PDU'''、プロトコルデータユニット)とは、[[コンピュータネットワーク]]のピアエンティティ(両端)の間で送受信される最小の情報の単位である。
PDUは、[[通信プロトコル]]で定義されたヘッダ部分と、通信データの中身である[[ペイロード (コンピュータ)|ペイロード]]から成る。ヘッダ部分には少なくとも、このデータの種別、あらかじめ定義されていて解釈可能な配送先(アドレスや名称)と送信元、[[ペイロード (コンピュータ)|ペイロード]]が可変長である場合は[[ペイロード (コンピュータ)|ペイロード]]の大きさ(バイト数など)が記述されており受信側でこれを解釈することで通信が成り立つ。
 
PDUは、[[通信プロトコル]]で定義された制御情報([[ヘッダ]])部分と、通信データの中身である[[ペイロード (コンピュータ)|ペイロード]]からなる。
== 実際のPDUの例 ==
通信プロトコルスタックの階層化アーキテクチャでは、各層は、特定のタイプやモードのデータ交換に合わせて調整されたプロトコルを実装し、それによって、プロトコルで規定されるPDUが異なる。例えば、[[Transmission Control Protocol|TCP]]はコネクション型転送モードを実施し、このプロトコルにおけるPDUはセグメントと呼ばれる。一方、[[User Datagram Protocol|UDP]]はコネクションレス型転送モードを実施し、PDUとして[[データグラム]]を使用する。[[インターネット・プロトコル・スイート]]の下位層である[[インターネット層]]では、PDUはペイロードタイプに関係なく[[パケット]]と呼ばれる。
[[Internet Protocol|IP]]プロトコルの場合のPDUは[[パケット]]である。[[イーサネット]]のPDUは[[フレーム (ネットワーク)|フレーム]]と呼ばれる。通常のLANの場合、下位プロトコルであるEthernetのフレームを解釈してヘッダ部分を取り去ると上位プロトコルのIPのパケットがペイロードとして入っている。
 
{{Computer-stub}}
==例==
===OSI参照モデル===
[[OSI参照モデル]]の各層のPDUは次のようになる<ref>{{cite web |url=http://www.tcpipguide.com/free/t_DataEncapsulationProtocolDataUnitsPDUsandServiceDa.htm |title=Data Encapsulation, Protocol Data Units (PDUs) and Service Data Units (SDUs) |work=The TCP/IP Guide |accessdate=2012-04-05}}</ref>。
 
{| class="wikitable"
!colspan=2|階層||PDU
|-
|第4層||[[トランスポート層]]||{{仮リンク|パケット・セグメント|en|Packet segmentation}}または[[データグラム]]
|-
|第3層||[[ネットワーク層]]||[[パケット]]
|-
|第2層||[[データリンク層]]||[[フレーム (ネットワーク)|フレーム]]
|-
|第1層||[[物理層]]||[[ビット]](より一般的には[[シンボル#コンピュータ科学関連分野における「シンボル」|シンボル]])
|}
 
特定のOSI階層に関する文脈においては、PDUはその階層での表現の同義語として使用されることがある。
 
===インターネット・プロトコル・スイート===
[[インターネット・プロトコル・スイート]]の各層のPDUは次のようになる。
 
{| class="wikitable"
!階層||PDU
|-
|[[トランスポート層]]||TCPではTCPセグメント。UDPでは[[データグラム]]。
|-
|[[インターネット層]]||[[パケット]]
|-
|[[リンク層]]||[[フレーム (ネットワーク)|フレーム]]
|}
 
[[イーサネット]]上の[[TCP/IP]]では、物理層のデータは[[イーサネットフレーム]]によって転送される。
 
===ATM===
[[Asynchronous Transfer Mode|ATM]]のデータリンク層のPDUは[[Asynchronous Transfer Mode#ATMの仕組み|セル]]と呼ばれる。
 
{{anchors|MPDU}}
===media access control protocol data unit===
'''media access control protocol data unit''' ('''MPDU''') は、[[OSI参照モデル]]に基づいて通信システム内の[[媒体アクセス制御]](MAC)エンティティ間で交換されるメッセージである。
 
MPDUが{{仮リンク|MAC service data unit|en|MAC service data unit}}(MSDU)よりも大きくなることのあるシステムでは、MPDUは{{仮リンク|パケット・アグリゲーション|en|packet aggregation}}によって複数のMSDUに分割される場合がある。MPDUがMSDUよりも小さいシステムでは、{{仮リンク|パケット・セグメンテーション|en|Packet segmentation}}によって、1つのMSDUが複数のMPDUを生成することがある。
 
{{anchors|TPDU}}
===transport protocol data unit===
'''transport protocol data unit''' ('''TPDU''') は、ペイロードメッセージの先頭に数バイトのルーティングヘッダを追加したメッセージ[[カプセル化 (通信)|カプセル化]]フォーマットである。
 
TPDUには、オーバーヘッドTPDUとバイトあたりのオーバーヘッドの2つの処理{{仮リンク|オーバーヘッド (コンピュータ)|en|Overhead (computing)|label=オーバーヘッド}}がある。
 
==関連項目==
* [[フレーム (ネットワーク)]]
* {{仮リンク|MAC service data unit|en|MAC service data unit}}
* {{仮リンク|Smart card application protocol data unit|en|Smart card application protocol data unit}}
 
==脚注==
{{reflist}}
 
== 外部リンク ==
* [http://www.cl.cam.ac.uk/~mgk25/osi-faq.txt comp.protocols.iso FAQ] (search for "PDU")
 
[[Category:通信プロトコル]]