JP4355696B2 - ルータ、パケットフォワード方法、およびパケットフォワードプログラム - Google Patents

ルータ、パケットフォワード方法、およびパケットフォワードプログラム Download PDF

Info

Publication number
JP4355696B2
JP4355696B2 JP2005297005A JP2005297005A JP4355696B2 JP 4355696 B2 JP4355696 B2 JP 4355696B2 JP 2005297005 A JP2005297005 A JP 2005297005A JP 2005297005 A JP2005297005 A JP 2005297005A JP 4355696 B2 JP4355696 B2 JP 4355696B2
Authority
JP
Japan
Prior art keywords
port mapping
packet
port
communication network
received
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.)
Expired - Fee Related
Application number
JP2005297005A
Other languages
English (en)
Other versions
JP2007110266A (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 AccessTechnica Ltd
Original Assignee
NEC AccessTechnica 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 AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2005297005A priority Critical patent/JP4355696B2/ja
Publication of JP2007110266A publication Critical patent/JP2007110266A/ja
Application granted granted Critical
Publication of JP4355696B2 publication Critical patent/JP4355696B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、UPnP(Universal Plug and Play)を利用するルータ、パケットフォワード方法、およびパケットフォワードプログラムに関する。
昨今、IP(Internet Protocol)電話や、インスタントメッセンジャーなどの、P2P(Peer to Peer)機能を用いた通信が広まるとともに、ブロードバンドルータにおいて、UPnP技術を利用したNAT(Network Address Translation)越えが行われている。
ここで、NAT越えとは、インターネットに接続されたコンピュータから、NATの配下のコンピュータや、通信ネットワークに直接接続することをいう。
NAT越えは、コンピュータに搭載されているアプリケーションソフトウェアが、動的にポートとプロトコルと接続相手とを指定(ポートマッピング)し、パケットのフォワーディング(送り先)を決めるもので、ユーザの手を煩わすことなくP2P機能を利用できるようにすることを目的としている。
なお、特許文献1には、インターネットとLAN(Local Area Network)とを接続し、インターネットに接続されたコンピュータとLANに接続されたコンピュータとを接続するために開いたポートを、所定のタイミングで閉じる中継装置について記載されている。
また、特許文献2には、LANとインターネットとに接続されたルータが、インターネットに接続された通信機器に対応してポート番号を割り当てる方法について記載されている。
特開2004−328027号公報 (段落0022〜0062、図1) 特開2005−151142号公報 (段落0045〜0157、図1)
しかし、特許文献1に記載されている中継装置は、中継装置がポートを閉じるまでの間はポートが開かれているため、不正に接続されるおそれがあり、セキュリティ上の問題がある。
また、特許文献2に記載されている方法は、LANに接続されたコンピュータが実行する一のP2Pアプリケーションソフトウェアのみ一のポートを使用することができ、同一のポートを使って、複数のコンピュータがP2Pアプリケーションソフトウェアを同時に実行することができないという問題がある。
そこで、本発明は、UPnP CP(Control Point)機能を有する複数のアプリケーションソフトウェアが、同時にIGD(Internet Gateway Device)上で同一のポートを安全に利用することができるルータ、パケットフォワード方法、およびパケットフォワードプログラムを提供することを目的とする。
本発明によるルータは、第1の通信ネットワークと第2の通信ネットワークとを接続するルータにであって、一方の通信ネットワーク側から受信するパケットの宛先ポートと、他方の通信ネットワークに接続されたコンピュータであって、パケットの送信先であるコンピュータを示す情報と、通信プロトコルとを対応づけるポートマッピングを示すポートマッピングテーブルを生成するポートマッピング制御手段と、ポートマッピングテーブルにもとづいて、一方の通信ネットワーク側から受信したパケットを、他方の通信ネットワーク側に接続されたコンピュータに送信するルータ手段とを備え、ポートマッピング制御手段は、第2の通信ネットワーク側からパケットを受信する前に、第1の通信ネットワーク側に接続されたコンピュータから、予約としてポートマッピングを受け付け、予約として受け付けたポートマッピングを含むポートマッピングテーブルを生成し、予約として、他のポートマッピングと重複する宛先ポートと、通信プロトコルとを含むポートマッピングを受け付け、第1の通信ネットワーク側に接続されたコンピュータの要求に応じて、ポートマッピングテーブルのポートマッピングの削除、またはポートマッピングテーブルへのポートマッピングの追加を行うことを特徴とする。
ポートマッピング制御手段は、受信したパケットの送信開始前に予約としてポートマッピングを受け付け、ルータ手段は、ポートマッピング制御手段によってポートマッピングテーブルにポートマッピングが追加された場合に、受信したパケットの送信を開始するように構成されていてもよい。
ポートマッピング制御手段が、予約として受け付けたポートマッピングに対応するパケットを受信した場合に、ポートマッピングにもとづいて、パケットの宛先ポートに対応づけられている送信先のコンピュータに、パケットを受信したことを示す受信通知を送信する通知手段を備えてもよい。
ポートマッピング制御手段は、受信通知の送信先からパケットを受信することが通知された場合に、予約として受け付けたポートマッピングを、正規のポートマッピングとして、ポートマッピングテーブルに追加してもよい。
通知手段は、ポートマッピング制御手段が、予約として受け付けたポートマッピングを正規のポートマッピングとしてポートマッピングテーブルに追加した場合に、パケットの送信元に、通信経路を確保したことを示すメッセージを送信してもよい。
本発明によるパケットフォワード方法は、第1の通信ネットワークと第2の通信ネットワークとの間でパケットを転送するパケットフォワード方法であって、ポートマッピング制御手段が、一方の通信ネットワーク側から受信するパケットの宛先ポートと、他方の通信ネットワークに接続されたコンピュータであって、パケットの送信先であるコンピュータを示す情報と、通信プロトコルとを対応づけるポートマッピングを示すポートマッピングテーブルを生成するポートマッピング制御ステップと、ルータ手段が、ポートマッピングテーブルにもとづいて、一方の通信ネットワーク側から受信したパケットを、他方の通信ネットワーク側に接続されたコンピュータに送信するルーティングステップとを備え、ポートマッピング制御ステップで、ポートマッピング制御手段が、第2の通信ネットワーク側からパケットを受信する前に、第1の通信ネットワーク側に接続されたコンピュータから、予約としてポートマッピングを受け付け、予約として受け付けたポートマッピングを含むポートマッピングテーブルを生成し、予約として、他のポートマッピングと重複する宛先ポートと、通信プロトコルとを含むポートマッピングを受け付け、第1の通信ネットワーク側に接続されたコンピュータの要求に応じて、ポートマッピングテーブルのポートマッピングの削除、またはポートマッピングテーブルへのポートマッピングの追加を行うことを特徴とする。
ポートマッピング制御ステップで、ポートマッピング制御手段は、受信したパケットの送信開始前に予約としてポートマッピングを受け付け、ルーティングステップで、ルータ手段は、ポートマッピング制御手段によってポートマッピングテーブルにポートマッピングが追加された場合に、受信したパケットの送信を開始するように構成されていてもよい。
ポートマッピング制御手段が、ポートマッピング制御ステップで、予約として受け付けたポートマッピングに対応するパケットを受信した場合に、通知手段が、ポートマッピングにもとづいて、パケットの宛先ポートに対応づけられている送信先のコンピュータに、パケットを受信したことを示す受信通知を送信する受信通知送信ステップを備えてもよい。
ポートマッピング制御手段が、ポートマッピング制御ステップで、受信通知の送信先からパケットを受信することが通知された場合に、予約として受け付けたポートマッピングを、正規のポートマッピングとして、ポートマッピングテーブルに追加してもよい。
ポートマッピング制御手段が、予約として受け付けたポートマッピングを正規のポートマッピングとしてポートマッピングテーブルに追加した場合に、通知手段が、パケットの送信元に、通信経路を確保したことを示すメッセージを送信するポートマッピング通知ステップを備えてもよい。
本発明によるパケットフォワードプログラムは、第1の通信ネットワークと第2の通信ネットワークとを接続するルータとして機能するコンピュータに搭載されるパケットフォワードプログラムであって、コンピュータに、一方の通信ネットワーク側から受信するパケットの宛先ポートと、他方の通信ネットワークに接続されたコンピュータであって、パケットの送信先であるコンピュータを示す情報と、通信プロトコルとを対応づけるポートマッピングを示すポートマッピングテーブルを生成し、第2の通信ネットワーク側からパケットを受信する前に、第1の通信ネットワーク側に接続されたコンピュータから、予約としてポートマッピングを受け付け、予約として受け付けたポートマッピングを含むポートマッピングテーブルを生成し、予約として、他のポートマッピングと重複する宛先ポートと、通信プロトコルとを含むポートマッピングを受け付け、第1の通信ネットワーク側に接続されたコンピュータの要求に応じて、生成したポートマッピングテーブルのポートマッピングの削除、またはポートマッピングテーブルへのポートマッピングの追加を行うポートマッピング制御処理と、ポートマッピングテーブルにもとづいて、一方の通信ネットワーク側から受信したパケットを、他方の通信ネットワーク側に接続されたコンピュータに送信するルーティング処理とを実行させることを特徴とする。
また、コンピュータに、ポートマッピング制御処理で、受信したパケットの送信開始前に予約としてポートマッピングを受け付けさせ、ルーティング処理で、ポートマッピング制御処理でポートマッピングテーブルにポートマッピングが追加された場合に、受信したパケットの送信を開始させるように構成されていてもよい。
本発明によれば、第1の通信ネットワーク側に接続されたコンピュータの要求に応じたポートマッピングで、受信したパケットをコンピュータに送信することができる。
また、ポートマッピング制御手段が、予約としてポートマッピングを受け付けるように構成されている場合には、第1の通信ネットワーク側に接続されたコンピュータは、ポートマッピングを予約することができる。
また、ポートマッピング制御手段が、他のポートマッピングと重複する宛先ポートと、通信プロトコルとを含むポートマッピングを受け付けるように構成されている場合には、同一のポートを用いたポートマッピングを行うことができる。
ポートマッピング制御手段が、予約として受け付けたポートマッピングに対応するパケットを受信すると、パケットを受信したことを示す受信通知をコンピュータに送信し、コンピュータからパケットを受信することが通知されると、予約として受け付けたポートマッピングを、正規のポートマッピングとして、ポートマッピングテーブルに追加するように構成されている場合には、第1の通信ネットワーク側に接続されたコンピュータに、接続の可否を問い合わせるため、安全性を高めることができる。
本発明の実施の形態について、図面を参照して説明する。図1は、本発明によるポートフォワードシステムの実施の形態の一構成例を示すブロック図である。
この実施の形態のポートフォワードシステムは、UPnP CP(Control Point)としてのPC(コンピュータ)101、102、103、UPnP IGDとしてパケットを送受信(パケットフォワーディング)するブロードバンドルータ(ルータ)104、インターネット105、リモートホストとしてのPC106、107、およびSIP(Session Initiation Protocol)サーバ108を含む。
PC101、102、103、およびブロードバンドルータ104は、互いにLAN等の通信ネットワーク(第1の通信ネットワーク)で接続されている。PC106、107、SIPサーバ108、およびブロードバンドルータ104は、インターネット(第2の通信ネットワーク)105に接続されている。従って、PC101、102および103と、PC106、107およびSIPサーバ108とは、ブロードバンドルータ104およびインターネット105を介して互いに接続されている。なお、この実施の形態では、第2の通信ネットワークとしてインターネット105を例示したが、本発明はこれに限定されるものではなく、WAN等の通信ネットワークであってもよい。
なお、SIPサーバ108は、予め、PC106、107およびブロードバンドルータ104のIPアドレスと、ブロードバンドルータ104に接続されているPC101、102、103のExternalPortとを記憶している。
図2は、ブロードバンドルータ104の一構成例を示すブロック図である。ブロードバンドルータ104は、LANインタフェース202、UPnP IGD制御部203、ポートマッピング制御部(ポートマッピング制御手段)204、ルータ(ルータ手段)部205、およびWAN(Wide Area Network)インタフェース206を含む。
LANインタフェース202は、LAN回線を介してPC101、102および103と接続して、各PCとパケットを送受信する。
UPnP IGD制御部203は、UPnP IGD機能を有し、UPnP Control PointであるPC101、102および103と送受信するメッセージの解析や発行を行い、ブロードバンドルータ104をUPnP対応のブロードバンドルータとして動作させる。なお、IGDとは、UPnPの標準仕様で定義され、ルータやホームゲートウェイ機器の総称をいう。
ポートマッピング制御部204は、UPnP IGD制御部203のメッセージ解析結果が、PC101、102または103によるポートマッピングの追加、削除または予約の要求であった場合、ポートマッピングテーブルを生成し、該当するポートのマッピングの追加、削除または予約をルータ部205に指示する。なお、ポートマッピングとは、一方の通信ネットワークからパケットを受信するポートと、そのパケットの送信先の他方の通信ネットワークに接続されたPCと、通信プロトコルとの対応づけをいう。
なお、ポートマッピングの追加とは、ポートマッピングにもとづいてパケットフォワーディングを開始することをいい、この実施の形態では、ポートマッピングテーブルにおいて、UPnPで標準に定義されたパラメータであるPortMappingEnableを、ポートマッピングテーブルで、Enableに設定することをいう。
ポートマッピングの削除とは、ポートマッピングにもとづくパケットフォワーディングを終了することをいい、この実施の形態では、ポートマッピングテーブルからポートマッピングを消去することをいう。
また、ポートマッピングの予約とは、パケットフォワーディングの開始前に、ポートマッピングを行うことをいい、この実施の形態では、UPnPで標準に定義されたパラメータであるPortMappingEnableを、ポートマッピングテーブルで、Disableに設定することをいう。つまり、ポートマッピングの予約がなされ、当該ポートマッピングの追加がなされていない状態では、パケットフォワーディングは開始されておらず、パケットフォワーディングは行われない。
ルータ部205は、ルーティング機能と、NAPT(Network Address Port Translation)機能とを有し、ポートマッピングテーブルを参照して、LAN−WAN間のパケットフォワーディングを行う。
WANインタフェース206は、インターネット105等のWAN回線と接続し、インターネット105に接続されているPC106、107およびSIPサーバ108とパケットを送受信する。
ルータ部205は、WANインタフェース206がLAN方向へのパケットを受信した場合、ポートマッピングテーブルを参照して、追加されているポート宛のパケットであれば、そのままLANインタフェース202を介して該当PCへ送信する。
もし、予約されているポート宛のパケットであれば、ルータ部205は、そのパケットの処理をUPnP IGD制御部203に引き継がせる。そして、UPnP IGD制御部203は、予約されているポートのPCすべてに着信を通知する。着信を通知されたPCのうち、パケットを受信するPCは、ブロードバンドルータ104にポートマッピングの追加を指示して、そのパケットを受信するとともに、そのパケットの送信元のPCとの通信経路を確保する。
なお、通知手段は、LANインタフェース202およびWANインタフェース206によって実現される。
ブロードバンドルータ104は、コンピュータに、一方の通信ネットワーク側から受信するパケットの宛先ポートと、他方の通信ネットワークに接続されたコンピュータであって、前記パケットの送信先であるコンピュータを示す情報と、通信プロトコルとを対応づけるポートマッピングを示すポートマッピングテーブルを生成し、第2の通信ネットワーク側からパケットを受信する前に、第1の通信ネットワーク側に接続されたコンピュータから、予約としてポートマッピングを受け付け、予約として受け付けたポートマッピングを含むポートマッピングテーブルを生成し、予約として、他のポートマッピングと重複する宛先ポートと、通信プロトコルとを含むポートマッピングを受け付け、第1の通信ネットワーク側に接続されたコンピュータの要求に応じて、生成した前記ポートマッピングテーブルのポートマッピングの削除、または前記ポートマッピングテーブルへのポートマッピングの追加を行うポートマッピング制御処理と、ポートマッピングテーブルにもとづいて、一方の通信ネットワーク側から受信したパケットを、他方の通信ネットワーク側に接続されたコンピュータに送信するルーティング処理とを実行させることを特徴とするパケットフォワードプログラムを搭載している。
また、コンピュータに、ポートマッピング制御処理で、受信したパケットの送信開始前に予約としてポートマッピングを受け付けさせ、ルーティング処理で、ポートマッピング制御処理でポートマッピングテーブルにポートマッピングが追加された場合に、受信したパケットの送信を開始させるパケットフォワードプログラムも搭載している。
次に、本発明の実施の形態の動作について説明する。まず、LANに接続された各PCがポートマッピングの予約をする際の動作について説明する。
まず、LANに接続され、IPアドレスが192.168.0.2であるPC101が、ユーザの操作に従って、ポートマッピングの予約を要求するメッセージを、ブロードバンドルータ104に送信する場合について説明する。
図3は、各PCが送信するメッセージを示す説明図である。図3(A)には、PC101がブロードバンドルータ104に送信したメッセージが例示されている。
図3(A)で例示したPC101がブロードバンドルータ104に送信したメッセージには、UPnPのRemoteHostのパラメータをEmpty(ワイルドカード)に設定(接続相手を不特定に設定)すること、LANの外部ポート(ExternalPort)が100であること、LANの内部ポート(InternalPort)が100であること、PC101のIPアドレス(InternalCliant)が192.168.0.2であること、プロトコルがTCPであること、およびポートマッピングの予約(PortMappingEnabledがDisable)であることが示されている。
図4は、ポートマッピングテーブルの一例を示す説明図である。ブロードバンドルータ104のポートマッピング制御部204は、LANインタフェース202を介して、図3(A)で例示したメッセージを受信すると、受信したメッセージにもとづいて、図4の1行目に示すように、ポートマッピングテーブルを更新する。
次に、IPアドレスが192.168.0.3であるPC102が、ポートマッピングの予約を要求するメッセージを、ブロードバンドルータ104に送信する場合について説明する。
図3(B)には、PC102がブロードバンドルータ104に送信したメッセージが例示されている。
図3(B)で例示したPC102がブロードバンドルータ104に送信したメッセージには、UPnPのRemoteHostのパラメータをEmpty(ワイルドカード)に設定(接続相手を不特定に設定)すること、LANの外部ポート(ExternalPort)が100であること、LANの内部ポート(InternalPort)が100であること、PC101のIPアドレス(InternalCliant)が192.168.0.3であること、プロトコルがTCPであること、およびポートマッピングの予約(PortMappingEnabledがDisable)であることが示されている。
ブロードバンドルータ104のポートマッピング制御部204は、LANインタフェース202を介して、図3(B)で例示したメッセージを受信すると、受信したメッセージにもとづいて、図4の2行目に示すように、ポートマッピングテーブルを更新する。
なお、一般に、UPnP IGDは、異なるInternalClient(LANに接続されたPC)が、重複したExternalPortとProtocolとの組み合わせでポートマッピングを要求した場合(すなわち、重複したポートマッピングが要求された場合)には、ポートマッピングを許可しない(受け付けない)。どちらのInternalClientへパケットを送信すべきか判断できないためである。しかし、上述した予約の状態では、まだパケットが送信されるわけではなく、ポートマッピングが重複していても問題は発生しない。そこで、この実施の形態では、重複したポートマッピングの予約を許可し、受け付ける(ポートマッピングテーブルにポートマッピングを予約する)。
次に、IPアドレスが192.168.0.4であるPC103が、ポートマッピングの予約を要求するメッセージを、ブロードバンドルータ104に送信する場合について説明する。
図3(C)には、PC103がブロードバンドルータ104に送信したメッセージが例示されている。
図3(C)で例示したPC103がブロードバンドルータ104に送信したメッセージには、UPnPのRemoteHostのパラメータをEmpty(ワイルドカード)に設定(接続相手を不特定に設定)すること、LANの外部ポート(ExternalPort)が100であること、LANの内部ポート(InternalPort)が100であること、PC101のIPアドレス(InternalCliant)が192.168.0.4であること、プロトコルがTCPであること、およびポートマッピングの予約(PortMappingEnabledがDisable)であることが示されている。
ブロードバンドルータ104のポートマッピング制御部204は、LANインタフェース202を介して、図3(C)で例示したメッセージを受信すると、受信したメッセージにもとづいて、図4の3行目に示すように、ポートマッピングテーブルを更新する。
ブロードバンドルータ104のポートマッピング制御部204は、SIP REGISTERメッセージにおいて、ユーザエージェントの存在をSIPサーバ108に登録する。具体的には、ポートマッピング制御部204は、WANインタフェース206を介して、SIPサーバ108に、予約または追加したExternalPortの番号を通知する。
SIPサーバ108は、通知されたExternalPortの番号を、ブロードバンドルータ104のIPアドレスと対応づけて記憶する。
次に、インターネット105に接続されたPC106がPC101に接続する場合の動作について説明する。図5は、インターネット105に接続されたPCが、LANに接続されたPCに接続する動作の説明図である。
PC106は、インターネット105を介してSIPサーバ308に接続し、ブロードバンドルータ104のIPアドレスと、ブロードバンドルータ104のIPアドレスに対応づけられているExternalPortの番号(100)とを検索して抽出する(図5中の(1))。
PC106は、抽出したブロードバンドルータ104のIPアドレスとExternalPortの番号とにもとづいて、ブロードバンドルータ104に、ExternalPortの番号(100)と、プロトコル(TCP)とを示す情報を送信してPC101への接続を要求する(図5中の(2))。
ブロードバンドルータ104のルータ部205は、ポートマッピングテーブルを参照して、受信したパケットが、予約されているポート宛のパケットであると判断して、処理をUPnP IGD制御部203に引き継ぐ。
UPnP IGD制御部203は、受信したExternalPortの番号(100)を予約したPC101、102および103に、LANインタフェース202を介して、接続要求を受信したことを示す着信通知を送信する(図5中の(3))。なお、着信通知は、PC106のIPアドレス、プロトコル、およびPC106が送信したExternalPortの番号(100)を含む。
PC101は、着信通知を受信すると、受信したPC106のIPアドレス、プロトコル、およびPC106が送信したExternalPortの番号(100)にもとづいて、PC106に接続するか否かを判断する。なお、PC101は、着信通知をPC101に接続されているディスプレイ等の表示手段(図示せず)に表示させ、PC101のユーザに、PC106に接続するか否かを判断させてもよい。
PC106に接続すると判断すると、PC101は、ポートマッピングテーブルの内容の更新を要求するメッセージを生成して、ブロードバンドルータ104に送信する(図5中の(4))。
図3(D)には、PC101がブロードバンドルータ104に送信したメッセージが例示されている。
図3(D)で例示したPC101がブロードバンドルータ104に送信したメッセージには、UPnPのRemoteHostを10.10.10.10に設定すること、LANの外部ポート(ExternalPort)が100であること、LANの内部ポート(InternalPort)が100であること、PC101のIPアドレス(InternalCliant)が192.168.0.2であること、プロトコルがTCPであること、およびポートマッピングの追加(PortMappingEnabledがEnable)であることが示されている。
ブロードバンドルータ104のポートマッピング制御部204は、LANインタフェース202を介して、図3(D)で例示したメッセージを受信すると、受信したメッセージにもとづいて、図4の4行目に示すように、ポートマッピングテーブルを更新する。すなわち、ポートマッピング制御部204は、予約されたポートマッピングを、正規のポートマッピングとしてポートマッピングテーブルに追加する。
ブロードバンドルータ104は、ポートマッピングテーブルを参照して、PC101から受信したパケットをPC106に送信し、PC106から受信したパケットをPC101に送信して、PC101とPC106との間の通信経路を確保する(図5中の(5))。
ブロードバンドルータ104は、ポートマッピングテーブルにもとづいて、PC101とPC106との間の通信経路を確保すると、PC106に、通信経路を確保したことを示すメッセージを送信してもよい。
なお、インターネット105に接続されたPC107がPC102に接続する場合であっても、ブロードバンドルータ104は、インターネット105に接続されたPC106がPC101に接続する場合と同様な動作を行う。
そして、PC102がPC107に接続すると判断すると、PC102は、ポートマッピングテーブルの内容の更新を要求するメッセージを生成して、ブロードバンドルータ104に送信する。
図3(E)には、PC102がブロードバンドルータ104に送信したメッセージが例示されている。
図3(E)で例示したPC102がブロードバンドルータ104に送信したメッセージには、UPnPのRemoteHostを20.20.20.20に設定すること、LANの外部ポート(ExternalPort)が100であること、LANの内部ポート(InternalPort)が100であること、PC101のIPアドレス(InternalCliant)が192.168.0.3であること、プロトコルがTCPであること、およびポートマッピングの追加(PortMappingEnabledがEnable)であることが示されている。
ブロードバンドルータ104のポートマッピング制御部204は、LANインタフェース202を介して、図3(E)で例示したメッセージを受信すると、受信したメッセージにもとづいて、図4の5行目に示すように、ポートマッピングテーブルを更新する。すなわち、ポートマッピング制御部204は、予約されたポートマッピングを、正規のポートマッピングとしてポートマッピングテーブルに追加する。
ブロードバンドルータ104は、ポートマッピングテーブルを参照して、PC102から受信したパケットをPC107に送信し、PC107から受信したパケットをPC102に送信して、PC102とPC107との間の通信経路を確保する(図5中の(6))。
ブロードバンドルータ104は、ポートマッピングテーブルにもとづいて、PC102とPC107との間の通信経路を確保すると、PC107に、通信経路を確保したことを示すメッセージを送信してもよい。
次に、LANに接続されたPC101が、インターネット105に接続されたPC106に接続する場合の動作について説明する。図6は、LANに接続されたPCが、インターネット105に接続されたPCに接続する動作の説明図である。
なお、PC101は、図3(A)で例示したメッセージをブロードバンドルータ104に送信し、ブロードバンドルータ104は、受信したメッセージにもとづいて、図4の1行目に示すように、ポートマッピングテーブルを更新しているものとする。
PC101は、ブロードバンドルータ104を介してSIPサーバ108に接続し、PC106のIPアドレスを検索して抽出する(図6中の(1))。
PC101は、抽出したPC106のIPアドレスをポートマッピングテーブルに追加するために、図3(D)で例示したメッセージをブロードバンドルータ104に送信し、ブロードバンドルータ104は、受信したメッセージにもとづいて、図4の4行目に示すように、ポートマッピングテーブルを更新する(図6中の(2))。
ブロードバンドルータ104は、ポートマッピングテーブルを参照して、PC101から受信したパケットをPC106に送信し(図6中の(3))、PC106から受信したパケットをPC101に送信して、PC101とPC106との間の通信経路を確保する(図6中の(4))。
以上に述べたように、この実施の形態によれば、LANに接続された複数のPCにExternalPortとプロトコルとを重複してポートマッピングすることができる。そのため、それらのPCは、それぞれ重複したExternalPortとプロトコルとを用いて、P2Pアプリケーションソフトウェアを動作させることができる。
また、この実施の形態によれば、ブロードバンドルータ104は、UPnPのRemoteHostがEmptyの状態(つまり、インターネットに接続されたPCにポートを開放した状態)ではポートマッピングの予約のみを行うため、まだパケットが送信されず、インターネット105に接続されたPCがLANに接続されたPCに不正に侵入したり、攻撃したりすることを防ぐことができる。
また、この実施の形態によれば、ブロードバンドルータ104は、LANに接続されたPCに着信通知を送信するため、LANに接続されたPCは、接続する相手方を、接続する前に確認することができる。
なお、ブロードバンドルータ104のポートマッピング制御部204は、LANに接続されたPCの要求に応じて、接続要求を拒否するPCのIPアドレスをポートマッピングテーブルに追加してもよい。そのように構成した場合には、不正な接続要求を行うPCからの接続要求を、ブロードバンドルータ104が拒否するため、LANに接続されたPCのセキュリティを高めることができる。
なお、この実施の形態では、ポートマッピングテーブルのPortMappingEnabledの欄を、DisableあるいはEnableにすることで、ポートマッピングの予約を制御している。しかし、このPortMappingEnabledは、UPnPで標準に定義されたパラメータであり、場合によっては、別の解釈で利用される場合がある。
そのため、PortMappingDescriptionが、ポートマッピングの予約または追加を示すようにしてもよい。図7は、PortMappingDescriptionが、ポートマッピングの予約(yoyaku)または追加(tsuika)を示す場合に、LANに接続されたPCがブロードバンドルータ104に送信するメッセージを示す説明図である。
図7(A)は、図3(A)に対応し、同様の意味を有するメッセージである。図7(B)は、図3(B)に対応し、同様の意味を有するメッセージである。図7(C)は、図3(C)に対応し、同様の意味を有するメッセージである。図7(D)は、図3(D)に対応し、同様の意味を有するメッセージである。図7(E)は、図3(E)に対応し、同様の意味を有するメッセージである。
そのように構成すれば、LANに接続されたPCは、確実にポートマッピングの予約または追加を行うことができる。
なお、ブロードバンドルータ104のポートマッピング制御部204は、任意のメッセージを含む着信通知を、LANに接続されたPCに送信してもよい。例えば、ポートマッピングテーブルが、接続要求を拒否するIPアドレスを示す情報を含んでいる場合に、そのIPアドレスのPCから接続要求を受信したことを示す情報を含む着信通知を、LANに接続されたPCに送信する。
そのように構成すれば、LANに接続されたPCは、接続要求を拒否するPCからの接続要求のログを生成し、不正な接続要求への対策に役立てることができる。
本発明は、UPnP対応アプリケーションソフトウェアや、ブロードバンドルータに適用することができる。
本発明によるポートフォワードシステムの実施の形態の一構成例を示すブロック図である。 ブロードバンドルータの一構成例を示すブロック図である。 各PCが送信するメッセージを示す説明図である。 ポートマッピングテーブルの一例を示す説明図である。 インターネットに接続されたPCが、LANに接続されたPCに接続する動作の説明図である。 LANに接続されたPCが、インターネットに接続されたPCに接続する動作の説明図である。 PortMappingDescriptionが、ポートマッピングの予約または追加を示す場合に、LANに接続されたPCがブロードバンドルータに送信するメッセージを示す説明図である。
符号の説明
101、102、103、106、107 PC
104 ブロードバンドルータ
105 インターネット
108 SIPサーバ
202 LANインタフェース
203 UPnP IGD制御部
204 ポートマッピング制御部
205 ルータ部
206 WANインタフェース

Claims (12)

  1. 第1の通信ネットワークと第2の通信ネットワークとを接続するルータにおいて、
    一方の通信ネットワーク側から受信するパケットの宛先ポートと、他方の通信ネットワークに接続されたコンピュータであって、前記パケットの送信先であるコンピュータを示す情報と、通信プロトコルとを対応づけるポートマッピングを示すポートマッピングテーブルを生成するポートマッピング制御手段と、
    前記ポートマッピングテーブルにもとづいて、一方の通信ネットワーク側から受信したパケットを、他方の通信ネットワーク側に接続されたコンピュータに送信するルータ手段とを備え、
    ポートマッピング制御手段は、
    前記第2の通信ネットワーク側からパケットを受信する前に、前記第1の通信ネットワーク側に接続されたコンピュータから、予約としてポートマッピングを受け付け、前記予約として受け付けた前記ポートマッピングを含むポートマッピングテーブルを生成し、
    予約として、他のポートマッピングと重複する宛先ポートと、通信プロトコルとを含むポートマッピングを受け付け、
    前記第1の通信ネットワーク側に接続されたコンピュータの要求に応じて、前記ポートマッピングテーブルのポートマッピングの削除、または前記ポートマッピングテーブルへのポートマッピングの追加を行う
    ことを特徴とするルータ。
  2. ポートマッピング制御手段は、受信したパケットの送信開始前に予約としてポートマッピングを受け付け、
    ルータ手段は、前記ポートマッピング制御手段によってポートマッピングテーブルにポートマッピングが追加された場合に、受信したパケットの送信を開始する
    請求項1記載のルータ。
  3. ポートマッピング制御手段が、予約として受け付けたポートマッピングに対応するパケットを受信した場合に、前記ポートマッピングにもとづいて、前記パケットの宛先ポートに対応づけられている送信先のコンピュータに、パケットを受信したことを示す受信通知を送信する通知手段を備えた
    請求項または請求項記載のルータ。
  4. ポートマッピング制御手段は、受信通知の送信先からパケットを受信することが通知された場合に、予約として受け付けたポートマッピングを、正規のポートマッピングとして、ポートマッピングテーブルに追加する
    請求項記載のルータ。
  5. 通知手段は、ポートマッピング制御手段が、予約として受け付けたポートマッピングを正規のポートマッピングとしてポートマッピングテーブルに追加した場合に、パケットの送信元に、通信経路を確保したことを示すメッセージを送信する
    請求項記載のルータ。
  6. 第1の通信ネットワークと第2の通信ネットワークとの間でパケットを転送するパケットフォワード方法において、
    ポートマッピング制御手段が、一方の通信ネットワーク側から受信するパケットの宛先ポートと、他方の通信ネットワークに接続されたコンピュータであって、前記パケットの送信先であるコンピュータを示す情報と、通信プロトコルとを対応づけるポートマッピングを示すポートマッピングテーブルを生成するポートマッピング制御ステップと、
    ルータ手段が、前記ポートマッピングテーブルにもとづいて、一方の通信ネットワーク側から受信したパケットを、他方の通信ネットワーク側に接続されたコンピュータに送信するルーティングステップとを備え、
    ポートマッピング制御ステップで、ポートマッピング制御手段が、
    前記第2の通信ネットワーク側からパケットを受信する前に、前記第1の通信ネットワーク側に接続されたコンピュータから、予約としてポートマッピングを受け付け、予約として受け付けた前記ポートマッピングを含むポートマッピングテーブルを生成し、
    予約として、他のポートマッピングと重複する宛先ポートと、通信プロトコルとを含むポートマッピングを受け付け、
    前記第1の通信ネットワーク側に接続されたコンピュータの要求に応じて、前記ポートマッピングテーブルのポートマッピングの削除、または前記ポートマッピングテーブルへのポートマッピングの追加を行う
    ことを特徴とするパケットフォワード方法。
  7. ポートマッピング制御ステップで、ポートマッピング制御手段は、受信したパケットの送信開始前に予約としてポートマッピングを受け付け、
    ルーティングステップで、ルータ手段は、前記ポートマッピング制御手段によってポートマッピングテーブルにポートマッピングが追加された場合に、受信したパケットの送信を開始する
    請求項6記載のパケットフォワード方法。
  8. ポートマッピング制御手段が、ポートマッピング制御ステップで、予約として受け付けたポートマッピングに対応するパケットを受信した場合に、通知手段が、前記ポートマッピングにもとづいて、前記パケットの宛先ポートに対応づけられている送信先のコンピュータに、パケットを受信したことを示す受信通知を送信する受信通知送信ステップを備えた
    請求項または請求項記載のパケットフォワード方法。
  9. ポートマッピング制御手段が、ポートマッピング制御ステップで、受信通知の送信先からパケットを受信することが通知された場合に、予約として受け付けたポートマッピングを、正規のポートマッピングとして、ポートマッピングテーブルに追加する
    請求項記載のパケットフォワード方法。
  10. ポートマッピング制御手段が、予約として受け付けたポートマッピングを正規のポートマッピングとしてポートマッピングテーブルに追加した場合に、通知手段が、パケットの送信元に、通信経路を確保したことを示すメッセージを送信するポートマッピング通知ステップを備えた
    請求項記載のパケットフォワード方法。
  11. 第1の通信ネットワークと第2の通信ネットワークとを接続するルータとして機能するコンピュータに搭載されるパケットフォワードプログラムにおいて、
    コンピュータに、
    一方の通信ネットワーク側から受信するパケットの宛先ポートと、他方の通信ネットワークに接続されたコンピュータであって、前記パケットの送信先であるコンピュータを示す情報と、通信プロトコルとを対応づけるポートマッピングを示すポートマッピングテーブルを生成し、前記第2の通信ネットワーク側からパケットを受信する前に、前記第1の通信ネットワーク側に接続されたコンピュータから、予約としてポートマッピングを受け付け、前記予約として受け付けた前記ポートマッピングを含むポートマッピングテーブルを生成し、予約として、他のポートマッピングと重複する宛先ポートと、通信プロトコルとを含むポートマッピングを受け付け、前記第1の通信ネットワーク側に接続されたコンピュータの要求に応じて、生成した前記ポートマッピングテーブルのポートマッピングの削除、または前記ポートマッピングテーブルへのポートマッピングの追加を行うポートマッピング制御処理と、
    前記ポートマッピングテーブルにもとづいて、一方の通信ネットワーク側から受信したパケットを、他方の通信ネットワーク側に接続されたコンピュータに送信するルーティング処理とを実行させる
    ためのパケットフォワードプログラム。
  12. コンピュータに、
    ポートマッピング制御処理で、受信したパケットの送信開始前に予約としてポートマッピングを受け付けさせ、
    ルーティング処理で、前記ポートマッピング制御処理でポートマッピングテーブルにポートマッピングが追加された場合に、受信したパケットの送信を開始させる
    請求項11記載のパケットフォワードプログラム。
JP2005297005A 2005-10-11 2005-10-11 ルータ、パケットフォワード方法、およびパケットフォワードプログラム Expired - Fee Related JP4355696B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005297005A JP4355696B2 (ja) 2005-10-11 2005-10-11 ルータ、パケットフォワード方法、およびパケットフォワードプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005297005A JP4355696B2 (ja) 2005-10-11 2005-10-11 ルータ、パケットフォワード方法、およびパケットフォワードプログラム

Publications (2)

Publication Number Publication Date
JP2007110266A JP2007110266A (ja) 2007-04-26
JP4355696B2 true JP4355696B2 (ja) 2009-11-04

Family

ID=38035783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005297005A Expired - Fee Related JP4355696B2 (ja) 2005-10-11 2005-10-11 ルータ、パケットフォワード方法、およびパケットフォワードプログラム

Country Status (1)

Country Link
JP (1) JP4355696B2 (ja)

Also Published As

Publication number Publication date
JP2007110266A (ja) 2007-04-26

Similar Documents

Publication Publication Date Title
US7227864B2 (en) Methods and systems for establishing communications through firewalls and network address translators
JP4349766B2 (ja) アドレス変換装置
US7810149B2 (en) Architecture for mobile IPv6 applications over IPv4
JP4708376B2 (ja) プライベートネットワークへのアクセスを安全にする方法およびシステム
US8312532B2 (en) Connection supporting apparatus
US20170034174A1 (en) Method for providing access to a web server
JP2007157085A (ja) Sipサーバ共有モジュール、sipメッセージ中継方式、プログラム
JP2007104624A (ja) ネットワーク装置及びその管理方法
US20070192434A1 (en) Network system, terminal, and gateway
US20110047261A1 (en) Information communication apparatus, information communication method, and program
US20040044777A1 (en) Communicating with an entity inside a private network using an existing connection to initiate communication
JP4253569B2 (ja) 接続制御システム、接続制御装置、及び接続管理装置
JP4372075B2 (ja) 通信システム、ブロードバンドルータ、情報処理装置及びそれらに用いるnat越え機能実現方法
JP2005033250A (ja) 中継装置とポートフォワード設定方法
JP4921864B2 (ja) 通信制御装置、認証システムおよび通信制御プログラム
JP3935823B2 (ja) Httpセッション・トンネリング・システム、その方法、及びそのプログラム
JP4355696B2 (ja) ルータ、パケットフォワード方法、およびパケットフォワードプログラム
JP2005197936A (ja) 通信システム、登録装置及び通信装置
JP3928664B2 (ja) アドレス変換装置、メッセージ処理方法および装置
KR100660123B1 (ko) Nat 통과를 위한 브이.피.엔 서버 시스템 및 브이.피.엔클라이언트 단말기
JP4728933B2 (ja) Ip電話通信システム、ip電話通信方法、およびそのプログラム
WO2011108708A1 (ja) 電子機器、および電子機器の動作設定方法
JP3928662B2 (ja) アドレス変換装置、メッセージ処理方法および装置
JP3928663B2 (ja) アドレス変換装置、メッセージ処理方法および装置
JP4350029B2 (ja) アドレス変換システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090116

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: 20090714

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090803

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees