17.04.2014 Views

UPnP-IGD 相互接続試験実施要領

UPnP-IGD 相互接続試験実施要領

UPnP-IGD 相互接続試験実施要領

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS 推 進 会 議<br />

( 高 度 通 信 システム 相 互 接 続 推 進 会 議 )<br />

マルチメディア 通 信 相 互 接 続 試 験 実 施 連 絡 会<br />

- 1 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

相 互 接 続 試 験 実 施 要 領 改 版 履 歴<br />

<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

版 改 訂 年 月 日 改 訂 内 容 担 当<br />

1.0 2010.07.16 初 版 瀧 塚<br />

松 本<br />

成 田<br />

1.1 2010.11.10 誤 記 訂 正 瀧 塚<br />

松 本<br />

本 書 は、HATS 推 進 会 議 が 著 作 権 を 保 有 しています。<br />

内 容 の 一 部 又 は 全 部 をHATS 推 進 会 議 の 許 諾 を 得 ることなく 複 製 、 転 載 、 改 変 、<br />

転 用 及 びネットワーク 上 での 送 信 、 配 布 を 行 うことを 禁 止 します。<br />

- 2 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

目 次<br />

1. は じ め に ........................................................................................................................ 4<br />

2. ス コ ー プ ........................................................................................................................ 5<br />

3. 参 照 文 献 ............................................................................................................................ 5<br />

4. 用 語 定 義 ........................................................................................................................ 5<br />

4.1 <strong>IGD</strong> (Internet Gateway Device) ...................................................................... 5<br />

4.2 CP (Control Point) ............................................................................................... 5<br />

4.3 テ ス ト サ ー バ .......................................................................................................... 5<br />

5. 検 証 用 ネットワーク 構 成 と 検 証 手 順 ................................................................................. 5<br />

5.1 検 証 シ ー ケ ン ス 図 に つ い て ................................................................................ 5<br />

5.2 <strong>IGD</strong> 検 索 ・ 機 能 提 示 ・ 状 態 確 認 検 証 手 順 .................................................... 6<br />

5.3 <strong>IGD</strong> ポ ー ト マ ッ ピ ン グ 設 定 検 証 手 順 ............................................................... 9<br />

5.3.1 単 一 の ポ ー ト マ ッ ピ ン グ 検 証 手 順 ............................................................ 9<br />

5.3.2 ポ ー ト マ ッ ピ ン グ へ の 上 書 き 検 証 手 順 .................................................. 12<br />

6. 試 験 項 目 詳 細 ................................................................................................................... 14<br />

6.1 ガ イ ド ラ イ ン 試 験 内 容 詳 細 .............................................................................. 15<br />

6.1.1 ガ イ ド ラ イ ン 機 能 要 件 [F1] .......................................................................... 15<br />

6.1.2 ガ イ ド ラ イ ン 機 能 要 件 [F2] .......................................................................... 16<br />

6.1.3 ガ イ ド ラ イ ン 機 能 要 件 [F3] .......................................................................... 16<br />

6.1.4 ガ イ ド ラ イ ン 機 能 要 件 [F4] .......................................................................... 17<br />

6.1.5 ガ イ ド ラ イ ン 機 能 要 件 [F5] .......................................................................... 17<br />

6.1.6 ガ イ ド ラ イ ン 機 能 要 件 [F6] .......................................................................... 18<br />

6.1.7 ガ イ ド ラ イ ン 機 能 要 件 [F7] .......................................................................... 23<br />

6.1.8 ガ イ ド ラ イ ン 機 能 要 件 [F8] .......................................................................... 23<br />

6.1.9 ガ イ ド ラ イ ン 機 能 要 件 [F9] .......................................................................... 24<br />

6.1.10 ガ イ ド ラ イ ン 機 能 要 件 [F10]...................................................................... 57<br />

6.1.11 ガ イ ド ラ イ ン 機 能 要 件 [F11] ...................................................................... 57<br />

6.1.12 ガ イ ド ラ イ ン 機 能 要 件 [F12]...................................................................... 58<br />

7. 判 定 ............................................................................................................................... 60<br />

7.1 合 格 条 件 .............................................................................................................. 60<br />

7.2 試 験 結 果 の と り ま と め .................................................................................... 60<br />

8. 結 果 の 取 り 扱 い ..................................................................................................... 60<br />

8.1 試 験 の 取 り 扱 い ................................................................................................. 60<br />

8.2 そ の 他 .................................................................................................................. 60<br />

付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガイドライン<br />

- 3 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

1. は じ め に<br />

P2P リ ア ル タ イ ム 通 信 ( 図 1) を ホ ー ム ネ ッ ト ワ ー ク を 含 む ネ ッ ト ワ ー ク<br />

環 境 下 で 実 現 す る た め に は 、 NAT 問 題 を 解 決 す る 必 要 が あ る 。 NAT 問 題<br />

を 解 決 す る い く つ か の 手 法 が 提 案 さ れ て い る が 、 <strong>UPnP</strong> Forum で 提 案 さ<br />

れ て い る <strong>UPnP</strong>-<strong>IGD</strong> 規 格 を 使 っ た 解 決 手 法 は 、 <strong>IGD</strong> 対 応 ル ー タ の 普 及 状<br />

況 か ら み て 現 実 的 な 手 法 で あ る 。<br />

し か し 、<strong>UPnP</strong>-<strong>IGD</strong> の 規 格 の 曖 昧 さ や 統 一 的 な 接 続 試 験 方 式 が な い こ と に<br />

よ り 、 宅 内 機 器 と 市 販 さ れ て い る <strong>IGD</strong> の 相 互 接 続 性 に 課 題 が あ り 、 P2P<br />

接 続 を 特 徴 と す る サ ー ビ ス の 実 現 を 困 難 に し て い る 。<br />

こ の よ う な 状 況 を 鑑 み 、「 <strong>IGD</strong> と 宅 内 機 器 の 相 互 接 続 性 を 向 上 し 、 ホ ー ム<br />

ネ ッ ト ワ ー ク を 含 む ネ ッ ト ワ ー ク 環 境 下 に お い て P2P リ ア ル タ イ ム 通 信<br />

サ ー ビ ス を 実 現 す る こ と 」を 目 的 と し て 、「 <strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要<br />

領 」 を 策 定 し た 。<br />

本 実 施 要 領 は 、「 <strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン ( 付 録 A)」 に 準 拠 し て い る<br />

こ と を 確 認 す る た め に 必 要 な 検 証 項 目 を 整 理 し 、 相 互 接 続 性 の 向 上 を 図 る<br />

も の で あ る 。<br />

P2P リアルタイム 通 信<br />

P2P: Peer-to-Peer<br />

NAT: Network Address Translator<br />

FW: Firewall<br />

図 1. P2P リアルタイム 通 信<br />

- 4 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

2. ス コ ー プ<br />

本 文 書 は、<strong>IGD</strong> が、HATS が 策 定 する <strong>UPnP</strong> <strong>IGD</strong> 実 装 ガ イ ド ラ イ ン ( 付 録 A)<br />

に 準 拠 しているかどうかを 試 験 するための 試 験 項 目 、 手 順 を 記 載 するものである。<br />

3. 参 照 文 献<br />

<strong>UPnP</strong> <strong>IGD</strong> 実 装 ガ イ ド ラ イ ン ( 付 録 A)<br />

4. 用 語 定 義<br />

本 実 施 要 領 で 使 用 する 用 語 は、 次 のように 定 義 する。<br />

4.1 <strong>IGD</strong> (Internet Gateway Device)<br />

<strong>UPnP</strong> <strong>IGD</strong> 規 格 を 実 装 し 、 検 証 対 象 となるルータ<br />

4.2 CP (Control Point)<br />

<strong>UPnP</strong> <strong>IGD</strong> 規 格 に 従 っ て <strong>IGD</strong> と 連 携 で き る 装 置<br />

4.3 テ ス ト サ ー バ<br />

<strong>IGD</strong> を 介 して CP と 通 信 するためのサーバ<br />

5. 検 証 用 ネットワーク 構 成 と 検 証 手 順<br />

<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領 の 対 象 範 囲 と 機 能 要 件 を 考 慮 し、 検 証 項 目 とその<br />

ネットワーク 構 成 、 検 証 手 順 とそのシーケンス 図 をまとめた。<br />

5.1 検 証 シ ー ケ ン ス 図 に つ い て<br />

検 証 シーケンス 図 は、<strong>UPnP</strong>‐<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン( 付 録 A)の 機 能 用 件 それぞ<br />

れのガイドラインについて、WAN{IP/PPP}コネクションごとに 一 括 して 準 拠 度 確 認 の 試<br />

験 を 行 うためのものである。 基 本 的 には CP の 動 作 手 順 に 従 い、<br />

(1) <strong>IGD</strong> の 検 索 ・ 通 知 機 能<br />

(2) <strong>IGD</strong> のサービス・ 状 態 取 得<br />

(3) ポートマッピングの 追 加 、 削 除 、 動 作<br />

について、 実 装 ガイドライン に 準 拠 していることを 確 認 する。 各 試 験 における 詳 細 なパ<br />

ラメータ、 設 定 内 容 については、6. 試 験 項 目 詳 細 を 参 照 のこと。<br />

検 証 シーケンス 図 の 記 述 において、アクターを 以 下 のように 定 義 する。<br />

Tester: 実 施 要 領 の 試 験 者 。Tester のアクションは、 試 験 プログラムの 開 始 、<strong>IGD</strong><br />

の 設 定 変 更 など、 自 動 化 できず 手 動 による 開 始 ・ 確 認 が 必 要 となる。<br />

- 5 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

<strong>IGD</strong>: 検 証 対 象 となるモデム・ルータ 機 器 上 の <strong>UPnP</strong>-<strong>IGD</strong> デバイスを 指 す。<br />

CP: 上 記 <strong>IGD</strong> の NAT 配 下 に 位 置 し、<strong>UPnP</strong>-<strong>IGD</strong> 規 格 に 従 って <strong>IGD</strong> と 連 携 可 能<br />

な 装 置 をさすが、 本 シーケンス 図 では、ポートマッピング 動 作 確 認 などの 試<br />

験 も 含 めた 自 動 試 験 も 実 行 する 装 置 として 記 述 した。<br />

DHCP/PPPoE Server: <strong>IGD</strong> の WAN 側 接 続 を 確 立 させるための 装 置 。DHCP/ 固 定<br />

IP/PPPoE/PPPoA など <strong>IGD</strong> 装 置 に 応 じて 各 種 接 続 形 態 をとるが、 接 続 ・ 切<br />

断 の 結 果 として <strong>IGD</strong> の WAN 側 インタフェースのリンク 及 びインターネッ<br />

ト 接 続 状 態 を 変 更 させる 作 用 をもつ。<br />

Server: ポートマッピング 動 作 確 認 を 行 うために、<strong>IGD</strong> の WAN 側 に 設 置 する 装 置 。<br />

CP からの 要 求 により、<strong>IGD</strong> の WAN 側 ポートに 対 して TCP/UDP セッショ<br />

ン 接 続 を 行 う。<br />

また、メッセージの 記 述 は 以 下 のようにする。<br />

<strong>UPnP</strong> アクションについて、 特 に Response が 重 要 な 場 合 を 除 いては、CP のアク<br />

ションに 対 する <strong>IGD</strong> の Response の 全 ては 記 述 しない。<br />

Tester による <strong>IGD</strong> の 設 定 変 更 など、 装 置 個 別 により <strong>IGD</strong> の 再 起 動 などが 必 要 なも<br />

のはノートにその 旨 記 述 し、 装 置 個 別 のシーケンスは 記 述 しない。<br />

5.2 <strong>IGD</strong> 検 索 ・ 機 能 提 示 ・ 状 態 確 認 検 証 手 順<br />

【 検 証 項 目 】<br />

機 能 要 件 : [F1][F2][F3][F4][F5][F6][F7][F8][F12]<br />

【 検 証 用 ネットワーク 構 成 】<br />

<strong>IGD</strong> と CP のみで 実 施 可 能 な 試 験 について、 図 2 に 示 すように <strong>IGD</strong> と CP を 一 対 一<br />

で 接 続 し、CP で 検 索 ・ 取 得 した <strong>IGD</strong> の 通 知 内 容 が 正 しいことを 確 認 する<br />

図 2<br />

<strong>IGD</strong> 検 索 ・ 機 能 提 示 検 証 ネットワーク 構 成<br />

- 6 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

<strong>IGD</strong> の WAN 側 に DHCP サーバまたは PPPoE サーバを 接 続 し( 図 3 )、<strong>IGD</strong> の WAN<br />

側 接 続 状 態 を CP により 確 認 する<br />

図 3<br />

<strong>IGD</strong> 状 態 確 認 検 証 ネットワーク 構 成<br />

【 検 証 内 容 】<br />

CP と <strong>IGD</strong> の み で 実 施 可 能 な Discovery/Advertisement/Description 確 認<br />

[F1/F2/F3/F4]、CP から <strong>IGD</strong> の WAN 側 接 続 状 態 の 取 得 確 認 [F5/F6/F7/F8]、<strong>IGD</strong> か<br />

ら CP への WAN 側 接 続 状 態 の 通 知 確 認 [F12]を 連 続 したシーケンスとして 検 証 する。<br />

【 検 証 手 順 】<br />

WAN{IP/PPP}Connection それぞれのコネクションサービス 個 別 に 以 下 の 確 認 を 行 う。<br />

1. Tester が <strong>IGD</strong> を 起 動 する。<br />

2. Tester が <strong>IGD</strong> にインターネット 接 続 設 定 を 行 い、 接 続 サービス 数 、デフォルト<br />

設 定 を 確 認 する。(このとき <strong>IGD</strong> の 再 起 動 が 必 要 な 場 合 は 再 起 動 し、 接 続 設 定<br />

の 有 効 な 状 態 で 起 動 させる)<br />

3. <strong>IGD</strong> の advertisement(ssdp:alive)、M-SEARCH への 応 答 を 確 認 する[F1][F3]。<br />

4. <strong>IGD</strong> の Device description を GET し、 記 述 内 容 を 確 認 する[F4]。<br />

5. デフォルト 接 続 サービスを 取 得 し、 内 容 を 確 認 する[F5]。<br />

6. イベント 通 知 (ConnectionStatus/ExternalIPAddress)を 登 録 する[F12]。<br />

7. WAN{IP/PPP}Connection の 未 接 続 時 状 態 を 確 認 する[F6]。<br />

8. Tester が <strong>IGD</strong> のインターネット 接 続 を 有 効 にする。<br />

9. イベント 通 知 (ConnectionStatus/ExternalIPAddress)を 確 認 する[F12]。<br />

10. WAN{IP/PPP}Connection の 接 続 時 状 態 を 確 認 する[F6]。<br />

11. Tester が <strong>IGD</strong> のインターネット 接 続 を 無 効 にする。<br />

12. イベント 通 知 (ConnectionStatus/ExternalIPAddress)を 確 認 する[F12]。<br />

13. WAN{IP/PPP}Connection の 未 接 続 時 状 態 に 変 更 されたことを 確 認 する[F6]。<br />

14. Tester が <strong>IGD</strong> を 終 了 する。<br />

- 7 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

15. <strong>IGD</strong> の advertisement(ssdp:byebye)を 確 認 する。<br />

Tester<br />

CP <strong>IGD</strong> DHCP/PPPoE Server<br />

<strong>IGD</strong> 起 動<br />

インターネット 接 続 を 設 定<br />

advertisement(ssdp:alive)<br />

M-SEARCH(ST:<strong>IGD</strong>)<br />

Search Response<br />

GET Device description<br />

[F1][F3][F4]<br />

[F1-G1]<br />

M-SEARCHとNOTIFYの<br />

CACHE-CONTROL 値 を 確 認<br />

[F1-G2]<br />

M-SEARCHとResponseの<br />

アドレス/ポートを 確 認<br />

[F3-G1]<br />

ST:urn:schemas-upnp-org:device:InternetGatewayDevice:1<br />

のM-SEARCHに 応 答<br />

PPP/IPコネクションを 設 定 する<br />

再 起 動 が 入 る 場 合 がある<br />

デフォルトサービスの 確 認 をしておく<br />

[F4-G1]<br />

全 てのWAN{IP/PPP}Connectionの 記 述 を 確 認<br />

[F5][F6][F7][F8][F12]<br />

GetDefaultConnectionSerivice<br />

SUBSCRIBE(CoonectionStatus)<br />

SUBSCRIBE(ExternalIPAddress)<br />

[F5-G1]<br />

デフォルト 接 続 サービスの 取 得 を 確 認<br />

[F12-G1]<br />

イベント 通 知 登 録<br />

ConnectionStatus/ExternalIPAddress<br />

[F6-G2]<br />

GetStatusInfo<br />

WAN{IP/PPP}Connectionの 状 態 を 確 認<br />

ConnectionStatus=Connected 以 外<br />

GetExternalIPAddress<br />

Uptime=0<br />

[F6-G3]<br />

WAN{IP/PPP}Connectionの 状 態 を 確 認<br />

LassConnectionError= 少 なくともERROR_NONE<br />

WAN I/Fを 接 続 (PPP/IP 接 続 可 能 な 状 態 にする) ExternalIPAddress= 空 文 字 または0.0.0.0<br />

DHCP/PPP 取 得 要 求<br />

DHCP/PPP アドレス 付 与<br />

Eventing(ConnectionStatus)<br />

Eventing(ExternalIPAddress)<br />

[F12-G1]<br />

ConnectionStatus/ExtarnalIPAddressのイベント 通 知<br />

Ping<br />

GetStatusInfo<br />

GetExternalIPAddress<br />

Eventing(ConnectionStatus)<br />

Eventing(ExternalIPAddress)<br />

GetStatusInfo<br />

<strong>IGD</strong> 終 了<br />

advertisement(ssdp:byebye)<br />

[F6-G1]<br />

WAN{IP/PPP}Connectionの 状 態 を 確 認<br />

ConnectionStatus=Connected<br />

[F6-G3-2]<br />

WAN{IP/PPP}Connectionの 状 態 を 確 認<br />

LastConnectionError= 少 なくともERROR_NONE<br />

ExternalIPAddress=DHCPサーバから 取 得 したIPアドレス<br />

WAN I/Fを 切 断<br />

[F12-G1]<br />

ConnectionStatus/ExternalIPAddressのイベント 通 知<br />

[F6-G1][F6-G2]<br />

WAN{IP/PPP}Connectionの 状 態 を 確 認<br />

ConnectionStatus=Connected 以 外<br />

Uptime=0<br />

[F2-G1]<br />

正 常 終 了 時 の 離 脱 通 知 を 確 認<br />

[F6-G2]<br />

WAN{IP/PPP}Connectionの 状 態 を 確 認<br />

Uptime= 接 続 時 間<br />

[F2]<br />

図 4<br />

<strong>IGD</strong> 検 索 ・ 機 能 提 示 ・ 状 態 確 認 検 証 シーケンス<br />

- 8 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

5.3 <strong>IGD</strong> ポ ー ト マ ッ ピ ン グ 設 定 検 証 手 順<br />

5.3.1 単 一 の ポ ー ト マ ッ ピ ン グ 検 証 手 順<br />

【 検 証 項 目 】<br />

機 能 要 件 : [F9], [F11]<br />

【 検 証 用 ネットワーク 構 成 】<br />

<strong>IGD</strong> の WAN 側 に DHCP サーバまたは PPPoE サーバを 接 続 し( 図 5)、2つの<br />

RemoteHost と2つ InternalClient で 可 能 な 試 験 について CP から <strong>IGD</strong> にポートマッ<br />

ピング 設 定 を 行 い、 設 定 受 理 ・エラー 返 信 の 確 認 を 行 う。ポートマッピング 動 作 はテ<br />

ストサーバより 確 認 する。<br />

CP<br />

LAN<br />

WAN<br />

Server<br />

<strong>IGD</strong><br />

CP<br />

Server<br />

3.ポートマッピング 機 能 試 験 [F9][F10][F11]<br />

<strong>IGD</strong>のWAN 側 は 接 続 しているものとし、この 状 態 で<br />

・AddPortMapping<br />

・DeletePortMapping<br />

が 適 切 に 設 定 される、あるいは 設 定 できずに 適 切 なエラーが 返 ることを 確 認 する。<br />

設 定 後 、ポートマッピングが 適 切 に 動 作 していることを、WAN 側 に 存 在 するサーバからLAN 内<br />

にアクセスして 確 認 する。<br />

図 5<br />

<strong>IGD</strong> ポートマッピング 設 定 検 証 ネットワーク 構 成<br />

【 検 証 内 容 】<br />

<strong>IGD</strong> の NAT 機 能 有 無 の 確 認 [F11]、CP から <strong>IGD</strong> へ 単 一 のポートマッピング 追 加 と 動<br />

作 確 認 [F9-G1/G2/G3/G4/G5/G6/G7/G8]、ポートマッピング 状 態 確 認 [F9-G18]、ポー<br />

トマッピングの 削 除 [F9-G16/G17]を 連 続 したシーケンスとして 検 証 する。PPP マル<br />

チセッション 接 続 の 場 合 は 各 WAN*Connection 毎 に 試 験 を 行 う。<br />

- 9 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

【 検 証 手 順 】<br />

試 験 シーケンス[F1/F2/F3/F4/F5/F6/F7/F8/F12]を 満 たし、<strong>IGD</strong> にインターネット 接<br />

続 設 定 がなされているとして、WAN{IP/PPP}Connection それぞれのコネクションサ<br />

ービス 個 別 に 以 下 の 確 認 を 行 う。<br />

1. Tester が <strong>IGD</strong> を 起 動 する。<br />

2. <strong>IGD</strong> の LAN 側 ネットワークについて HUB 等 を 利 用 して 接 続 する 場 合 、<strong>IGD</strong><br />

の LAN 側 ポートのネゴシエーション 設 定 が「MDI-X 固 定 」ではなく「 自 動 設<br />

定 」 等 となっていることを 確 認 する。<br />

3. <strong>IGD</strong> が 機 能 を 備 えている 場 合 、Tester が <strong>IGD</strong> の NAT 機 能 を 無 効 化 する。<br />

このとき <strong>IGD</strong> の 再 起 動 が 必 要 な 場 合 は 再 起 動 し、NAT 無 効 状 態 で 起 動 させる。<br />

4. NAT 状 態 を 取 得 し、 無 効 となっていること、ポートマッピング 追 加 が 失 敗 する<br />

ことを 確 認 する[F11]。<br />

5. Tester が <strong>IGD</strong> の NAT 機 能 を 有 効 化 する。<br />

このとき <strong>IGD</strong> の 再 起 動 が 必 要 な 場 合 は 再 起 動 し、NAT 有 効 状 態 で 起 動 させる。<br />

6. NAT 状 態 を 取 得 し、 無 効 となっていることを 確 認 する[F11]。<br />

7. 引 数 を 変 化 させながら、 以 下 を 繰 り 返 し 行 う。<br />

・ ポートマッピングの 追 加 [F9-G1/G2 /G4/G5/G6/G7、F9-G3]<br />

・ ポートマッピング・エントリへ 追 加 されたことの 確 認 [F9-G18]<br />

・ ポートマッピングの 動 作 確 認 [F9-G9/G15/G16]<br />

・ ポートマッピングの 削 除 [F9-G17]<br />

・ ポートマッピング・エントリから 削 除 されたことの 確 認 [F9-G18]<br />

・ ポートマッピングの 動 作 不 可 能 であることの 確 認 [F9-G9]<br />

※F9-G3 (AddPortMapping の RemoteHost 指 定 )は 最 後 に 行 い、<strong>IGD</strong> が<br />

RemoteHost 指 定 をサポートしているかどうかを 確 認 する。F9-G3 の 結 果 によ<br />

り、「5.3.2 ポートマッピングへの 上 書 き 検 証 手 順 」を 分 岐 させる。<br />

- 10 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

Tester CP<br />

<strong>IGD</strong> Server<br />

<strong>IGD</strong> 起 動<br />

[F11]<br />

NATの 無 効 化 、 有 効 化 の 切 替 時<br />

に 再 起 動 が 必 要 な 場 合 がある<br />

NAT 無 効 化<br />

[F1-F8]については 既 に 条 件 を 満 たすものとする<br />

GetNATRSIPStatus<br />

NAT 有 効 化<br />

AddPortMapping<br />

エラー<br />

[F11-G1]<br />

( 可 能 な 場 合 のみ)NAT 動 作 を 無 効 化 しGetNATRSIPStatusを 確 認<br />

NATEnabled=0<br />

AddPortMappingはエラーとなる<br />

M-SEARCH<br />

GetDefaultConnectionService<br />

GetStatusInfo<br />

GetExternalIPAddress<br />

GetNATRSIPStatus<br />

AddPortMapping<br />

GetGenericPortMappingEntry<br />

GetSpecificPortMappingEntry<br />

[F11-G1]<br />

NATを 有 効 化 しGetNATRSIPStatusを 確 認<br />

NATEnabled=1<br />

AddPortMappingの 引 数 に 関 する 要 件 を 確 認 する<br />

[F9-G1] PortMappingEnabled<br />

[F9-G2] PortMappingeaseDuration<br />

[F9-G3] RemoteHost<br />

[F9-G4] ExternalPort<br />

[F9-G5] InternalPort<br />

[F9-G6] PortMappingProtocol<br />

[F9-G7] PortMappingDescription<br />

[F9-G18]<br />

GetGenericPortMappingEntry<br />

GetSpecificPortMappingEntry<br />

が 実 装 されていること<br />

[F9]<br />

疎 通 テストスタート<br />

UDP/TCP セッション 接 続<br />

Wait<br />

[F9-G9]<br />

AddPortMapping 成 功 時 に 適 切 なファイアウォール<br />

[F9-G15] [F9-G2]<br />

処 理 が 行 われることを 確 認<br />

ProtMappingLeasedurationが<br />

PortMappingEnabled=0, 1 のときにそれぞれカウントダウンされること<br />

GetGenericPortMappingEntry<br />

疎 通 テストスタート<br />

UDP/TCP セッション 接 続<br />

[F9-G16] [F9-G2]<br />

PortMappingLeaseDurationが0になった 場 合 、<br />

ポートマッピングが 削 除 されること<br />

DeletePortMapping<br />

[F9-G17]<br />

DeletePortMappingを 受 信 し、ExternalPort/PartMappingProtocolの<br />

一 致 するポートマッピングが 削 除 されることを 確 認<br />

GetGenericPortMappingEntry<br />

疎 通 テストスタート<br />

UDP/TCP セッション 接 続 (エラー)<br />

この 部 分 はパラメータ 変 更 して 繰 り 返 す<br />

図 6 単 一 の ポ ー ト マ ッ ピ ン グ 検 証 シーケンス<br />

- 11 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

5.3.2 ポ ー ト マ ッ ピ ン グ へ の 上 書 き 検 証 手 順<br />

【 検 証 項 目 】<br />

機 能 要 件 [F9], [F10]<br />

【 検 証 用 ネットワーク 構 成 】<br />

単 一 のポートマッピング 試 験 に 同 じ<br />

【 検 証 内 容 】<br />

CP から <strong>IGD</strong> のビルトイン・ポートマッピング、ユーザ 指 定 ポートマッピングへのポ<br />

ートマッピングの 上 書 き・ 削 除 を 行 った 場 合 の 応 答 確 認 [F9-G19/G20/G21/G22]、CP<br />

から <strong>IGD</strong> へ 既 存 のポートマッピングへの 上 書 き 動 作 を 行 った 場 合 の 応 答 と 動 作 確 認<br />

[F9-G19/G20/G21/G22]、<strong>IGD</strong> 再 起 動 時 のポートマッピング・エントリの 削 除 [F10]<br />

について、 連 続 したシーケンスとして 検 証 する。PPP マルチセッション 接 続 の 場 合 は<br />

各 WAN*Connection 毎 に 試 験 を 行 う。<br />

【 検 証 手 順 】<br />

5.2 <strong>IGD</strong> 検 索 ・ 機 能 提 示 ・ 状 態 確 認 検 証 手 順 、ならびに 5.3.1 単 一 のポートマッピン<br />

グ 検 証 手 順 を 満 たし、<strong>IGD</strong> にインターネット 接 続 設 定 がなされているとして、<br />

WAN{IP/PPP}Connection それぞれのコネクションサービス 個 別 に 以 下 の 確 認 を 行 う<br />

1. Tester が <strong>IGD</strong> を 起 動 する<br />

2. <strong>IGD</strong> が 機 能 を 備 えている 場 合 、Tester は <strong>IGD</strong> のビルトイン・ポートマッピング<br />

を 確 認 する<br />

3. <strong>IGD</strong> が 機 能 を 備 えている 場 合 、Tester は <strong>IGD</strong> にユーザ 指 定 ポートマッピングを<br />

設 定 する。このとき <strong>IGD</strong> の 再 起 動 が 必 要 な 場 合 は 再 起 動 し、ユーザ 指 定 ポート<br />

マッピングを 有 効 にする。<br />

4. 引 数 を 変 化 させながら、、 以 下 を 繰 り 返 し 行 う。<br />

・ ポートマッピングの 追 加 [F9-G1/G2/G3/G4/G5/G6/G7]<br />

・ 追 加 したポートマッピング、ビルトイン・ポートマッピングまたはユーザ 指<br />

定 ポートマッピングを 上 書 きするように、ポートマッピングを 再 度 行 う<br />

[F9-G10/G11/G12/G13/G14/G19/G20/G21/G22]<br />

・ ポートマッピング 追 加 に 対 し 適 切 なレスポンスが 返 ることを 確 認 する<br />

・ ポートマッピングの 動 作 確 認<br />

・ 追 加 したポートマッピング、ビルトイン・ポートマッピングまたはユーザ 指<br />

定 ポートマッピングの 削 除 を 行 う[F9-G17、F9-G19/G20/G21/G22]<br />

・ ポートマッピング 削 除 に 対 し 適 切 なレスポンスが 返 ることを 確 認 する<br />

[F9-G18]<br />

・ ポートマッピング・エントリから 削 除 されたことを 確 認 する[F9-G9]<br />

- 12 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

※「5.3.1 5.3.1 単 一 のポートマッピング 検 証 手 順 」において、F9-G3 試 験 2<br />

(AddPortMapping の RemoteHost へ IP アドレス 指 定 )が 失 敗 する 場 合 、<br />

F9-G10( 試 験 1/2/5/6/9/10)、F9-G13、F9-G14 は 試 験 が 失 敗 することが 明 白 であ<br />

るため、 実 施 は 不 要 である。<br />

5. CP から 追 加 したポートマッピングがエントリに 残 っている 状 態 で、<strong>IGD</strong> を 終 了<br />

する。<br />

6. <strong>IGD</strong> を 起 動 し、ポートマッピング・エントリが 全 て 削 除 されていることを 確 認<br />

する。[F10-G1]<br />

- 13 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

Tester CP 2 CP 1<br />

<strong>IGD</strong> Server 1 Server 2<br />

[F9]<br />

<strong>IGD</strong> 起 動<br />

ビルトイン・ポートマッピング 確 認<br />

ユーザ 指 定 ポートマッピングを 設 定<br />

M-SEARCH<br />

[F9-G19/G20/G21/G22]<br />

ビルトイン・ポートマッピング、ユーザ 指 定 ポートマッピングを<br />

AddPortMappingにより 変 更 、DeletePortMappingにより 削 除<br />

できないように 実 装 した 場 合 は、アクションに 対 しエラーを 返 す<br />

ポートマッピング 設 定 時 に 再 起 動<br />

が 必 要 な 場 合 がある。<br />

GetDefaultConnectionService<br />

GetStatusInfo<br />

GetExternalIPAddress<br />

GetNATRSIPStatus<br />

[F1-F8/F11/F12] 及 び[F9]の<br />

AddPortMapping/DeletePortMapping<br />

については 既 に 条 件 を 満 たすものとする<br />

AddPortMapping<br />

AddPortMapping<br />

Response<br />

[F9-G10/G11/G12/G13/G14]<br />

既 存 のポートマッピングとパラメタが 一 致 または 異 なる<br />

AddPortMapping 要 求 に 対 して、 適 切 に 受 理 または<br />

エラー(エラー 番 号 718)を 返 すこと<br />

[F9-G19/G20/G21/G22]<br />

ビルトイン・ポートマッピング、ユーザ 指 定 ポートマッピングを<br />

変 更 するAddPortMappingを 行 い、エラーを 確 認 する<br />

パラメータを 変 更 して 繰 り 返 し<br />

GetGenericPortMappingEntry<br />

GetSpecificPortMappingEntry<br />

疎 通 テストスタート<br />

[F9-G18]<br />

ビルトイン・ポートマッピング、ユーザ 設 定 ポートマッピングが<br />

ポートマッピング 取 得 要 求 の 結 果 に 含 める 必 要 はない<br />

UDP/TCPセッション 接 続<br />

疎 通 テストスタート<br />

UDP/TCPセッション 接 続<br />

DeletePortMapping<br />

Response<br />

GetSpecificPortMappingEntry<br />

[F9-G8]<br />

<strong>IGD</strong>はポートマッピングの 設 定 において、<br />

先 に 書 いたポートマッピングを 優 先 する<br />

(first write wins)しなければならない<br />

[F9-G19/G20/G21/G22]<br />

ビルトイン・ポートマッピング、ユーザ 指 定 ポートマッピングを<br />

削 除 するDeletePortMappingを 行 い、エラーを 確 認 する<br />

<strong>IGD</strong> 終 了<br />

<strong>IGD</strong> 起 動<br />

[F10-G1]<br />

<strong>IGD</strong>は 再 起 動 した 場 合 に、AddPortMappingによって 追 加 された<br />

ポートマッピングエントリを 全 て 削 除 する<br />

GetGenericPortMappingEntry<br />

[F10]<br />

6. 試 験 項 目 詳 細<br />

図 7 ポ ー ト マ ッ ピ ン グ へ の 上 書 き 検 証 シーケンス<br />

<strong>UPnP</strong> <strong>IGD</strong> 実 装 ガイドラインの 各 項 目 における 試 験 項 目 詳 細 を 以 下 に 示 す。<br />

- 14 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

6.1 ガ イ ド ラ イ ン 試 験 内 容 詳 細<br />

試 験 の 確 認 内 容 詳 細 をガイドライン 機 能 要 件 順 に 以 下 に 示 す。<br />

6.1.1 ガ イ ド ラ イ ン 機 能 要 件 [F1]<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

ネットワーク 構 成<br />

前 提 条 件<br />

F1-G1<br />

<strong>IGD</strong> は、 存 在 通 知 メッセージ、または、CP からの 検 索 要 求 (M-SEARCH)<br />

に 対 する 応 答 メッセージに 含 まれる CACHE-CONTROL に、これらの<br />

メッセージが 有 効 な 期 間 を 秒 数 で 指 定 しなければならない。<br />

MUST-1<br />

<strong>IGD</strong> 検 索 ・ 機 能 提 示 用 試 験 用 ネットワーク 構 成<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 なこと<br />

試 験 1 1 CP は、<strong>IGD</strong> の 存 在 通 知 メッセージおよび CP からの 検 索 要 求<br />

(M-SEARCH)に 対 する 応 答 メッセージに 含 まれる<br />

CACHE-CONTROL を 取 得 する。<br />

2<br />

3<br />

有 効 な 期 間 が 秒 数 で 指 定 されていることを 確 認 する。<br />

2の 時 間 内 に 存 在 通 知 メッセージが 更 新 されること。<br />

備 考<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

ネットワーク 構 成<br />

前 提 条 件<br />

F1-G2<br />

<strong>IGD</strong> は、SSDP マルチキャスト・メッセージとその 応 答 に 関 して、 以 下<br />

の 表 に 示 すアドレス 利 用 方 針 に 従 わなければならない。<br />

MUST-2<br />

<strong>IGD</strong> 検 索 ・ 機 能 提 示 用 試 験 用 ネットワーク 構 成<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 なこと<br />

試 験 1 1 CP からの 検 索 要 求 (M-SEARCH)に 対 する <strong>IGD</strong> の 応 答 メッセージを<br />

取 得 し、 下 表 に 従 っていることを 確 認 する。<br />

2<br />

また、 検 索 要 求 (M-SEARCH)が 下 表 の 場 合 に <strong>IGD</strong> が 正 常 に 動 作 す<br />

ることを 確 認 する。<br />

送 信 先 IP アドレ<br />

ス<br />

送 信 先 ポート 番<br />

号<br />

送 信 元 IP アド<br />

レス<br />

送 信 元 ポート<br />

番 号<br />

M-Search 239.255.255.2 0 1900 (ホスト 依 存 ) 1024 以 上<br />

Response Request の 送 信 元<br />

IP アドレスに 同<br />

じ<br />

Request の 送 信<br />

元 ポート 番 号 に<br />

同 じ<br />

(ホスト 依 存 ) 1900<br />

- 15 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2 1 <strong>IGD</strong> の 存 在 通 知 メッセージ(Advertisement)を 取 得 し、 下 表 に 従 って<br />

いることを 確 認 する。<br />

備 考<br />

送 信 先 IP アドレ<br />

ス<br />

送 信 先 ポート<br />

番 号<br />

送 信 元 IP アド<br />

レス<br />

送 信 元 ポート<br />

番 号<br />

Advertisement 239. 55.255.250 1900 (ホスト 依 存 ) 1024 以 上<br />

6.1.2 ガ イ ド ラ イ ン 機 能 要 件 [F2]<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

ネットワーク 構 成<br />

前 提 条 件<br />

試 験 1<br />

備 考<br />

F2-G1<br />

<strong>IGD</strong> は、「 正 常 に 終 了 」する 場 合 には、 離 脱 通 知 を 行 わなければならな<br />

い。<br />

SHOULD<br />

<strong>IGD</strong> 検 索 ・ 機 能 提 示 用 試 験 用 ネットワーク 構 成<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 なこと<br />

1 <strong>IGD</strong> を 正 常 終 了 させる。<br />

2 離 脱 通 知 が 行 われることを 確 認 する。<br />

「 正 常 に 終 了 」するとは、「ユーザが 意 図 的 に <strong>IGD</strong> をリブートするケ<br />

ース」、「 自 動 アップデートなどの 理 由 で <strong>IGD</strong> が 自 発 的 にリブートする<br />

ケース」である。「 正 常 に 終 了 」しないケースは、 例 えば、 突 発 的 な 電<br />

源 断 などである。<br />

6.1.3 ガ イ ド ラ イ ン 機 能 要 件 [F3]<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

ネットワーク 構 成<br />

前 提 条 件<br />

試 験 1<br />

F3-G1<br />

<strong>IGD</strong> は、CP からの 検 索 要 求 時 に 指 定 される Search Target<br />

“ST:urn:schemas-upnp-org:device:InternetGatewayDevice:1”に 必 ず<br />

応 答 しなければならない。<br />

MUST-1<br />

<strong>IGD</strong> 検 索 ・ 機 能 提 示 用 試 験 用 ネットワーク 構 成<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 なこと<br />

1 CP から<br />

“ST:urn:schemas-upnp-org:device:InternetGatewayDevice:1”<br />

を 付 加 した 検 索 要 求 (M-SEARCH)を 送 出 する。<br />

2 <strong>IGD</strong> が 応 答 することを 確 認 する。<br />

備 考<br />

- 16 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

6.1.4 ガ イ ド ラ イ ン 機 能 要 件 [F4]<br />

ガイドライン ID F4-G1<br />

ガイドライン 内 容 <strong>IGD</strong> は、<strong>IGD</strong> としてサービスを 提 供 できるすべての<br />

WAN{IP/PPP}Connection を Description に 記 述 しなければならない。<br />

実 装 要 求<br />

MUST-2<br />

ネットワーク 構 成 <strong>IGD</strong> 検 索 ・ 機 能 提 示 用 試 験 用 ネットワーク 構 成<br />

前 提 条 件<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 であること<br />

試 験 1<br />

1 CP により <strong>IGD</strong> のサービスディスクリプションに 記 述 された 全 ての<br />

WAN{IP/PPP}Connection を 取 得 する。<br />

2 装 置 に 設 定 可 能 なインターネット 接 続 について<br />

・DHCP/ 固 定 IP 接 続 → WANIPConnection x1<br />

・PPP 接 続 → WANPPPConnection x( 設 定 可 能 なセッション 数 )<br />

分 のサービスが 全 て 記 述 されていることを 確 認 する。<br />

試 験 2 Description の 内 容 が 変 更 される 場 合 には 下 記 の 試 験 を 行 う。<br />

1 装 置 のインターネット 接 続 設 定 において、PPPoE マルチセッショ<br />

ンの 接 続 を 追 加 する。<br />

2 <strong>IGD</strong> が 離 脱 通 知 を 出 し、サービスディスクリプションが 変 更 され<br />

る。<br />

3 変 更 後 のサービスディスクリプションを CP により 取 得 し、 現 在 装<br />

置 に 設 定 されている 全 ての 接 続 のサービスが 記 述 されていること<br />

を 確 認 する。<br />

備 考<br />

6.1.5 ガ イ ド ラ イ ン 機 能 要 件 [F5]<br />

ガイドライン ID F5-G1<br />

ガイドライン 内 容 <strong>IGD</strong> は、CP からデフォルト 接 続 サービス 取 得 要 求<br />

(GetDefaultConnectionService)を 受 信 した 場 合 、デフォルト 接 続 サー<br />

ビスを 返 信 できることが 望 ましい。<br />

実 装 要 求<br />

SHOULD<br />

ネットワーク 構 成 <strong>IGD</strong> 状 態 確 認 試 験 用 ネットワーク 構 成<br />

前 提 条 件<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 であること<br />

試 験 1 1 CP から GetDefaultConnectionService を 要 求 し、 有 効 な 応 答 結 果<br />

が 取 得 できることを 確 認 する。<br />

試 験 2 1 またその 応 答 結 果 が 同 <strong>IGD</strong> から 取 得 する ServiceDescription に 記<br />

述 されたサービスの 1 つであることを 確 認 する。<br />

試 験 3 1 管 理 用 の Web I/F、あるいはコンソールからデフォルトのサービス<br />

- 17 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

が 設 定 できる 場 合 は、 選 択 できるもののうちから 1 つを 選 んで 設 定<br />

する。<br />

2 CP から GetDefaultConnectionService を 要 求 し、 応 答 結 果 が 設 定<br />

したものに 一 致 することを 確 認 する。<br />

上 記 は 全 て 推 奨 動 作 である。 また 各 試 験 は 降 順 に 前 提 条 件 の 関 係 にあ<br />

る。<br />

6.1.6 ガ イ ド ラ イ ン 機 能 要 件 [F6]<br />

ガイドライン ID F6-G1<br />

ガイドライン 内 容 <strong>IGD</strong> は、<strong>IGD</strong> の WAN 接 続 I/F が 使 用 可 能 である 場 合 、<strong>UPnP</strong><br />

WAN{IP/PPP}Connection が 持 つ 状 態 変 数 ConnectionStatus の 値 を<br />

Connected にしなければならない。<br />

実 装 要 求<br />

MUST-1<br />

ネットワーク 構 成 <strong>IGD</strong> 状 態 確 認 試 験 用 ネットワーク 構 成<br />

前 提 条 件<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 であること、および<br />

<strong>IGD</strong> の WAN 側 インタフェースが、 当 該 <strong>IGD</strong> がサポートする 全 ての 接<br />

続 サービス(DHCP、 固 定 、PPP)それぞれによって 通 信 可 能 となること<br />

試 験 1 (DHCP) 1 <strong>IGD</strong> に DHCP 接 続 を 設 定 する。<br />

2 <strong>IGD</strong> の WAN 側 インタフェースを 接 続 して,CP から DHCP サー<br />

バに ping が 通 ることを 確 認 した 後 、CP から<br />

WANIPConnection:1#GetStatusInfo を 要 求 し、 応 答 結 果 が 以 下 で<br />

あることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

3 <strong>IGD</strong> WAN 側 インタフェースを 切 断 して、CP から<br />

WANIPConnection:1#GetStatusInfo を 要 求 し、 応 答 結 果 が 以 下 で<br />

あることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

試 験 2 ( 固 定 IP) 1 <strong>IGD</strong> に 固 定 IP 接 続 を 設 定 する。<br />

2 <strong>IGD</strong> WAN 側 インタフェースを HUB 等 に 接 続 してリンクアップさ<br />

せた 後 、CP から WANIPConnection:1#GetStatusInfo を 要 求 し,<br />

応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

3 試 験 13に 同 じ<br />

試 験 3 (PPP) 1 <strong>IGD</strong> に PPPoE 接 続 を 設 定 する。<br />

2 <strong>IGD</strong> の WAN 側 インタフェースを 接 続 して、CP から PPP サーバ<br />

の 上 位 ネットワーク 側 IP アドレスに ping が 通 ることを 確 認 した<br />

- 18 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 4<br />

(PPP 複 数 接 続 )<br />

備 考<br />

後 、CP から WANWANPPPConnection:1#GetStatusInfo を 要 求 し、<br />

応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

3 試 験 13に 同 じ。<br />

1 <strong>IGD</strong> に 設 定 可 能 な PPPoE セッション 全 ての 接 続 設 定 を 行 う。<br />

2 <strong>IGD</strong> の WAN 側 インタフェースを 接 続 して、CP から 各<br />

WANPPPConnection の 上 位 ネットワーク IP アドレスに ping が 通<br />

ることを 確 認 した 後 、CP から<br />

WANPPPConnection:1#GetStatusInfo を 要 求 し、 各<br />

WANPPPConnction について 応 答 結 果 が 以 下 であることを 確 認 す<br />

る。<br />

NewConnectionStatus=Connected<br />

3 試 験 13に 同 じ。<br />

<strong>IGD</strong> が WAN 側 インタフェース の 切 断 を 認 識 してから 5 秒 待 つことで<br />

正 しい 結 果 が 得 られる 場 合 は 許 容 範 囲 とする。<br />

「<strong>IGD</strong> が 切 断 を 認 識 」することを 確 認 する 方 法 としては、CP から ping<br />

を 通 し、<strong>IGD</strong> が 返 す Unreachable エラーを 受 信 することで 確 認 する、<br />

などが 考 えられる。<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

ネットワーク 構 成<br />

前 提 条 件<br />

試 験 1<br />

(DHCP)<br />

F6-G2<br />

<strong>IGD</strong> は、<strong>UPnP</strong> WAN{IP/PPP}Connection の 状 態 として、 接 続 時 間 を<br />

示 す Uptime を 保 持 し、ConnectionStatus が<br />

Connected の 場 合 、Connected となってからの 秒 数 、<br />

Connected 以 外 の 場 合 0<br />

を 示 さなければならない。<br />

MUST-1<br />

<strong>IGD</strong> 状 態 確 認 試 験 用 ネットワーク 構 成<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 であること、および<br />

<strong>IGD</strong> の WAN 側 インタフェースが、 当 該 <strong>IGD</strong> がサポートする 全 ての 接<br />

続 サービス(DHCP、 固 定 、PPP)それぞれによって 通 信 可 能 となること<br />

1 <strong>IGD</strong> に DHCP 接 続 を 設 定 する。<br />

2 <strong>IGD</strong> WAN 側 インタフェースを 接 続 して 20 秒 間 待 った 後 、CP か<br />

ら WANIPConnection:1#GetStatusInfo を 要 求 し, 応 答 結 果 が 以<br />

下 であることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

NewUptime=10~20 程 度 の 範 囲 にあること<br />

- 19 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2<br />

( 固 定 IP)<br />

試 験 3<br />

(PPP)<br />

試 験 4<br />

(PPP 複 数 接 続 )<br />

3 <strong>IGD</strong> WAN 側 インタフェースを 切 断 し、<strong>IGD</strong> が 切 断 を 認 識 してか<br />

ら 5 秒 間 待 った 後 、CP から WANIPConnection:1#GetStatusInfo<br />

を 要 求 し、 応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

NewUptime=0<br />

1 <strong>IGD</strong> に 固 定 IP 接 続 を 設 定 する。<br />

2 <strong>IGD</strong> WAN 側 インタフェースを HUB などに 接 続 してリンクアップ<br />

させて 20 秒 間 待 った 後 、CP から<br />

WANIPConnection:1#GetStatusInfo を 要 求 し, 応 答 結 果 が 以 下 で<br />

あることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

NewUptime=10~20 程 度 の 範 囲 にあること<br />

3 <strong>IGD</strong> WAN 側 インタフェースを 切 断 し、<strong>IGD</strong> が 切 断 を 認 識 してか<br />

ら 5 秒 間 待 った 後 、CP から WANIPConnection:1#GetStatusInfo<br />

を 要 求 し、 応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

NewUptime=0<br />

1 <strong>IGD</strong> に PPP 接 続 を 設 定 する.<br />

2 <strong>IGD</strong> WAN 側 インタフェースを 接 続 して 20 秒 間 待 った 後 、CP か<br />

ら WANPPPConnection:1#GetStatusInfo を 要 求 し, 応 答 結 果 が<br />

以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

NewUptime=10~20 程 度 の 範 囲 にあること<br />

3 <strong>IGD</strong> WAN 側 インタフェースを 切 断 し、<strong>IGD</strong> が 切 断 を 認 識 してか<br />

ら 5 秒 間 待 った 後 、CP から<br />

WANPPPConnection:1#GetStatusInfo を 要 求 し、 応 答 結 果 が 以 下<br />

であることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

NewUptime=0<br />

1 <strong>IGD</strong> に 設 定 可 能 な PPPoE セッション 全 ての 接 続 設 定 を 行 う。<br />

2 <strong>IGD</strong> WAN 側 インタフェースを 接 続 して 20 秒 間 待 った 後 、CP か<br />

ら WANPPPConnection:1#GetStatusInfo を 要 求 し, 各<br />

PPPConnectionno 応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

NewUptime=10~20 程 度 の 範 囲 にあること<br />

3 <strong>IGD</strong> WAN 側 インタフェースを 切 断 し、<strong>IGD</strong> が 切 断 を 認 識 してか<br />

- 20 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

ら 5 秒 間 待 った 後 、CP から<br />

WANPPPConnection:1#GetStatusInfo を 要 求 し、 各<br />

PPPConnection への 応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

NewUptime=0<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

ネットワーク 構 成<br />

前 提 条 件<br />

試 験 1<br />

(DHCP)<br />

試 験 2<br />

( 固 定 IP)<br />

F6-G3<br />

<strong>IGD</strong> は、<strong>UPnP</strong> WAN{IP/PPP}Connection の 状 態 として、 接 続 エラー<br />

LastConnectionError とインターネット 側 アドレス<br />

ExternalIPAddress を 保 持 しなければならない。<br />

LastConnectionError は、 少 なくとも ERROR_NONE を 保 持 しなけれ<br />

ばならない。 ExternalIPAddress は、 空 文 字 列 か”0.0.0.0”、それ 以 外<br />

は 有 効 な IP アドレスを 保 持 しなければならない。<br />

MUST-1<br />

<strong>IGD</strong> 状 態 確 認 試 験 用 ネットワーク 構 成<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 であること、および<br />

<strong>IGD</strong> の WAN 側 インタフェースが、 当 該 <strong>IGD</strong> がサポートする 全 ての 接<br />

続 サービス(DHCP、 固 定 、PPP)それぞれによって 通 信 可 能 となること<br />

1 <strong>IGD</strong> に DHCP 接 続 を 設 定 する。<br />

2 <strong>IGD</strong> WAN 側 インタフェースを 接 続 して、CP から DHCP サーバ<br />

に ping が 通 ることを 確 認 した 後 、CP から<br />

WANIPConnection:1#GetStatusInfo 及 び GetExternalIPAddress<br />

を 要 求 し、 応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

NewLastConnectionError=ERROR_NONE<br />

NewExternalIPAddress= 有 効 な IP アドレス<br />

3 <strong>IGD</strong> WAN 側 インタフェースを 切 断 し、<strong>IGD</strong> が 切 断 を 認 識 してか<br />

ら 5 秒 間 待 った 後 、CP から WANIPConnection:1#GetStatusInfo<br />

を 要 求 し、 応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

NewLastConnectionError= 少 なくとも ERROR_NONE<br />

NewExternalIPAddress=”0.0.0.0”または 空 文 字<br />

1 <strong>IGD</strong> に 固 定 IP 接 続 を 設 定 する。<br />

2 <strong>IGD</strong> WAN 側 インタフェースを HUB 等 に 接 続 してリンクアップさ<br />

せた 後 、CP から WANIPConnection:1#GetStatusInfo 及 び<br />

- 21 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 3<br />

(PPP)<br />

試 験 4<br />

(PPP 複 数 接 続 )<br />

GetExternalIPAddress を 要 求 し、 応 答 結 果 が 以 下 であることを 確<br />

認 する。<br />

NewConnectionStatus=Connected<br />

NewLastConnectionError=ERROR_NONE<br />

NewExternalIPAddress= 有 効 な IP アドレス<br />

3 <strong>IGD</strong> WAN 側 インタフェースを 切 断 し、<strong>IGD</strong> が 切 断 を 認 識 してか<br />

ら 5 秒 間 待 った 後 、CP から WANIPConnection:1#GetStatusInfo<br />

を 要 求 し、 応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

NewLastConnectionError= 少 なくとも ERROR_NONE<br />

NewExternalIPAddress=”0.0.0.0”または 空 文 字<br />

1 <strong>IGD</strong> に PPP 接 続 を 設 定 する。<br />

2 <strong>IGD</strong> WAN 側 インタフェースを 接 続 し、CP から PPP サーバの 上<br />

位 ネットワーク 側 IP アドレスに ping が 通 ることを 確 認 した 後 、<br />

CP から WANPPPConnection:1#GetStatusInfo 及 び<br />

GetExternalIPAddress を 要 求 し、 応 答 結 果 が 以 下 であることを 確<br />

認 する。<br />

NewConnectionStatus=Connected<br />

NewLastConnectionError=ERROR_NONE<br />

NewExternalIPAddress= 有 効 な IP アドレス<br />

3 <strong>IGD</strong> WAN 側 インタフェースを 切 断 し、<strong>IGD</strong> が 切 断 を 認 識 してか<br />

ら 5 秒 間 待 った 後 、CP から<br />

WANPPPConnection:1#GetStatusInfo を 要 求 し、 応 答 結 果 が 以 下<br />

であることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

NewLastConnectionError= 少 なくとも ERROR_NONE<br />

NewExternalIPAddress=”0.0.0.0”または 空 文 字<br />

1 <strong>IGD</strong> に 設 定 可 能 な PPPoE セッション 全 ての 接 続 設 定 を 行 う。<br />

2 <strong>IGD</strong> WAN 側 インタフェースを 接 続 し、CP から 各 PPP サーバの<br />

上 位 ネットワーク 側 IP アドレスに ping が 通 ることを 確 認 した 後 、<br />

CP から WANPPPConnection:1#GetStatusInfo 及 び<br />

GetExternalIPAddress を 要 求 し、 各 PPPConnection の 応 答 結 果<br />

が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

NewLastConnectionError=ERROR_NONE<br />

NewExternalIPAddress= 有 効 な IP アドレス<br />

- 22 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

3<br />

<strong>IGD</strong> WAN 側 インタフェースを 切 断 し、<strong>IGD</strong> が 切 断 を 認 識 してか<br />

ら 5 秒 間 待 った 後 、CP から<br />

WANPPPConnection:1#GetStatusInfo を 要 求 し、 各<br />

PPPConnection の 応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

NewLastConnectionError= 少 なくとも ERROR_NONE<br />

NewExternalIPAddress=”0.0.0.0”または 空 文 字<br />

6.1.7 ガ イ ド ラ イ ン 機 能 要 件 [F7]<br />

ガイドライン ID F7-G1<br />

ガイドライン 内 容 <strong>IGD</strong> は、<strong>UPnP</strong> WAN{IP/PPP}Connection の 状 態 取 得 要 求<br />

(GetStatusInfo)を 受 信 した 場 合 、 応 答 内 の 出 力 引 数<br />

ConnectionStatus、LastConnectionError および Uptime に、それぞ<br />

れ 状 態 変 数 ConnectionStatus、LastConnectionError および Uptime<br />

を 取 得 した 際 に 得 られる 値 と 同 じ 値 を 格 納 しなければならない。<br />

実 装 要 求<br />

MUST-1<br />

ネットワーク 構 成 <strong>IGD</strong> 状 態 確 認 試 験 用 ネットワーク 構 成<br />

前 提 条 件<br />

-<br />

試 験 1<br />

-<br />

備 考<br />

F6-G1 および G2 の 試 験 結 果 に 準 ずる。<br />

6.1.8 ガ イ ド ラ イ ン 機 能 要 件 [F8]<br />

ガイドライン ID F8-G1<br />

ガイドライン 内 容 <strong>IGD</strong> は、<strong>UPnP</strong> WAN{IP/PPP}Connection の IP アドレス 取 得 要 求<br />

(GetExternalIPAddress)を 受 信 した 場 合 、 応 答 内 の 出 力 引 数<br />

ExternalIPAddress に 状 態 変 数 ExternalIPAddress を 取 得 した 際 に<br />

得 られる 値 と 同 じ 値 を 格 納 しなければならない。<br />

実 装 要 求<br />

MUST-1<br />

ネットワーク 構 成 <strong>IGD</strong> 状 態 確 認 試 験 用 ネットワーク 構 成<br />

前 提 条 件<br />

-<br />

試 験 1<br />

-<br />

備 考<br />

F6-G3 の 試 験 結 果 に 準 ずる。<br />

- 23 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

6.1.9 ガ イ ド ラ イ ン 機 能 要 件 [F9]<br />

ガイドライン ID F9-G1<br />

ガイドライン 内 容 ポートマッピング 追 加 要 求 時 に 使 用 される 引 数 に 関 する 要 件 を 示 す。<br />

PortMappingEnabled 「0」は 無 効 「1」は 有 効<br />

<strong>IGD</strong> は、 有 効 指 定 を 受 け 付 けなければならない(MUST-1)。<br />

<strong>IGD</strong> は、 無 効 指 定 を 受 け 付 けるべきである(SHOULD)。<br />

実 装 要 求<br />

MUST-1/SHOULD<br />

ネットワーク 構 成 ポートマッピング 機 能 試 験 用 構 成<br />

前 提 条 件 <strong>IGD</strong>、CP1/2、テストサーバ1/2 間 が 通 信 可 能 で、<br />

テストサーバ1IP アドレス = 192.0.2.201/26<br />

テストサーバ2IP アドレス = 192.0.2.202/26<br />

<strong>IGD</strong> WAN 側 IP アドレス = 192.0.2.1/32<br />

<strong>IGD</strong> LAN 側 IP アドレス = 192.168.1.1/24<br />

CP1 IP アドレス = 192.168.1.2/24<br />

CP1 IP アドレス = 192.168.1.3/24<br />

WAN{IP/PPP}Connection の ConnectionStatus =<br />

Connected<br />

それ 以 外 の WAN{IP/PPP}Connection の Status =<br />

Connected 以 外<br />

ポート 15000/25000 がビルトイン・ポートマッピングで 使 用 されてい<br />

る 場 合 には 他 のポートを 使 用 する。<br />

( 補 足 )<br />

192.0.2.0/24 は”TEST-NET”として 割 り 当 てられており、 公 共 インタ<br />

ーネットに 使 われるべきではない(RFC3330 Special-Use IPv4<br />

Address より)。<br />

試 験 1<br />

ポートマッピングを 有 効 指 定 して 追 加 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録<br />

- 24 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2<br />

備 考<br />

されたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

ポートマッピングを 無 効 指 定 して 追 加 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 0<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 不 可 能 な こ と を 確 認 す る 。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID F9-G2<br />

ガイドライン 内 容 ポートマッピング 追 加 要 求 時 に 使 用 される 引 数 に 関 する 要 件 を 示 す。<br />

PortMappingLeaseDuration<br />

「0」は 静 的 ポートマッピング<br />

「0 以 外 」の 場 合 は 動 的 ポートマッピング<br />

<strong>IGD</strong> は、 静 的 ポートマッピング 設 定 を 受 け 付 けなければならない<br />

(MUST-1)。<br />

<strong>IGD</strong> は、 動 的 ポートマッピング 指 定 も 受 け 付 けなければならない<br />

(MUST-2)。<br />

実 装 要 求<br />

MUST-1/MUST-2<br />

ネットワーク 構 成 ポートマッピング 機 能 試 験 用 構 成<br />

前 提 条 件<br />

F9-G1 と 同 様<br />

- 25 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 1<br />

試 験 2<br />

静 的 ポートマッピングを 追 加 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

動 的 ポートマッピングを 追 加 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 60<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 AddPortMapping 後 、30 秒 以 内 に<br />

GetGenericPortMappingEntry により 登 録 されたポートマッピ<br />

ングの NewLeaseDuration の 値 が 約 30 となっていることを 確 認<br />

する。<br />

3 AddPortMapping 後 、30 秒 以 内 に<br />

GetSpecificPortMappingEntry により 登 録 されたポートマッピ<br />

ングの NewLeaseDuration の 値 が 約 30 となっていることを 確 認<br />

する。<br />

4 AddPortMapping 後 、60 秒 以 内 に テ ス ト サ ー バ 1 よ り<br />

192.0.2.1:15000 に UDP 接 続 し 、 CP1 と 接 続 可 能 な こ<br />

- 26 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

と を 確 認 す る 。<br />

5 AddPortMapping 後 、66 秒 以 後 に<br />

GetGenericPortMappingEntry により 登 録 されたポートマッピ<br />

ングが 削 除 されていることを 確 認 する。<br />

6 AddPortMapping 後 、66 秒 以 後 に テ ス ト サ ー バ 1 よ り<br />

192.0.2.1:15000 に UDP 接 続 し 、 CP1 と 接 続 不 可 能 な<br />

こ と を 確 認 す る 。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID F9-G3<br />

ガイドライン 内 容 ポートマッピング 追 加 要 求 時 に 使 用 される 引 数 に 関 する 要 件 を 示 す。<br />

RemoteHost 「 空 文 字 」<br />

「IP アドレス」<br />

<strong>IGD</strong> は、 空 文 字 を 受 け 付 けなければならない(MUST-1)。<br />

<strong>IGD</strong> は、 特 定 IP アドレスを 受 け 付 けなければならない(MUST-2)。<br />

実 装 要 求<br />

MUST-1/MUST-2<br />

ネットワーク 構 成 ポートマッピング 機 能 試 験 用 構 成<br />

前 提 条 件<br />

F9-G1 と 同 様<br />

試 験 1<br />

RemoteHost に 空 文 字 を 指 定 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

5 テ ス ト サ ー バ 2 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

- 27 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2<br />

備 考<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

RemoteHost に 特 定 IP アドレスを 指 定 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

5 テ ス ト サ ー バ 2 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 不 可 能 な こ と を 確 認 す る 。<br />

<strong>IGD</strong> が RemoteHost に IP アドレス 指 定 ができない 実 装 の 場 合 、 試 験<br />

2 は 必 ず 失 敗 する。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID F9-G4<br />

ガイドライン 内 容 ポートマッピング 追 加 要 求 時 に 使 用 される 引 数 に 関 する 要 件 を 示 す。<br />

ExternalPort 「1 以 上 65535 以 下 の 値 」<br />

<strong>IGD</strong> は 、 1 以 上 65535 以 下 の 値 を 受 け 付 け る 。 0 指 定 さ れ<br />

た 場 合 、 適 切 な エ ラ ー (716 =<br />

WildCardNotPermittedInExtPort)を 返 さ な け れ ば な ら な<br />

い 。<br />

実 装 要 求<br />

MUST-2<br />

ネットワーク 構 成 ポートマッピング 機 能 試 験 用 構 成<br />

前 提 条 件<br />

F9-G1 と 同 様<br />

試 験 1<br />

ExternalPort に 特 定 ポートを 指 定 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

- 28 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2<br />

備 考<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

ExternalPort に 0 を 指 定 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 0<br />

InternalPort = 15000 ( 無 視 される)<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 エ ラ ー (716 = WildCardNotPermittedInExtPort)が 返<br />

る こ と を 確 認 す る 。<br />

試 験 1 については、Well-known ではないポート 3 つ 程 度 について 行<br />

う。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID F9-G5<br />

ガイドライン 内 容 ポートマッピング 追 加 要 求 時 に 使 用 される 引 数 に 関 する 要 件 を 示 す。<br />

InternalPort 「1 以 上 65535 以 下 の 値 」<br />

<strong>IGD</strong> は、1 以 上 65535 以 下 の 値 を 受 け 付 ける。<br />

実 装 要 求<br />

MUST-1<br />

- 29 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

ネットワーク 構 成<br />

前 提 条 件<br />

試 験 1<br />

備 考<br />

ポートマッピング 機 能 試 験 用 構 成<br />

F9-G1 と 同 様<br />

InternalPort を 指 定 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

試 験 1 については、Well-known ではないポート 3 つ 程 度 について 行<br />

う。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID F9-G6<br />

ガイドライン 内 容 ポートマッピング 追 加 要 求 時 に 使 用 される 引 数 に 関 する 要 件 を 示 す。<br />

PortMappingProtocol<br />

「UDP」<br />

「TCP」<br />

<strong>IGD</strong> は、UDP、または、TCP 指 定 を 受 け 付 ける。<br />

実 装 要 求<br />

MUST-1<br />

ネットワーク 構 成 ポートマッピング 機 能 試 験 用 構 成<br />

前 提 条 件<br />

F9-G1 と 同 様<br />

試 験 1<br />

TCP を 指 定 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

- 30 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2<br />

備 考<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に TCP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

UDP を 指 定 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録<br />

されたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID F9-G7<br />

ガイドライン 内 容 ポートマッピング 追 加 要 求 時 に 使 用 される 引 数 に 関 する 要 件 を 示 す。<br />

PortMappingDescription<br />

文 字 列<br />

<strong>IGD</strong> は、ポートマッピング 追 加 要 求 の 入 力 引 数<br />

PortMappingDescription に 空 文 字 列 が 指 定 されることを 許 可 しなけれ<br />

ばならない。<br />

- 31 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

実 装 要 求<br />

ネットワーク 構 成<br />

前 提 条 件<br />

試 験 1<br />

備 考<br />

MUST-1<br />

ポートマッピング 機 能 試 験 用 構 成<br />

F9-G1 と 同 様<br />

空 文 字 を 指 定 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

有 効 な 文 字 列 を 指 定 した 場 合 は 他 の 試 験 にて 代 替 する。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

前 提 条 件 ・ 試 験<br />

備 考<br />

F9-G8<br />

<strong>IGD</strong> は 、 ポ ー ト マ ッ ピ ン グ の 設 定 に お い て 、 先 に 書 い た ポ<br />

ー ト マ ッ ピ ン グ を 優 先 す る (first write wins)し な け れ ば な<br />

ら な い 。<br />

MUST-1<br />

F9-G4/G11/G12/G13/G14 を 満 たす 場 合 、first write wins が 有 効 とな<br />

ることはない。<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

F9-G9<br />

<strong>IGD</strong> は 、 CP か ら ポ ー ト マ ッ ピ ン グ 追 加 要 求<br />

(AddPortMapping)を 受 信 し た 場 合 で 、そ の 要 求 が 成 功 す る<br />

場 合 は 、 ポ ー ト マ ッ ピ ン グ 転 送 に 必 要 な 適 切 な フ ァ イ ヤ ウ<br />

- 32 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

実 装 要 求<br />

前 提 条 件 ・ 試 験<br />

備 考<br />

ォ ー ル 処 理 を 行 わ な け れ ば な ら な い 。<br />

MUST-1<br />

F9 のその 他 の 試 験 におけるポートマッピング 動 作 確 認 にて 代 替 する<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

F9-G10<br />

<strong>IGD</strong> は 、 CP か ら ポ ー ト マ ッ ピ ン グ 追 加 要 求<br />

(AddPortMapping)を 受 信 し た 場 合 で 、そ の 要 求 が 成 功 す る<br />

場 合 は 、 ポ ー ト マ ッ ピ ン グ 転 送 に 必 要 な 適 切 な フ ァ イ ヤ ウ<br />

ォ ー ル 処 理 を 行 わ な け れ ば な ら な い 。<br />

( 補 足 )<br />

既 存 の ポ ー ト マ ッ ピ ン グ と 一 致 す る (○)ま た は 異 な る (×)、ポ<br />

ー ト マ ッ ピ ン グ 追 加 要 求 に つ い て 、 下 表 の 組 合 せ が 全 て 成<br />

功 す る こ と を 確 認 す る 。<br />

PortMapping External Remote Internal<br />

実 装 要 求<br />

前 提 条 件<br />

Proto col Port Host Client<br />

試 験 1 × × × ×<br />

試 験 2 × × × ○<br />

試 験 3 × ○ ×<br />

試 験 4 × × ○ ○<br />

試 験 5 × ○ × ×<br />

試 験 6 × ○ × ○<br />

試 験 7 × ○ ○ ×<br />

試 験 8 × ○ ○ ○<br />

試 験 9 ○ × × ×<br />

試 験 10 ○ × × ○<br />

試 験 11 ○ × ○ ×<br />

試 験 12 ○ × ○ ○<br />

MUST-1<br />

F9-G1 と 同 様<br />

F9-G3 試 験 2 が 成 功 した 場 合 (RemoteHost に IP アドレス 指 定 できる)<br />

は、すべての 試 験 を 実 施 する。<br />

F9-G3 試 験 2 が 不 可 の 場 合 (RemoteHost に IP アドレス 指 定 できない)<br />

は、 試 験 3,4,7,8,11,12 を 実 施 する。<br />

- 33 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 1<br />

試 験 2<br />

PortMappingProtocol/ExternalPort/RemoteHost/InternalClient が<br />

既 存 のポートマッピングと 全 て 異 なるポートマッピング 追 加 要 求 が 成<br />

功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.202<br />

ExternalPort = 25000<br />

InternalPort = 25000<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.3<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 2 よ り 192.0.2.1:25000 に TCP 接 続 し 、CP2<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

PortMappingProtocol/ExternalPort/RemoteHost が 既 存 のポートマッ<br />

ピングと 異 なり、InternalClient のみ 一 致 するポートマッピング 追 加<br />

要 求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

- 34 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 3<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.202<br />

ExternalPort = 25000<br />

InternalPort = 25000<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 2 よ り 192.0.2.1:25000 に TCP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

PortMappingProtocol/ExternalPort/InternalClient が 既 存 のポートマ<br />

ッピングと 異 なり、RemoteHost のみ 一 致 するポートマッピング 追 加<br />

要 求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

- 35 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 4<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 25000<br />

InternalPort = 25000<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.3<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 1 よ り 192.0.2.1:25000 に TCP 接 続 し 、CP2<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

PortMappingProtocol/ExternalPort が 既 存 のポートマッピングと 異 な<br />

り、RemoteHost/InternalClient が 一 致 するポートマッピング 追 加 要 求<br />

が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

- 36 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 5<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 25000<br />

InternalPort = 25000<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 1 よ り 192.0.2.1:25000 に TCP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

PortMappingProtocol/RemoteHost/InternalClient が 既 存 のポートマ<br />

ッピングと 異 なり、ExternalPort のみ 一 致 するポートマッピング 追 加<br />

要 求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.202<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

- 37 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 6<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.3<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 2 よ り 192.0.2.1:15000 に TCP 接 続 し 、CP2<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

PortMappingProtocol/RemoteHost が 既 存 のポートマッピングと 異 な<br />

り、ExternalPort/InternalClient の 一 致 するポートマッピング 追 加 要<br />

求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.202<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

- 38 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 7<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 2 よ り 192.0.2.1:15000 に TCP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

PortMappingProtocol/InternalClient が 既 存 のポートマッピングと 異<br />

なり、ExternalPort/RemoteHost の 一 致 するポートマッピング 追 加 要<br />

求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.3<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に TCP 接 続 し 、CP2<br />

- 39 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 8<br />

試 験 9<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

PortMappingProtocol が 既 存 のポートマッピングと 異 なり、<br />

ExternalPort/RemoteHost/InternalClient の 一 致 するポートマッピン<br />

グ 追 加 要 求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に TCP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

ExternalPort/RemoteHost/InternalClient が 既 存 のポートマッピング<br />

と 異 なり、PortMappingProtocol のみ 一 致 するポートマッピング 追 加<br />

要 求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

- 40 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 10<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.202<br />

ExternalPort = 25000<br />

InternalPort = 25000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.3<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 2 よ り 192.0.2.1:25000 に UDP 接 続 し 、CP2<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

ExternalPort/RemoteHost が 既 存 のポートマッピングと 異 なり、<br />

PortMappingProtocol/InternalClient のみ 一 致 するポートマッピング<br />

追 加 要 求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

ExternalPort = 15000<br />

- 41 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 11<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.202<br />

ExternalPort = 25000<br />

InternalPort = 25000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 2 よ り 192.0.2.1:25000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

ExternalPort/InternalClient が 既 存 のポートマッピングと 異 なり、<br />

PortMappingProtocol/RemoteHost のみ 一 致 するポートマッピング 追<br />

加 要 求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

- 42 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 12<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 25000<br />

InternalPort = 25000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.3<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 1 よ り 192.0.2.1:25000 に UDP 接 続 し 、CP2<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

ExternalPort が 既 存 のポートマッピングと 異 なり、<br />

PortMappingProtocol/RemoteHost/InternalClient のみ 一 致 するポー<br />

トマッピング 追 加 要 求 が 成 功 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 25000<br />

- 43 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

InternalPort = 25000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テ ス ト サ ー バ 1 よ り 192.0.2.1:25000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

前 提 条 件<br />

試 験 1<br />

F9-G11<br />

<strong>IGD</strong> は 、 CP か ら ポ ー ト マ ッ ピ ン グ 追 加 要 求<br />

(AddPortMapping)を 受 信 し 、 か つ 、 そ の 要 求 の<br />

RemoteHost、 ExternalPort、 PortMappingProtocol、<br />

InternalClient が 完 全 に 一 致 す る 既 存 の ポ ー ト マ ッ ピ ン グ<br />

を 持 つ 場 合 は 、 そ の 要 求 を 受 理 し 、 既 存 の ポ ー ト マ ッ ピ ン<br />

グ の InternalPort、 PortMappingDescription、<br />

PortMappingEnabled、 PortMappingLeaseDuration を 上<br />

書 き し な け れ ば な ら な い 。<br />

MUST-1<br />

F9-G1 と 同 様<br />

AddPortMapping の 上 書 き 動 作 を 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 60<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

- 44 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

PortMappingDescription = “”<br />

2 上 記 AddPortMapping より 60 秒 以 内 に CP1 より <strong>IGD</strong> に 以 下 の<br />

AddPortMapping が 成 功 することを 確 認 する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 上 書 き<br />

されたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 上 書 き<br />

されたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

の ポ ー ト 15000 と 接 続 可 能 な こ と を 確 認 す る 。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

前 提 条 件<br />

試 験 1<br />

F9-G12<br />

<strong>IGD</strong> は 、 CP か ら ポ ー ト マ ッ ピ ン グ 追 加 要 求<br />

(AddPortMapping)を 受 信 し 、 か つ 、 そ の 要 求 の<br />

ExternalPort、PortMappingProtocol、RemoteHost が 一 致<br />

す る 場 合 で 、InternalClient が 異 な る 既 存 の ポ ー ト マ ッ ピ ン<br />

グ を 持 つ 場 合 は 、 そ の 要 求 を 拒 否 し 、 CP に 対 し て 適 切 な エ<br />

ラ ー (エ ラ ー 番 号 718)を 返 信 し な け れ ば な ら な い 。<br />

MUST-1<br />

F9-G1 と 同 様<br />

AddPortMapping の 失 敗 を 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

- 45 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.3<br />

PortMappingDescription = “HATS”<br />

3 CP1 にエラー(エラー 番 号 718)が 返 ることを 確 認 する。<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

前 提 条 件<br />

試 験 1<br />

F9-G13<br />

<strong>IGD</strong> は 、 CP か ら ポ ー ト マ ッ ピ ン グ 追 加 要 求<br />

(AddPortMapping)を 受 信 し 、 か つ 、 そ の 要 求 の<br />

ExternalPort、 PortMappingProtocol、 InternalClient が 一<br />

致 す る 場 合 で 、 RemoteHost が 異 な る 既 存 の ポ ー ト マ ッ ピ ン<br />

グ を 持 つ 場 合 は 、 そ の 要 求 を First Write wins に 従 っ て 判 定<br />

し 、 有 効 で あ る 場 合 に は 追 加 す る こ と が 望 ま し い (SHOULD)。<br />

も し く は 、 要 求 を 判 定 す る こ と な く 拒 否 し て も よ い 。 そ の 場<br />

合 に は 、CP に 対 し て 適 切 な エ ラ ー (エ ラ ー 番 号 718)、も し く<br />

は 成 功 を 返 信 し な け れ ば な ら な い 。 (MUST-2)<br />

MUST-2<br />

F9-G1 と 同 様<br />

F9-G3 試 験 2 が 成 功 した 場 合 (RemoteHost に IP アドレス 指 定 できる)<br />

は 本 試 験 を 実 施 する。<br />

AddPortMapping の 失 敗 または 成 功 を 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認 す<br />

る。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

- 46 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.202<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 され<br />

たことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、 CP1<br />

の ポ ー ト 15000 と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テス ト サ ー バ 2 よ り 192.0.2.1:15000 に UDP 接 続 し 、 CP1<br />

の ポ ー ト 15000 と 接 続 可 能 な こ と を 確 認 す る 。<br />

7 CP1 にエラーが 返 答 された 場 合 、 適 切 なエラー(718 =<br />

ConflictInMappingEntry)が 返 ることを 確 認 する。<br />

AddPortMapping の 失 敗 を 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認 す<br />

る。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

- 47 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

CP1 にエラー(エラー 番 号 718)が 返 ることを 確 認 する。<br />

<strong>UPnP</strong> <strong>IGD</strong> 仕 様 では 上 記 条 件 におけるポートマッピング 追 加 要 求 が 成 功<br />

するか 失 敗 するかはベンダ 依 存 としている。HATS 推 奨 ルータでは 適 切<br />

な 応 答 を 返 すことのみを 要 求 する。<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

前 提 条 件<br />

試 験 1<br />

F9-G14<br />

<strong>IGD</strong> は 、 CP か ら ポ ー ト マ ッ ピ ン グ 追 加 要 求<br />

(AddPortMapping)を 受 信 し 、 か つ 、 そ の 要 求 の<br />

ExternalPort、 PortMappingProtocol が 一 致 す る 場 合 で 、<br />

RemoteHost と InternalClient の 両 方 が 異 な る 既 存 の ポ ー<br />

ト マ ッ ピ ン グ を 持 つ 場 合 は 、 そ の 要 求 を First Write wins<br />

に 従 っ て 判 定 し 、 有 効 で あ る 場 合 に は 追 加 す る こ と が 望 ま<br />

し い (SHOUD)。 も し く は 、 要 求 を 判 定 す る こ と な く 拒 否 し<br />

て も よ い 。 そ の 場 合 に は 、 CP に 対 し て 適 切 な エ ラ ー (エ ラ<br />

ー 番 号 718)、 も し く は 成 功 を 返 信 し な け れ ば な ら な い 。<br />

(MUST-2)<br />

MUST-2<br />

F9-G1 と 同 様<br />

F9-G3 試 験 2 が 成 功 した 場 合 (RemoteHost に IP アドレス 指 定 できる)<br />

は 本 試 験 を 実 施 する。<br />

AddPortMapping の 失 敗 または 成 功 を 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.201<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

- 48 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = 192.0.2.202<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.3<br />

PortMappingDescription = “HATS”<br />

3 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

5 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

の ポ ー ト 15000 と 接 続 可 能 な こ と を 確 認 す る 。<br />

6 テテ ス ト サ ー バ 2 よ り 192.0.2.1:15000 に UDP 接 続 し 、<br />

CP2 の ポ ー ト 15000 と 接 続 可 能 な こ と を 確 認 す る<br />

7 CP1 にエラーが 返 答 された 場 合 、 適 切 なエラー(718 =<br />

ConflictInMappingEntry)が 返 ることを 確 認 する。<br />

AddPortMapping の 失 敗 を 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

- 49 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

3<br />

RemoteHost = 192.0.2.202<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.3<br />

PortMappingDescription = “HATS”<br />

CP1 にエラー(エラー 番 号 718)が 返 ることを 確 認 する<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

前 提 条 件<br />

試 験 1<br />

( 全 ての 装 置 を 対<br />

象 )<br />

F9-G15<br />

<strong>IGD</strong> は 、ポ ー ト マ ッ ピ ン グ 追 加 要 求 (AddPortMapping)で 指<br />

定 さ れ た ポ ー ト マ ッ ピ ン グ の リ ー ス 期 間<br />

(PortMappingLeaseDuration)を ポ ー ト マ ッ ピ ン グ 有 効 フ<br />

ラ グ (PortMappingEnabled)の 値 に 関 わ ら ず 、カ ウ ン ト ダ ウ<br />

ン し な け れ ば な ら な い 。<br />

MUST-1<br />

F9-G1 と 同 様<br />

PortMappingEnabled=1 の 場 合 について 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 60<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 AddPortMapping 後 、30 秒 以 内 に GetGenericPortMappingEntry<br />

により 登 録 されたポートマッピングの NewLeaseDuration の 値 が<br />

約 30 となっていることを 確 認 する。<br />

3 AddPortMapping 後 、30 秒 以 内 に GetSpecificPortMappingEntry<br />

により 登 録 されたポートマッピングの NewLeaseDuration の 値 が<br />

約 30 となっていることを 確 認 する。<br />

4 AddPortMapping 後 、 60 秒 以 内 に テ ス ト サ ー バ 1 よ り<br />

192.0.2.1:15000 に UDP 接 続 し 、 CP1 と 接 続 可 能 な こ<br />

- 50 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2<br />

( 無 効 指 定 をサポー<br />

トする 装 置 のみ 対<br />

象 )<br />

備 考<br />

と を 確 認 す る 。<br />

5 AddPortMapping 後 、66 秒 以 後 に GetSpecificPortMappingEntry<br />

により 登 録 されたポートマッピングが 削 除 されていることを 確 認<br />

する。<br />

6 AddPortMapping 後 、 66 秒 以 後 に テ ス ト サ ー バ 1 よ り<br />

192.0.2.1:15000 に UDP 接 続 し 、 CP1 と 接 続 不 可 能 な<br />

こ と を 確 認 す る 。<br />

PortMappingEnabled=0 の 場 合 について 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping が 成 功 することを 確 認<br />

する。<br />

PortMappingEnabled = 0<br />

PortMappingLeaseDuration = 60<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 AddPortMapping 後 、30 秒 以 内 に GetGenericPortMappingEntry<br />

により 登 録 されたポートマッピングの NewLeaseDuration の 値 が<br />

約 30 となっていることを 確 認 する。<br />

3 AddPortMapping 後 、30 秒 以 内 に GetSpecificPortMappingEntry<br />

により 登 録 されたポートマッピングの NewLeaseDuration の 値 が<br />

約 30 となっていることを 確 認 する。<br />

4 AddPortMapping 後 、 60 秒 以 内 に テ ス ト サ ー バ 1 よ り<br />

192.0.2.1:15000 に UDP 接 続 し 、 CP1 と 接 続 不 可 能 な<br />

こ と を 確 認 す る 。<br />

5 AddPortMapping 後 、66 秒 以 後 に GetSpecificPortMappingEntry<br />

により 登 録 されたポートマッピングが 削 除 されていることを 確 認<br />

する。<br />

6 AddPortMapping 後 、 66 秒 以 後 に テ ス ト サ ー バ 1 よ り<br />

192.0.2.1:15000 に UDP 接 続 し 、 CP1 と 接 続 不 可 能 な<br />

こ と を 確 認 す る 。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

- 51 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

前 提 条 件<br />

試 験<br />

備 考<br />

F9-G16<br />

ポ ー ト マ ッ ピ ン グ の リ ー ス 期 間<br />

(PortMappingLeaseDuration)が 0 に な っ た 場 合 、そ の ポ ー<br />

ト マ ッ ピ ン グ は 削 除 さ れ な け れ ば な ら な い 。<br />

MUST-1<br />

F9-G1 と 同 様<br />

F9-G15 の 試 験 1、 試 験 2 にて 代 替 する。<br />

ガイドライン ID F9-G17<br />

ガイドライン 内 容 <strong>IGD</strong> は 、 CP か ら の ポ ー ト マ ッ ピ ン グ 削 除 要 求<br />

(DeletePortMapping)を 受 信 し 、 か つ 、 そ の 要 求 の<br />

ExternalPort、 PortMappingProtocol が 一 致 す る 既 存 の ポ<br />

ー ト マ ッ ピ ン グ を 持 つ 場 合 は 、 そ の 要 求 を 受 理 し 、 一 致 し<br />

た ポ ー ト マ ッ ピ ン グ を 削 除 し な け れ ば な ら な い 。<br />

実 装 要 求<br />

MUST-2<br />

前 提 条 件<br />

F9-G1と 同 様<br />

試 験 1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 GetGenericPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

3 GetSpecificPortMappingEntry によりポートマッピングが 登 録 さ<br />

れたことを 確 認 する。<br />

4 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 可 能 な こ と を 確 認 す る 。<br />

5 CP1 より <strong>IGD</strong> に DeletePortMapping を 行 い、 以 下 のポートマッ<br />

ピング 状 態 を 削 除 する。<br />

NewRemoteHost = “”<br />

NewExternalPort = 15000<br />

- 52 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

NewProtocol = UDP<br />

6 GetSpecificPortMappingEntry によりポートマッピングが 削 除 さ<br />

れたことを 確 認 する。<br />

7 テ ス ト サ ー バ 1 よ り 192.0.2.1:15000 に UDP 接 続 し 、CP1<br />

と 接 続 不 可 能 な こ と を 確 認 す る 。<br />

GetGenericPortMappingEntry、GetSpecificPortMappingEntry によ<br />

る 確 認 方 法 は、F9-G18 の 試 験 1、 試 験 2 を 参 照 すること。<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

実 装 要 求<br />

前 提 条 件<br />

試 験 1<br />

F9-G18<br />

<strong>IGD</strong> は 、 ポ ー ト マ ッ ピ ン グ 状 態 を 取 得 す る た め に<br />

GetGenericPortMappingEntry と<br />

GetSpecificPortMappingEntry を 実 装 し な け れ ば な ら な<br />

い 。<br />

MUST-1<br />

F9-G1 と 同 様<br />

GetGenericPortMappingEntry で PortMappingNumberOfEntries の<br />

0 から 順 にポートマッピングを 取 得 し、ポートマッピング 状 態 を 取 得 で<br />

きることを 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の GetGenericPortMappingEntry を 行 う。<br />

NewPortMappingIndex = 0<br />

3 得 られたポートマッピングが 以 下 のようになることを 確 認 する。<br />

NewRemotoHost = “”<br />

NewExternalPort = 15000<br />

NewProtocol = UDP<br />

NewInternalPort = 15000<br />

NewInternalClient = 192.168.1.2<br />

NewEnabled = 1<br />

- 53 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

試 験 2<br />

備 考<br />

NewPortMappingDescription = HATS<br />

NewLeaseDuration = 0<br />

4 23で 一 致 し な い 場 合 は 、 23の NewPortMappingIndex を<br />

イ ン ク リ メ ン ト し 、GetGenericPortMappingEntry を 繰<br />

り 返 す 。<br />

5 GetGenericPortMappingEntry のレスポンスでエラー( 番 号 713)<br />

が 返 るまでに、23と 一 致 するポートマッピングが 得 られることを 確<br />

認 する。<br />

GetSpecificPortMappingEntry で、ポートマッピング 状 態 を 取 得 でき<br />

ることを 確 認 する。<br />

1 CP1 より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 15000<br />

InternalPort = 15000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HATS”<br />

2 CP1 より <strong>IGD</strong> に 以 下 の GetSpecificPortMappingEntry を 行 う。<br />

NewRemoteHost = “”<br />

NewExternalPort = 15000<br />

NewProtocol = UDP<br />

3 得 られたポートマッピングが 以 下 のようになることを 確 認 する。<br />

NewInternalPort = 15000<br />

NewInternalClient = 192.168.1.2<br />

NewEnabled = 1<br />

NewPortMappingDescription = HATS<br />

NewLeaseDuration = 0<br />

ガイドライン ID<br />

ガイドライン 内 容<br />

F9-G19<br />

ビ ル ト イ ン ・ ポ ー ト マ ッ ピ ン グ を <strong>IGD</strong> の ポ ー ト マ ッ ピ ン グ<br />

追 加 要 求 に よ っ て 変 更 で き な い よ う に <strong>IGD</strong> を 実 装 し た 場<br />

合 、 ビ ル ト イ ン ・ ポ ー ト マ ッ ピ ン グ を 変 更 す る ポ ー ト マ ッ<br />

ピ ン グ 追 加 要 求 (AddPortMapping)に 対 し て 、<strong>IGD</strong> は 要 求 し<br />

- 54 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

た CP に エ ラ ー レ ス ポ ン ス を 返 信 し な け れ ば な ら な い 。<br />

実 装 要 求<br />

MUST-2<br />

前 提 条 件<br />

以 下 のようなビルトイン・ポートマッピングが 存 在 し、ポートマッピ<br />

ング 追 加 要 求 によって 変 更 ・ 削 除 できないものとする。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 80<br />

InternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.1<br />

PortMappingDescription = “Built-in”<br />

( 補 足 ) インターネット 側 から Web 設 定 画 面 にアクセス 可 能 なルータ<br />

を 想 定 している。<br />

試 験 1 1 CP より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 0<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 80<br />

InternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “”<br />

2 エラーが 返 ることを 確 認 する。<br />

備 考<br />

ガイドライン ID F9-G20<br />

ガイドライン 内 容 ビ ル ト イ ン ・ ポ ー ト マ ッ ピ ン グ を <strong>IGD</strong> の ポ ー ト マ ッ ピ ン グ<br />

削 除 要 求 に よ っ て 削 除 で き な い よ う に <strong>IGD</strong> を 実 装 し た 場<br />

合 、 ビ ル ト イ ン ・ ポ ー ト マ ッ ピ ン グ を 削 除 す る ポ ー ト マ ッ<br />

ピ ン グ 削 除 要 求 (DeletePortMapping)に 対 し て 、<strong>IGD</strong> は 要 求<br />

し た CP に エ ラ ー レ ス ポ ン ス を 返 信 し な け れ ば な ら な い 。<br />

実 装 要 求<br />

MUST-2<br />

前 提 条 件<br />

F9-G19 と 同 様<br />

試 験 1 1 CP より <strong>IGD</strong> に DeletePortMapping を 行 い、 以 下 のポートマッピ<br />

ングを 削 除 する。<br />

- 55 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

備 考<br />

2<br />

NewRemoteHost = “”<br />

NewExternalPort = 80<br />

NewProtocol = TCP<br />

エラーが 返 ることを 確 認 する。<br />

ガイドライン ID F9-G21<br />

ガイドライン 内 容 ユ ー ザ 指 定 ポ ー ト マ ッ ピ ン グ を <strong>IGD</strong> の ポ ー ト マ ッ ピ ン グ 追<br />

加 要 求 に よ っ て 変 更 で き な い よ う に <strong>IGD</strong> を 実 装 し た 場 合 、<br />

ユ ー ザ 指 定 ポ ー ト マ ッ ピ ン グ を 変 更 す る ポ ー ト マ ッ ピ ン グ<br />

追 加 要 求 (AddPortMapping)に 対 し て 、 <strong>IGD</strong> は 要 求 し た CP<br />

に エ ラ ー レ ス ポ ン ス を 返 信 し な け れ ば な ら な い 。<br />

実 装 要 求<br />

MUST-2<br />

前 提 条 件<br />

以 下 のようなユーザ 指 定 ポートマッピングを 設 定 し、これがポートマ<br />

ッピング 追 加 要 求 によって 変 更 ・ 削 除 できないものとする。<br />

PortMappingEnabled = 1<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 80<br />

InternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “HTTP”<br />

( 補 足 ) CP1 を 公 開 Web サーバとして 利 用 する 場 合 を 想 定 している。<br />

試 験 1 1. CP より <strong>IGD</strong> に 以 下 の AddPortMapping を 行 う。<br />

PortMappingEnabled = 0<br />

PortMappingLeaseDuration = 0<br />

RemoteHost = “”<br />

ExternalPort = 80<br />

InternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

PortMappingDescription = “”<br />

2. エラーが 返 ることを 確 認 する。<br />

備 考<br />

- 56 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

ガイドライン ID F9-G22<br />

ガイドライン 内 容 ユ ー ザ 指 定 ポ ー ト マ ッ ピ ン グ を <strong>IGD</strong> の ポ ー ト マ ッ ピ ン グ 削<br />

除 要 求 に よ っ て 削 除 で き な い よ う に <strong>IGD</strong> を 実 装 し た 場 合 、<br />

ユ ー ザ 指 定 ポ ー ト マ ッ ピ ン グ を 削 除 す る ポ ー ト マ ッ ピ ン グ<br />

削 除 要 求 (DeletePortMapping)に 対 し て 、 <strong>IGD</strong> は 要 求 し た<br />

CP に エ ラ ー レ ス ポ ン ス を 返 信 し な け れ ば な ら な い 。<br />

実 装 要 求<br />

MUST-2<br />

前 提 条 件<br />

F9-G21 と 同 様<br />

試 験 1 1 CP より <strong>IGD</strong> に DeletePortMapping を 行 い、 以 下 のポートマッピ<br />

ングを 削 除 する。<br />

NewRemoteHost = “”<br />

NewExternalPort = 80<br />

NewProtocol = TCP<br />

2 エラーが 返 ることを 確 認 する。<br />

備 考<br />

6.1.10 ガ イ ド ラ イ ン 機 能 要 件 [F10]<br />

ガイドライン ID F10-G1<br />

ガイドライン 内 容 <strong>IGD</strong> は 、 再 起 動 し た 場 合 に は 、 ポ ー ト マ ッ ピ ン グ 追 加 要 求<br />

(AddPortMapping)に よ っ て 追 加 さ れ た ポ ー ト マ ッ ピ ン グ・エ<br />

ン ト リ は す べ て 削 除 し な け れ ば な ら な い 。<br />

実 装 要 求 MUST-1<br />

前 提 条 件 F9-G18 を 満 たすこと<br />

試 験 1. AddPortMapping によりポートマッピングを 追 加 する。<br />

2. <strong>IGD</strong> を 停 止 する。<br />

3. <strong>IGD</strong> を 停 止 状 態 から 起 動 する。<br />

4. GetGenericPortMappingEntry により AddPortMapping により 追 加 し<br />

たポートマッピング・エントリが 全 て 削 除 されていることを 確 認 す<br />

る。<br />

備 考<br />

GetGenericPortMappingEntry による 確 認 方 法 は、F9-G18 の 試 験 1、 試 験<br />

2 を 参 照 すること。<br />

6.1.11 ガ イ ド ラ イ ン 機 能 要 件 [F11]<br />

ガイドライン ID F11-G1<br />

ガイドライン 内 容 <strong>IGD</strong> は、NATEnabled の 値 によって、NAT の 有 効 / 無 効 を CP に 提 供 しなけ<br />

ればならない。<br />

- 57 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

実 装 要 求<br />

ネットワーク 構 成<br />

前 提 条 件<br />

試 験 1<br />

(NAT をオフにでき<br />

る 装 置 を 対 象 )<br />

試 験 2<br />

( 全 ての 装 置 を 対<br />

象 )<br />

備 考<br />

MUST-1<br />

<strong>IGD</strong> 状 態 確 認 試 験 用 ネットワーク 構 成<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 であること、および<br />

<strong>IGD</strong>-WAN I/F が DHCP により 通 信 可 能 となること<br />

1 <strong>IGD</strong> WAN を 接 続 して、NAT の 動 作 をオフに 設 定 し、CP から<br />

WAN*Connection:1#GetNATRSIPStatus を 要 求 し、 応 答 結 果 が 以 下 で<br />

あることを 確 認 する。<br />

NewNATEnabled=0<br />

2 CP から WANIPConnection:1#AddPortMapping を 要 求 して 適 当 なポー<br />

トマッピング・エントリの 登 録 を 試 み、それが 失 敗 することを 確 認<br />

する。<br />

1 <strong>IGD</strong> WAN を 接 続 して、NAT の 動 作 をオンに 設 定 (あるいは NAT 関 連 動<br />

作 設 定 を 実 施 )し、CP から WAN*Connection:1#GetNATRSIPStatus を<br />

要 求 し、 応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewNATEnabled=1<br />

2 CP から WANIPConnection:1#AddPortMapping を 要 求 して 適 当 なポー<br />

トマッピング・エントリの 登 録 を 試 み、それが 成 功 することを 確 認<br />

する。<br />

6.1.12 ガ イ ド ラ イ ン 機 能 要 件 [F12]<br />

ガイドライン ID F12-G1<br />

ガイドライン 内 容 <strong>IGD</strong> は CP からの 要 求 に 応 じて、<strong>IGD</strong> の 接 続 状 態 ConnectionStatus と WAN<br />

側 IP アドレス ExternalIPAddress の 状 態 が 変 化 したときに CP に 通 知 し<br />

なければならない。<br />

実 装 要 求<br />

MUST-1<br />

ネットワーク 構 成 <strong>IGD</strong> 状 態 確 認 試 験 用 ネットワーク 構 成<br />

前 提 条 件<br />

<strong>IGD</strong>-CP 間 が TCP/IP で 通 信 可 能 であること、および<br />

<strong>IGD</strong>-WAN I/F が 固 定 設 定 および DHCP それぞれにより 通 信 可 能 となること<br />

試 験 1 ( 固 定 ) 1 <strong>IGD</strong> WAN に 固 定 IP アドレスを 設 定 する。<br />

2 <strong>IGD</strong> WAN を 接 続 しない 状 態 で、CP から 状 態 変 数 ConnectionStatus<br />

と ExternalIPAddress の 状 態 変 化 を 通 知 するよう 登 録 (SUBSCRIBE)<br />

し、さらに 同 CP から WANIPConnection:1#GetStatusInfo を 要 求 し、<br />

応 答 結 果 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

3 <strong>IGD</strong> WAN を 接 続 して、 直 後 に CP が 状 態 変 数 ConnectionStatus およ<br />

- 58 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

び ExternalIPAddress のイベント 通 知 を 受 け 取 ること、およびその<br />

値 が 以 下 であることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

NewExternalIPAddress= 有 効 な IP アドレス<br />

4 <strong>IGD</strong> WAN を 切 断 して、 直 後 に CP が 状 態 変 数 ConnectionStatus のイ<br />

ベント 通 知 を 受 け 取 ること、およびその 値 が 以 下 であることを 確 認<br />

する。<br />

NewConnectionStatus=Connected 以 外 の 値<br />

試 験 2 (DHCP) 1 <strong>IGD</strong> WAN に DHCP クライアントを 設 定 する。 固 定 設 定 は 削 除 する。<br />

2 アドレスのリース 期 間 を 60 秒 に 設 定 した DHCP サーバを 接 続 して、<br />

CP から 状 態 変 数 ConnectionStatus と ExternalIPAddress の 状 態 変<br />

化 を 通 知 するよう 登 録 (SUBSCRIBE)し、さらに 同 CP から<br />

WANIPConnection:1#GetStatusInfo を 要 求 し、 応 答 結 果 が 以 下 であ<br />

ることを 確 認 する。<br />

NewConnectionStatus=Connected<br />

NewExternalIPAddress= 有 効 な IP アドレス A<br />

3 DHCP サーバのアドレス 範 囲 を 変 更 する。<br />

4 2の 手 順 から 60 秒 経 過 後 、CP が 状 態 変 数 ExternalIPAddress のイ<br />

ベント 通 知 を 受 け 取 ること、およびその 値 が 以 下 であることを 確 認<br />

する。<br />

NewExternalIPAddress= 有 効 な IP アドレス B<br />

備 考<br />

- 59 -


<strong>UPnP</strong>-<strong>IGD</strong> 相 互 接 続 試 験 実 施 要 領<br />

HATS-M-105-V1.1<br />

7. 判 定<br />

7.1 合 格 条 件<br />

6 章 において、 対 象 となるガイドライン 機 能 要 件 の 要 求 ( 実 装 要 求 )が、MUST-1/MUST-2<br />

である 試 験 の 判 定 結 果 が 全 て OK であるものを 合 格 とする。<br />

7.2 試 験 結 果 の と り ま と め<br />

相 互 接 続 試 験 終 了 後 、トラブルの 有 無 によらず 各 社 は 速 やかに 結 果 を 報 告 し、NAT トラ<br />

バーサル SWG は、その 結 果 を 総 括 する。<br />

8. 結 果 の 取 り 扱 い<br />

8.1 試 験 の 取 り 扱 い<br />

相 互 接 続 試 験 参 加 の 各 社 から 提 出 された 試 験 結 果 は、 事 務 局 で 取 りまとめられた 後 、 適<br />

宜 公 開 する 事 を 原 則 とする。<br />

また 試 験 手 順 、 方 法 、 場 所 、 結 果 などの 記 録 を 残 す 事 により、 今 後 の 試 験 の 効 率 化 を 図<br />

る。<br />

相 互 接 続 試 験 の 実 施 に 伴 い、 本 相 互 接 続 試 験 実 施 要 領 についての 要 望 や 見 直 しの 要 求 が<br />

発 生 した 場 合 には、NAT トラバーサル SWG に 対 して 適 宜 検 討 を 要 請 する 事 ができる。そ<br />

れを 受 けて、SWG では 適 宜 審 査 を 実 施 する。<br />

8.2 そ の 他<br />

試 験 により 確 認 された 標 準 規 定 内 容 の 問 題 等 については、 適 宜 標 準 化 活 動 へのフィード<br />

バックを 検 討 する。<br />

- 60 -


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガイドライン<br />

1


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

1. はじめに .......................................................................................................................... 4<br />

2. 用 語 定 義 .......................................................................................................................... 5<br />

2.1. <strong>UPnP</strong> (Universal Plug and Play)........................................................................... 5<br />

2.2. <strong>UPnP</strong> DA (<strong>UPnP</strong> Device Architecture) ................................................................. 5<br />

2.3. <strong>UPnP</strong> <strong>IGD</strong> (<strong>UPnP</strong> Internet Gateway Device)....................................................... 5<br />

2.4. <strong>IGD</strong> (Internet Gateway Device)............................................................................. 5<br />

2.5. 推 奨 <strong>IGD</strong>.................................................................................................................. 5<br />

2.6. CP (Control Point) .................................................................................................. 5<br />

2.7. ビルトイン・ポートマッピング .............................................................................. 5<br />

2.8. ユーザ 指 定 ・ポートマッピング .............................................................................. 5<br />

3. 参 照 文 献 .......................................................................................................................... 7<br />

4. スコープ .......................................................................................................................... 8<br />

5. 表 記 方 法 ........................................................................................................................ 10<br />

6. 機 能 要 件 .........................................................................................................................11<br />

6.1. Discovery................................................................................................................11<br />

6.2. Description.............................................................................................................11<br />

6.3. Control....................................................................................................................11<br />

6.4. Eventing.................................................................................................................11<br />

7. 実 装 ガイドライン.......................................................................................................... 12<br />

7.1. Discovery............................................................................................................... 12<br />

7.2. Description............................................................................................................ 13<br />

7.3. Control – Layer3Forwarding............................................................................... 16<br />

7.4. Control – WAN{IP/PPP}Connection .................................................................... 18<br />

7.4.1. 状 態 取 得 .......................................................................................................... 18<br />

7.4.2. ポートマッピング 追 加 要 求 ............................................................................ 20<br />

7.4.3. ポートマッピング 削 除 要 求 ............................................................................ 26<br />

7.4.4. ポートマッピング 取 得 要 求 ............................................................................ 26<br />

7.4.5. その 他 ............................................................................................................. 26<br />

7.5. Eventing................................................................................................................ 28<br />

7.6. その 他 .................................................................................................................... 28<br />

Appendix A. 推 奨 <strong>IGD</strong> を 利 用 する 場 合 の CP 想 定 動 作 ....................................................... 29<br />

A.1 他 のポートマッピングを 奪 わないための CP 想 定 動 作 ............................................ 29<br />

A.2 RemoteHost の 取 り 扱 いに 関 する CP 側 の 留 意 点 .................................................... 31<br />

Appendix B. RemoteHost の 取 り 扱 い 関 する 問 題 点 .......................................................... 34<br />

Appendix C. RemoteHost、InternalClient の 取 り 扱 いに 関 する 問 題 点 ........................... 36<br />

2


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

Appendix D. ExternalPort の 取 り 扱 いに 関 する 問 題 点 ..................................................... 37<br />

3


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

1. はじめに<br />

P2P リアルタイム 通 信 ( 図 1)をホームネットワークを 含 むネットワーク 環 境 下 で 実 現 するためには、<br />

NAT 問 題 を 解 決 する 必 要 がある。NAT 問 題 を 解 決 するいくつかの 手 法 が 提 案 されているが、<strong>UPnP</strong><br />

Forum で 提 案 されている <strong>UPnP</strong>-<strong>IGD</strong> 規 格 を 使 った 解 決 手 法 は、<strong>IGD</strong> 対 応 ルータの 普 及 状 況 から<br />

みて 現 実 的 な 手 法 である。<br />

しかし、<strong>UPnP</strong>-<strong>IGD</strong> の 規 格 の 曖 昧 さや 統 一 的 な 接 続 試 験 方 式 がないことにより、 宅 内 機 器 と 市 販<br />

されている <strong>IGD</strong> の 相 互 接 続 性 に 課 題 があり、P2P 接 続 を 特 徴 とするサービスの 実 現 を 困 難 にして<br />

いる。<br />

このような 状 況 を 鑑 み、「<strong>IGD</strong> と 宅 内 機 器 の 相 互 接 続 性 を 向 上 し、ホームネットワークを 含 むネッ<br />

トワーク 環 境 下 において P2P リアルタイム 通 信 サービスを 実 現 すること」を 目 的 として、 本 実 装 ガイド<br />

ラインを 策 定 した。<br />

P2P リアルタイム 通 信<br />

P2P: Peer-to-Peer<br />

NAT: Network Address Translator<br />

FW: Firewall<br />

図 1.P2P リアルタイム 通 信<br />

4


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

2. 用 語 定 義<br />

2.1. <strong>UPnP</strong> (Universal Plug and Play)<br />

宅 内 の 機 器 をネットワークを 通 じて 発 見 、 利 用 するための 規 格 。<br />

2.2. <strong>UPnP</strong> DA (<strong>UPnP</strong> Device Architecture)<br />

Universal Plug and Play Device Architecture Version 1.0(<strong>UPnP</strong> Device Architecture<br />

Version 1.0)によって 規 定 されたアーキテクチャ。<br />

2.3. <strong>UPnP</strong> <strong>IGD</strong> (<strong>UPnP</strong> Internet Gateway Device)<br />

<strong>UPnP</strong> InternetGatewayDevice:1 規 格 。<br />

2.4. <strong>IGD</strong> (Internet Gateway Device)<br />

ホームネットワークがブロードバンド 回 線 と 接 続 される 境 界 点 に 設 置 される 機 器 。 例 えば、ブロー<br />

ドバンドルータ、ADSL モデム、CATV モデムに 相 当 する。 本 実 装 ガイドラインでは、「Firewall/NAT<br />

機 能 を 有 する 可 能 性 がある、ルータまたはブリッジ」で <strong>UPnP</strong> <strong>IGD</strong> 規 格 を 実 装 した 装 置 。<br />

2.5. 推 奨 <strong>IGD</strong><br />

本 実 装 ガイドラインに 準 拠 した <strong>IGD</strong>。<br />

2.6. CP (Control Point)<br />

<strong>UPnP</strong> <strong>IGD</strong> 規 格 に 従 って <strong>IGD</strong> と 連 携 できる 装 置 。<br />

2.7. ビルトイン・ポートマッピング<br />

<strong>IGD</strong> にあらかじめ 予 約 されているポートマッピングのこと。<strong>IGD</strong> は、ビルトイン・ポートマッピングを<br />

実 装 してもよい。ビルトイン・ポートマッピングとして 予 約 されたポートマッピングを <strong>IGD</strong> のポートマッ<br />

ピング 追 加 要 求 によって 変 更 できるかどうか、または、ポートマッピング 削 除 要 求 によって 削 除 でき<br />

るかどうかは、<strong>IGD</strong> の 実 装 依 存 とする。<br />

2.8. ユーザ 指 定 ・ポートマッピング<br />

<strong>IGD</strong> のポートマッピング 追 加 要 求 、または、 削 除 要 求 以 外 の 操 作 で 生 成 されたポートマッピング<br />

5


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

のこと。<strong>IGD</strong> は、<strong>IGD</strong> のポートマッピング 追 加 要 求 、または、 削 除 要 求 以 外 の 方 法 でポートマッピン<br />

グを 操 作 するインタフェースを 実 装 してもよい。ユーザ 指 定 ・ポートマッピングを <strong>IGD</strong> のポートマッピ<br />

ング 追 加 要 求 によって 変 更 できるかどうか、または、ポートマッピング 削 除 要 求 によって 削 除 できる<br />

かどうかは、<strong>IGD</strong> の 実 装 依 存 とする。<br />

6


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

3. 参 照 文 献<br />

<strong>UPnP</strong> Device Architecture<br />

http://www.upnp.org/download/<strong>UPnP</strong>DA10_20000613.htm<br />

<strong>UPnP</strong> InternetGatewayDevice:1<br />

InternetGatewayDevice:1 Device Template Version 1.01.<br />

<strong>UPnP</strong> LANDevice:1<br />

LANDevice:1 Device Template Version 1.01.<br />

<strong>UPnP</strong> LANHostConfigManagement:1<br />

LANHostConfigManagement:1 Service Template Version 1.01.<br />

<strong>UPnP</strong> Layer3Forwarding:1<br />

Layer3Forwarding:1 Service Template Version 1.01.<br />

<strong>UPnP</strong> WANCableLinkConfig:1<br />

WANCableLinkConfig:1 Service Template Version 1.01.<br />

<strong>UPnP</strong> WANCommonInterfaceConfig:1<br />

WANCommonInterfaceConfig:1 Service Template Version 1.01.<br />

<strong>UPnP</strong> WANConnectionDevice:1<br />

WANConnectionDevice:1 Device Template Version 1.01.<br />

<strong>UPnP</strong> WANDevice:1<br />

WANDevice:1 Device Template Version 1.01.<br />

<strong>UPnP</strong> WANDSLLinkConfig:1<br />

WANDSLLinkConfig:1 Service Template Version 1.01.<br />

<strong>UPnP</strong> WANEthernetLinkConfig:1<br />

WANEthernetLinkConfig:1 Service Template Version 1.01.<br />

<strong>UPnP</strong> WANIPConnection:1<br />

WANIPConnection:1 Service Template Version 1.01.<br />

<strong>UPnP</strong> WANPOSTLinkConfig:1<br />

WANPOSTLinkConfig:1 Service Template Version 1.01.<br />

<strong>UPnP</strong> WANPPPConnection:1<br />

WANPPPConnection:1 Service Template Version 1.01.<br />

http://www.upnp.org/standardizeddcps/documents/<strong>UPnP</strong>_<strong>IGD</strong>_1.0.zip<br />

7


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

4. スコープ<br />

本 節 では、 本 実 装 ガイドラインのスコープを 示 す。<br />

<strong>UPnP</strong> <strong>IGD</strong> 規 定 範 囲 内 で、ルータが 備 えるべき、 実 装 ガイドラインを 策 定 する。<br />

P2P リアルタイム 通 信 への 適 用 方 式 はスコープ 外 とする。<br />

本 実 装 ガイドラインで 対 象 とする <strong>IGD</strong> は、<strong>UPnP</strong> InternetGatewayDevice:1 の<br />

規 格 に 基 づき 実 装 されていることを 前 提 とする。<br />

本 実 装 ガイドラインが 対 象 とするネットワークの 構 成 は、<br />

・ CP は、<strong>IGD</strong> を 経 由 してインターネットに 接 続 できること<br />

・ IPv4、IPv6、または、IPv4/IPv6 デュアルであること<br />

・ <strong>IGD</strong> が 多 段 していないこと<br />

・ ネットワーク 構 成 は、 以 下 のいずれかであること<br />

インターネット<br />

<strong>IGD</strong><br />

ホームネット<br />

<strong>IGD</strong><br />

ホームネット<br />

CP<br />

CP<br />

図 2 CP が 異 なる <strong>IGD</strong> 配 下<br />

インターネット<br />

<strong>IGD</strong><br />

ホームネット<br />

CP<br />

CP<br />

図 3 CP が 同 一 <strong>IGD</strong> 配 下<br />

8


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

インターネット<br />

CP<br />

<strong>IGD</strong><br />

ホームネット<br />

CP<br />

図<br />

4 CP 一 方 がインターネットに 存 在<br />

ローカル<br />

ネット<br />

インターネット<br />

CP<br />

<strong>IGD</strong><br />

ホームネット<br />

CP<br />

ローカルネットとは、<br />

例 えば NTT フレッツスクエア<br />

図 5 マルチセッション(<strong>IGD</strong> の WAN 側 アドレスが 複 数 存 在 )<br />

9


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

5. 表 記 方 法<br />

本 実 装 ガイドラインは、 以 下 の 表 記 を 使 用 する。<br />

表 記 意 味<br />

MUST-1 必 ず 実 装 す べ き 仕 様 。 <strong>UPnP</strong> <strong>IGD</strong> で も 必 須 と さ れ る 仕 様 。<br />

MUST-2 必 ず 実 装 す べ き 仕 様 。<strong>UPnP</strong> <strong>IGD</strong> で は 、ベ ン ダ 依 存 、ま た は 必<br />

須 で な い 仕 様 。<br />

SHOULD 必 ず し も 実 装 し な く て よ い が 、 実 装 す る ほ う が 望 ま し い 仕 様 。<br />

[F1] 機 能 要 件<br />

[F1-G1] 機 能 要 件 [F1]を 実 装 す る た め の ガ イ ド ラ イ ン<br />

[ 参 考 ] 参 考 情 報<br />

[ 例 ] 実 装 例<br />

[ 理 由 ] 実 装 ガ イ ド ラ イ ン が 必 要 に な る 理 由<br />

10


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

6. 機 能 要 件<br />

本 節 では、 本 実 装 ガイドラインで 規 定 する <strong>IGD</strong> の 機 能 要 件 を 示 す。<br />

6.1. Discovery<br />

[F1]<br />

[F2]<br />

[F3]<br />

<strong>IGD</strong> は、<strong>IGD</strong> のネットワーク 存 在 通 知 を 定 期 的 に 行 うこと<br />

<strong>IGD</strong> は、<strong>IGD</strong> のネットワーク 離 脱 通 知 を 行 うこと<br />

<strong>IGD</strong> は、CP からの 検 索 要 求 に 応 答 すること<br />

6.2. Description<br />

[F4]<br />

<strong>IGD</strong> は、 提 供 するサービスを 宅 内 機 器 に 提 示 できること<br />

6.3. Control<br />

[F5]<br />

[F6]<br />

<br />

<br />

<br />

<br />

[F7]<br />

[F8]<br />

[F9]<br />

[F10]<br />

と<br />

[F11]<br />

<strong>IGD</strong> は、デフォルト 接 続 サービスを 提 供 することが 望 ましい<br />

<strong>IGD</strong> は、 以 下 の 状 態 を 保 持 し、 宅 内 機 器 にその 情 報 を 提 供 できること<br />

接 続 状 態<br />

接 続 時 間<br />

接 続 エラー<br />

WAN 側 IP アドレス<br />

<strong>IGD</strong> は、WAN 側 接 続 状 態 を 宅 内 機 器 に 提 供 できること<br />

<strong>IGD</strong> は、WAN 側 IP アドレスを 宅 内 機 器 に 提 供 できること<br />

<strong>IGD</strong> は、ポートマッピングの 設 定 、 取 り 消 し、 情 報 取 得 ができること<br />

<strong>IGD</strong> は、 再 稼 動 時 にすべてのポートマッピングを 削 除 した 状 態 で 起 動 するこ<br />

<strong>IGD</strong> は、NAT 機 能 の 有 効 無 効 情 報 を CP に 提 供 できること<br />

6.4. Eventing<br />

[F12] <strong>IGD</strong> は、 以 下 の 状 態 変 化 をイベントとして CP に 通 知 できること<br />

接 続 状 態<br />

WAN 側 IP アドレス<br />

11


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

7. 実 装 ガイドライン<br />

7.1. Discovery<br />

[F1] <strong>IGD</strong> は、<strong>IGD</strong> のネットワーク 存 在 通 知 を 定 期 的 に 行 うこと<br />

[F1-G1]<br />

<strong>IGD</strong> は、 存 在 通 知 メッセージ、または、CP からの 検 索 要 求 (M-SEARCH)に 対 する 応<br />

答 メッセージに 含 まれる CACHE-CONTROL に、これらのメッセージが 有 効 な 期 間 を<br />

秒 数 で 指 定 しなければならない。(MUST-1)<br />

[ 参 考 ]<br />

存 在 通 知 の 間 隔 を <strong>UPnP</strong> <strong>IGD</strong> 仕 様 では 1800 秒 から 1 日 くらいとしている。ルータに<br />

よっては、Windows の <strong>UPnP</strong> クライアントアプリが <strong>IGD</strong> を 発 見 するタイミングを 早 める<br />

ために、この 間 隔 を 20~30 秒 に 設 定 している。<br />

[ 例 ]<br />

<strong>IGD</strong> が 30 秒 以 内 に 一 度 存 在 通 知 をする 場 合 、CACHE-CONTROL に 30 を 指 定<br />

する。<br />

[F1-G2]<br />

<strong>IGD</strong> は、SSDP マルチキャスト・メッセージとその 応 答 に 関 して、 以 下 の 表 に 示 すアド<br />

レス 利 用 方 針 に 従 わなければならない。(MUST-2)<br />

送 信 先<br />

IP アドレス<br />

送 信 先<br />

ポート 番 号<br />

送 信 元<br />

IP アドレス<br />

送 信 元<br />

ポート 番 号<br />

Request 239.255.255.250 1900 (ホスト 依 存 ) 1024 以 上<br />

Response Request の 送 信 元 Request の 送 信 元 (ホスト 依 存 ) 1900<br />

IP アドレスに 同 じ ポート 番 号 に 同 じ<br />

[ 理 由 ]<br />

ライブラリ(<strong>UPnP</strong> ライブラリ)とアプリケーション(<strong>UPnP</strong>-CP)を 別 のグループで 開 発 する<br />

場 合 を 考 える。このとき、<strong>UPnP</strong> ライブラリが SSDP マルチキャスト・メッセージの 送 信 元<br />

ポート 番 号 として 1023 以 下 のポートを 利 用 するように 設 計 されていると、このライブ<br />

ラリを 利 用 するアプリケーションは、 特 権 レベル(root)で 動 作 する ことを 強 要 され 、セ<br />

キュリティ 上 好 ましくない。<br />

12


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

[F2] <strong>IGD</strong> は、<strong>IGD</strong> のネットワーク 離 脱 通 知 を 行 うこと<br />

[F2-G1]<br />

<strong>IGD</strong> は 、 「 正 常 に 終 了 」 す る 場 合 に は 、 離 脱 通 知 を 行 わ な け れ ば な ら な い 。<br />

(SHUOLD)<br />

[ 参 考 ]<br />

「 正 常 に 終 了 」するとは、「ユーザが 意 図 的 に <strong>IGD</strong> をリブートするケース」、「 自 動 アッ<br />

プデートなどの 理 由 で <strong>IGD</strong> が 自 発 的 にリブートするケース」である。「 正 常 に 終 了 」し<br />

ないケースは、 例 えば、 突 発 的 な 電 源 断 などである。<br />

[F3] <strong>IGD</strong> は、CP からの 検 索 要 求 に 応 答 すること<br />

[F3-G1]<br />

<strong>IGD</strong> は 、 CP か ら の 検 索 要 求 時 に 指 定 さ れ る Search Target<br />

"ST:urn:schemas-upnp-org:device:InternetGatewayDevice:1" に 必 ず 応 答 しなけ<br />

ればならない。(MUST-1)<br />

7.2. Description<br />

[F4] <strong>IGD</strong> は、 提 供 するサービスを 宅 内 機 器 に 提 示 できること<br />

[F4-G1]<br />

<strong>IGD</strong> は、<strong>IGD</strong> としてサービスを 同 時 提 供 できるすべての WAN{IP/PPP}Connection<br />

を Description に 記 述 しなければならない。(MUST-2)<br />

[ 例 ]<br />

PPPoE の 最 大 同 時 接 続 数 が 2、DHCP の 最 大 同 時 接 続 数 が 1 の 場 合 、Device<br />

Description には、WANPPPConnection が 2 つ、WANIPConnection が 1 つ 記 述 さ<br />

れることになる。<br />

[ 理 由 ]<br />

<strong>IGD</strong> のデバイスとサービスの 構 成 図 を 下 図 に 示 す。<br />

13


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

<strong>IGD</strong><br />

L3Forwarding1<br />

WAN Device<br />

WANCommonIFC1<br />

LAN Device<br />

LANHostCofg1<br />

WANConnectionDevice<br />

WAN*LinkC1<br />

WANIPConn1<br />

WANConnectionDevice<br />

WAN*LinkC1<br />

WANPPPConn1<br />

WANIPConn1<br />

WANPPPConn1<br />

LAN Device<br />

LANHostCofg1<br />

WANPOTSLinkConfig<br />

WANDSLLinkConfig<br />

WANCableLinkConfig<br />

WANEthernetConfig<br />

WANPPPConfig<br />

WANIPConfig<br />

urn:upnp-org:serviceid:<br />

<strong>UPnP</strong> Internet Gateway Device: ServiceId<br />

WANConnectionDevice の サ ー ビ ス と し て 提 供 さ れ る WAN{IP/PPP}Connection に は 、<br />

ConnectionStatus 変 数 として Unconfigured の 値 もあることから、<strong>UPnP</strong> <strong>IGD</strong> から 制 御 対 象 となり 得 る<br />

サービスは、 設 定 ( 利 用 )されていない 状 態 でも Service Description List に 記 載 すべきである。 言<br />

い 換 えれば、Service Description List は、<strong>IGD</strong> で 提 供 できる( 利 用 できる) 可 能 性 を 持 つサービス<br />

のリストであり、ある 時 点 で 使 用 可 能 な( 接 続 されている)サービスのリストではない、と 解 釈 できる。<br />

したがって、 同 時 には DHCP と PPPoE のどちらか 片 方 のみをサービスする 場 合 でも、それぞれが<br />

WANIPConnection サ ー ビ ス と WANPPPConnection サ ー ビ ス で 記 述 さ れ る 場 合 、 Service<br />

Description List に 同 時 に 列 挙 されることになる。<br />

また、PPPoE マルチセッションを <strong>UPnP</strong> <strong>IGD</strong> から 制 御 する 対 象 とする 場 合 は、 制 御 対 象 可 能 な<br />

数 だけ WANPPPConnection サービスを 列 挙 することになる。PPPoE マルチセッションを 無 制 限 に 許<br />

14


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

可 す る 場 合 は 、 <strong>UPnP</strong> <strong>IGD</strong> と し て 制 御 可 能 な 数 を 制 限 す る こ と に よ り 、 制 御 可 能 な<br />

WANPPPConnection サービスを 列 挙 すべきである。<br />

デバイス、サービス・ディスクリプションに 記 載 される WAN{IP/PPP}Connection サービス 数 が 動<br />

的 に 変 化 するような 実 装 を 避 けることが 目 的 である。<br />

ある 時 点 で 使 用 可 能 なサービスのみのリストを 提 供 し、 使 用 可 能 なサービスが 変 更 されるような<br />

場 合 には、サービス・ディスクリプションの 変 更 として 取 り 扱 う。そして、デバイス、または、サービス・<br />

ディスクリプションが 変 わる 場 合 は、F2-G1 で 示 すように 離 脱 通 知 (byebye)を 出 さなければならない。<br />

【 参 考 <strong>UPnP</strong> Device Architecture の 2. Description】<br />

[ 例 ] DHCP/Static IP/ PPPoE (シングルセッション)<br />

DPCP/Static IP を WANIPConnection、PPPoE を WANPPPConnection で 取 り 扱 う<br />

ケース。<br />

[ 例 ] DHCP/Static IP/ PPPoE (マルチセッション)<br />

DHCP/static IP を WANIPConnection で 取 り 扱 い 、 PPPoE を<br />

WANPPPConnection で 扱 い、Multi Session 対 応 だが、1 session だけ 使 用 ( 設<br />

定 )しているケース<br />

15


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

[ 例 ] DHCP/Static IP/ PPPoE (マルチセッション)<br />

DHCP/static IP を WANIPConnection で 取 り 扱 い 、 PPPoE を<br />

WANPPPConnection で 扱 い、 複 数 の WAN 接 続 を 行 っているケース<br />

7.3. Control – Layer3Forwarding<br />

[F5] <strong>IGD</strong> は、デフォルト 接 続 サービスを 提 供 することが 望 ましい<br />

[F5-G1]<br />

<strong>IGD</strong> は、CP からデフォルト 接 続 サービス 取 得 要 求 (GetDefaultConnectionService)<br />

を 受 信 した 場 合 、デフォルト 接 続 サービスを 返 信 できることが 望 ましい。(SHOULD)<br />

[ 参 考 ]<br />

デフォルト 接 続 サービスの 選 択 方 法 はベンダー 依 存 とする。 例 えば、ユーザが 設 定<br />

画 面 から 設 定 した 接 続 であったり、デフォルト 経 路 としての 役 割 を 果 たす 接 続 であっ<br />

たりする。<strong>IGD</strong> は、UI 上 にデフォルト 接 続 サービスに 対 応 する 接 続 を <strong>IGD</strong> 設 定 画 面<br />

( 通 常 Web 画 面 )で 表 示 することが 望 ましい。<br />

[ 例 ]<br />

以 下 に 示 すネットワーク 構 成 において、CP は、マルチセッションで 接 続 しているロー<br />

カルネット 上 の SERVER からの UDP ストリーム(インバウンドパケット)を 受 信 すると、<br />

考 える。<br />

16


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

SERVER<br />

ローカルネット<br />

インターネット<br />

<strong>IGD</strong><br />

ホームネットワーク<br />

CP<br />

この 場 合 、CP は 以 下 に 示 す 動 作 をする。<br />

CP<br />

GetDefaultConnectionService<br />

<strong>IGD</strong><br />

SERVER<br />

AddPortMapping<br />

Start Session<br />

UDP ス ト リ ー ム 送 信<br />

AddPortMapping によって 設 定 されたポートマッピングを 使 って CP に UDP ストリーム・パケットが<br />

転 送 される。このような 状 況 において、デフォルト 接 続 サービスを <strong>IGD</strong> の 設 定 画 面 で 設 定 でき、か<br />

つ、ユーザが SERVER の 存 在 している WAN 側 接 続 サービスを 知 っている 場 合 は、ユーザはその<br />

接 続 をデフォルト 接 続 サービスに 設 定 しておくことによって、SERVER からの UDP ストリーム 送 信 を<br />

遅 延 なく 受 信 できる。<br />

しかし、CP が Description に 表 記 される 接 続 サービス 毎 に AddPortMapping を 行 い、 受 信 トライ<br />

する 場 合 、SERVER が 存 在 しない 接 続 サービスを CP が 選 択 してしまったら、UDP ストリーム 受 信 の<br />

タイムアウト 後 に、 誤 った 接 続 サービスを 選 択 したと 判 断 することになり、 処 理 遅 延 の 要 因 となる。<br />

以 下 に CP 側 の 処 理 フロー 例 を 示 す。<br />

17


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

想 定 するCP 側 の 動 作 の 一 例<br />

サービス<br />

(DefaultConnectionService)<br />

存 在<br />

Y<br />

GetDefaultConnectionService<br />

N<br />

Y<br />

Y<br />

Y<br />

Y<br />

目 標 とするServerと 通 信 できるか?<br />

サービス(i=1)<br />

N<br />

目 標 とするServerと 通 信 できるか?<br />

サービス(i=2)<br />

N<br />

目 標 とするServerと 通 信 できるか?<br />

サービス(i=3)<br />

N<br />

目 標 とするServerと 通 信 できるか?<br />

N<br />

Y<br />

サーバー 発 見<br />

目 標 とするServerと 通 信 できるか?<br />

N<br />

見 つからない<br />

7.4. Control – WAN{IP/PPP}Connection<br />

7.4.1. 状 態 取 得<br />

[F6] <strong>IGD</strong> は、 以 下 の 状 態 を 保 持 し、 宅 内 機 器 にその 情 報 を 提 供 できること<br />

<br />

<br />

<br />

<br />

接 続 状 態<br />

接 続 時 間<br />

接 続 エラー<br />

WAN 側 IP アドレス<br />

[F6-G1]<br />

<strong>IGD</strong> は 、 <strong>IGD</strong> の WAN 接 続 イ ン タ フ ェ ー ス が 使 用 可 能 で あ る 場 合 、 <strong>UPnP</strong><br />

WAN{IP/PPP}Connection が 持 つ 状 態 変 数 ConnectionStatus の 値 を Connected<br />

にしなければならない。よって、<strong>IGD</strong> は 下 表 に 示 す 状 態 を 保 持 しなければならない。<br />

18


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

(MUST-1)<br />

WAN 側 IP 接 続 インタフェースの 状 態<br />

使 用 可 能<br />

使 用 不 可<br />

状 態 変 数 ConnectionStatus の 値<br />

「Connected」<br />

「Connected」 以 外<br />

[ 参 考 ]<br />

使 用 可 能 であるとは、<strong>IGD</strong> 配 下 の 機 器 が WAN 上 の 機 器 に 接 続 可 能 である 状 態 を<br />

示 す。 尚 、<strong>IGD</strong> が 判 断 できる 範 囲 で 使 用 可 能 ・ 不 可 を 決 定 するために、<strong>IGD</strong> の 先 の<br />

ネットワーク 障 害 によって 接 続 できない 可 能 性 ある。<br />

[F6-G2]<br />

<strong>IGD</strong> は、<strong>UPnP</strong> WAN{IP/PPP}Connection の 状 態 として、 接 続 時 間 を 示 す Uptime<br />

を 保 持 し、 下 表 に 示 す 状 態 を 保 持 しなければならない。(MUST-1)<br />

状 態 変 数 ConnectionStatus の 値 状 態 変 数 Uptime の 値<br />

「Connected」<br />

「Connected 」 となってから の 秒 数 を<br />

表 す 正 の 数<br />

「Connected」 以 外 0<br />

[F6-G3]<br />

<strong>IGD</strong> は 、 <strong>UPnP</strong> WAN{IP/PPP}Connection の 状 態 と し て 、 接 続 エ ラ ー<br />

LastConnectionError とインターネット 側 アドレス ExternalIPAddress を 保 持 しなけ<br />

ればならない(MUST-1)。LastConnectionError は、 少 なくとも ErrorNone を 保 持 しな<br />

ければならない。ExternalIPAddress は、 無 効 な 場 合 、 空 文 字 列 か"0.0.0.0"、それ<br />

以 外 は 有 効 な IP アドレスを 保 持 しなければならない。<br />

[ 参 考 ]<br />

CP は、LastConnectionError, ExternalIPAddress の 値 で 接 続 可 否 を 判 断 すべきで<br />

ない。<br />

[F7] <strong>IGD</strong> は、WAN 側 接 続 状 態 を 宅 内 機 器 に 提 供 できること<br />

[F7-G1]<br />

<strong>IGD</strong> は、<strong>UPnP</strong> WAN{IP/PPP}Connection の 状 態 取 得 要 求 (GetStatusInfo) を 受<br />

信 し た 場 合 、 応 答 内 の 出 力 引 数 ConnectionStatus 、 LastConnectionError 、<br />

19


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

Uptime に、それぞれ 状 態 変 数<br />

ConnectionStatus、LastConnectionError、Uptime<br />

を 取 得 した 際 に 得 られる 値 と 同 じ 値 を 格 納 しなければならない。(MUST-1)<br />

[F8] <strong>IGD</strong> は、WAN 側 IP アドレスを 宅 内 機 器 に 提 供 できること<br />

[F8-G1]<br />

<strong>IGD</strong> は 、 <strong>UPnP</strong> WAN{IP/PPP}Connection の IP ア ド レ ス 取 得 要 求<br />

(GetExternalIPAddress) を 受 信 した 場 合 、 応 答 内 の 出 力 引 数 ExternalIPAddress<br />

に、 状 態 変 数 ExternalIPAddress を 取 得 した 際 に 得 られる 値 と 同 じ 値 を 格 納 しなけ<br />

ればならない。(MUST-1)<br />

7.4.2. ポートマッピング 追 加 要 求<br />

[F9] <strong>IGD</strong> は、ポートマッピングの 設 定 、 取 り 消 し、 情 報 取 得 ができること<br />

7.4.2.1. 引 数<br />

ポートマッピング 追 加 要 求 時 に 使 用 される 引 数 に 関 する 要 件 を 示 す。<br />

引 数<br />

PortMappingEnabled<br />

説 明<br />

ポート 転 送 設 定 が 有 効 か 否 かを 示 す<br />

「0」は 無 効 。<br />

「1」は 有 効 。<br />

[F9-G1]<br />

<strong>IGD</strong> は 、 有 効 指 定 を 受 け 付 け な け れ ば な ら な い 。<br />

(MUST-1)<br />

<strong>IGD</strong> は 、 無 効 指 定 を 受 け 付 け る べ き で あ る 。<br />

(SHOULD)<br />

PortMappingLeaseDuration<br />

[ 理 由 ]<br />

ポー トマッピングを 無 効 状 態 で 取 得 で きると 、 ポ ート<br />

を 予 約 することができる。しかし、 現 状 の <strong>IGD</strong> はこの<br />

機 能 を 搭 載 し て いな い ケ ースが 多 く 実 装 は 重 い 。 そ<br />

のため、 無 効 指 定 は SHOULD 仕 様 とする。<br />

ポートマッピングのリース 期 間 を 表 す 秒 数<br />

「0」は 静 的 ポートマッピング。<br />

「0 以 外 」の 場 合 は 動 的 ポートマッピング。<br />

[F9-G2]<br />

<strong>IGD</strong> は、 静 的 ポートマッピング 設 定 を 受 け 付 けなけ<br />

ればならない。(MUST-1)<br />

<strong>IGD</strong> は、 動 的 ポートマッピング 指 定 も 受 け 付 けな け<br />

ればならない。(MUST-2)<br />

RemoteHost<br />

[ 参 考 ]<br />

CP は、 動 的 ポートマッピングを 利 用 することを 推 奨<br />

する。<br />

ポ ー ト マ ッ ピ ン グ を 適 用 す る 場 合 の イ ン バ ウ ン ド ・ パ<br />

20


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

ケットの 送 信 元 アドレス。<br />

RemoteHost に 空 文 字 列 が 指 定 さ れ た 場 合 、 <strong>IGD</strong><br />

は、WAN 側 インタフェースの ExternalPort に 送 信 さ<br />

れたすべてのインバウンド・パケットを InternalClient<br />

の InternelPort にフォワードする。<br />

RemoteHost に IP アドレスが 指 定 された 場 合 、<strong>IGD</strong><br />

は、RemoteHost から InternalClient へインバウンド・<br />

パ ケ ッ ト を フ ォ ワ ー ド し 、 そ の 他 の パ ケ ッ ト は ド ロ ッ プ<br />

する。<br />

[F9-G3]<br />

<strong>IGD</strong> は 、 空 文 字 列 を 受 け 付 け な け れ ば な ら な い 。<br />

(MUST-1)<br />

<strong>IGD</strong> は、 特 定 IP アドレスを 受 け 付 けなければならな<br />

い。(MUST-2)<br />

ExternalPort<br />

[ 参 考 ]<br />

DNS 名 を 解 釈 する 必 要 はない。<br />

ポート 転 送 を 適 用 する 場 合 のインバウンド・ パ ケッ ト<br />

の 宛 先 ポート 番 号<br />

<strong>IGD</strong> の WAN 側 インタフェースの ExternalPort に 転<br />

送 されたインバウンド・パケットは、InternalClient の<br />

InternalPort に 転 送 される。<br />

[F9-G4]<br />

<strong>IGD</strong> は、1 以 上 65535 以 下 の 値 を 受 け 付 ける。0 指<br />

定 さ れ た 場 合 、 適 切 な エ ラ ー (716 =<br />

WildCardNotPermittedInExtPort)を 返 さなければな<br />

らない。(MUST-2)<br />

[ 理 由 ]<br />

<strong>UPnP</strong> <strong>IGD</strong> 仕 様 では、「0 の 場 合 は 全 てのポート 番<br />

号 が 適 用 対 象 。 こ の 場 合 、 InternalClient の<br />

InternalPort の 値 は 無 視 。 ポ ー ト マ ッピ ン グ の 衝 突<br />

が 起 きた 場 合 の 振 る 舞 いは、"first write wins"( 先<br />

に 書 い た ほ う が 優 先 ) 。 」 と な っ て い る 。 こ の 動 作 ( 0<br />

指 定 ) を 許 すと 衝 突 が 起 きた 場 合 の 判 断 が 難 しくな<br />

る。Appendix D 参 照 。<br />

InternalPort<br />

[ 参 考 ]<br />

<strong>IGD</strong> が、すべてのパケットを 特 定 の InternalClient<br />

に 転 送 す るような 設 定 (eg DMZ) を 提 供 する 場 合 、<br />

<strong>IGD</strong> 経 由 ではなく、ユーザ 設 定 ポートマッピング、ま<br />

た は 、ビ ル ト イン ポ ートマッピングとして 提 供 す る こ と<br />

を 推 奨 する。<br />

ポート 転 送 時 に 転 送 先 となるポート 番 号<br />

0 は 指 定 不 可 。<br />

[F9-G5]<br />

<strong>IGD</strong> は 、 1 以 上 65535 以 下 の 値 を 受 け 付 け る 。<br />

(MUST-1)<br />

21


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

PortMappingProtocol<br />

InternalClient<br />

ポート 転 送 を 適 用 するプロトコル 名<br />

[F9-G6]<br />

<strong>IGD</strong> は 、 UDP 、 ま た は 、 TCP 指 定 を 受 け 付 け る 。<br />

(MUST-1)<br />

ポート 転 送 時 に 転 送 先 となるホストの IP アドレス<br />

[ 参 考 ]<br />

<strong>IGD</strong> は、InternalClient で 指 定 される DNS 名 を 解 釈<br />

する 必 要 はない。<br />

PortMappingDescription<br />

[ 参 考 ]<br />

Internal Client の DNS ホスト 名 指 定 は <strong>IGD</strong> 実 装 の<br />

負 担 になる。CP は、DNS 名 を 指 定 してはならない。<br />

ポート 転 送 設 定 の 説 明 などを 示 す 文 字 列<br />

空 文 字 列 の 場 合 もありうる。<br />

[F9-G7]<br />

<strong>IGD</strong> は 、 ポ ー ト マ ッ ピ ン グ 追 加 要 求 の 入 力 引 数<br />

PortMappingDescription に 空 文 字 列 が 指 定 される<br />

ことを 許 可 しなければならない。[MUST-1]<br />

7.4.2.2. 動 作<br />

AddPortMapping が 成 功 する 場 合<br />

[F9-G8]<br />

<strong>IGD</strong> は、ポートマッピングの 設 定 において、 先 に 書 いたポートマッピングを 優 先 する<br />

(first write wins)しなければならない。(MUST-1)<br />

[F9-G9]<br />

<strong>IGD</strong> は、CP からポートマッピング 追 加 要 求 (AddPortMapping)を 受 信 した 場 合 で、そ<br />

の 要 求 が 成 功 する 場 合 は、ポートマッ ピング 転 送 に 必 要 な 適 切 なファイヤウォール<br />

処 理 を 行 わなければならない。(MUST-1)<br />

[F9-G10]<br />

<strong>IGD</strong> は、CP からポートマッピング 追 加 要 求 (AddPortMapping)を 受 信 し、かつ、その<br />

要 求 の ExternalPort と PortMappingProtocol のペアが 既 存 のすべてのポートマッピ<br />

ングに 対 してユニークであり、かつ、ポートマッピングを 追 加 するリソースが 十 分 である<br />

場 合 は、その 要 求 を 受 理 しなければならない。(MUST-1)<br />

AddPortMapping が 既 存 のポートマッピングを 上 書 する 場 合<br />

[F9-G11]<br />

<strong>IGD</strong> は、CP からポートマッピング 追 加 要 求 (AddPortMapping)を 受 信 し、かつ、その<br />

22


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

要 求 の RemoteHost、ExternalPort、PortMappingProtocol、InternalClient が 完 全<br />

に 一 致 する 既 存 のポートマッピングを 持 つ 場 合 は、その 要 求 を 受 理 し、 既 存 のポート<br />

マ ッ ピ ン グ の InternalPort 、 PortMappingDescription 、 PortMappingEnabled 、<br />

PortMappingLeaseDuration を 上 書 きしなければならない。(MUST-1)<br />

AddPortMapping が 失 敗 する 場 合<br />

[F9-G12]<br />

<strong>IGD</strong> は、CP からポートマッピング 追 加 要 求 (AddPortMapping)を 受 信 し、かつ、その<br />

要 求 の ExternalPort 、 PortMappingProtocol 、 RemoteHost が 一 致 す る 場 合 で 、<br />

InternalClient が 異 なる 既 存 のポートマッピングを 持 つ 場 合 は、その 要 求 を 拒 否 し、<br />

CP に 対 して 適 切 なエラー(エラー 番 号 718)を 返 信 しなければならない。(MUST-1)<br />

[F9-G13]<br />

<strong>IGD</strong> は、CP からポートマッピング 追 加 要 求 (AddPortMapping)を 受 信 し、かつ、その<br />

要 求 の ExternalPort、PortMappingProtocol、Internal Client が 一 致 する 場 合 で、<br />

RemoteHost が 異 なる 既 存 のポートマッピングを 持 つ 場 合 は、その 要 求 を First Write<br />

Wins に 従 って 判 定 し、 有 効 である 場 合 には 追 加 することが 望 ましい(SHOULD)。も<br />

しくは 要 求 を 判 定 することなく 拒 否 してもよい。その 場 合 には、CP に 対 して 適 切 なエ<br />

ラー(エラー 番 号 718)を 返 信 しなければならない。(MUST-2)<br />

[ 理 由 ]<br />

Appendix B 参 照 。<br />

[ 参 考 ]<br />

<strong>UPnP</strong> <strong>IGD</strong> では 上 記 の 条 件 におけるポートマッピング 追 加 要 求 が 成 功 するか、 失 敗<br />

するかはベンダ 依 存 としている。 推 奨 ルータでは 失 敗 する。<br />

[F9-G14]<br />

<strong>IGD</strong> は、CP からポートマッピング 追 加 要 求 (AddPortMapping)を 受 信 し、かつ、その<br />

要 求 の ExternalPort 、 PortMappingProtocol が 一 致 する 場 合 で 、RemoteHost と<br />

InternalClient の 両 方 が 異 なる 既 存 のポートマッピングを 持 つ 場 合 は、その 要 求 を<br />

First Write Wins に 従 って 判 定 し 、 有 効 で あ る 場 合 に は 追 加 す る こと が 望 ま しい<br />

(SHOULD)。もしくは 要 求 を 判 定 することなく 拒 否 してもよい。その 場 合 には、CP に<br />

対 して 適 切 なエラー(エラー 番 号 718)を 返 信 しなければならない。(MUST-2)<br />

[ 参 考 ]<br />

23


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

下 図 の 構 成 でポートマッピング 追 加 要 求 (AddPortMapping)が 行 われる 場 合 、<br />

PEER<br />

インターネット<br />

ホームネット<br />

RemoteHost(IP アドレス)<br />

ExternalPort(ポート 番 号 )<br />

<strong>IGD</strong><br />

PortMappingProtocol(プロトコル)<br />

InternalClient(IP アドレス)<br />

CC(CP)<br />

以 下 に 示 す 結 果 を 返 さなければならない。<br />

PortMapping External Remote Internal 結 果 実 装 ガイド<br />

Protocol Port Host Client<br />

× × × × 成 功 [F9-G10]<br />

× × × ○ 成 功 [F9-G10]<br />

× × ○ × 成 功 [F9-G10]<br />

× × ○ ○ 成 功 [F9-G10]<br />

× ○ × × 成 功 [F9-G10]<br />

× ○ × ○ 成 功 [F9-G10]<br />

× ○ ○ × 成 功 [F9-G10]<br />

× ○ ○ ○ 成 功 [F9-G10]<br />

○ × × × 成 功 [F9-G10]<br />

○ × × ○ 成 功 [F9-G10]<br />

○ × ○ × 成 功 [F9-G10]<br />

○ × ○ ○ 成 功 [F9-G10]<br />

○ ○ × × 成 功 / 失 敗 [F9-G14]<br />

※ 1 ※ 3<br />

○ ○ × ○ 成 功 / 失 敗<br />

※ 2 ※ 3<br />

[F9-G13]<br />

○ ○ ○ ×<br />

※ 3<br />

失 敗 [F9-G12]<br />

○ ○ ○ ○ 上 書 き [F9-G11]<br />

※1 <strong>UPnP</strong> <strong>IGD</strong> 仕 様 は、この 状 態 を 成 功 としている。Appendix C を 参 照 。<br />

※2 この 状 態 を 失 敗 にしなかった 場 合 に 発 生 する 問 題 点 は、Appendix B を 参 照 。<br />

※3 First Write Wins を 適 用 した 上 で 後 で 追 加 されるルールが 無 効 である 場 合 、もしく<br />

は 実 装 によって、この 状 態 で 失 敗 する 場 合 は、エラー 番 号 718 を 返 信 すべきである。<br />

24


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

[ 表 の 見 方 ]<br />

○は 一 致 、×は 不 一 致 であることを 意 味 する。 既 存 のポートマッピングに 対 して、 失<br />

敗 、または、 上 書 きに 相 当 する 引 数 の 組 み 合 わ せのポート マッピングが 存 在 した 場<br />

合 は、AddPortMapping は、 失 敗 、または、 上 書 きとなる。それ 以 外 は 成 功 する。<br />

7.4.2.3. その 他<br />

[F9-G15]<br />

<strong>IGD</strong> は、ポートマッピング 追 加 要 求 (AddPortMapping)で 指 定 されたポートマッピング<br />

の リ ー ス 期 間 (PortMappingLeaseDuration) を ポ ー ト マ ッ ピ ン グ 有 効 フ ラ グ<br />

(PortMappingEnabled) の 値 に 関 わ ら ず 、 カ ウ ン ト ダ ウ ン し な け れ ば な ら な い 。<br />

(MUST-1)<br />

[F9-G16]<br />

ポートマッピングのリース 期 間 (PortMappingLeaseDuration)が 0 になった 場 合 、その<br />

ポートマッピングは 削 除 されなければならない。(MUST-1)<br />

[ 参 考 ]<br />

CP は、セキュ リ ティの 面 からポートマ ッピングのリース 期 間 を 指 定 する ことを 推 奨 す<br />

る。<br />

[ 参 考 ]<br />

下 図 にポートマッピングの 生 存 開 始 から 終 了 までの 様 子 を 示 す。<br />

Static PortMapping<br />

[AddPortMapping<br />

(PortMappingLeaseDuration == 0)]<br />

[DeletePortMapping]<br />

[AddPortMapping<br />

(PortMappingLeaseDuration >= 0)]<br />

Dynamic PortMapping<br />

[DeletePortMapping]<br />

or [PortMappingLeaseDuration == 0]<br />

[ 参 考 ]<br />

<strong>IGD</strong> は、 通 常 は 128 以 上 のポートマッピングを 設 定 できる。<strong>IGD</strong> を 経 由 して 接 続 して<br />

25


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

いる P2P リアルタイム 通 信 アプリケーションの 接 続 数 を n とすると、 必 要 となるポートマ<br />

ッピング 数 は、ビジュアル・コミュニケーションの 場 合 1 +4n、リモコンの 場 合 1 +n と<br />

なる。<br />

7.4.3. ポートマッピング 削 除 要 求<br />

[F9-G17]<br />

<strong>IGD</strong> は、CP からのポートマッピング 削 除 要 求 (DeletePortMapping)を 受 信 し、かつ、<br />

その 要 求 の ExternalPort、PortMappingProtocol が 一 致 する 既 存 のポートマッピン<br />

グを 持 つ 場 合 は、その 要 求 を 受 理 し、 一 致 したポートマッピングを 削 除 しなければな<br />

らない。(MUST-2)<br />

[ 参 照 ]<br />

ExternalPort、PortMappingProtocol が 一 致 し、RemoteHost が 異 なるポートマッピン<br />

グは、 推 奨 <strong>IGD</strong> では 共 存 し 得 ない。<br />

7.4.4. ポートマッピング 取 得 要 求<br />

[F9-G18]<br />

<strong>IGD</strong> は、ポートマッピング 状 態 を 取 得 するために GetGenericPortMappingEntry と<br />

GetSpecificPortMappingEntry を 実 装 しなければならない。 (MUST-1)<br />

[ 参 考 ]<br />

ビルトイン・ポートマッピング、ユーザ 設 定 ポートマッピングは、ポートマッピング 取 得 要<br />

求 の 結 果 に 含 める 必 要 はない。<br />

7.4.5. その 他<br />

[F9-G19]<br />

ビルトイン・ポートマッピングを <strong>IGD</strong> のポートマッピング 追 加 要 求 によって 変 更 できな<br />

いように <strong>IGD</strong> を 実 装 した 場 合 、ビルトイン・ポートマッピングを 変 更 するポートマッピン<br />

グ 追 加 要 求 (AddPortMapping)に 対 して、<strong>IGD</strong> は 要 求 した CP にエラーレスポンスを<br />

返 信 しなければならない。(MUST-2)<br />

[F9-G20]<br />

ビルトイン・ポートマッピングを <strong>IGD</strong> のポートマッピング 削 除 要 求 によって 削 除 できな<br />

いように <strong>IGD</strong> を 実 装 した 場 合 、ビルトイン・ポートマッピングを 削 除 するポートマッピン<br />

26


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

グ 削 除 要 求 (DeletePortMapping)に 対 して、<strong>IGD</strong> は 要 求 した CP にエラーレスポンス<br />

を 返 信 しなければならない。(MUST-2)<br />

[ 参 考 ]<br />

<strong>IGD</strong> がポートマッピング 取 得 要 求 に 対 して 結 果 を 返 信 する 場 合 、IP アドレスやポート<br />

番 号 が 範 囲 指 定 できないため、ビルトイン・ポートマッピングにおいて 範 囲 指 定 したポ<br />

ートマッピング 設 定 があると、<strong>IGD</strong> はその 範 囲 を1アドレス 毎 、または、1 ポート 毎 表 現<br />

する 必 要 がある。その 値 をポートマッピング 取 得 要 求 の 返 信 とすると 膨 大 な 量 になる<br />

可 能 性 が あ る 。 これ らの 理 由 に よ り 、 ポー ト マ ッ ピ ン グ の 状 態 取 得 要 求 に 、ビ ル ト イ<br />

ン・ポートマッピングの 状 態 を 含 めることを must-2 仕 様 としていない。<br />

[F9-G21]<br />

ユーザ 指 定 ポートマッピングを <strong>IGD</strong> のポートマッピング 追 加 要 求 によって 変 更 できな<br />

いように <strong>IGD</strong> を 実 装 した 場 合 、ユーザ 指 定 ポートマッピングを 変 更 するポートマッピン<br />

グ 追 加 要 求 (AddPortMapping)に 対 して、<strong>IGD</strong> は 要 求 した CP にエラーレスポンスを<br />

返 信 しなければならない。(MUST-2)<br />

[F9-G22]<br />

ユーザ 指 定 ポートマッピングを <strong>IGD</strong> のポートマッピング 削 除 要 求 によって 削 除 できな<br />

いように <strong>IGD</strong> を 実 装 した 場 合 、ユーザ 指 定 ポートマッピングを 削 除 するポートマッピン<br />

グ 削 除 要 求 (DeletePortMapping)に 対 して、<strong>IGD</strong> は 要 求 した CP にエラーレスポンス<br />

を 返 信 しなければならない。(MUST-2)<br />

[F10] <strong>IGD</strong> は、 再 稼 動 時 にすべてのポートマッピングを 削 除 した 状 態 で 起 動 すること<br />

[F10-G1]<br />

<strong>IGD</strong> は、 再 起 動 した 場 合 には、ポートマッピング 追 加 要 求 (AddPortMapping)によっ<br />

て 追 加 されたポートマッピング・エントリはすべて 削 除 しなければならない。(MUST-1)<br />

[F11] <strong>IGD</strong> は、NAT 機 能 の 有 効 無 効 情 報 を CP に 提 供 できること<br />

[F11-G1]<br />

<strong>IGD</strong> は、NATEnabled の 値 によって NAT の 有 効 無 効 を CP に 提 供 しなければならな<br />

い。(MUST-1)<br />

27


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

7.5. Eventing<br />

[F12] <strong>IGD</strong> は、 以 下 の 状 態 変 化 をイベントとして CP に 通 知 できること<br />

接 続 状 態<br />

WAN 側 IP アドレス<br />

[F12-G1]<br />

<strong>IGD</strong> は、CP からの 要 求 に 応 じて、<strong>IGD</strong> の 接 続 状 態 (ConnectionStatus)と WAN 側<br />

IP アドレス(ExternalIPAddress)の 状 態 が 変 化 したときに CP に 通 知 しなければなら<br />

ない。(MUST-1)<br />

7.6. その 他<br />

[FS-G1]<br />

<strong>IGD</strong> は、LAN 側 インタフェースからの 要 求 のみ 受 け 付 け、 他 のインタフェースからの<br />

要 求 は 拒 否 しなければならない。(MUST-1)<br />

28


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

Appendix A. 推 奨 <strong>IGD</strong> を 利 用 する 場 合 の CP 想 定 動 作<br />

本 節 の 目 的 は、 推 奨 <strong>IGD</strong> を 利 用 する 場 合 の CP 想 定 動 作 を 示 すことである。<br />

A.1 他 のポートマッピングを 奪 わないための CP 想 定 動 作<br />

<strong>IGD</strong> のポートマッピング 追 加 要 求 (AddPortMapping)は、InternalPort を 成 功 、 失 敗 の 判 定 条 件 と<br />

して 利 用 しない。そのために、 同 一 CP 上 で 2 つのアプリケーション(A1 と A2 とする)が 動 作 するシ<br />

ナリオを 考 えると、A1 が 追 加 したポートマッピングを A2 が 奪 ってしまうケースが 発 生 する。<br />

例 えば、CP 上 で A1 と A2 が 動 作 しているとする。このとき、CP の IP アドレスを 192.168.1.2 とし、<br />

A1 が、 以 下 の 引 数 をもつポートマッピング 追 加 要 求 を <strong>IGD</strong> に 対 して 行 ったとする。 尚 、 本 シナリオ<br />

に 関 係 しない 引 数 は 省 略 している。<br />

RemoteHost = *<br />

ExternalPort = 15000<br />

InternalClient = 192.168.1.2<br />

PortMappingProtocol = UDP<br />

InternalPort = 15000<br />

この 要 求 が 受 信 された 時 点 では、<strong>IGD</strong> の WAN 側 ポート 番 号 15000 に 送 信 された UDP インバウ<br />

ンド・パケットは、CP のポート 番 号 15000 にフォワードされ、A1 が 受 信 することになる。<br />

この 状 態 で A2 が 以 下 のポートマッピング 追 加 要 求 を 行 うとする。<br />

RemoteHost = *<br />

ExternalPort = 15000<br />

InternalClient = 192.168.1.2<br />

PortMappingProtocol = UDP<br />

InternalPort = 15001<br />

この 要 求 は、<strong>IGD</strong> の 仕 様 では 受 理 され、A1 が 先 に 設 定 したポートマッピングを 上 書 きすることに<br />

なる。この 時 点 で、<strong>IGD</strong> の WAN 側 ポート 番 号 15000 に 送 信 された UDP インバウンド・パケットは、<br />

CP のポート 番 号 15001 にフォワードされ、A2 が 受 信 することになる。A2 は、 悪 意 なく A1 のポート<br />

マッピングを 奪 ったことになる。<br />

推 奨 <strong>IGD</strong> でもこの 問 題 は 解 決 できない。そのために、CP が <strong>IGD</strong> に 対 してポートマッピング 追 加<br />

29


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

要 求 (AddPortMapping)を 行 う 場 合 は、「 同 一 の ExternalPort と InternalPort を 利 用 する」という 制 約<br />

を 科 し、 上 記 問 題 を 解 決 することとしたい。<br />

CP が <strong>IGD</strong> に 対 してポートマッピング 追 加 要 求 (AddPortMapping)を 行 う 場 合 に 想 定 している 一 連<br />

の 動 作 を 以 下 に 示 す。<br />

【 処 理 1】<br />

ローカルホスト(CP) 上 でポート 番 号 をバインドし、それを InternalPort とする。 処 理<br />

2 へ。<br />

【 処 理 2】<br />

InternalPort と 同 一 の ExternalPort を 引 数 として <strong>IGD</strong> に 対 してポートマッピング<br />

追 加 要 求 を 行 う。 成 功 すれば 終 了 、 失 敗 すれば 処 理 3 へ。<br />

【 処 理 3】<br />

処 理 1 でバインドしたポートを 開 放 し、 新 たなポート 番 号 をバインドする。それを<br />

新 たな InternalPort とし、 処 理 2 へ。<br />

処 理 1、または、 処 理 3 でバインドするポート 番 号 をランダムに 選 択 するこ と で 、<strong>IGD</strong> に 対<br />

す る ポ ー ト マ ッ ピ ン グ 追 加 要 求 時 に 、ExternalPort 番 号 が 重 複 す る 可 能 性<br />

を 軽 減 で き 、 ポ ー ト マ ッ ピ ン グ 追 加 要 求 が 失 敗 す る 可 能 性 を 軽 減 で き る 。<br />

30


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

A.2 RemoteHost の 取 り 扱 いに 関 する CP 側 の 留 意 点<br />

SIP を 使 った P2P 接 続 において 推 奨 <strong>IGD</strong> を 利 用 するケースを 考 える。 通 信 を 開 始 す る ク<br />

ラ イ ア ン ト を CP I ( Initiator )、 通 信 開 始 を 受 け る ク ラ イ ア ン ト を<br />

CP R (Responder)と す る 。 CP I 、 CP R は 、 SIP Proxy 経 由 で シ グ ナ リ ン グ ・ チ ャ<br />

ネ ル を 交 換 で き る と す る 。 下 図 参 照 。<br />

SIP Proxy<br />

シグナリングチャネル<br />

IP I :PORT I<br />

(=100.0.0.1:1000)<br />

IP R :PORT R<br />

(=200.0.0.1:2000)<br />

<strong>IGD</strong> I<br />

<strong>IGD</strong> R<br />

192.168.1.100:PORT I<br />

CP I<br />

192.168.1.200:PORT R<br />

CP R<br />

CP I は、 通 信 依 頼 (INVITE) 前 に、<strong>IGD</strong> I の IP 取 得 要 求 (GetExternalIPAddress)とポート・マッピング<br />

追 加 要 求 ( AddPortMapping )によって、<strong>IGD</strong> I にポー トマッピング を 追 加 し、IP I :PORT I 情 報<br />

(=100.0.0.1:1000)を 取 得 する。IP I は IP 取 得 要 求 によって 取 得 した IP アドレス、PORT I は<br />

AddPortMapping で 指 定 した ExternalPort に 相 当 する。この 時 点 で、CP I は CP R のアドレス 情 報 が 分<br />

からないために、CP I の AddPortMapping の RemoteHost は 空 文 字 列 (=すべての IP を 表 す。ここで<br />

は*で 表 す)を 指 定 することになる。 例 えば、 以 下 のような 引 数 となる。<br />

[AddPortMapping 1]<br />

PortMappingEnabled = 1<br />

RemoteHost = *<br />

ExternalPort = 1000<br />

InternalClient = 192.168.1.100<br />

PortMappingProtocol = UDP<br />

CPI は、SDP にデータチャネル 用 のアドレス 情 報 (IPI:PORTI)を 含 めた INVITE メ ッ セ ー<br />

ジ を 生 成 し 、 SIP Proxy 経 由 で CP R に 送 信 す る 。<br />

31


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

INVITE を 受 信 した CP R は、CP I と 同 様 に、IP 取 得 要 求 (GetExternalIPAddress)、ポート・マッピン<br />

グ 追 加 要 求 (AddPortMapping)によって、<strong>IGD</strong> R にポートマッピングを 追 加 し、IP R :PORT R 情 報<br />

(=200.0.0.1:2000)を 取 得 する。IP R は IP 取 得 要 求 によって 取 得 した IP アドレス、PORT R は<br />

AddPortMapping で 指 定 した ExternalPort に 相 当 する。<br />

CP R は CP I のアドレス 情 報 を INVITE の SDP から 決 定 できるので、AddPortMapping 引 数 は 以 下<br />

のようになる。<br />

[AddPortMapping 2 ]<br />

PortMappingEnabled = 1<br />

RemoteHost = 100.0.0.1<br />

ExternalPort = 2000<br />

InternalClient = 192.168.1.200<br />

PortMappingProtocol = UDP<br />

CP R は、SDP にデータチャネル 用 のアドレス 情 報 (IP R :PORT R )を 含 めた INVITE 受 理 (200 OK)<br />

メッセージを 生 成 し、SIP Proxy 経 由 で CP I に 返 信 する。<br />

200 OK を 受 信 した CP I は、この 時 点 で CP R のアドレス 情 報 を 取 得 できるので、AddPortMapping<br />

1で 追 加 したポートマッピングを 変 更 できる。まず、DeletePortMapping を 使 って 追 加 したポートマッ<br />

ピングを 削 除 する。 引 数 は 以 下 のような 形 式 になる。<br />

[DeletePortMapping 3 ]<br />

RemoteHost = *<br />

ExternalPort = 1000<br />

PortMappingProtocol = UDP<br />

次 に、AddPortMapping を 使 って、RemoteHost を 特 定 したポートマッピングを 追 加 する。<br />

[AddPortMapping 4 ]<br />

PortMappingEnabled = 1<br />

RemoteHost = 200.0.0.1<br />

ExternalPort = 1000<br />

InternalClient = 192.168.1.100<br />

PortMappingProtocol = UDP<br />

32


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

以 上 で、CP I 、CP R ともに、 接 続 先 を 特 定 したポートマッピングを 生 成 できる。<br />

発 生 確 率 は 非 常 に 低 いが、DeletePortMapping3と AddPortMapping4の 間 にポート 1000 番 が<br />

他 のアプリケーションによって 奪 われる 可 能 性 がある。<br />

[F9-G13]を 無 条 件 に、RemoteHost が 異 なる 場 合 でもポートマッピングできるようにすれば、 先 に<br />

AddPortMapping4を 実 施 し、その 後 に DeletePortMapping3することにより、ポートマッピングで 利<br />

用 するポート 1000 を 他 のアプリケーションから 奪 われなくすることができる。しかし、 実 装 ガイドライ<br />

ンでは、[F9-G13]は、 拒 否 される 場 合 がある。<br />

[F9-G13]を 拒 否 される 仕 様 とした 理 由 の 1 つは、Appendix B で 述 べている 問 題 点 のほうがイン<br />

パクトがあると 判 断 したためである。<br />

もう 1 つの 理 由 は、A.1 で 示 した CP 想 定 動 作 を 行 うことにより 上 記 問 題 はほとんどおきないくらい<br />

に 軽 減 できること、 万 が 一 、この 問 題 が 発 生 したら、AddPortMapping4でエラーが 発 生 するので、<br />

CP I は、 再 度 INVITE をやりなおすことにより 対 処 できるためである。<br />

33


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

Appendix B. RemoteHost の 取 り 扱 い 関 する 問 題 点<br />

本 節 の 目 的 は 、 [F9-G13] を 受 理 も し く は 拒 否 す る 仕 様 と せ ず 無 条 件 に 、<br />

「ExternalPort、PortMappingProtocol、InternalClient が 一 致 し、RemoteHost<br />

が 異 なる ポー トマッ ピング 追 加 要 求 を 受 理 す る」 場 合 に 発 生 す る 問 題 を 示 す ことで<br />

ある。<br />

【 例 1】<br />

<strong>IGD</strong> は、WAN 側 IP アドレスが 100.0.0.1 で、かつ、 以 下 のポートマッピング 設 定 を 持 つ、と 仮 定<br />

する。<br />

ExternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

RemoteHost = * (WildCard)<br />

InternalPort = 80<br />

このとき、<strong>IGD</strong> が CP から 以 下 のポートマッピング 追 加 要 求 を 受 信 し、<br />

ExternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

RemoteHost = 200.0.0.1<br />

InternalPort = 8080<br />

この 要 求 を 受 理 したとする。この 状 態 を 状 態 1とする。<br />

状 態 1において、 送 信 先 IP アドレスが 100.0.0.1、 送 信 先 ポートが 80、 送 信 元 IP アドレスが<br />

200.0.0.1 のインバウンド IP パケットは、 送 信 先 IP アドレス 192.168.1.2、 送 信 先 ポート 80 にフォワー<br />

ドされる。(<strong>IGD</strong> の 仕 様 first write wins のルールに 従 い、このパケットは 8080 に 送 信 されない)<br />

状 態 1 において、 送 信 先 IP アドレスが 100.0.0.1、 送 信 先 ポートが 80、 送 信 元 IP アドレスが<br />

150.0.0.1 のインバウンド IP パケットも、 送 信 先 IP アドレス 192.168.1.2、 送 信 先 ポート 80 にフォワー<br />

ドされる。<br />

この 処 理 を 同 一 ホスト 上 の 異 なるアプリケーションが 行 った 場 合 、 後 半 のポートマッピング 追 加 要<br />

求 を 行 ったアプリケーションは、ポートマッピングが 成 功 したにも 関 わらずに、8080 に 対 してフォワ<br />

ードされない。<br />

34


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

【 例 2】<br />

<strong>IGD</strong> は、WAN 側 IP アドレスが 100.0.0.1 で、かつ <strong>IGD</strong> は、 以 下 のポートマッピング 設 定 を 持 つ、<br />

と 仮 定 する。<br />

ExternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

RemoteHost = 200.0.0.1<br />

InternalPort = 80<br />

このとき、<strong>IGD</strong> が CP から 以 下 のポートマッピング 追 加 要 求 を 受 信 し、<br />

ExternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

RemoteHost = *<br />

InternalPort = 8080<br />

この 要 求 を 受 理 したとする。この 状 態 を 状 態 2 とする。<br />

状 態 2 において、 送 信 先 IP アドレスが 100.0.0.1、 送 信 先 ポートが 80、 送 信 元 IP アドレスが<br />

200.0.0.1 のインバウンド IP パケットは、 送 信 先 IP アドレス 192.168.1.2、 送 信 先 ポート 80 にフォワー<br />

ドされる。(ここでも、first write wins ルールが 適 用 される)。<br />

状 態 2 において、 送 信 先 IP アドレスが 100.0.0.1、 送 信 先 ポートが 80、 送 信 元 IP アドレスが<br />

150.0.0.1 のインバウンド IP パケットは、 送 信 先 IP アドレス 192.168.1.2、 送 信 先 ポート 8080 にフォワ<br />

ードされる。<br />

この 処 理 を 同 一 ホスト 上 の 異 なるアプリケーションが 行 った 場 合 、 後 半 のポートマッピング 追 加 要<br />

求 を 行 っ た ア プ リ ケ ー シ ョ ン は 、 ポ ー ト マ ッ ピ ン グ 要 求 が 成 功 し た に 関 わ ら ず 、<br />

RemoteHost=200.0.0.1 からのインバウンド・パケットはフォワードされない。<br />

そのため、CP 上 のアプリケーションが RemoteHost に*(Wildcard) 指 定 をして 要 求 を 行 う 前 には、<br />

同 じ ExternalPort と 明 示 的 な RemoteHost 指 定 を 行 ったポートマッピングが 既 にないことを 確 認 する<br />

ことが 必 要 である。<br />

もしくは、RemoteHost を 陽 に 指 定 することでもこの 問 題 を 回 避 することができる。<br />

35


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

Appendix C. RemoteHost、InternalClient の 取 り 扱 いに 関 する<br />

問 題 点<br />

本 節 の 目 的 は、[F9-G14]を 適 切 にエラーとしなかった 場 合 に、 発 生 する 問 題 を 示 すことである。<br />

<strong>IGD</strong> は、WAN 側 IP アドレスが 100.0.0.1 で、かつ、 以 下 のポートマッピング 設 定 を 持 つ、と 仮 定<br />

する。<br />

ExternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.2<br />

RemoteHost = * (WildCard)<br />

InternalPort = 80<br />

このとき、<strong>IGD</strong> が、IP アドレス 192.168.1.3 を 持 つ CP から 以 下 のポートマッピングの 追 加 要 求 を<br />

受 信 し、<br />

ExternalPort = 80<br />

PortMappingProtocol = TCP<br />

InternalClient = 192.168.1.3<br />

RemoteHost = 200.0.0.1<br />

InternalPort = 80<br />

この 要 求 を 受 理 したとする([F9-G14]を 適 切 にエラーとしない 場 合 この 要 求 は 受 理 される)。この<br />

状 態 を 状 態 1とする。 状 態 1において、 送 信 先 IP アドレスが 100.0.0.1、 送 信 先 ポートが 80、 送 信 元<br />

IP アドレスが 200.0.0.1 ののインバウンド IP パケットは、 送 信 先 IP アドレス 192.168.1.2、 送 信 先 ポー<br />

ト 80 にフォワードされる。(<strong>IGD</strong> の 仕 様 first write wins のルールに 従 うと、このパケットは<br />

192.168.1.3 に 送 信 されない)<br />

状 態 1 において、 送 信 先 IP アドレスが 100.0.0.1、 送 信 先 ポートが 80、 送 信 元 IP アドレスが<br />

150.0.0.1 のインバウンド IP パケットも、 送 信 先 IP アドレス 192.168.1.2、 送 信 先 ポート 80 にフォワー<br />

ドされる。<br />

後 半 のポートマッピング 追 加 要 求 を 行 った IP アドレス 192.168.1.3 を 持 つ CP 上 のアプリケーショ<br />

ンは、ポートマッピングが 成 功 したにも 関 わらずに、192.168.1.3:80 でパケットを 受 信 することができ<br />

ない。<br />

36


付 録 A<br />

<strong>UPnP</strong>-<strong>IGD</strong> 実 装 ガ イ ド ラ イ ン<br />

Appendix D. ExternalPort の 取 り 扱 いに 関 する 問 題 点<br />

CP 1 (IP アドレス=192.168.1.2)と CP 2 (IP アドレス=192.168.1.3)が 同 一 <strong>IGD</strong> 配 下 に 存 在 し、<strong>IGD</strong> は<br />

ExternalPort に 0(ワイルドカード) 指 定 できるとする。CP 1 が 以 下 の 引 数 を 持 つポートマッピング 追 加<br />

要 求 を 行 うとする。<br />

ExternalPort = 0<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.2<br />

RemoteHost = *<br />

<strong>IGD</strong> によってこの 要 求 が 受 け 付 けられたら <strong>IGD</strong> の WAN 側 インタフェースに 転 送 されたすべての<br />

UDP インバウンド・パケットはすべて CP 1 に 転 送 される。<br />

次 に、CP 2 が 以 下 の 引 数 を 持 つポートマッピング 追 加 要 求 を 行 うとする。<br />

ExternalPort = 10000<br />

PortMappingProtocol = UDP<br />

InternalClient = 192.168.1.3<br />

RemoteHost = *<br />

<strong>UPnP</strong> <strong>IGD</strong> 規 格 では、この 要 求 は 受 け 付 けられるが、"first write wins"ルールに 従 って、<strong>IGD</strong> の<br />

WAN 側 インタフェースに 転 送 されたすべての UDP インバウンド・パケットはすべて CP 1 に 転 送 され<br />

る。<br />

ポートマッピング 追 加 要 求 が 成 功 したにも 関 わらず、 例 えばピアからの 転 送 が 正 しくなされ、<strong>IGD</strong><br />

の 指 定 したポート( 例 ではポート 10000 番 )に UDP パケットがピアから 送 信 されたとしても、その UDP<br />

パケットが CP 2 にフォワードされないという 状 況 が 生 じうる。<br />

この 状 況 を 避 けるために、 推 奨 <strong>IGD</strong> は、ExternalPort の 0 指 定 を 禁 止 している。<br />

37

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!