JP6006257B2 - ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラム - Google Patents

ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラム Download PDF

Info

Publication number
JP6006257B2
JP6006257B2 JP2014083764A JP2014083764A JP6006257B2 JP 6006257 B2 JP6006257 B2 JP 6006257B2 JP 2014083764 A JP2014083764 A JP 2014083764A JP 2014083764 A JP2014083764 A JP 2014083764A JP 6006257 B2 JP6006257 B2 JP 6006257B2
Authority
JP
Japan
Prior art keywords
port mapping
router
url
information
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014083764A
Other languages
English (en)
Other versions
JP2015204559A (ja
Inventor
一成 今原
一成 今原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2014083764A priority Critical patent/JP6006257B2/ja
Publication of JP2015204559A publication Critical patent/JP2015204559A/ja
Application granted granted Critical
Publication of JP6006257B2 publication Critical patent/JP6006257B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、ポートマッピングの利便性を向上することが可能な、ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラムに関する。
一般に、ルーター(Router)のLAN(Local Area Network)側のネットワークにウェブサーバー(Web Server)が接続される場合、ルーターのポートマッピング(Port Mapping)機能が設定される。そして、ルーターのWAN(Wide Area Network)側IP(Internet Protocol)アドレスとポート番号(Port Number)が指定され、ルーターのWAN側のネットワークに接続された端末は、ウェブサーバーと通信する。
ここで、設定されるポート番号は、ウェブサーバーごとに別々でなければならない。複数のウェブサーバーが接続される場合には、ウェブサーバーとポート番号の組み合わせが複数存在する。ポート番号は“0”から“65535”の数値であるため、ウェブサーバーとポート番号との紐付けが必要である。
例えば、ルーターのWAN側IPアドレスが“172.16.1.2”、ポートマッピング機能に設定されたポート番号を“8080”(ウェブサーバーA)、“10080”(ウェブサーバーB)、“8090”(ウェブサーバーC)とする。このとき、WAN側の端末が、ウェブサーバーAと通信する際のURL(Uniforml Resaurce Locator)は“http://172.16.1.2:8080/”、ウェブサーバーBと通信する際のURLは“http://172.16.1.2:10080/”、ウェブサーバーCと通信する際のURLは“http://172.16.1.2:8090/”となる。つまり、ウェブサーバーA、ウェブサーバーB、ウェブサーバーCとポート番号“8080”、“10080”、“8090”とが紐付けられる必要がある。
なお、周知の技術であるUPnP(Universal Plug and Play)によるポートマッピングが使用された場合においても、同様に、ウェブサーバーとポート番号との紐付けが必要である。
このように、使用者(ルーターのWAN側に接続された端末)がルーターのLAN側に接続されたウェブサーバーと通信する際に、個々のウェブサーバーを識別するためには、ウェブサーバーとポート番号との紐付けを行った上で、ルーターのWAN側IPアドレスとポート番号を使用しなければならない。
ポートマッピング技術の一例が、特許文献1に開示されている。
特許文献1のブロードバンドルーターは、LANインターフェース、UPnP IGD制御部、ポートマッピング制御部、ルーター部、およびWANインターフェースを含む。
UPnP IGD制御部は、UPnP IGD(Internet Gateway Device)機能を有し、UPnP CP(Control Point)であるPC(Personal Computer)と送受信するメッセージの解析や発行を行い、ブロードバンドルーターをUPnP対応のブロードバンドルーターとして動作させる。なお、IGDとは、UPnPの標準仕様で定義され、ルーターやホームゲートウェイ機器の総称をいう。
ポートマッピング制御部は、UPnP IGD制御部のメッセージ解析結果が、PCによるポートマッピングの追加の要求であった場合、ポートマッピングテーブルを生成し、該当するポートのマッピングの追加をルーター部に指示する。なお、ポートマッピングとは、一方の通信ネットワークからパケットを受信するポートと、そのパケットの送信先の他方の通信ネットワークに接続されたPCと、通信プロトコルとの対応づけをいう。
ルーター部は、ルーティング機能と、NAPT(Network Address Port Translation)機能とを有し、ポートマッピングテーブルを参照して、LAN−WAN間のパケットフォワーディングを行う。
特開2007−110266号公報(第7−8ページ、図2)
ルーターのLAN側に接続されたウェブサーバーにルーターのWAN側に接続された端末から通信する場合、ルーターのポートマッピング機能が使用されることが一般的である。ルーターのWAN側のネットワークに接続された端末がウェブブラウザーを使用してルーターのLAN側のネットワーク上のウェブサーバーに通信される場合、ルーターのWAN側IPアドレスと、設定されたポート番号が使用される。
しかし、上記の方法では、複数のウェブサーバーが接続されて、ウェブサーバーとポート番号の組み合わせが複数存在する場合に、ウェブサーバーとポート番号との紐付けが必要である、という課題がある。
例えば、特許文献1のブロードバンドルーターにおいて、複数のPCが存在する場合、WAN側の通信ネットワークからパケットを受信するポートと、そのパケットの送信先のLAN側の通信ネットワークに接続されたPCと、通信プロトコルとの対応づけが必要である。
ウェブサーバーとポート番号との紐付けを行うためには、使用者がポート番号とウェブサーバーとの対応関係を記憶する必要があり、ポートマッピングの利便性が低いという課題がある。
(発明の目的)
本発明の目的は、ポートマッピングの利便性が向上されるポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラムを提供することである。
本発明のポートマッピング装置は、外部のルーターのWAN側に接続された外部の端末がルーターのLAN側に接続された外部のサーバー上のアプリケーションを識別するためのURLであり、ポート番号を明示的に含まない第1のURLに含まれるパスの情報、及びのルーターがアプリケーションを識別するための第2のURLの情報に基づき、端末とサーバー間の通信をルーターに中継させるポートマッピング拡張手段とを備えることを特徴とする。
本発明のルーターは、外部のサーバーが接続されるLANインターフェースと、外部の端末が接続されるWANインターフェースと、LANインターフェース及びWANインターフェース間でルーティングを行うルーティング手段と、端末がサーバー上のアプリケーションを識別するためのURLであり、ポート番号を明示的に含まない第1のURLに含まれるパスの情報、及びルーティング手段がアプリケーションを識別するための第2のURLの情報に基づき、端末とサーバー間の通信をルーティング手段に中継させるポートマッピング拡張手段を含むポートマッピング装置とを備えることを特徴とする。
本発明のポートマッピング方法は、外部のルーターのWAN側に接続された外部の端末がルーターのLAN側に接続された外部のサーバー上のアプリケーションを識別するためのURLであり、ポート番号を明示的に含まない第1のURLに含まれるパスの情報、及びのルーターがアプリケーションを識別するための第2のURLの情報に基づき、端末とサーバー間の通信をルーターに中継させることを特徴とする。
本発明のポートマッピングプログラムは、ポートマッピング装置が備えるコンピュータを、外部のルーターのWAN側に接続された外部の端末がルーターのLAN側に接続された外部のサーバー上のアプリケーションを識別するためのURLであり、ポート番号を明示的に含まない第1のURLに含まれるパスの情報、及びのルーターがアプリケーションを識別するための第2のURLの情報に基づき、端末とサーバー間の通信をルーターに中継させるポートマッピング拡張手段として機能させることを特徴とする。
本発明によれば、ポートマッピングの利便性が向上されるという効果がある。
本発明の第1の実施形態におけるポートマッピング装置の構成の一例を示すブロック図である。 本発明の第1の実施形態におけるポートマッピング装置の動作を示すフローチャートである。 本発明の第1の実施形態におけるポートマッピング装置の処理手順の具体例を説明するための図である。 本発明の第2の実施形態におけるルーターの構成の一例を示すブロック図である。 本発明の第2の実施形態におけるルーター、ウェブサーバーのポートマッピング情報の設定動作例を示すシーケンス図である。 本発明の第2の実施形態におけるルーター、ウェブサーバー、端末のポートマッピングの動作例を示すシーケンス図である。 本発明の第2の実施形態におけるルーター、ウェブサーバーのポートマッピング情報の削除動作例を示すシーケンス図である。 本発明の第2の実施形態におけるルーター、端末のポートマッピングの動作例を示すシーケンス図である。 本発明の第2の実施形態におけるルーターのポートマッピング手段のポートマッピング情報の設定動作を示すフローチャートである。 本発明の第2の実施形態におけるルーターのポートマッピング手段のポートマッピングの動作を示すフローチャートである。 本発明の第2の実施形態におけるルーターのポートマッピング手段のポートマッピング情報の削除動作を示すフローチャートである。 本発明の第2の実施形態におけるルーターのポートマッピング情報の具体例を説明するための図である。 本発明の第2の実施形態におけるルーターのポートマッピング情報の別の具体例を説明するための図である。 本発明の第3の実施形態におけるルーター、ウェブサーバーのポートマッピング情報の設定動作例を示すシーケンス図である。 本発明の第3の実施形態におけるルーター、ウェブサーバーのポートマッピング情報の別の設定動作例を示すシーケンス図である。
以下、本発明の実施形態について図面を参照して詳細に説明する。尚、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
(第1の実施形態)
本実施形態における構成について説明する。
図1は、本実施形態のポートマッピング装置150の構成の一例を示すブロック図である。
本実施形態のポートマッピング装置150は、外部の一般的なルーター100に含まれる。
ルーター100は、ポートマッピング装置150と、LANインターフェース120と、WANインターフェース130と、LANインターフェース120とWANインターフェース130との間でルーティングを行うルーティング手段140とを含む。
LANインターフェース120は、外部のLAN800に接続される。LAN800には、外部のウェブサーバー300、400が接続される。ウェブサーバー300、400上では、それぞれ、ウェブサイト310、410が動作する。
WANインターフェース130は、外部のインターネット900に接続される。インターネット900には、外部の端末700が接続される。端末700上では、ウェブブラウザー710が動作する。
ポートマッピング装置150は、ポートマッピング拡張手段160を含む。
ポートマッピング拡張手段160は、WAN側からウェブサイト310、410を指定するためのWAN側URLのそれぞれを、LAN側からウェブサイト310、410を指定するためのLAN側URLに対応付けるように拡張された、ポートマッピングを行う。なお、WAN側URLはポート番号を含まず、LAN側URLはポート番号を含む。
また、ポートマッピング拡張手段160は、ポートマッピングに必要な設定情報を保持する。
設定情報には、ポート番号を含むLAN側URLの情報と、ポート番号を含まないWAN側URLの情報とが含まれる。
LAN側URLは、例えば、「PresentationURL」である。「PresentationURL」は、UPnPにおけるデバイスの詳細情報の1つで、ルーター100のLAN側のネットワーク800において、デバイスにアクセスするためのURLを値に持つ情報である。
WAN側URLは、例えば、UPnPにおけるデバイスの別の詳細情報である、「friendlyName」、「modelName」等の値がパス名として含む。「friendlyName」は、UPnPにおいて、デバイスを区別するための名前を値に持つ情報である。modelNameは、UPnPにおいて、デバイスのモデルに与えられた名前を値に持つ情報である。
ウェブサーバー300、400等のデバイスには、デバイス毎のLAN側URLと対応するWAN側URLの設定情報が与えられる。
ポートマッピング装置150は、ポートマッピング拡張手段160により保持されるポートマッピングの設定情報に基づき、ルーティング手段140に対して、ポートマッピング動作を指示する。
次に、本実施形態における動作について説明する。
図2は、本実施形態のポートマッピング装置150の動作を説明するためのフローチャートである。
ポートマッピング装置150は、ルーター100がWANインターフェース130から受信したパケットがHTTP(Hypertext Transfer Protocol) GET要求であるか否かを確認する(ステップS101)。
受信したパケットがHTTP GET要求でない場合には(ステップS101:No)、ポートマッピング装置150は、ステップS101の処理を繰り返す。
受信したパケットがHTTP GET要求である場合には(ステップS101:Yes)、ポートマッピング装置150は、受信したHTTP GET要求中の第1パラメータ(Request-URI)が、ポートマッピング拡張手段160により保持されるWAN側URL中のパス名のいずれかと一致するか否かを確認する(ステップS102)。
一致しない場合には(ステップS102:No)、ポートマッピング装置150は、受信したHTTP GET要求を処理せず(ステップS107)、処理を終了する。
一致する場合には(ステップS102:Yes)、ポートマッピング装置150は、受信したHTTP GET要求中のRequest-URIを、WAN側URL中のパス名が一致したLAN側URL中のパス名に置き換える。続いて、ポートマッピング装置150は、受信したHTTP GET要求中の第3パラメータ(Host)の値を、通信用URI(Universal Resource Identifier)が一致したLAN側URL中のIPアドレスに置き換える(ステップS103)。
次に、ポートマッピング装置150は、変換されたHTTP GET要求を、WAN側URLに対応するLAN側URL中のIPアドレス宛に送信する(ステップS104)。
続いて、ポートマッピング装置150は、ルーター100がWANインターフェース130から受信したパケットがHTTP 200応答であるか否かを確認する(ステップS105)。
受信したパケットがHTTP 200応答でない場合には(ステップS105:No)、ポートマッピング装置150は、ステップS105の処理を繰り返す。
受信したパケットがHTTP 200応答である場合には(ステップS105:Yes)、ポートマッピング装置150は、受信したHTTP 200応答を、HTTP GET要求元である端末700に送信して(ステップS106)、処理を終了する。
次に、本実施形態における処理手順の具体例について説明する。
図3は、本実施形態のポートマッピング装置150の処理手順の具体例を説明するための図である。
本具体例では、LAN側URLがpresentationURLであり、WAN側URL中のパス名がfriendlyNameの値である場合について、説明する。
例えば、ウェブサーバー300の、LAN側URLの値は「http://private-ip-address1:port1/path1」、friendlyNameは“server1”とする。
また、例えば、ウェブサーバー400の、LAN側URLの値は「http://private-ip-address2:port2/path2」、friendlyNameは“server2”とする。
なお、“private-ip-address1”、“private-ip-address2”は、ルーターのLAN側のネットワークにおける、デバイスのプライベートIPアドレスである。また、“port1”、“port2”は、TCP(Transport Control Protocol)またはUDP(User Datagram Protocol)のポート番号を示す“0”から“65535”の整数である。また、“server1”、“server2”は、名称を示す任意の文字列である。
上記の場合、ポートマッピングの設定情報は、ポートマッピング拡張手段160により、例えば、図3のように保持される。
ルーター100のWAN側のネットワークであるインターネット900における端末700上のウェブブラウザー710が、HTTPを利用して、ルーター100のLAN側のネットワーク800におけるウェブサーバー300、400にアクセスする動作について説明する。なお、HTTPのバージョンが1.1である場合を例に説明する。
端末700は、HTTP GET要求をウェブサーバー300に送信する。端末700は、例えば、「GET server1 HTTP/1.1 Host: global-ip-address」で始まるHTTP GET要求を、ルーター100のWANインターフェース130のポート番号port1宛に送信する。
なお、“global-ip-address”は、ルーター100のWAN側のネットワーク900における、デバイスのグローバルIPアドレスである。
ポートマッピング装置150は、受信したパケットがHTTP GET要求であるので(ステップS101:Yes)、受信したHTTP GET要求中の第1パラメーター“server1”が、ポートマッピング拡張手段160により保持されるWAN側URL中のパス名のいずれかと一致するか否かを確認する(ステップS102)。
“server1”が設定情報の1行目のWAN側URL中のパス名“server1”と一致するので(ステップS102:Yes)、ポートマッピング装置150は、受信したHTTP GET要求中の“server1”を、WAN側URL中のパス名が一致したLAN側URL中のパス“path1”に置き換える。続いて、ポートマッピング装置150は、受信したHTTP GET要求中の第3パラメータ(Host)の値を、WAN側URL中のパス名が一致したLAN側URL中のIPアドレス“private-ip-address1”に置き換える(ステップS103)。
次に、ポートマッピング装置150は、変換されたHTTP GET要求「GET path1 HTTP/1.1 Host: private-ip-address1」を、WAN側URL中のパス名が一致したLAN側URL中のIPアドレス“private-ip-address1”宛に送信する(ステップS104)。
続いて、ポートマッピング装置150は、ルーター100のWANインターフェース130からHTTP 200応答を受信し(ステップS105)、受信したHTTP 200応答を、HTTP GET要求元である端末700に送信する(ステップS106)。
端末700は、HTTP GET要求をウェブサーバー400に送信する。端末700は、例えば、「GET server2 HTTP/1.1 Host: global-ip-address」で始まるHTTP GET要求を、ルーター100のWANインターフェース130のポート番号port2宛に送信する。
ポートマッピング装置150は、受信したパケットがHTTP GET要求であるので(ステップS101:Yes)、受信したHTTP GET要求中の第1パラメーター“server2”が、ポートマッピング拡張手段160により保持されるWAN側URL中のパス名のいずれかと一致するか否かを確認する(ステップS102)。
“server2”が設定情報の2行目のWAN側URL中のパス名“server2”と一致するので(ステップS102:Yes)、ポートマッピング装置150は、受信したHTTP GET要求中の“server2”を、WAN側URL中のパス名が一致したLAN側URL中のパス“path2”に置き換える。続いて、ポートマッピング装置150は、受信したHTTP GET要求中の第3パラメータ(Host)の値を、WAN側URL中のパス名が一致したLAN側URL中のIPアドレス“private-ip-address2”に置き換える(ステップS103)。
次に、ポートマッピング装置150は、変換されたHTTP GET要求「GET path2 HTTP/1.1 Host: private-ip-address2」を、WAN側URL中のパス名が一致したLAN側URL中のIPアドレス“private-ip-address2”宛に送信する(ステップS104)。
続いて、ポートマッピング装置150は、ルーター100のWANインターフェース130からHTTP 200応答を受信し(ステップS105)、受信したHTTP 200応答を、HTTP GET要求元である端末700に送信する(ステップS106)。
以上説明したように、本実施形態のポートマッピング装置150は、HTTP GET要求「GET server1 HTTP/1.1 Host: global-ip-address」を受信すると、「GET path1 HTTP/1.1 Host: private-ip-address1」を、IPアドレス“private-ip-address1”、ポート番号“port1”宛に送信する。また、ポートマッピング装置150は、HTTP GET要求「GET server2 HTTP/1.1 Host: global-ip-address」を受信すると、「GET path2 HTTP/1.1 Host: private-ip-address2」を、IPアドレス“private-ip-address2”、ポート番号“port2”宛に送信する。
つまり、ルーターのWAN側IPアドレスとパス名とを含むURLにより、ポート番号が使用されることなく、ルーターのLAN側の個々のウェブサーバーが識別される。従って、本実施形態のポートマッピング装置150では、ポートマッピングの利便性が向上されるという効果がある。
なお、本実施形態では、端末700上のウェブブラウザー710が、ウェブサーバー300、400それぞれの上のウェブサイト310、410にアクセスする場合について説明した。しかしながら、本実施形態のアプリケーションは、必ずしもウェブに限定されない。すなわち、本実施形態のアプリケーションは、サーバ上のアプリケーションが所定のポート番号でサービスを提供する任意のアプリケーションであってもよい。このとき、ルーターのLAN側、WAN側のそれぞれにおいて、アプリケーションはURLで識別されればよい。
(第2の実施形態)
本発明のポートマッピング装置の例として、ポートマッピング装置を含む、インターネット(Internet)に接続されたNAT(Network Address Translation)およびUPnP IGD(Universal Plug and Play Internet Gateway Device)機能付きルーターの例を第2の実施形態として示す。
本実施形態における構成について説明する。
図4は、本実施形態におけるルーター105の構成の一例を示すブロック図である。ルーター105は、LANインターフェース120と、WANインターフェース130と、ルーティング手段140と、ポートマッピング手段155と、記憶手段190とを含むルーターである。
ポートマッピング手段155は、ポートマッピング拡張手段165と、UPnP IGD手段170と、UPnP CP(Control Point)手段180とを有する。
LANインターフェース120は、LANネットワーク800に接続される。LANネットワーク800には、ウェブサーバー305およびウェブサーバー405が接続される。
ウェブサーバー305、405は、それぞれウェブサイト315、415を有する。
WANインターフェース130は、コンピュータネットワーク、電話交換網、移動体通信網、企業内イントラネット(Intranet)などが相互に接続された通信網であるインターネット900に接続される。 ポートマッピング拡張手段165は、ポートマッピング情報の設定に関する機能を提供する。
UPnP IGD手段170は、UPnP対応ルーターの機能であるIGD機能を提供する。なお、UPnPのIGDは周知の技術であるので、ここでは詳細について説明しない。
UPnP CP手段180は、UPnP対応装置に対する制御機能であるCP機能を提供する。なお、UPnPのCPは周知の技術であるので、ここでは詳細について説明しない。
ルーター105が有するその他の機能については、図示を省略する。
LANインターフェース120およびWANインターフェース130は、それぞれ、1つ以上のイーサネット(登録商標)インターフェースを有する。
なお、LAN側ネットワーク800は、有線接続に限定されず、無線接続であってもよい。
また、WANインターフェース130とインターネット900との接続方法は限定されない。インターネット900には、ウェブブラウザー715を有するPC(Personal Computer)等の端末705が接続される。
LANインターフェース120は、LANネットワーク800から受信したパケットをルーティング手段140に送信し、ルーティング手段140から受信したパケットをLANネットワーク800に送信する。
WANインターフェース130は、インターネット900から受信したパケットをルーティング手段140に送信し、ルーティング手段140から受信パケットをインターネット900に送信する。
特定の条件(後述)において、ルーティング手段140は、ポートマッピング拡張手段165にパケットを送信する。そして、ポートマッピング拡張手段165は、受信したパケットに対して処理を行った後、パケットをルーティング手段140に送信する。
UPnP IGD手段170は、LAN側ネットワーク800から受信したUPnPパケットに対して処理を行う。
特定の条件(後述)において、ポートマッピング拡張手段165は、パケットを生成し、ルーティング手段140に送信する。
UPnP CP手段180は、UPnPパケットを生成し、LAN側ネットワーク800へ送信する。
ポートマッピング拡張手段165は、記憶手段190に対するポートマッピング設定情報の記憶及び削除、記憶手段190に記憶した情報の参照、並びに、受信したUPnPパケットに記述されたフィールドの確認及びファイルの取得を行う。
なお、端末705およびウェブブラウザー715は、周知の技術により実現されるものであり構成についての説明は行わない。また、ウェブサーバー305、405、およびそれぞれが有するウェブサイト315、415は、周知の技術により実現されるものであり構成についての説明は行わない。
また、UPnP IGD手段170のUPnPによるポートマッピングの動作(AddPortMappingを受信してのポートマッピングの登録、DeletePortMappingを受信してのポートマッピングの削除)は、周知の技術であるため詳細な説明は行わない。
また、UPnP CP手段180の動作(M-SEARCHの送信)は、周知の技術であるため詳細な説明は行わない。
また、ルーター105は、特に明記しない限り、AddPortMapping要求やDeletePortMapping要求に対してHTTP(Hypertext Transfer Protocol) 200レスポンスを送信し、UPnPによるポートマッピング動作を正常に行うものとする。
また、これらのUPnPによるポートマッピングの設定情報は、適宜記憶手段190に記憶、削除されるものとし、実施例の中での説明を省略する。
また、ポートマッピング情報の設定は、ウェブブラウザーを使用してルーター105が有する管理画面に接続することで行われるものとする。
その他の構成要素については、第1の実施形態と同じである。
次に、本実施形態における動作について説明する。
まず、ルーター105の動作の概要について説明する。
ルーター105には、WAN側から通信させたいLAN側のウェブサーバー(305、405等)の設定が行われる。
ルーター105は、LAN側のネットワーク800からのパケットを監視する。
ルーター105は、リクエストメソッドが“POST”であるHTTPパケット(以下、「HTTP POSTリクエスト」という)を受信すると、データがXML(Extensible Markup Language)フォーマットであり、Body部にAddPortMappingが記述されたパケット(以下、「AddPortMapping要求」という。)であるか否かを確認する。
AddPortMapping要求は、ルーター105に対してポートマッピングを要求するパケットである。AddPortMapping要求は、周知の技術であり、ウェブサーバー、は周知の技術に従いAddPortMapping要求を送信する。
ルーター105は、パケットの送信元がウェブサーバー(305、405等)であるか否かを確認するため、リクエストメソッドがM-SEARCHであるHTTPパケット(以下、「M-SEARCH」という。)をLAN側ネットワークにマルチキャスト送信する。
ウェブサーバー(305、405等)がM-SEARCHに対応している場合、ルーター105は、ウェブサーバー(305、405等)からステータスコードが“200”であるHTTPパケット(以下、「HTTP 200レスポンス」という)を受信する。
ルーター105は、受信したHTTP 200レスポンスのソースIPアドレスがウェブサーバーのIPアドレスと一致するか否かを確認する。
受信したHTTP 200レスポンスに「LOCATION」フィールドが含まれる場合、ルーター105は、「LOCATION」フィールドに記述されたファイルを取得するためウェブサーバー(305、405等)にリクエストメソッドがGETであるHTTPパケット(以下、「HTTP GETリクエスト」という)を送信する。
ルーター105は、ウェブサーバー(305、405等)からHTTP 200レスポンスを受信すると、データがXMLフォーマットであり、presentationURLが記述されているか否かを確認する。
presentationURLが記述されている場合、ルーター105は、ウェブサーバー(305、405等)がウェブサイト(315、415等)を有していると判断する。
presentationURLの他にfriendlyNameやmodelNameなどが記述されている場合、ルーター105は、friendlyNameやmodelNameなどの値を通信用URIとして採用する。例えば、friendlyNameが通信用URIとして採用される場合、friendlyNameが“myServer”であれば通信用URIが“/myServer/”であるものとする。
ルーター105は、通信用URIおよびウェブサーバーのIPアドレス、ポート番号、パスを設定し、ルーター105の記憶手段に記憶する。
次にルーター105は、WAN側で受信するパケットを監視する。
WAN側の端末から受信したパケットが、HTTP GETリクエストである場合、ルーター105は、HTTP GETリクエストのRequest-URI(Uniform Resource Identifier)に記憶手段に記憶されている通信用URIが含まれるか否かを確認する。
通信用URIが含まれる場合、ルーター105は、HTTPリクエストの“Host”の値を記憶手段に記憶されるIPアドレスに、ポート番号をRequest-URIにおいて通信用URIと一致する部分を記憶手段に記憶されるパスに置き換えた上で、ウェブサーバー(305、405等)に送信する。
ルーター105は、ウェブサーバー(305、405等)からステータスコードが“200”であるHTTPパケット(以下、「HTTP 200レスポンス」という)を受信すると、HTTP 200レスポンスをWAN側の端末705に送信する。
これにより、ルーター105のWAN側に接続された端末705がルーター105のLAN側に接続されたウェブサーバー(305、405等)と通信する際に、ルーター105のWAN側IPアドレスとポート番号とを含むURLではなく、ルーター105のWAN側IPアドレスと“/myServer/”のようなパス名とを含むURLが使用される。これにより、端末705は、個々のウェブサーバー(305、405等)を識別できる。
つまり、ウェブサーバー(305、405等)とポート番号との紐付けが不要である。なお、使用者はウェブブラウザー715を使用してルーター105が有する管理画面に接続することで、ルーター105のWAN側IPアドレスとウェブサーバー305、405(ウェブサイト315、425)と通信するためのRequest-URIを確認することができる。
次に、ルーター105の動作の具体例を説明する。
図5から図11を使用して、ウェブサーバー305、ウェブサーバー405、ルーター105、端末705間の処理の動作をそれぞれ説明する。以降の文中の先頭文字「S」に続く3桁または4桁の数字は図5から図11中の処理のステップの番号を表す。
図5から図7において、ルーター105は、LANインターフェース120において、ウェブサーバー305またはウェブサーバー405とパケットの送受信を行う。図6、図8において、WANインターフェース130において、端末705とパケットの送受信を行う。
ルーティング手段140は、LANインターフェース120またはWANインターフェース130からパケットを受信した場合には、ポートマッピング手段155(ポートマッピング拡張手段165、UPnP IGD手段170、UPnP CP手段180)に受信したパケットを送信する。ルーティング手段140は、ポートマッピング手段155(ポートマッピング拡張手段165、UPnP IGD手段170、UPnP CP手段180)からパケットを受信した場合には、受信したパケットをLANインターフェース120またはWANインターフェース130に送信する。
図5から図8において、ウェブサーバー305およびウェブサーバー405とルーター105間に存在するLANネットワーク800、およびルーター105と端末705間に存在するインターネット900の記載は省略する。
ルーター105のLAN側、WAN側のIPアドレスは、それぞれ“192.168.100.1”、“172.16.1.5”とする。ルーター105のWAN側は、ポート番号“80”でHTTPパケットを待ち受けることとする。ウェブサーバー305およびウェブサーバー405のIPアドレスをそれぞれ“192.168.100.10”、“192.168.100.20”、ポート番号をそれぞれ“8080”、“10080”、ウェブサイト315およびウェブサイト415上に存在するファイルのURLをそれぞれ“http://192.168.100.10:8080/example.txt”、“http://192.168.100.20:10080/user/test.txt”とする。
図5は、本実施形態のルーター105、ウェブサーバー305、405のポートマッピング情報の設定動作例を示すシーケンス図である。
図9は、本実施形態のルーター105のポートマッピング手段155のポートマッピング情報の設定動作を示すフローチャートである。
図12は、本実施形態のルーター105のポートマッピング情報の具体例を説明するための図である。
図5、図9および図12を用いて、記憶手段190へのポートマッピング情報の設定動作について説明する。
ウェブサーバー305は、ルーター105に対して「AddPortMapping要求」を送信する(図5:ステップS201、S202)。「AddPortMapping要求」とは、ルーターに対するポートマッピングの設定要求である。AddPortMapping要求は、周知の技術である。ウェブサーバー305は、周知の技術に従いAddPortMapping要求を送信する。
ルーター105のポートマッピング手段155は、UPnP IGD手段170がウェブサーバー305からAddPortMapping要求を受信したか否かを確認する(図9:ステップS601)。
AddPortMapping要求を受信すると(図9:ステップS601:Yes)、ポートマッピング手段155は、UPnP CP手段180により「M-SEARCH」をLAN側ネットワーク800にマルチキャスト送信する(図9:ステップS602、図5:ステップS204、S205、S206)。なお、「M-SEARCH」は、ポートマッピングの対象装置(ウェブサーバー305、405)を検出するための手段である。
ルーター105のポートマッピング手段155は、UPnP CP手段180がHTTP 200レスポンスを受信したか否かを確認する(図9:ステップS603)。
HTTP 200レスポンスを受信すると(図9:ステップS603:Yes、図5:ステップS207、S208)、ポートマッピング手段155は、受信したHTTP 200レスポンスのソースIPアドレスがAddPortMapping要求したウェブサーバーと一致するか否かを確認する(図9:ステップS604、図5:ステップS209)。
一致する場合(図9:ステップS604:Yes)、ポートマッピング手段155は、「LOCATION」フィールドが含まれるか否かを確認する(図9:ステップS605、図5:ステップS210)。
「LOCATION」フィールドが含まれる場合(図9:ステップS605:Yes)、ポートマッピング手段155は、「LOCATION」フィールドに記述されているファイルの取得を行う(図9:ステップS606、図5:ステップS210、S211)。
ファイルが取得できた場合(図9:ステップS606:Yes)、ポートマッピング手段155は、取得したファイルにpresentationURLが記述されているか否かを確認する(図9:ステップS607、図5:ステップS212、S213)。
presentationURLが記述されている場合(図9:ステップS607:Yes)、ポートマッピング手段155は、ウェブサーバー305がウェブサイト315を有していると判断する(図9:ステップS608、S609、図5:ステップS214、S215)。ここではpresentationURLは、“http://192.168.100.10:8080/”であるものとする。このとき、パスは“/”である。
ポートマッピング手段155は、ステップS606で取得したファイルに記述された“friendlyName”や“modelName”などの値を通信用URIとして採用する(図9:ステップS608、図5:ステップS214)。ここでは“friendlyName”の値が“myServer”であるとし、“/myServer/”を通信用URIとして採用する。
ポートマッピング手段155は、通信用URIおよびウェブサーバーのIPアドレス、ポート番号、パスを、記憶手段190に記憶する(図9:ステップS609、図5:ステップS215)。
図12は、記憶手段190に記憶されたポートマッピング情報である。No.1行はウェブサイト315に関する情報であり、通信用URI列は“/myServer/”、IPアドレスは“192.168.100.10”、ポート番号は“8080”である。No.2行はウェブサイト315と同様に設定されたウェブサイト415に関する情報である。ここではpresentationURLが“http://192.168.100.20:10080/user/”であるとする。このときパスは“/user/”である。“friendlyName”の値が“webServer”であるものとし、“/webServer/”が通信用URIとして採用される。通信用URI列は“/webServer/”、IPアドレスは“192.168.100.20”、ポート番号は“10080”である。
図6は、本実施形態のルーター105、ウェブサーバー305、405、端末705のポートマッピングの動作例を示すシーケンス図である。
図10は、本実施形態のルーター105のポートマッピング手段155のポートマッピングの動作を示すフローチャートである。
図6および図10を用いて、HTTP GETリクエストのRequest-URIに記憶手段190に記憶された通信用URIが含まれる場合のポートマッピングの動作について説明する。
端末705は、ウェブサイト315(アドレスは“192.168.100.10”)上のファイル(“example.txt”)を取得するために、HTTP GETリクエストを送信する(図6:ステップS301、S302)。ここで、HTTP GETリクエストの送信先IPアドレスは、ルーターのWAN側IPアドレスである“172.16.1.5”、ポート番号は“80”、Request-URIは“/myServer/”である。使用者は、ウェブブラウザーを使用してルーターが有する管理画面に接続することで、ルーターのWAN側IPアドレスとウェブサイト315と通信するためのRequest-URIを知るものとする。
ルーター105のポートマッピング手段155は、端末705からHTTP GETリクエストを受信したか否かを確認する(図10:ステップS701)。
HTTP GETリクエストを受信すると(図10:ステップS701:Yes)、ポートマッピング手段155は、HTTP GETリクエストのRequest-URIに記憶手段190に記憶された通信用URIが含まれるか否かを確認する(図10:ステップS702、図6:ステップS303)。
Request-URIに通信用URIが含まれる場合(図10:ステップS702:Yes)、ポートマッピング手段155は、HTTP GETリクエストの“Host”の値を記憶手段190に記憶されたIPアドレス、ポート番号に置き換える。次に、ポートマッピング手段155は、Request-URIの通信用URIと一致する部分を記憶手段190に記憶されたパスに置き換える(図10:ステップS703、図6:ステップS304)。続いて、ポートマッピング手段155は、HTTP GETリクエストをウェブサーバー305あてに送信する(図10:ステップS704、図6:ステップS305、S306)。
ポートマッピング手段155は、ウェブサーバー305からHTTP 200レスポンスを受信したか否かを確認する(図10:ステップS705)。
ウェブサーバー305からHTTP 200レスポンスを受信すると(図10:ステップS705:Yes、図6:ステップS307)、ポートマッピング手段155は、HTTP 200レスポンスを端末705に送信する(図10:ステップSS706、図6:ステップS308、S309)。
つまり、ルーター105のWAN側のネットワークに接続された端末705は、“http://172.16.1.5:80/myServer/example.txt”にアクセスすることにより、ルーター105のLAN側のネットワークに接続されたウェブサイト315上のファイル“http://192.168.100.10:8080/example.txt”を取得する。
次に、端末705は、ウェブサイト415(アドレスは“192.168.100.20”)上のファイル(“test.txt”)を取得するために、HTTP GETリクエストを送信する(図6:ステップS310、S311)。ここで、HTTP GETリクエストの送信先IPアドレスは、ルーターのWAN側IPアドレスである“172.16.1.5”、ポート番号は“80”、Request-URIは“/webServer/”である。使用者は、ウェブブラウザーを使用してルーターが有する管理画面に接続することで、ルーターのWAN側IPアドレスとウェブサイト415と通信するためのRequest-URIを知るものとする。
ルーター105のポートマッピング拡張手段165は、端末705からHTTP GETリクエストを受信したか否かを確認する(図10:ステップS701)。
HTTP GETリクエストを受信すると(図10:ステップS701:Yes)、ポートマッピング手段155は、HTTP GETリクエストのRequest-URIに記憶手段190に記憶された通信用URIが含まれるか否かを確認する(図10:ステップS702、図6:ステップS312)。
Request-URIに通信用URIが含まれる場合(図10:ステップS702:Yes)、ポートマッピング手段155は、HTTP GETリクエストの“Host”の値を記憶手段190に記憶されたIPアドレス、ポート番号に置き換える。次に、ポートマッピング手段155は、Request-URIの通信用URIと一致する部分を記憶手段190に記憶されたパスに置き換える(図10:ステップS703、図6:ステップS313)。続いて、ポートマッピング手段155は、HTTP GETリクエストをウェブサーバー405あてに送信する(図10:ステップS704、図6:ステップS314、S315)。
ポートマッピング手段155は、ウェブサーバー405からHTTP 200レスポンスを受信したか否かを確認する(図10:ステップS705)。
ウェブサーバー305からHTTP 200レスポンスを受信すると(図10:ステップS705:Yes、図6:ステップS316)、ポートマッピング手段155は、HTTP 200レスポンスを端末705に送信する(図10:ステップSS706、図6:ステップS317、S318)。
つまり、ルーター105のWAN側のネットワークに接続された端末705は、“http://172.16.1.5:80/webServer/test.txt”にアクセスすることにより、ルーター105のLAN側のネットワークに接続されたウェブサイト415上のファイル“http://192.168.100.20:10080/user/test.txt”を取得する。
図7は、本実施形態のルーター105、ウェブサーバー305、405のポートマッピング情報の削除動作例を示すシーケンス図である。
図11は、本実施形態のルーター105のポートマッピング手段155のポートマッピング情報の削除動作を示すフローチャートである。
図13は、本実施形態のルーター105のポートマッピング情報の具体例を説明するための図である。
図7、図11、図12および図13を用いて、記憶手段190からポートマッピング情報の設定を削除する動作について説明する。
ウェブサーバー305は、ルーター105に対して「DeletePortMapping要求」を送信する(図7:ステップS401、S402)。「DeletePortMapping要求」とは、ルーターに対するポートマッピングの削除要求である。DeletePortMapping要求は、周知の技術である。ウェブサーバー305は、周知の技術に従いDeletePortMapping要求を送信する。
ルーター105のポートマッピング手段155は、UPnP IGD手段170がウェブサーバー305からDeletePortMapping要求を受信したか否かを確認する(図11:ステップS801)。
DeletePortMapping要求を受信すると(図11:ステップS801:Yes、図7:ステップS402)、ポートマッピング手段155は、IPアドレス、ポート番号が記憶手段190に記憶されているか否かを確認する(図11:ステップS802)。
記憶されている場合(図11:ステップS802:Yes)、ポートマッピング手段155は、通信用URI 、IPアドレス、ポート番号、パスを記憶手段190から削除する(図11:ステップS803、図7:ステップS404)。
以上の動作の結果、記憶手段190に記憶されたポートマッピング情報は、図12に示した内容から図13に示すようにNo.1行が削除される。
図8は、本実施形態のルーター105、端末705のポートマッピングの動作例を示すシーケンス図である。
図8および図10を用いて、HTTP GETリクエストのRequest-URIが記憶手段190に通信用URIとして記憶されていない場合のポートマッピングの動作について説明する。
端末705は、ウェブサイト315(アドレスは“192.168.100.10”)上のファイル(“example.txt”)を取得するために、HTTP GETリクエストを送信する(図8:ステップS501、S502)。ここで、HTTP GETリクエストの送信先IPアドレスは、ルーターのWAN側IPアドレスである“172.16.1.5”、ポート番号は“80”、Request-URIは“/myServer/”である。
ルーター105のポートマッピング手段155は、端末705からHTTP GETリクエストを受信したか否かを確認する(図10:ステップS701)。
HTTP GETリクエストを受信すると(図10:ステップS701:Yes)、ポートマッピング手段155は、HTTP GETリクエストのRequest-URIに記憶手段190に記憶された通信用URIが含まれるか否かを確認する(図10:ステップS702、図8:ステップS503)。
Request-URIに記憶手段190に記憶された通信用URIが含まれない場合(図10:ステップS702:No)、ポートマッピング手段155は、端末705からのHTTP GETリクエストを破棄する(図10:ステップS707、図8:ステップS504)。
なお、前述の動作において、ウェブサーバー305とウェブサーバー405のfriendlyNameがともに“webServer”である等のように同一の場合がある。そのような場合には、後から採用される通信用URIにサフィックスを付与することや、friendlyNameではなくmodelNameなど他のパラメーターを採用することなどにより、通信用URIが重複しないようにする。
また、記憶手段190に記憶している通信用URIおよびウェブサーバーのIPアドレス、ポート番号、パスはルーター105が有する管理画面で使用者が確認できるものとする。
以上説明したように、本実施形態のルーター155では、ルーターのWAN IPアドレスとパス名とを含むURLにより、ポート番号が使用されることなく、ルーターのLAN側の個々のウェブサーバーが識別される。従って、本実施形態のポートマッピング装置155では、ポートマッピングの利便性が向上されるという効果がある。
(第3の実施形態)
第2の実施形態のルーター105は、送信したM-SEARCHに対するウェブサーバー305からのHTTP 200レスポンス中の「LOCATION」フィールドに記述されるファイルから、通信用URIを取得する。
ところで、リクエストメソッドがNOTIFYである、ウェブサーバーからの通知のためのHTTPパケット(以下、「NOTIFY」という。)が存在する。
そこで、本発明のルーターの例として、M-SEARCHに対するウェブサーバーからのHTTP 200レスポンス中の「LOCATION」フィールドに記述されるファイルの代わりに、ウェブサーバーからのNOTIFY中の「LOCATION」フィールドに記述されるファイルから、通信用URIを取得するルーターの例を第3の実施形態として示す。
本実施形態における構成について説明する。
本実施形態のルーター106、ウェブサーバー306、406の構成は、それぞれ、第2の実施形態のルーター105、ウェブサーバー305、405の構成と同じである。
ただし、本実施形態のルーター106、ポートマッピング手段156、ウェブサーバー306、406は、第2の実施形態のルーター105、ポートマッピング手段155、ウェブサーバー305、405とは動作が異なる。
次に、本実施形態における動作について説明する。
図14は、本実施形態のルーター106、ウェブサーバー306、406のポートマッピング情報の設定動作例を示すシーケンス図である。
図15は、本実施形態のルーター106、ウェブサーバー306、406のポートマッピング情報の別の設定動作例を示すシーケンス図である。
図14、図15を使用して本実施形態のルーター106、ウェブサーバー306、406の動作を説明する。
ウェブサーバー306は、NOTIFYをLAN側ネットワークにマルチキャスト送信する(ステップS1101、S1102、S1103)。
NOTIFYは周知の技術である。ウェブサーバー306は、周知の技術に従いNOTIFYを送信する。
ルーター106は、NOTIFYを受信すると、NOTIFYに「LOCATION」フィールドが含まれるか否かを確認し、含まれる場合、NOTIFYを一時的に記憶する(ステップS1104)。
ルーター106のポートマッピング手段156は、ウェブサーバー306がAddPortMapping要求を受信しているか否かを確認する(ステップS1105)。
AddPortMapping要求を受信していない場合には、ポートマッピング手段156は、AddPortMapping要求の受信待ちを行う(ステップS1106)。なお、受信待ち時間は、NOTIFYの「CACHE-CONTROL」フィールドに記載されている値や、任意の時間(例えば180秒)を使用すればよい。
AddPortMapping要求を受信している場合には、ポートマッピング手段156は、ステップS1111以降の処理を行う。
ルーター106のポートマッピング手段156は、UPnP IGD手段170がAddPortMapping要求を受信すると(ステップS1107、S1108、S1109)、AddPortMapping要求を送信したウェブサーバー306が送信したNOTIFYが一時的に記憶されているか否かを確認する(ステップS1110)。
ウェブサーバー306が送信したNOTIFYが記憶されている場合、ポートマッピング手段156は、「LOCATION」フィールドに記述されるファイルの取得を行う(ステップS1111、S1112、S1113)。
ファイルが取得できた場合、ポートマッピング手段156は、取得したファイルにpresentationURLが記述されているか否かを確認する(ステップS1114)。
presentationURLが記述されている場合、ポートマッピング手段156は、ウェブサーバー306がウェブサイト315を有すると判断し、取得したファイルに記述されているfriendlyNameやmodelNameなどを通信用URIとして採用する(ステップS1115)。
続いて、ポートマッピング手段156は、通信用URIおよびウェブサーバーのIPアドレス、ポート番号、パスをポートマッピング手段156に設定し、記憶手段190に記憶する(ステップS1116)。
なお、端末705がウェブサイト315または415上のファイルを取得する処理や、ルーター106がDeletePortMapping要求を受信した場合の処理は、第2の実施形態と同一であるため、説明を省略する。
ウェブサーバー306は、ルーター106に対してAddPortMapping要求を送信する(ステップS1201、S1202)。
ルーター106のポートマッピング手段156は、UPnP IGD手段170がAddPortMapping要求を受信すると(ステップS1202、S1203)、ウェブサーバー306が送信したNOTIFYが一時的に記憶されているか否かを確認する(ステップS1204)。
ウェブサーバー306が送信したNOTIFYが記憶されていない場合には、ポートマッピング手段156は、NOTIFYの受信待ちを行う(ステップS1205)。なお、受信待ち時間は任意の時間(例えば180秒)を使用すればよい。
ウェブサーバー306が送信したNOTIFYが記憶されている場合には、ポートマッピング手段156は、ステップ1209以降の処理を行う。
ルーター106は、NOTIFYを受信すると(ステップS1206、S1207)、受信したNOTIFYがAddPortMapping要求を要求しているウェブサーバーが送信したNOTIFYであるか否かを確認する(ステップS1209)。
受信したNOTIFYがAddPortMapping要求を要求しているウェブサーバーが送信したNOTIFYである場合、ポートマッピング手段156は、「LOCATION」フィールドに記述されるファイルの取得を行う(ステップS1210、S1211、S1212)。
ファイルが取得できた場合、ポートマッピング手段156は、取得したファイルにpresentationURLが記述されているか否かを確認する(ステップS1213)。
presentationURLが記述されている場合、ポートマッピング手段156は、ウェブサーバー306がウェブサイト315を有すると判断し、取得したファイルに記述されているfriendlyNameやmodelNameなどを通信用URIとして採用する(ステップS1214)。
続いて、ポートマッピング手段156は、通信用URIおよびウェブサーバーのIPアドレス、ポート番号、パスをポートマッピング手段156に設定し、記憶手段190に記憶する(ステップS1215)。
なお、端末705がウェブサイト315または415上のファイルを取得する処理や、ルーター106がDeletePortMapping要求を受信した場合の処理は、第2の実施形態と同一であるため、説明を省略する。
また、記憶手段190に記憶される情報は、UPnPを使用して自動的に設定されるとは限らない。記憶手段190に記憶される情報は、使用者が手動で通信用URIおよびウェブサーバーのIPアドレス、ポート番号、パス等を設定することにより、設定されてもよい。
以上説明したように、本実施形態のルーター156は、ウェブサーバーからのNOTIFY中の「LOCATION」フィールドに記述されるファイルから、通信用URIを取得する。従って、本実施形態のルーター156では、NOTIFYから通信用URIが取得される場合にも、ルーターのWAN側IPアドレスとパス名とを含むURLにより、ポート番号が使用されることなく、ルーターのLAN側の個々のウェブサーバーが識別される。従って、本実施形態のポートマッピング装置155では、ポートマッピングの利便性が向上されるという効果がある。
尚、図9、10、11のルーターの各処理は、ソフトウェアによって実行されてもよい。すなわち、各処理を行うためのコンピュータプログラムが、ルーターが備えるCPUによって読み込まれ、実行されてもよい。プログラムを用いて各処理を行っても、上述の実施形態の処理と同内容の処理を行うことができる。そして、上記のプログラムは、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスク等、非一時的な媒体に格納されてもよい。
あるいは、各処理は、個別の回路等の構成要素によって実行されてもよい。
尚、本願発明は、上述の実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することができる。

Claims (9)

  1. 外部のルーターのWAN(Wide Area Network)側に接続された外部の端末が前記ルーターのLAN(Local Area Network)側に接続された外部のサーバー上のアプリケーションを識別するためのURL(Uniform Resource Locator)であり、ポート番号を明示的に含まない第1のURLに含まれるパスの情報、及び前記のルーターが前記アプリケーションを識別するための第2のURLの情報に基づき、前記端末と前記サーバー間の通信を前記ルーターに中継させるポートマッピング拡張手段
    を備え
    前記ポートマッピング拡張手段は、前記サーバーからポートマッピングの対象を追加する要求を受信した際に、ポートマッピングの対象を検索する検索メッセージを送信することにより、前記検索メッセージに対する応答に含まれる前記第2のURLの情報の所在の情報を取得し、前記所在の情報に基づき前記第2のURLの情報を取得する
    ことを特徴とするポートマッピング装置。
  2. 前記ポートマッピング拡張手段は、前記所在の情報に基づき前記パスの情報を取得する
    ことを特徴とする請求項に記載のポートマッピング装置。
  3. 前記所在の情報は、前記検索メッセージに対する応答に含まれる所定のフィールドの値である
    ことを特徴とする請求項又はに記載のポートマッピング装置。
  4. 前記第2のURLの情報は、前記所在から取得したUPnP(Universal Plug and Play)におけるデスクリプションファイルに含まれるpresentationURLフィールドの値である
    ことを特徴とする請求項に記載のポートマッピング装置。
  5. 前記パスの情報は、前記デスクリプションファイルに含まれるfriendlyNameフィールド又はmodelNameフィールドの値である
    ことを特徴とする請求項に記載のポートマッピング装置。
  6. 前記ポートマッピング拡張手段は、ポートマッピングの対象を通知する通知メッセージを受信し、前記サーバーからポートマッピングの対象を追加する要求を受信した際に、前記通知メッセージに含まれる前記第2のURLの情報の所在の情報を取得し、前記所在の情報に基づき前記第2のURLの情報を取得する
    ことを特徴とする請求項1に記載のポートマッピング装置。
  7. 外部のサーバーが接続されるLANインターフェースと、
    外部の端末が接続されるWANインターフェースと、
    前記LANインターフェース及び前記WANインターフェース間でルーティングを行うルーティング手段と、
    前記端末が前記サーバー上のアプリケーションを識別するためのURLであり、ポート番号を明示的に含まない第1のURLに含まれるパスの情報、及び前記ルーティング手段が前記アプリケーションを識別するための第2のURLの情報に基づき、前記端末と前記サーバー間の通信を前記ルーティング手段に中継させるポートマッピング拡張手段を含むポートマッピング装置と
    を備え
    前記ポートマッピング拡張手段は、前記サーバーからポートマッピングの対象を追加する要求を受信した際に、ポートマッピングの対象を検索する検索メッセージを送信することにより、前記検索メッセージに対する応答に含まれる前記第2のURLの情報の所在の情報を取得し、前記所在の情報に基づき前記第2のURLの情報を取得する
    ことを特徴とするルーター。
  8. 外部のルーターのWAN側に接続された外部の端末が前記ルーターのLAN側に接続された外部のサーバー上のアプリケーションを識別するためのURLであり、ポート番号を明示的に含まない第1のURLに含まれるパスの情報、及び前記のルーターが前記アプリケーションを識別するための第2のURLの情報に基づき、前記端末と前記サーバー間の通信を前記ルーターに中継させる方法であって、
    前記サーバーからポートマッピングの対象を追加する要求を受信した際に、ポートマッピングの対象を検索する検索メッセージを送信することにより、前記検索メッセージに対する応答に含まれる前記第2のURLの情報の所在の情報を取得し、前記所在の情報に基づき前記第2のURLの情報を取得する
    ことを特徴とするポートマッピング方法。
  9. ポートマッピング装置が備えるコンピュータを、
    外部のルーターのWAN側に接続された外部の端末が前記ルーターのLAN側に接続された外部のサーバー上のアプリケーションを識別するためのURLであり、ポート番号を明示的に含まない第1のURLに含まれるパスの情報、及び前記のルーターが前記アプリケーションを識別するための第2のURLの情報に基づき、前記端末と前記サーバー間の通信を前記ルーターに中継させ
    前記サーバーからポートマッピングの対象を追加する要求を受信した際に、ポートマッピングの対象を検索する検索メッセージを送信することにより、前記検索メッセージに対する応答に含まれる前記第2のURLの情報の所在の情報を取得し、前記所在の情報に基づき前記第2のURLの情報を取得するポートマッピング拡張手段と
    として機能させるためのポートマッピングプログラム。
JP2014083764A 2014-04-15 2014-04-15 ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラム Active JP6006257B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014083764A JP6006257B2 (ja) 2014-04-15 2014-04-15 ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014083764A JP6006257B2 (ja) 2014-04-15 2014-04-15 ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラム

Publications (2)

Publication Number Publication Date
JP2015204559A JP2015204559A (ja) 2015-11-16
JP6006257B2 true JP6006257B2 (ja) 2016-10-12

Family

ID=54597772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014083764A Active JP6006257B2 (ja) 2014-04-15 2014-04-15 ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラム

Country Status (1)

Country Link
JP (1) JP6006257B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019140632A (ja) * 2018-02-15 2019-08-22 富士通株式会社 中継装置、中継方法、データ構造、ゲートウェイ装置、及び中継システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3803654B2 (ja) * 2003-05-20 2006-08-02 Necアクセステクニカ株式会社 LAN間接続装置及びそのUPnPデバイス公開方法

Also Published As

Publication number Publication date
JP2015204559A (ja) 2015-11-16

Similar Documents

Publication Publication Date Title
JP6054484B2 (ja) 割り当てられたネットワークアドレスを有するデバイスにアクセスするクライアントローカルプロキシサーバを使用したシステムおよび方法
JP5739023B2 (ja) 割り当てられたネットワークアドレスを有するデバイスにアクセスするウェブプロキシサーバを使用したシステムおよび方法
JP5847853B2 (ja) 割り当てられたネットワークアドレスを有するデバイスにアクセスするためのシステムおよび方法
US20050229243A1 (en) Method and system for providing Web browsing through a firewall in a peer to peer network
CN101582856B (zh) 一种门户服务器与宽带接入设备的会话建立方法及其系统
KR101779917B1 (ko) 미디어 리소스 피드백 방법, 장치, 프로그램 및 기록매체
JP2013210896A (ja) プロキシサーバ装置、クライアント端末装置、リモートアクセスシステム、転送制御方法及びプログラム、並びにアクセス方法及びプログラム
CN107948150A (zh) 报文转发方法及装置
WO2010099680A1 (zh) 私网用户对同侧私网设备访问的实现方法及系统
JP2006203731A (ja) ネットワーク中継装置、ネットワーク接続情報閲覧システム、及びネットワーク接続情報通知方法
JP6006257B2 (ja) ポートマッピング装置、ルーター、ポートマッピング方法、及びポートマッピングプログラム
JP2008148243A (ja) 通信装置、通信システム、通信方法及び通信プログラム
JP4988307B2 (ja) コンテキスト・ベースのナビゲーション
JP5573835B2 (ja) Dns名解決システム、オーバーライドエージェント、dns名解決方法
JP2005197936A (ja) 通信システム、登録装置及び通信装置
JP2021057759A (ja) ルータ装置、ルーティング方法及びルーティングプログラム
JP2010113491A (ja) ウェブ検索システム、ウェブ検索方法、およびウェブ検索プログラム
US20230336793A1 (en) Streaming proxy service
JP5670958B2 (ja) 中継装置、中継方法、および、コンピュータ・プログラム
JP2019028811A (ja) 通信システム、利用者端末通信プログラム、Webサーバ通信プログラム、利用者端末およびWebサーバ
KR20090000069A (ko) 이메일주소의 처리방법 및 이를 실행시키기 위한프로그램을 기록한 기록매체
JP2010056664A (ja) 統一資源位置指定子の構成方法およびハイパーテキスト転送プロトコルネットワーク

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160908

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 6006257

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150