Universal Plug and Play
Universal Plug and Play (UPnP)は、機器を接続しただけで、ネットワークに参加することを可能にするプロトコルである。
機器をコンピューターに接続するだけで利用可能になるプラグ・アンド・プレイの概念をネットワークに拡張したものといえるが、直接的な関連はない。
目次 |
概要 [編集]
UPnPは、UPnPフォーラムが定めたネットワークプロトコルである。 UPnPは、基本的な仕組みを定義している下位層相当のUPnP DA(UPnP Device Architecture)と、上位層となるUPnP DCP(UPnP Device Control Protocol)の各仕様がある。上位層として、AVコンテンツの再生などを目的としたUPnP AVや、UPnP対応ブロードバンドルータの挙動を定めたUPnP IGD(Internet Gateway Device)などが有名である。
UPnP Device Architecture [編集]
UPnP DAの仕様は、大きく分けて、アドレッシング、ディスカバリー、デスクリプション、コントロール、イベント通知、プレゼンテーションが定義されている。
UPnP では、各種機能を持ったデバイスと、そのデバイスに対して制御を行なうコントロールポイントの2者を定義している。デバイスは、自身の持つ機能をXML形式で公開しており、コントロールポイントはそれを参照して、必要な機能を利用できる。
アドレッシング [編集]
機器がネットワークに参加した際に、アドレスを取得する方法について規定されている。通常はDHCPを用いるが、DHCPによるアドレス配布を利用できない場合、AutoIPの仕組みを用いてアドレスを決定する。
ディスカバリー [編集]
SSDPというUDPを利用したプロトコルを用いて、ネットワーク上のデバイスの検出を行なう。具体的には、ネットワークに参加したデバイスは、マルチキャストパケット(NOTIFYメソッド)の送出を行ない、コントロールポイントはそれを受け取り、デバイスを検出する。また、コントロールポイント側からマルチキャストパケット(M_SEARCHメソッド)を用いて問い合わせを行ない、デバイスが応答するモデルもある。
デスクリプション [編集]
デバイスが提供できる機能や情報を記述したXMLファイルである。デバイス自身が持つサービスなどについて記述したデバイスデスクリプションと、各サービスが持つアクションなどについて記述したサービスデスクリプションの2種類がある。
コントロール [編集]
サービスの持つ機能を呼び出すアクションと、デバイスの状態変数を問合せるクエリーがある。 これらのメッセージは、XMLによって記述されたSOAPが使われる。
イベント通知 [編集]
デバイスに対して、特定の状態変数を指定してイベント購読要求を行なうと、その状態変数の値が変化するたびに、イベントが通知される。
プレゼンテーション [編集]
ウェブブラウザから、デバイスの状態の確認や、制御ができる。
UPnP AV [編集]
バージョン1.0についての記述である。
デバイスとして、コンテンツの蓄積を担当するメディアサーバと、コンテンツの再生を担当するメディアレンダラーの2種類を定義している。また、4種類のサービスも定義している。コネクションマネージャサービスは、各デバイスで利用可能なプロトコルやコンテンツフォーマットなどの情報交換の仕組みを提供する。コンテンツディレクトリサービスは、蓄積するコンテンツのメタデータ管理の仕組みなどを提供する。レンダリングコントロールサービスは、再生時の音量や輝度などのパラメータを管理する仕組みを提供する。AVトランスポートサービスは、コンテンツの転送に関する制御機能を提供する。
関連規格 [編集]
このUPnPを採用した規格として、DLNAが有名である。