DICOM/Protocol Data Unit
DICOMにおけるProtocal Data Unit (PDU)とは、DICOM通信時に内部的に生成されるパケットのことである。携帯電話のパケット通信をイメージすると良い。
概要
初期のDICOMでは、今では一般的に使われているTCP/IPに加え、RS-232Cやセントロニクスなどを用いた2点間通信をサポートしていた(現在は廃止されDICOM規格から消えた)。それらは独自の低レベルな通信プロトコルしかサポートしていないため、DICOMではデータ転送を抽象化するより高レベルな通信プロトコルを独自に規定していた(一応OSIプレゼンテーション層の定義をベースとしているサブセットである)。
たとえばセントロニクスのようなパラレル通信では順不同にパケットが到達するためパケットの結合前に並べ替え処理が必要であったり、パケットシーケンスチェックによる欠損パケット検出などのエラー機能などが必要である。それらをサポートできるように定められたDICOM独自のパケット通信規格のパケットがPDUである。
なお、ここで言うIPとはインターネット・プロトコルの事であり、IPアドレスの事ではない。DICOM通信においてIPアドレスに相当するものはAE Titleである。
IPの世界ではパケットの並べ替えなどの処理は一般的にネットワークカード上のハードウェアで高速かつ適切に処理され、ユーザープログラムは結果だけを受け取るが、DICOMではTCP/IPをただの通信ケーブルと見なし、TCP/IP上をPDUが流れ、それを受信した各ソフトが並べ替えなどの処理を(CPUで)するというトリッキーな実装になっている。
このような複雑な仕様となったのは、規格が制定された時点で2点間通信をサポートしていたシステムが最小限の改修でTCP/IP対応できるようにするためであり、またこの時点ではインターネットやイントラネットで利用されているDARPAモデル(インターネットプロトコルスイートともいう)よりも、OSI参照モデルが強い勢力をもっており優勢とみられていたことも関係している。
なお、仮にTCP/IP以外の仕様が廃止されていなければUSBやIEEE1394、Thunderbolt(LightPeak)などでもDICOM通信ができたかもしれない。
PDUの種類
- A-ASSOCIATE-RQ PDU - 接続要求
- A-ASSOCIATE-AC PDU - 接続受入
- A-ASSOCIATE-RJ PDU - 接続拒否
- A-RELEASE-RQ PDU - 切断要求
- A-RELEASE-RP PDU - 切断応答
- A-ABORT PDU - 強制切断
- P-DATA-TF PDU - データ転送