UPnP-IGD 相互接続試験実施要領
UPnP-IGD 相互接続試験実施要領
UPnP-IGD 相互接続試験実施要領
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