ユー‐ピー‐エヌ‐ピー【UPnP】
読み方:ゆーぴーえぬぴー
UPnP
UPnP
読み方:ユーピーエヌピー,ユニバーサルプラグアンドプレイ
UPnPとは、パソコンとその周辺機器を始めとして、AV機器や電話などのあらゆる家電製品と情報機器をネットワークを通じて接続し、機能を連携する、という構想あるいは規格のことである。1999年1月にMicrosoftによって提唱され、IntelやDell、Compaqなど主要関連企業(機器ベンダー)20社以上の支持を得ている。
すでにSun Microsystemsは同様の目的を掲げたJini(ジーニー)構想を発表しており、UPnPはこれに対抗するMicrosoftの規格であるといえる。
UPnPは、パソコンと周辺機器における自動-接続-認識技術であるPnP(プラグアンドプレイ)をネットワークのレベルに拡張したものであるといえる。各デバイスの固有情報はXMLで記述され、その情報はHTTPを通じて交換され、その交換はTCP/IPを通じて行われる。これらの仕様は現在普及しているインターネット環境との親和性に優れ、かつ何らかの特許に抵触したり特定の言語に依存したりといった事態が回避できるという強みがある。(この点で、Sun MicrosystemsのJiniは、基本的に同社のプログラミング言語であるJavaを用いるため、利用に際しては同社とのライセンス契約を結ばなくてはならず、家電メーカーの多くからは敬遠されがちとなり、UPnPの優位に立つことが難しくなってきている)。
また、「目覚まし時計のなる時刻をセットすると、エアコンのスイッチも入るように設定される」という例のように、必ずしもパソコンやドライバーを必要としない、家電どうしでの連携も可能となる。
現在はルーターを中心に実用化が進みつつある。UPnPの仕様の策定はMicrosoft、Intel、IBMなどが参加する「UPnP Forum」で行われている。
参照リンク
UPnP Forum
LAN: | PAN リング型ネットワーク トークンパッシング方式 UPnP ワイドLANサービス ユニバーサルプラグアンドプレイ |
OSI: | アクセス制御方式 |
Universal Plug and Play
![]() | この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2019年9月) |
Universal Plug and Play (UPnP)は、機器を接続しただけでコンピュータネットワークに参加することを可能にするプロトコルである。
機器をコンピュータに接続するだけで利用可能になるPlug and Play(プラグアンドプレイ)の概念をネットワークに拡張したものといえるが、直接的な関連はない。
概要
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が有名である。
脆弱性
多くのルータ(特に家庭用のもの)において、UPnPは工場出荷時の状態で有効化されているが、UPnPは、信頼できるネットワークで使用されることを想定して設計されているため、多くの場合、機能を利用するための認証を必要としない。マルウェアを含むIoT機器などを、それと知らずにLANに接続してしまった場合、UPnPが悪用されることにより、サイバー攻撃を受けるリスクが高まる。
関連項目
外部リンク
- UPnP Forum
- “JVNVU#347812:ネットワーク機器において UPnP が有効になっている場合の問題”. Japan Vulnerability Notes (2008年2月5日). 2019年1月5日閲覧。
- UPnPのページへのリンク