(57)【特許請求の範囲】
【請求項１】
複数の通信装置がデータ中継装置を介して他のネットワークに接続されるように構成されたネットワークと、同様に構成された複数の他のネットワークとを相互に通信可能に接続する前記データ中継装置であって、
前記データ中継装置と他のネットワークに接続される他のデータ中継装置との間に確立されたセッションの発側および着側に対応付けて、前記ネットワークで使用する仮想アドレスを決定するのに必要な仮想アドレス情報を記憶する仮想アドレス情報記憶手段と、
前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、前記仮想アドレス情報を仮想アドレス情報記憶手段から取得して、取得した仮想アドレス情報に基づいて当該ネットワークで使用する仮想アドレスを決定する仮想アドレス決定手段と、
前記仮想アドレス決定手段により決定された仮想アドレスを用いて、前記セッションが確立されている他のデータ中継装置が接続される他のネットワークと前記ネットワークとを仮想的な通信路で接続して通信可能に制御する接続制御手段と、
を備えたことを特徴とするデータ中継装置。
【請求項２】
前記仮想アドレス情報とは、前記ネットワークと他のネットワークとで利用される仮想アドレスの重複および競合を回避するために、前記発側および着側のそれぞれにおける仮想アドレス決定方法をルール化したものであることを特徴とする請求項１に記載のデータ中継装置。
【請求項３】
前記仮想アドレス決定手段は、前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、前記他のデータ中継装置との間で、お互いに利用を希望する仮想アドレスまたは仮想アドレスの範囲を仮想アドレス情報として交換し、お互いの条件に一致するような仮想アドレスを決定することを特徴とする請求項１に記載のデータ中継装置。
【請求項４】
前記仮想アドレス決定手段は、前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、前記他のネットワークで利用を希望する仮想アドレスまたは仮想アドレスの範囲を他のデータ中継装置から受信し、受信した仮想アドレスまたは仮想アドレスの範囲と重複しないように、当該ネットワークで利用する仮想アドレスを決定することを特徴とする請求項１に記載のデータ中継装置。
【請求項５】
前記仮想アドレス決定手段は、既に通信可能に接続されている別のネットワークが存在する場合に、前記仮想アドレスを決定するのに際して、当該別のネットワークとの間で利用している仮想アドレスまたは仮想アドレスの範囲と重複しないように、前記仮想アドレスを決定することを特徴とする請求項３または４に記載のデータ中継装置。
【請求項６】
前記仮想アドレス決定手段は、前記他のデータ中継装置から受信した他のネットワークで使用される仮想アドレスまたは仮想アドレスの範囲が、既に通信可能に接続されている別のネットワークで使用されている仮想アドレスまたは仮想アドレスの範囲と一致する場合に、当該他のネットワークに接続されるデータ中継装置との接続を拒否して、再度、前記仮想アドレスや仮想アドレスの範囲を他のデータ中継装置に要求することを特徴とする請求項４に記載のデータ中継装置。
【請求項７】
前記データ中継装置は、前記他のデータ中継装置との間にＳＩＰを用いてセッションを確立するものであって、
前記仮想アドレス決定手段は、前記他のデータ中継装置との間にセッションを確立するのに際して、前記ＳＩＰにおけるＳＤＰ情報に当該ネットワークで使用する仮想アドレス情報を付加して前記他のデータ中継装置に送信し、前記他のネットワークで使用される仮想アドレス情報が付加されたＳＤＰ情報を前記他のデータ中継装置から受信するネゴシエーションを行った結果、当該ネットワークで使用する仮想アドレスを決定することを特徴とする請求項１に記載のデータ中継装置。
【請求項８】
前記データ中継装置は、前記他のデータ中継装置との間にＳＩＰを用いてセッションを確立するものであって、
前記仮想アドレス決定手段は、前記他のデータ中継装置との間にセッションを確立するのに際して、当該ネットワークで使用する仮想アドレス決定に必要なパラメータを付加したＳＩＰにおけるＳＤＰ情報またはＴＡＧ情報を他のデータ中継装置に送信し、当該送信したパラメータに基づいて決定された仮想アドレス情報に関するパラメータが付加されたＳＤＰ情報またはＴＡＧ情報を他のデータ中継装置から受信し、当該受信したパラメータに基づいて当該ネットワークで使用する仮想アドレスを決定することを特徴とする請求項１に記載のデータ中継装置。
【請求項９】
前記データ中継装置は、前記他のデータ中継装置との間にＳＩＰを用いてセッションを確立するものであって、
前記仮想アドレス決定手段は、前記他のデータ中継装置との間にセッションを確立するのに際して、当該ネットワークで使用する仮想アドレスを示すパラメータを付加したＳＩＰにおけるＣａｌｌ−ＩＤを他のデータ中継装置に送信して、当該ネットワークで使用する仮想アドレスを決定することを特徴とする請求項１に記載のデータ中継装置。
【請求項１０】
複数の通信装置がデータ中継装置を介して他のネットワークに接続されるように構成されたネットワークと、同様に構成された複数の他のネットワークとを相互に通信可能に接続する前記データ中継装置に適したデータ中継方法であって、
前記データ中継装置と他のネットワークに接続される他のデータ中継装置との間に確立されたセッションの発側および着側に対応付けて、前記ネットワークで使用する仮想アドレスを決定するのに必要な仮想アドレス情報を記憶する仮想アドレス情報記憶手段と、
前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、前記仮想アドレス情報を仮想アドレス情報記憶手段から取得して、取得した仮想アドレス情報に基づいて当該ネットワークで使用する仮想アドレスを決定する仮想アドレス決定工程と、
前記仮想アドレス決定工程により決定された仮想アドレスを用いて、前記セッションが確立されている他のデータ中継装置が接続される他のネットワークと前記ネットワークとを仮想的な通信路で接続して通信可能に制御する接続制御工程と、
を含んだことを特徴とするデータ中継方法。
【請求項１１】
複数の通信装置がデータ中継装置を介して他のネットワークに接続されるように構成されたネットワークと、同様に構成された複数の他のネットワークとを相互に通信可能に接続する前記データ中継装置としてのコンピュータに実行させるデータ中継プログラムであって、
前記データ中継装置と他のネットワークに接続される他のデータ中継装置との間に確立されたセッションの発側および着側に対応付けて、前記ネットワークで使用する仮想アドレスを決定するのに必要な仮想アドレス情報を記憶する仮想アドレス情報記憶手段と、
前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、前記仮想アドレス情報を仮想アドレス情報記憶手段から取得して、取得した仮想アドレス情報に基づいて当該ネットワークで使用する仮想アドレスを決定する仮想アドレス決定手順と、
前記仮想アドレス決定手順により決定された仮想アドレスを用いて、前記セッションが確立されている他のデータ中継装置が接続される他のネットワークと前記ネットワークとを仮想的な通信路で接続して通信可能に制御する接続制御手順と、
をコンピュータに実行させることを特徴とするデータ中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電話装置および他の通信装置がデータ中継装置を介して他のネットワークに接続されるように構成されたネットワークと、同様に構成された複数の他のネットワークとを仮想的な通信路で相互に通信可能に接続するデータ中継装置、データ中継方法およびデータ中継プログラムに関する。
【背景技術】
【０００２】
従来より、ＴＣＰ／ＩＰを使ったインターネットなどのネットワークにおいて、ＩＰアドレスを変換して、限られたＩＰアドレス資源を有効に使ったり、ファイアウォールを構築したりするための技術として、仮想アドレス（プライベートＩＰアドレス）とグローバルＩＰアドレスとを変換するＮＡＴ（Network  Address  Translation）技術が用いられている。
【０００３】
具体的には、企業などの社内ＬＡＮなどでは、その企業または社内だけで利用することができる仮想アドレスを用いて、端末間の通信を行っているが、そのような端末でインターネットを利用するには、世界中でユニークになるように公式に割り当てられたグローバルＩＰアドレスを用いる必要がある。そこで、社内ＬＡＮとインターネットとの境に位置するゲートウェイ（ＧＷ）装置において、社内ＬＡＮに接続される端末からインターネット（例えば、ＷＥＢサーバなど）への接続要求を受け付けた場合に、仮想アドレスをグローバルＩＰアドレスに変換してインターネットに接続したり、接続後のインターネットからの応答を受け付けた場合に、グローバルＩＰアドレスを仮想アドレスに変換して、要求元の端末に応答を送信したりしている。
【０００４】
また、最近では、社内ＬＡＮなどの拠点同士をＬ３ＶＰＮ（Layer  3  Virtual  Private  Network）などの仮想的な通信路で接続することで、セキュリティを高く保ちつつ通信を行う技術が用いられている。このような拠点間同士をＬ３ＶＰＮで接続する場合、お互いのネットワークアドレス空間が重複してもよいように、仮想アドレス空間を利用することが多いが、この場合では、相手の仮想アドレス空間を予め知っておかないとアドレス変換や通信を行うことができない。つまり、Ｌ３ＶＰＮ接続を行う拠点同士が同じ仮想アドレスを用いている場合には、それぞれの拠点において同じＩＰアドレスの端末が存在することがあり、通信を行うことができない事象が発生する。そのため、グローバルＩＰアドレスとは異なる仮想ＩＰアドレスを用いて、通信を行う手法が利用されている。
【０００５】
このような一般的な社内ＬＡＮ間接続の場合は、仮想アドレスが重複しないように、また、接続先の仮想アドレス空間を知るために、ネットワーク管理者が事前にＶＰＮ−ＮＡＴや静的ＮＡＴなどの設定を行うことで、社内ＬＡＮ間の通信を行えるようにしている。ところが、最近増えてきている家庭内ＬＡＮを上記したようなＬ３ＶＰＮでアドホックに接続する場合、電話接続のように不特定多数同士が接続することが前提となっているため、接続先それぞれの仮想アドレス空間を知ることは物理的に不可能であり、また、ネットワーク管理者などのようにネットワークに精通した人がいないことが多く事前にＶＰＮ−ＮＡＴや静的ＮＡＴなどの設定を行うことが不可能であるため、Ｌ３ＶＰＮ接続はしたものの、仮想アドレスが重複しており、通信ができないという問題が発生する。
【０００６】
そこで、家庭内ＬＡＮ同士のＬ３ＶＰＮ接続に際して、仮想アドレスの重複を防止する様々な技術が開示されている。例えば、非特許文献１では、１対１接続の場合に、予め決まった仮想アドレスとは異なる特定のアドレス空間を利用することで通信を行う技術が開示されている。また、非特許文献２では、ＶＯＩＰ通信を基にして、ＤＨＣＰサーバからお互いのＬＡＮ上の機器にそれぞれ仮想ＩＰアドレスを割り当てることで、家庭内ＬＡＮ同士の通信を行う技術が開示されている。
【０００７】
【非特許文献１】Arthur  Harvey  他、“Peer-to-Peer  Interconnection  of  Home  Network”、Proceedings  of  the  CCNC  07、2007
【非特許文献２】蟹江  他“Teleshare：通話をメタファにしたアクセス制御”、電子情報通信学会総合大会予稿集pp113、2005
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記した従来の技術は、家庭内ＬＡＮ同士のＬ３ＶＰＮ接続に際して、仮想アドレスの重複を確実に防止することができず、通信できない場合があるという課題があった。
【０００９】
具体的には、非特許文献１では、予め決まった特定のアドレスを利用するため、１対ＮやＮ対Ｎで相互に家庭内ＬＡＮ同士を接続する場合には、仮想アドレス自体が重複した場合に、ルーティングが上手くいかない事象が発生してしまい、通信を行うことができない場合がある。また、非特許文献２では、ＶＯＩＰ通信を基にして、ＤＨＣＰサーバからお互いのＬＡＮ上の機器にそれぞれ仮想ＩＰアドレスを割り当てる技術であり、仮想アドレスと実アドレスとがお互いに重複した場合には、通信を行うことができない事象が発生する。
【００１０】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、家庭内ＬＡＮ同士を仮想的に接続するのに際して、仮想アドレスの重複を確実に防止して通信することが可能であるデータ中継装置、データ中継方法およびデータ中継プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、複数の通信装置がデータ中継装置を介して他のネットワークに接続されるように構成されたネットワークと、同様に構成された複数の他のネットワークとを相互に通信可能に接続する前記データ中継装置であって、前記データ中継装置と他のネットワークに接続される他のデータ中継装置との間に確立されたセッションの発側および着側に対応付けて、前記ネットワークで使用する仮想アドレスを決定するのに必要な仮想アドレス情報を記憶する仮想アドレス情報記憶手段と、前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、前記仮想アドレス情報を仮想アドレス情報記憶手段から取得して、取得した仮想アドレス情報に基づいて当該ネットワークで使用する仮想アドレスを決定する仮想アドレス決定手段と、前記仮想アドレス決定手段により決定された仮想アドレスを用いて、前記セッションが確立されている他のデータ中継装置が接続される他のネットワークと前記ネットワークとを仮想的な通信路で接続して通信可能に制御する接続制御手段と、を備えたことを特徴とする。
【００１２】
また、請求項２に係る発明は、上記の発明において、前記仮想アドレス情報とは、前記ネットワークと他のネットワークとで利用される仮想アドレスの重複および競合を回避するために、前記発側および着側のそれぞれにおける仮想アドレス決定方法をルール化したものであることを特徴とする。
【００１３】
また、請求項３に係る発明は、上記の発明において、前記仮想アドレス決定手段は、前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、前記他のデータ中継装置との間で、お互いに利用を希望する仮想アドレスまたは仮想アドレスの範囲を仮想アドレス情報として交換し、お互いの条件に一致するような仮想アドレスを決定することを特徴とする。
【００１４】
また、請求項４に係る発明は、上記の発明において、前記仮想アドレス決定手段は、前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、前記他のネットワークで利用を希望する仮想アドレスまたは仮想アドレスの範囲を他のデータ中継装置から受信し、受信した仮想アドレスまたは仮想アドレスの範囲と重複しないように、当該ネットワークで利用する仮想アドレスを決定することを特徴とする。
【００１５】
また、請求項５に係る発明は、上記の発明において、前記仮想アドレス決定手段は、既に通信可能に接続されている別のネットワークが存在する場合に、前記仮想アドレスを決定するのに際して、当該別のネットワークとの間で利用している仮想アドレスまたは仮想アドレスの範囲と重複しないように、前記仮想アドレスを決定することを特徴とする。
【００１６】
また、請求項６に係る発明は、上記の発明において、前記仮想アドレス決定手段は、前記他のデータ中継装置から受信した他のネットワークで使用される仮想アドレスまたは仮想アドレスの範囲が、既に通信可能に接続されている別のネットワークで使用されている仮想アドレスまたは仮想アドレスの範囲と一致する場合に、当該他のネットワークに接続されるデータ中継装置との接続を拒否して、再度、前記仮想アドレスや仮想アドレスの範囲を他のデータ中継装置に要求することを特徴とする。
【００１７】
また、請求項７に係る発明は、上記の発明において、前記データ中継装置は、前記他のデータ中継装置との間にＳＩＰを用いてセッションを確立するものであって、前記仮想アドレス決定手段は、前記他のデータ中継装置との間にセッションを確立するのに際して、前記ＳＩＰにおけるＳＤＰ情報に当該ネットワークで使用する仮想アドレス情報を付加して前記他のデータ中継装置に送信し、前記他のネットワークで使用される仮想アドレス情報が付加されたＳＤＰ情報を前記他のデータ中継装置から受信するネゴシエーションを行った結果、当該ネットワークで使用する仮想アドレスを決定することを特徴とする。
【００１８】
また、請求項８に係る発明は、上記の発明において、前記データ中継装置は、前記他のデータ中継装置との間にＳＩＰを用いてセッションを確立するものであって、前記仮想アドレス決定手段は、前記他のデータ中継装置との間にセッションを確立するのに際して、当該ネットワークで使用する仮想アドレス決定に必要なパラメータを付加したＳＩＰにおけるＳＤＰ情報またはＴＡＧ情報を他のデータ中継装置に送信し、当該送信したパラメータに基づいて決定された仮想アドレス情報に関するパラメータが付加されたＳＤＰ情報またはＴＡＧ情報を他のデータ中継装置から受信し、当該受信したパラメータに基づいて当該ネットワークで使用する仮想アドレスを決定することを特徴とする。
【００１９】
また、請求項９に係る発明は、上記の発明において、前記データ中継装置は、前記他のデータ中継装置との間にＳＩＰを用いてセッションを確立するものであって、前記仮想アドレス決定手段は、前記他のデータ中継装置との間にセッションを確立するのに際して、当該ネットワークで使用する仮想アドレスを示すパラメータを付加したＳＩＰにおけるＣａｌｌ−ＩＤを他のデータ中継装置に送信して、当該ネットワークで使用する仮想アドレスを決定することを特徴とする。
【００２０】
また、請求項１０に係る発明は、複数の通信装置がデータ中継装置を介して他のネットワークに接続されるように構成されたネットワークと、同様に構成された複数の他のネットワークとを相互に通信可能に接続する前記データ中継装置に適したデータ中継方法であって、前記データ中継装置と他のネットワークに接続される他のデータ中継装置との間に確立されたセッションの発側および着側に対応付けて、前記ネットワークで使用する仮想アドレスを決定するのに必要な仮想アドレス情報を記憶する仮想アドレス情報記憶手段と、前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、前記仮想アドレス情報を仮想アドレス情報記憶手段から取得して、取得した仮想アドレス情報に基づいて当該ネットワークで使用する仮想アドレスを決定する仮想アドレス決定工程と、前記仮想アドレス決定工程により決定された仮想アドレスを用いて、前記セッションが確立されている他のデータ中継装置が接続される他のネットワークと前記ネットワークとを仮想的な通信路で接続して通信可能に制御する接続制御工程と、を含んだことを特徴とする。
【００２１】
また、請求項１１に係る発明は、複数の通信装置がデータ中継装置を介して他のネットワークに接続されるように構成されたネットワークと、同様に構成された複数の他のネットワークとを相互に通信可能に接続する前記データ中継装置としてのコンピュータに実行させるデータ中継プログラムであって、前記データ中継装置と他のネットワークに接続される他のデータ中継装置との間に確立されたセッションの発側および着側に対応付けて、前記ネットワークで使用する仮想アドレスを決定するのに必要な仮想アドレス情報を記憶する仮想アドレス情報記憶手段と、前記データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、前記仮想アドレス情報を仮想アドレス情報記憶手段から取得して、取得した仮想アドレス情報に基づいて当該ネットワークで使用する仮想アドレスを決定する仮想アドレス決定手順と、前記仮想アドレス決定手順により決定された仮想アドレスを用いて、前記セッションが確立されている他のデータ中継装置が接続される他のネットワークと前記ネットワークとを仮想的な通信路で接続して通信可能に制御する接続制御手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２２】
請求項１、１０、１１の発明によれば、データ中継装置と他のネットワークに接続される他のデータ中継装置との間に確立されたセッションの発側および着側に対応付けて、ネットワークで使用する仮想アドレスを決定するのに必要な仮想アドレス情報を記憶し、データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、仮想アドレス情報を仮想アドレス情報記憶手段から取得して、取得した仮想アドレス情報に基づいて当該ネットワークで使用する仮想アドレスまたは仮想アドレスの範囲を決定し、決定された仮想アドレスまたは仮想アドレスの範囲を用いて、セッションが確立されている他のデータ中継装置が接続される他のネットワークとネットワークとを仮想的な通信路で接続して通信可能に制御するので、家庭内ＬＡＮ同士を仮想的に接続するのに際して、仮想アドレスの重複を確実に防止して通信することが可能である。
【００２３】
例えば、データ中継装置は、電話による通話接続における発側または着側に対応付けてそれぞれ決まった仮想アドレス情報を使用することができる結果、家庭内ＬＡＮ同士をＶＰＮ接続した場合であっても、仮想アドレスの重複を確実に防止して通信することが可能である。
【００２４】
また、請求項２の発明によれば、仮想アドレス情報とは、ネットワークと他のネットワークとで利用される仮想アドレスの重複および競合を回避するために、発側および着側のそれぞれにおける仮想アドレス決定方法をルール化したものであるので、利用形態や用途など仮想アドレスが重複しないように、利用者間で任意にルール化することができる結果、利用者の嗜好にあわせて柔軟に対応することが可能である。また、予め顔見知りの利用者間同士でのみに適用できるルールを任意に設定することができる結果、セキュリティを強化することが可能である。
【００２５】
また、請求項３の発明によれば、データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、他のデータ中継装置との間で、お互いに利用を希望する仮想アドレスまたは仮想アドレスの範囲を交換し、お互いの条件に一致するような仮想アドレスを決定するので、自ネットワークの仮想アドレス情報と接続先の仮想アドレス情報とを交換し、接続中の仮想アドレス情報と重複しないかを判定することができる結果、Ｎ対Ｎの接続に際しても、仮想アドレスの重複を確実に防止して通信することが可能である。
【００２６】
また、請求項４の発明によれば、データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、他のネットワークで利用を希望する仮想アドレスまたは仮想アドレスの範囲を他のデータ中継装置から受信し、受信した仮想アドレスまたは仮想アドレスの範囲と重複しないように、当該ネットワークで利用する仮想アドレスを決定するので、Ｎ対Ｎの複数間のＶＰＮ接続を行う場合であっても、通話接続先側が通知してきた仮想アドレスを確認することができる結果、仮想アドレスの重複を強固に防止することが可能である。
【００２７】
また、請求項５の発明によれば、既に通信可能に接続されている別のネットワークが存在する場合に、仮想アドレスを決定するのに際して、当該別のネットワークとの間で利用している仮想アドレスまたは仮想アドレスの範囲と重複しないように、仮想アドレスを決定するので、複数のネットワークと同時に接続する場合であっても、重複しない仮想アドレスを選択して用いることができる結果、複数のネットワークを同時に接続することが可能である。
【００２８】
また、請求項６の発明によれば、他のデータ中継装置から受信した他のネットワークで使用される仮想アドレスまたは仮想アドレスの範囲が、既に通信可能に接続されている別のネットワークで使用されている仮想アドレスまたは仮想アドレスの範囲と一致する場合に、当該他のネットワークに接続されるデータ中継装置との接続を拒否して、再度、仮想アドレスや仮想アドレスの範囲を他のデータ中継装置に要求するので、トライアンドエラーを行うことができる結果、より強固に重複を避けることが可能である。
【００２９】
また、請求項７の発明によれば、他のデータ中継装置との間にセッションを確立するのに際して、ＳＩＰにおけるＳＤＰ情報に当該ネットワークで使用する仮想アドレス情報を付加して他のデータ中継装置に送信し、他のネットワークで使用される仮想アドレス情報が付加されたＳＤＰ情報を他のデータ中継装置から受信するネゴシエーションを行った結果、当該ネットワークで使用する仮想アドレスを決定するので、ＳＩＰを用いた通信であっても、自ネットワークの仮想アドレス情報と接続先の仮想アドレス情報とを交換し、接続中の仮想アドレス情報と重複しないかを判定することができる結果、Ｎ対Ｎの接続に際しても、仮想アドレスの重複を確実に防止して通信することが可能である。
【００３０】
また、請求項８の発明によれば、他のデータ中継装置との間にセッションを確立するのに際して、当該ネットワークで使用する仮想アドレス決定に必要なパラメータを付加したＳＩＰにおけるＳＤＰ情報またはＴＡＧ情報を他のデータ中継装置に送信し、当該送信したパラメータに基づいて決定された仮想アドレス情報に関するパラメータが付加されたＳＤＰ情報またはＴＡＧ情報を他のデータ中継装置から受信し、当該受信したパラメータに基づいて当該ネットワークで使用する仮想アドレスを決定するので、複数の着信を受けてＳＤＰ情報やＴＡＧ情報が重複した場合であっても、自分が送信するＳＤＰ情報やＴＡＧ情報を重複しないように選択して送信することができる結果、仮想アドレスの重複を強固に防止し、通信可能に接続することが可能である。
【００３１】
また、請求項９の発明によれば、他のデータ中継装置との間にセッションを確立するのに際して、当該ネットワークで使用する仮想アドレスを示すパラメータを付加したＳＩＰにおけるＣａｌｌ−ＩＤを他のデータ中継装置に送信して、当該ネットワークで使用する仮想アドレスを決定するので、自装置で決定した仮想アドレス情報を接続先に通知することができる結果、接続先側で重複しない仮想アドレスの決定を促すことが可能である。
【発明を実施するための最良の形態】
【００３２】
以下に添付図面を参照して、この発明に係るデータ中継装置、データ中継方法およびデータ中継プログラムの実施例を詳細に説明する。なお、以下では、本実施例で用いる主要な用語、本実施例に係るデータ中継装置を示すＨＧＷの概要および特徴、ＨＧＷの構成および処理の流れを順に説明し、最後に本実施例に対する種々の変形例を説明する。
【実施例１】
【００３３】
［用語の説明］
まず最初に、本実施例で用いる主要な用語を説明する。本実施例で用いるネットワークシステムは、電話機（Ａ）および他の装置がＨＧＷ（Ａ）を介して他のネットワークに接続されるように構成された家庭内ＬＡＮ（Ａ）と、電話機（Ｂ）および他の装置がＨＧＷ（Ｂ）を介して他のネットワークに接続されるように構成された家庭内ＬＡＮ（Ｂ）とから構成される。
【００３４】
また、それぞれの家庭内ＬＡＮ（宅内ネットワーク）に構成される装置としては、上記した「電話機」以外にも「ＰＣ（Personal  Computer）」や「ＷｅｂＴＶ」などの情報家電がある。「電話機（Ａ）」、「電話機（Ｂ）」は、アナログ電話機やＶｏＩＰ電話機などのテンキーを備え、ダイアル信号により相手先を指定して通話接続を行う電話機である。「ＷｅｂＴＶ」は、インターネットが利用できるテレビであり、テレビを見ながら、ＷＷＷ（World  Wide  Web）を閲覧したり、電子メールを送受信したりすることができる。「ＰＣ」は、一般的に使用されている家庭用コンピュータであり、文書や図などのドキュメントを作成する他、ＨＧＷを介してインターネットに接続して、音楽や映画のダウンロードや検索サイトへのアクセスを行うことができる。また、これらの装置は、あくまで一例であり、上記した情報家電以外にも家電標準化技術であるＤＬＮＡ（Digital  Living  Network  Alliance）やＵＰｎＰ（Universal  Plug  and  Play）などのプロトコルを用いて接続される様々な装置がある。
【００３５】
また、本実施例で用いる「ＨＧＷ（Ａ）」、「ＨＧＷ（Ｂ）」とは、家庭内ＬＡＮおよびインターネットなどの宅外ネットワークを通信可能に接続する装置であり、アドレス変換やデータの載せ換えなどを行うことにより情報家電を相互接続する。具体的には、インターネットと家庭内ＬＡＮとの間に配置され、ホームルータ、プロトコル変換、ファイアウォール、ファイアウォールのルール動的変更などの機能や放送受信機能などのセットトップボックスを備える。例えば、家庭内ＬＡＮに設置されたＷｅｂＴＶから発信されるリクエストであり、当該家庭内ＬＡＮに設置されたＨＤＤやＰＣからＷｅｂＴＶに提供されるサービスに関して情報を要求する旨のリクエストを受信したり、家庭内ＬＡＮに設置されたＷｅｂＴＶからインターネット接続要求を受信して、ＮＡＴ変換を行い、当該要求をインターネット網に送信したりする。
【００３６】
また、「ＨＧＷ（Ａ）」、「ＨＧＷ（Ｂ）」は、家庭内ＬＡＮの電話回線と外部の公衆電話交換回線網であるＰＳＴＮ網（Public  Switch  Telephone  Networks）とを接続する機能や、ＶｏＩＰ−ＧＷ（Vice  Over  Internet  Protocol-GateWay）としての機能を有するとともに、ＩＰ電話アダプタを有し、家庭内ＬＡＮと外部のＶｏＩＰ網とを接続する。具体的に例を挙げると、「ＨＧＷ（Ａ）」、「ＨＧＷ（Ｂ）」は、家庭内ＬＡＮに接続されたＩＰ電話（電話機（Ａ）や電話機（Ｂ））からダイアル番号を受信し、外部のＶｏＩＰ網に接続されるＩＰ電話機と接続する。また、ＩＰ電話アダプタは、必ずしもＨＧＷに内蔵されている必要はなく、他の装置として家庭内ＬＡＮに接続されていてもよい。
【００３７】
なお、「ＨＧＷ（Ａ）」、「ＨＧＷ（Ｂ）」は、それぞれ特許請求の範囲に記載の「データ中継装置」に対応し、「電話機（Ａ）」、「電話機（Ｂ）」は、それぞれ特許請求の範囲に記載の「通信装置」に対応する。ただし、本実施例では、「電話機（Ａ）」から「電話機（Ｂ）」に発信した場合について説明するが、本発明はこれに限定されるものではなく、「電話機（Ｂ）」から「電話機（Ａ）」に発信してもよい。また、本実施例では、家庭内ＬＡＮ（Ａ）と家庭内ＬＡＮ（Ｂ）とがＶＯＩＰ網に接続されている場合について説明するが、本発明はこれに限定されるものではなく、同様に構成された家庭内ＬＡＮ（Ｃ）や家庭内ＬＡＮ（Ｄ）などの他の家庭内ＬＡＮがＶＯＩＰ網に接続されていてもよい。
【００３８】
また、本実施例では、家庭内ＬＡＮに接続される電話機同士のセッションが確立した後に、ＨＧＷ同士が仮想的な通信路であるＶＰＮを接続する場合について説明するが、本発明はこれに限定されるものではなく、例えば、家庭内ＬＡＮに接続される他のアプリケーションまたは家庭内ＬＡＮに接続されていない外部のアプリケーション、ＨＧＷ内部のアプリケーションなどによって、ＨＧＷ同士のセッションが確立した後に、ＨＧＷ同士が仮想的な通信路であるＶＰＮを接続することもできる。つまり、ＨＧＷ同士がＶＰＮを接続するのに際して、電話機同士のセッション確立が必ずしも必要ではなく、家庭内ＬＡＮ同士が何らかの手法でセッションを確立していればよい。
【００３９】
［ＨＧＷの概要および特徴］
次に、図１を用いて、実施例１に係るＨＧＷ（Home  GateWay）を含むシステムの概要および特徴を説明する。図１は、実施例１に係るＨＧＷを含むシステムの全体構成を示すシステム構成図である。
【００４０】
このシステムは、ネットワーク（プライベートＩＰ）アドレス「192.168.1.0/24」が設定されている電話機（Ａ）およびＨＧＷ（Ａ）などから構成される家庭内ＬＡＮ（Ａ）と、同様に、ネットワーク（プライベートＩＰ）アドレス「192.168.1.0/24」が設定されている電話機（Ｂ）およびＨＧＷ（Ｂ）などから構成される家庭内ＬＡＮ（Ｂ）とから構成される。
【００４１】
このような構成において、このＨＧＷは、上記したように、電話機（Ａ）および他の通信装置がＨＧＷ（Ａ）を介して他の家庭内ＬＡＮに接続されるように構成された家庭内ＬＡＮ（Ａ）と、同様に構成された家庭内ＬＡＮ（Ｂ）とを相互に通信可能に接続することを概要とするものであり、特に、家庭内ＬＡＮ同士を仮想的に接続するのに際して、仮想アドレスの重複を確実に防止して通信することが可能である点に主たる特徴がある。
【００４２】
この主たる特徴を具体的に説明すると、各ＨＧＷは、データ中継装置と他のネットワークに接続される他のデータ中継装置との間に確立されたセッションの発側および着側に対応付けて、ネットワークで使用する仮想アドレスを決定するのに必要な仮想アドレス情報を記憶する仮想アドレス情報ＤＢを備える。具体的に例を挙げれば、ＨＧＷ（Ａ）は、『発側か着側かを示す「発着」と、使用する仮想アドレスのネットワーク情報を示す「仮想アドレス情報」』として「発側、192.168.100.0/24」や「着側、192.168.200.0/24」を記憶する仮想アドレス情報ＤＢを備える。なお、ＨＧＷ（Ｂ）についても、同様に仮想アドレス情報ＤＢを備えている。
【００４３】
また、仮想アドレス情報ＤＢは、ネットワークと他のネットワークとで利用される仮想アドレスの重複および競合を回避するために、前記発側および着側のそれぞれにおける仮想アドレス決定方法をルール化したものを記憶していてもよい。例えば、仮想アドレス情報ＤＢは、「発側、第三オクテットを１００」、「着側、発側仮想アドレスの第三オクテット＋１」などのように、仮想アドレスを決定するルールを記憶していてもよい。
【００４４】
このような状態において、ＨＧＷは、データ中継装置と他のデータ中継装置との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、仮想アドレス情報を仮想アドレス情報ＤＢから取得して、取得した仮想アドレス情報に基づいて当該ネットワークで使用する仮想アドレスを決定する（図１の（１）〜（３）参照）。
【００４５】
具体的に例を挙げれば、電話機（Ａ）からＨＧＷ（Ａ）を介して電話機（Ｂ）に通話要求が送信されて、電話機（Ｂ）からＨＧＷ（Ｂ）を介して電話機（Ａ）に通話許可応答が送信されると、電話機（Ａ）と電話機（Ｂ）との間にセッションが確立される。言い換えれば、ＨＧＷ（Ａ）とＨＧＷ（Ｂ）との間にセッションが確立されることとなる。
【００４６】
この場合、通話接続の発側である電話機（Ａ）が接続される家庭内ＬＡＮ（Ａ）内のＨＧＷ（Ａ）は、電話機（Ａ）が通話接続の発側、つまり、セッション確立の発側であると判定し、「発側」に対応付けて記憶される「192.168.100.1/24」を仮想アドレス情報ＤＢから取得して、当該ネットワークで使用する仮想アドレス情報として決定する。同様に、通話接続の着側である電話機（Ｂ）が接続される家庭内ＬＡＮ（Ｂ）内のＨＧＷ（Ｂ）は、電話機（Ｂ）が通話接続の着側、つまり、セッション確立の着側であると判定し、「着側」に対応付けて記憶される「192.168.200.1/24」を仮想アドレス情報ＤＢから取得して、当該ネットワークで使用する仮想アドレス情報として決定する。
【００４７】
そして、ＨＧＷは、決定された仮想アドレス情報を用いて、セッションが確立されている他のデータ中継装置が接続される他のネットワークとネットワークとを仮想的な通信路で接続して通信可能に制御する（図１の（４）と（５）参照）。上記した例で具体的に説明すると、ＨＧＷ（Ａ）は、ＨＧＷ（Ａ）とＨＧＷ（Ｂ）との間にセッションが確立され、家庭内ＬＡＮ（Ａ）で使用する仮想アドレス情報を「192.168.100.0/24」と決定すると、ＨＧＷ（Ｂ）に対してＶＰＮ接続要求を送信する。そして、ＨＧＷ（Ｂ）では、ＨＧＷ（Ａ）と同様に、ＨＧＷ（Ａ）とＨＧＷ（Ｂ）との間にセッションが確立され、家庭内ＬＡＮ（Ｂ）で使用する仮想アドレス情報を「192.168.200.0/24」と決定すると、ＨＧＷ（Ａ）から受け付けたＶＰＮ接続要求の応答として許可応答を送信する。このようにして、ＨＧＷ（Ａ）とＨＧＷ（Ｂ）との間、つまり、家庭内ＬＡＮ（Ａ）と家庭内ＬＡＮ（Ｂ）との間に、仮想的なネットワークであるＶＰＮが接続される。
【００４８】
そして、ＨＧＷ（Ａ）とＨＧＷ（Ｂ）とは、それぞれの家庭内ＬＡＮに接続される装置から受け付けた各種要求に対してＮＡＴ変換を行って、接続されている家庭内ＬＡＮとの通信を行う。
【００４９】
具体的には、家庭内ＬＡＮ（Ａ）に接続されるＰＣ「ＩＰアドレス：192.168.1.10」から家庭内ＬＡＮ（Ｂ）に接続されるＷｅｂサーバの仮想アドレスである「ＩＰアドレス：192.168.200.10」へアクセス要求が送信された場合に、ＨＧＷ（Ａ）は、送信元ＩＰアドレス「192.168.1.10」で送信先ＩＰアドレス「192.168.200.10」であるアクセス要求を受け付ける。そこで、このままでは、ＰＣとＷｅｂサーバとが通信を行うことができないため、ＨＧＷ（Ａ）は、決定した仮想アドレス情報「192.168.100.0/24」を用いて、送信元ＩＰアドレスを「192.168.1.10」から「192.168.100.10」に変換してアクセス要求を送信する。
【００５０】
続いて、ＨＧＷ（Ｂ）は、ＨＧＷ（Ａ）と同様の手法で、受け付けたアクセス要求の
送信先ＩＰアドレス「192.168.200.10」を「192.168.1.10」に変換して、「192.168.1.10」が割り当てられているＷｅｂサーバにアクセス要求を送信する。その後、Ｗｅｂサーバから送信元ＩＰアドレス「192.168.1.10」、送信先ＩＰアドレス「192.168.100.10」のアクセス応答を受け付けると、ＨＧＷ（Ｂ）は、受け付けたアクセス応答の送信元ＩＰアドレスを「192.168.1.10」から「192.168.200.10」に変換してＨＧＷ（Ａ）に送信する。そして、送信元ＩＰアドレス「192.168.200.10」、送信先ＩＰアドレス「192.168.100.10」のアクセス応答を受け付けたＨＧＷ（Ａ）は、送信先ＩＰアドレスを「192.168.100.10」から「192.168.1.10」に変換して、「192.168.1.10」が割り当てられているＰＣにアクセス応答を送信する。
【００５１】
このように、実施例１に係るＨＧＷは、それぞれ決まった仮想アドレス情報を用いてＮＡＴ変換することができる結果、上記した主たる特徴のごとく、家庭内ＬＡＮ同士の接続に際して、仮想アドレスの重複を確実に防止して接続することが可能である。
【００５２】
［ＨＧＷの構成］
次に、図２を用いて、図１に示したＨＧＷの構成を説明する。図２は、実施例１に係るＨＧＷの構成を示すブロック図である。図２に示すように、ＨＧＷ（Ａ）１０は、内部Ｉ／Ｆ部１１と外部Ｉ／Ｆ部１２と記憶部２０と制御部３０とから構成され、ＨＧＷ（Ｂ）４０も同様に、内部Ｉ／Ｆ部４１と外部Ｉ／Ｆ部４２と記憶部５０と制御部６０とから構成される。なお、図２に示したＨＧＷ（Ａ）とＨＧＷ（Ｂ）とは、同様の構成を有するので、ここでは、ＨＧＷ（Ａ）についてのみ説明する。
【００５３】
内部Ｉ／Ｆ部１１は、家庭内ＬＡＮ（Ａ）に接続される各種装置との通信を制御する。具体的に例を挙げれば、内部Ｉ／Ｆ部１１は、電話機（Ａ）から電話機（Ｂ）へのＶＯＩＰを用いた電話発信を受け付けたり、ＰＣから家庭内ＬＡＮ（Ｂ）のＷｅｂサーバへのアクセス要求を受け付けたり、外部Ｉ／Ｆ部１２によって受け付けられた電話機（Ｂ）から送信された接続応答を電話機（Ａ）に送信したり、外部Ｉ／Ｆ部１２によって受け付けられたＷｅｂサーバから送信されたアクセス要求に対するアクセス応答をＰＣに送信したりする。
【００５４】
外部Ｉ／Ｆ部１２は、家庭内ＬＡＮ（Ａ）とは異なる他のネットワークとの通信を制御する。具体的に例を挙げれば、外部Ｉ／Ｆ部１２は、電話機（Ｂ）から送信された接続応答を受信したり、Ｗｅｂサーバから受け付けたアクセス要求に対するアクセス応答を受信したり、内部Ｉ／Ｆ部１１によって受け付けられた電話機（Ａ）から電話機（Ｂ）へのＶＯＩＰを用いた電話発信を電話機（Ｂ）に送信したり、内部Ｉ／Ｆ部１１によって受け付けられたＰＣから家庭内ＬＡＮ（Ｂ）のＷｅｂサーバへのアクセス要求をＷｅｂサーバに送信したり、ＨＧＷ（Ｂ）４０との間に仮想通信路の生成を行ったりする。
【００５５】
記憶部２０は、制御部３０による各種処理に必要なルーティング情報およびプログラムを格納するとともに、特に本発明に密接に関連するものとしては、仮想アドレス情報ＤＢ２１を備える。
【００５６】
仮想アドレス情報ＤＢ２１は、ＨＧＷ（Ａ）１０と他のネットワークである家庭内ＬＡＮ（Ｂ）に接続されるＨＧＷ（Ｂ）４０との間に確立されたセッションの発側および着側に対応付けて、ネットワークで使用する仮想アドレスが互いに重複しないように選択するのに必要な仮想アドレス情報を記憶する。具体的に例を挙げれば、仮想アドレス情報ＤＢ２１は、図３に示すように、『発側か着側かを示す「発着」と、使用する仮想アドレスのネットワーク情報を示す「仮想アドレス情報」』として「発側、192.168.100.0/24」や「着側、192.168.200.0/24」を記憶する。
【００５７】
また、仮想アドレス情報ＤＢ２１は、使用される仮想アドレスそのものを記憶している必要はなく、ネットワークで使用する仮想アドレスが互いに重複しないように選択するのに必要な仮想アドレス情報としてルールを記憶していてもよい。例えば、仮想アドレス情報ＤＢ２１は、「発側、第三オクテットを１００」、「着側、発側仮想アドレスの第三オクテット＋１」などのように、仮想アドレスを決定するルールを記憶していてもよい。なお、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図３は、仮想アドレス情報ＤＢに記憶される情報の例を示す図である。
【００５８】
制御部３０は、ＯＳ（Operating  System）などの制御プログラム、仮想アドレス情報ＤＢ２１に記憶されるルーティング情報に基づくルーティング制御などの各種処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に本発明に密接に関連するものとしては、仮想アドレス決定部３１と、ＶＰＮ接続部３２と、ＮＡＴ変換部３３とを備え、これらによって種々の処理を実行する。
【００５９】
仮想アドレス決定部４１は、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、仮想アドレス情報を仮想アドレス情報ＤＢから取得して、当該ネットワークで使用する仮想アドレス情報として決定する。上記した例で具体的に説明すると、電話機（Ａ）からＨＧＷ（Ａ）１０を介して電話機（Ｂ）に通話要求が送信されて、電話機（Ｂ）からＨＧＷ（Ｂ）４０を介して電話機（Ａ）に通話許可応答が送信されると、電話機（Ａ）と電話機（Ｂ）とが通話接続される。その場合、仮想アドレス決定部３１は、電話機（Ａ）が通話接続の発側であると判定し、「発側」に対応付けて記憶される「192.168.100.0/24」を仮想アドレス情報ＤＢ２１から取得して、当該ネットワークで使用する仮想アドレス情報として決定する。同様に、通話接続の着側である電話機（Ｂ）が接続される家庭内ＬＡＮ（Ｂ）内のＨＧＷ（Ｂ）４０は、電話機（Ｂ）が通話接続の着側であると判定し、「着側」に対応付けて記憶される「192.168.200.0/24」を仮想アドレス情報ＤＢ５１から取得して、当該ネットワークで使用する仮想アドレス情報として決定する。
【００６０】
また、家庭内ＬＡＮ（Ａ）のプライベートＩＰアドレスが「192.168.1.0/24」、家庭内ＬＡＮ（Ｂ）のプライベートＩＰアドレスが「192.168.1.0/24」であり、仮想アドレス情報ＤＢ２１に「発側、第三オクテットを１００」、「着側、発側の第三オクテット＋１」などと仮想アドレスを決定するルールが記憶されており、電話機（Ａ）から電話機（Ｂ）に通話接続要求がされた場合を例にして説明する。この場合、仮想アドレス決定部３１は、上記と同様に電話機（Ａ）が通話接続の発側であると判定し、「発側」に対応付けて仮想アドレス情報ＤＢ２１に記憶される「第三オクテットを１００」に基づいて、当該ネットワークで使用する仮想アドレス情報を、プライベートＩＰアドレス「192.168.1.0/24」の「第三オクテットを１００」にした「192.168.100.0/24」として決定する。同様に、通話接続の着側である電話機（Ｂ）が接続される家庭内ＬＡＮ（Ｂ）内のＨＧＷ（Ｂ）４０の仮想アドレス決定部６１は、電話機（Ｂ）が通話接続の着側であると判定し、「着側」に対応付けて仮想アドレス情報ＤＢ５１に記憶される「発側の第三オクテット＋１」に基づいて、当該ネットワークで使用する仮想アドレス情報を「192.168.101.0/24」として決定する。
【００６１】
ＶＰＮ接続部３２は、仮想アドレス決定部３１により決定された仮想アドレス情報を用いて、セッションが確立されているＨＧＷ（Ｂ）４０が接続される家庭内ＬＡＮ（Ｂ）と家庭内ＬＡＮ（Ａ）とを仮想的な通信路で接続して通信可能に制御する。上記した例で具体的に説明すると、ＶＰＮ接続部３２は、仮想アドレス決定部３１により決定された仮想アドレス情報「192.168.100.1/24」を用いて家庭内ＬＡＮ（Ａ）と家庭内ＬＡＮ（Ｂ）との間に仮想的な通信路であるＶＰＮを接続するとともに、ＶＰＮ接続に伴ってファイアウォールやルーティングの設定を変更する。
【００６２】
ＮＡＴ変換部３３は、ＶＰＮ接続部３２により設定された各種設定およびＶＰＮに基づいて、ＮＡＴ変換を行って家庭内ＬＡＮ（Ｂ）と家庭内ＬＡＮ（Ａ）との通信を制御する。上記した例で具体的に説明すると、家庭内ＬＡＮ（Ａ）に接続されるＰＣ「ＩＰアドレス：192.168.1.10」から家庭内ＬＡＮ（Ｂ）に接続されるＷｅｂサーバ「ＩＰアドレス：192.168.200.10」へアクセス要求が送信された場合に、ＮＡＴ変換部３３は、送信元ＩＰアドレスが「192.168.1.10」で、送信先ＩＰアドレスが「192.168.200.10」であるアクセス要求を受け付ける。そこで、このままでは、ＰＣとＷｅｂサーバとが通信を行うことができないため、ＮＡＴ変換部３３は、ＶＰＮ接続部３２により設定された各種設定に基づいて、送信元ＩＰアドレスを「192.168.1.10」から「192.168.100.10」にしてアクセス要求を送信する。また、ＨＧＷ（Ｂ）４０においては、送信先ＩＰアドレスを「192.168.200.10」から「192.168.1.10」に変換してアクセス要求をＷｅｂサーバに転送する。
【００６３】
ここで、ＮＡＴ変換の例について、一部を抜粋して具体的に例を挙げて説明する。例えば、ＨＧＷ（Ａ）１０では、ＮＡＴ変換を行う設定として、「iptable  -t  nat  1  -i  tun0  -A  PREROUTING  -d  192.168.100.0/24  -j  NETMAP  --to  192.168.1.0/24」、「iptable  -t  nat  1  -i  tun0  -A  PREROUTING  -s  192.168.1.0/24  -j  NETMAP  --to  192.168.100.0/24」などと設定する。
【００６４】
また、ＨＧＷ（Ｂ）４０でも同様に、ＮＡＴ変換を行う設定として、「iptable  -t  nat  1  -i  tun0  -A  PREROUTING  -d  192.168.200.0/24  -j  NETMAP  --to  192.168.1.0/24」、「iptable  -t  nat  1  -i  tun0  -A  PREROUTING  -s  192.168.1.0/24  -j  NETMAP  --to  192.168.200.0/24」などと設定する。
【００６５】
［ＨＧＷによる処理］
次に、図４と図５とを用いて、ＨＧＷによる処理を説明する。図４は、実施例１に係るＨＧＷにおけるＶＰＮ接続処理の流れを示すフローチャートであり、図５は、実施例１に係るＨＧＷにおける通信制御処理の流れを示すフローチャートである。なお、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０とで実行される処理の流れは同様であるので、ここでは、ＨＧＷ（Ａ）１０を例にして説明する。
【００６６】
（ＶＰＮ接続処理の流れ）
図４に示すように、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０とのＶＯＩＰによるセッションが確立されると（ステップＳ１０１肯定）、ＨＧＷ（Ａ）１０の仮想アドレス決定部３１は、電話機（Ａ）、言い換えれば、家庭内ＬＡＮ（Ａ）が発側か着側かを判定する（ステップＳ１０２）。
【００６７】
そして、家庭内ＬＡＮ（Ａ）が発側であると判定された場合（ステップＳ１０２肯定）、仮想アドレス決定部３１は、仮想アドレス情報ＤＢ２１から発側の仮想アドレス情報を取得して、家庭内ＬＡＮ（Ａ）で使用する仮想アドレス情報を決定する（ステップＳ１０３）。
【００６８】
一方、家庭内ＬＡＮ（Ａ）が着側であると判定された場合（ステップＳ１０２否定）、仮想アドレス決定部３１は、仮想アドレス情報ＤＢ２１から着側の仮想アドレス情報を取得して、家庭内ＬＡＮ（Ａ）で使用する仮想アドレス情報を決定する（ステップＳ１０４）。
【００６９】
そして、ＶＰＮ接続部３２は、仮想アドレス決定部３１により決定された仮想アドレス情報を用いて、ＨＧＷ（Ｂ）４０、言い換えれば、家庭内ＬＡＮ（Ｂ）との間にＶＰＮを接続する（ステップＳ１０５）。
【００７０】
（通信制御処理の流れ）
図５に示すように、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０との間（言い換えれば、家庭内ＬＡＮ（Ａ）と家庭内ＬＡＮ（Ｂ）との間）にＶＰＮが接続されて、家庭内ＬＡＮ（Ａ）に接続される他の装置から各種要求を内部Ｉ／Ｆ部１１により受信されると（ステップＳ２０１肯定）、ＮＡＴ変換部３３は、ＶＰＮ接続部３２により設定された各種設定に基づいてＮＡＴ変換を実施して（ステップＳ２０２）、各種要求を宛先のＨＧＷ（Ｂ）４０に外部Ｉ／Ｆ部１２を介して送信する（ステップＳ２０３）。
【００７１】
その後、各種要求の送信先である装置から応答が外部Ｉ／Ｆ部１２により受信されると（ステップＳ２０４肯定）、ＮＡＴ変換部３３は、ＶＰＮ接続部３２により設定された各種設定に基づいてＮＡＴ変換を実施して（ステップＳ２０５）、各種要求送信先（応答の宛先）である装置に内部Ｉ／Ｆ部１１を介して応答を送信する（ステップＳ２０６）。
【００７２】
［実施例１による効果］
このように、実施例１によれば、ＨＧＷ（Ａ）１０は、ＨＧＷ（Ａ）１０と家庭内ＬＡＮ（Ｂ）に接続されるＨＧＷ（Ｂ）４０との間に確立されたセッションの発側および着側に対応付けて、家庭内ＬＡＮ（Ａ）で使用する仮想アドレスを決定するのに必要な仮想アドレス情報を記憶する仮想アドレス情報ＤＢ２１を備え、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０との間にセッションが確立された場合に、当該セッションの発側であるかまたは着側であるかに基づいて、仮想アドレス情報を仮想アドレス情報ＤＢ２１から取得して、取得した仮想アドレス情報に基づいて当該家庭内ＬＡＮ（Ａ）で使用する仮想アドレスを決定し、決定された仮想アドレスを用いて、セッションが確立されているＨＧＷ（Ｂ）４０が接続される家庭内ＬＡＮ（Ｂ）と家庭内ＬＡＮ（Ａ）とを仮想的な通信路で接続して通信可能に制御するので、家庭内ＬＡＮ同士を仮想的に接続するのに際して、仮想アドレスの重複を確実に防止して通信することが可能である。
【００７３】
具体的には、ＨＧＷ（Ａ）１０は、ＶＯＩＰによるセッションの確立における発側または着側に対応付けてそれぞれ決まった仮想アドレス情報を使用することができる結果、家庭内ＬＡＮ同士をＶＰＮ接続した場合であっても、仮想アドレスの重複を確実に防止して通信することが可能である。
【００７４】
また、実施例１によれば、仮想アドレス情報とは、ネットワークと他のネットワークとで利用される仮想アドレスの重複および競合を回避するために、発側および着側のそれぞれにおける仮想アドレス決定方法をルール化したものであるので、利用形態や用途など仮想アドレスが重複しないように、利用者間で任意にルール化することができる結果、利用者の嗜好にあわせて柔軟に対応することが可能である。また、予め顔見知りの利用者間同士でのみに適用できるルールを任意に設定することができる結果、セキュリティを強化することが可能である。
【実施例２】
【００７５】
ところで、本発明は、ＨＧＷ同士がＳＩＰ接続される場合であっても、同様に、仮想アドレスを決定して、家庭内ＬＡＮ同士を接続することが可能である。
【００７６】
そこで、実施例２では、ＨＧＷ同士がＳＩＰ接続される場合に、それぞれの家庭内ＬＡＮで使用される仮想アドレスを決定して、家庭内ＬＡＮ同士を接続する例について説明する。また、実施例２では、インターネット鍵交換プロトコルであるＩＫＥ（Internet  Key  Exchange）を用いて、ＩＰｓｅｃ（IP  Security  Protocol）を用いた仮想的な通信路を接続する場合について説明する。
【００７７】
まず始めに、図６を用いて、ＳＩＰセッションの確立を用いたＩＰｓｅｃ接続の処理の流れを示す処理シーケンスについて説明する。図６は、ＩＫＥを用いたＳＩＰ接続の処理の流れを示すシーケンス図である。なお、ここでは、電話機（Ａ）には電話番号「0422-59-2222」が設定されており、電話機（Ｂ）には電話番号「0422-59-1111」が設定されているとする。また、ＳＩＰサーバとは、電話機（Ａ）と電話機（Ｂ）とをそれぞれのＨＧＷを介してＳＩＰで接続する装置であり、ＨＧＷ（Ａ）１０やＨＧＷ（Ｂ）４０と同様に、図１に示したネットワークに接続されている。
【００７８】
（処理シーケンス）
図６に示すように、ＨＧＷ（Ａ）１０は、「ＲＥＧＩＳＴＥＲ」メッセージをＳＥ（サービス・エッジ）を介してＳＩＰサーバに送信し、同様に、ＨＧＷ（Ｂ）４０も、「ＲＥＧＩＳＴＥＲ」メッセージをＳＥに送信する（ステップＳ３０１とステップＳ３０２）。
【００７９】
その後、電話機（Ａ）から電話番号が入力されると、ＨＧＷ（Ａ）１０は、「ＳＩＰ  ＩＮＶＩＴＥ」メッセージをＳＥを介してＳＩＰサーバに送信し（ステップＳ３０３とステップＳ３０４）、ＳＩＰサーバは、この「ＳＩＰ  ＩＮＶＩＴＥ」メッセージをＳＥを介してＨＧＷ（Ｂ）４０に転送する（ステップＳ３０５）。
【００８０】
そして、転送されたこの「ＳＩＰ  ＩＮＶＩＴＥ」メッセージを受け付けたＨＧＷ（Ｂ）４０は、発信者番号通知により相手を識別し、事前、もしくは、接続の都度、電話機操作などにより相手からの接続を許可する旨の通知を電話機（Ｂ）から受け付け、「２００  ＯＫ」メッセージをＳＥを介してＳＩＰサーバに送信し（ステップＳ３０６とステップＳ３０７）、この「２００  ＯＫ」メッセージを受け付けたＳＩＰサーバは、受け付けた「２００  ＯＫ」メッセージをＨＧＷ（Ａ）１０に転送する（ステップＳ３０８）。
【００８１】
すると、ＳＩＰサーバは、ＳＩＰサーバ内のネットワーク（もしくは、ＶＯＩＰ網）の帯域などのリソースの確保やパケットフィルタリングの設定などを行い（ステップＳ３０９）、ＨＧＷ（Ａ）１０は、例えば、上記した処理の流れの中または事前にＳＤＰ（Session  Description  Protocol）などで交換された接続相手に対してＶＰＮ接続の開始を行うとともに（ステップＳ３１０）、ＨＧＷ（Ｂ）４０は、ＳＤＰなどで交換された接続相手に対してＶＰＮの待ち受けを開始する（ステップＳ３１１）。
【００８２】
このようにして、ＨＧＷ（Ｂ）４０とＶＰＮ接続が開始されると（ステップＳ３１２）、ＨＧＷ（Ａ）１０は、宛先ポート番号を「4500」として、ＩＰｓｅｃのセキュリティ・アーキテクチャをそのままに鍵交換プロトコルのＩＫＥｖ１を拡張したものである「ＩＫＥｖ２（Internet  Key  Exchange  version  2）リクエスト」である「ＩＫＥ＿ＳＡ＿ＩＮＩＴ」メッセージを、ＳＩＰサーバを介してＨＧＷ（Ｂ）４０に送信する（ステップＳ３１３）。なお、ＩＫＥｖ２である必要はなく、ＩＫＥｖ１であってもよい。
【００８３】
すると、ＨＧＷ（Ｂ）４０では、このリクエストに対応する応答として「ＩＫＥｖ２レスポンス」である「ＩＫＥ＿ＳＡ＿ＩＮＩＴ」メッセージをＨＧＷ（Ａ）１０にＳＩＰサーバを介して応答する（ステップＳ３１４）。なお、この後、ＩＫＥ及びＵＤＰカプセリングされたＥＳＰパケットは、ＳＤＰで宣言されたＵＤＰ４５００番を利用しているため、網内での通信制御対処となる。
【００８４】
その後、応答を受信したＨＧＷ（Ａ）１０は、「ＩＫＥｖ２リクエスト」である「ＩＫＥ＿ＡＵＴＨ」メッセージを、ＳＩＰサーバを介してＨＧＷ（Ｂ）４０に送信し（ステップＳ３１５）、ＨＧＷ（Ｂ）４０は、電話番号をＩＤとした証明書ベースの相手認証を行い（ステップＳ３１６）、その結果として、「ＩＫＥｖ２レスポンス」である「ＩＫＥ＿ＡＵＴＨ」メッセージを、ＳＩＰサーバを介してＨＧＷ（Ａ）１０に送信する（ステップＳ３１７）。
【００８５】
そして、レスポンスを受け取ったＨＧＷ（Ａ）１０では、電話番号をＩＤとした証明書ベースの相手認証を行う（ステップＳ３１８）。なお、ステップＳ３１６とステップＳ３１８とで説明した認証とは、受け取った証明書に記載されている電話番号が、接続先の電話番号と一致するか否かの認証手法であり、認証手法は、これに限定されるわけではなく、公知である他の認証手法を用いてもよい。
【００８６】
その後、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０とのそれぞれでは、ＮＡＴ設定が行われて（ステップＳ３１９とステップＳ３２０）、家庭内ＬＡＮ（Ａ）と家庭内ＬＡＮ（Ｂ）との間には、ＵＤＰカプセリングされたＥＳＰパケット（ＵＤＰ  ４５００）でやり取りされるＩＰｓｅｃを用いた仮想的な通信路が接続される（ステップＳ３２１）。
【００８７】
（仮想アドレス情報決定手法）
次に、上記したＶＰＮ接続の処理シーケンスの中で、「ステップＳ３１５：メッセージ５」および「ステップＳ３１７：メッセージ６」において仮想アドレス情報を決定する手法について説明する。具体的には、ＨＧＷ（Ａ）１０は、家庭内ＬＡＮ（Ａ）で使用する仮想アドレス情報を家庭内ＬＡＮ（Ｂ）に送信して、家庭内ＬＡＮ（Ｂ）から受信した家庭内ＬＡＮ（Ｂ）で使用される仮想アドレス情報に基づいてネゴシエーションを行った結果、当該家庭内ＬＡＮ（Ａ）で使用する仮想アドレス情報として仮想サブネットを決定する。つまり、ＨＧＷ（Ａ）１０およびＨＧＷ（Ｂ）４０は、ＩＫＥｖ２におけるTraffic  Selector交換においてネゴシエーションを行った結果から、当該家庭内ＬＡＮで使用する仮想アドレス情報として仮想サブネットを決定する。
【００８８】
通常のTraffic  Selectorの利用方法は、Initiator（送信側：この例ではＨＧＷ（Ａ）１０）が転送する自分のサブネット情報であるアドレス範囲を送り、Responder（受信側：この例ではＨＧＷ（Ｂ）４０）がその中から一部もしくは全部のサブネットを選択して返答するとともに、自分のサブネット情報を送り返す。このとき、サブネットが重複している場合、お互いが同じアドレスをやり取りすることになる結果、ルーティングが実行されず、Traffic  Selectorを利用しても通信が成功しない。ここで、Initiatorがサブネットの空間の一部を決定し、Responderが残りの部分を決定することで、お互いに利用中の他のＶＰＮで利用されているサブネットと重複しないサブネット空間を決定することができる。その際、アドレスバッティングがあるかどうかの判定のために、ステップＳ３１５およびステップＳ３１７において、「ＴＳｉ」を二つ入れる。
【００８９】
例を挙げて説明すると、InitiatorであるＨＧＷ（Ａ）１０は、他のＶＰＮ接続で利用中の仮想サブネットと重複しないように上位４ｂｉｔ「1111」すなわち「11110000（１０進数では240）」を選択して、ステップＳ３１５において、アドレスバッティング判定用である自分の実サブネットを示す「ＴＳｉメッセージ」として「192.168.0.0-192.168.0.255」、提案する仮想サブネットの上位４ｂｉｔを示す「ＴＳｉメッセージ」として「129.60.240.0-129.60.255.255」の他に、Responder側のサブネット空間を示す「ＴＳｒメッセージ」として「0.0.0.0-255.255.255.255」をＨＧＷ（Ｂ）４０に送信する。
【００９０】
そして、これらのメッセージを受信したResponderであるＨＧＷ（Ｂ）４０では、自分のサブネットとバッティングすることを確認し、仮想サブネット交換を実行、つまり、他のＶＰＮ接続で利用されているサブネットとして重複しないことを確認し、下位４ｂｉｔとして「0000」と「0001」すなわち「11110000（１０進数では240）」と「11110001（１０進数では241）」とを選択する。そして、ＨＧＷ（Ｂ）４０は、決定されたInitiatorの仮想サブネットを示す「ＴＳｉメッセージ」として「129.60.240.0-129.60.240.255」と、決定されたResponderの仮想サブネットを示す「ＴＳｒメッセージ」として「129.60.241.0-129.60.241.255」をＨＧＷ（Ａ）１０に送信する。
【００９１】
すると、ＨＧＷ（Ａ）１０では、最初の４ｂｉｔを自分の持つ他のＶＰＮ接続の上位４ｂｉｔにも重複しないものを選択すれば、Responderのアドレスとも重複することはない。また、ＨＧＷ（Ａ）１０およびＨＧＷ（Ｂ）４０において、実サブネット同士が重複しない場合には、Responderは、ＴＳｉとして自分のサブネット空間を通知すればよく、この場合、ＮＡＴ変換を行う必要はない。このようにして仮想サブネットが決まった後は、ＨＧＷ（Ａ）１０およびＨＧＷ（Ｂ）４０において、実施例１と同様に、ルーティングの設定が行われる。
【００９２】
（実施例２による効果）
このように、実施例２によれば、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０との間にセッションが確立された場合に、ＨＧＷ（Ｂ）４０との間で、お互いに利用を希望する仮想アドレスまたは仮想アドレスの範囲を仮想アドレス情報として交換し、お互いの条件に一致するような仮想アドレスを決定するので、自ネットワークの仮想アドレス情報と接続先の仮想アドレス情報とを交換し、接続中の仮想アドレス情報と重複しないかを判定することができる結果、Ｎ対Ｎの接続に際しても、仮想アドレスの重複を確実に防止して通信することが可能である。
【００９３】
また、この例では、129.60.0.0/16のサブネット空間を例にして説明したが、本発明はこれに限定されるものではなく、10.0.0.0/8としてもよく、その場合は、交換できるサブネット空間用のｂｉｔ数を１オクテットから２オクテットまで増やすことができる結果、より重複を防止することが可能である。また、ＨＧＷ（Ａ）１０は、このような仮想アドレスのサブネット空間自体もＨＧＷ（Ｂ）４０との間でやり取り（ネゴシエーション）を行うことで決定することができる。
【００９４】
また、実施例２によれば、既に通信可能に接続されている別のネットワークが存在する場合に、仮想アドレスを決定するのに際して、当該別のネットワークとの間で利用している仮想アドレスまたは仮想アドレスの範囲と重複しないように、仮想アドレスを決定するので、複数のネットワークと同時に接続する場合であっても、重複しない仮想アドレスを選択して用いることができる結果、複数のネットワークを同時に接続することが可能である。
【実施例３】
【００９５】
ところで、本発明は、実施例２で説明したように、電話機同士がＳＩＰ接続される場合に、ＨＧＷ間でネゴシエーションを行う以外にも様々な手法で、仮想アドレス情報を決定することができる。
【００９６】
そこで、実施例３では、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０とのそれぞれにＯｐｅｎＶＰＮがインストールされている場合に、ＨＧＷ間でネゴシエーションを行う以外の手法として、ＯｐｅｎＶＰＮを用いて仮想アドレス情報を決定する例について説明する。図７は、ＯｐｅｎＶＰＮによる仮想アドレス決定処理の流れを示すシーケンス図である。
【００９７】
この処理は、図６で示した「ステップＳ３１３：メッセージ３」〜「ステップＳ３１７：メッセージ６」に該当し、さらに新たに「メッセージ７」の処理を実施する。また、ＶＰＮ接続までの処理は、図６で説明したステップＳ３０１〜ステップＳ３１１の処理と同様であるので、ここでは、仮想アドレス情報を決定する処理について説明する。なお、ＯｐｅｎＶＰＮとは、ＶＰＮソフトウエアを利用したフル機能のＳＳＬ（Secure  Socket  Layer）  ＶＰＮであり、本実施例では、ＶＰＮソフトウエア上のクライアントを発側でＨＧＷ（Ａ）１０、サーバ側を着側であるＨＧＷ（Ｂ）４０として説明する。
【００９８】
（処理シーケンス）
図７に示すように、ＨＧＷ（Ｂ）４０とＶＰＮ接続が開始されると（ステップＳ４０１）、ＨＧＷ（Ａ）１０は、宛先ポート番号を「445」として、「ＳＳＬリクエスト」である「Ｃｌｉｅｎｔ  Ｈｅｌｌｏｗ」メッセージを、ＳＩＰサーバを介してＨＧＷ（Ｂ）４０に送信する（ステップＳ４０２）。
【００９９】
すると、ＨＧＷ（Ｂ）４０では、このリクエストに対応する応答として「ＳＳＬレスポンス」である「Ｓｅｒｖｅｒ  Ｈｅｌｌｏｗ」メッセージをＨＧＷ（Ａ）１０にＳＩＰサーバを介して応答する（ステップＳ４０３）。そして、ＨＧＷ（Ａ）１０では、電話番号をＩＤとした証明書ベースの相手認証を行う（ステップＳ４０４）。
【０１００】
その後、応答を受信したＨＧＷ（Ａ）１０は、「ＳＳＬリクエスト」として「鍵情報」を、ＳＩＰサーバを介してＨＧＷ（Ｂ）４０に送信し（ステップＳ４０５）、ＨＧＷ（Ｂ）４０は、電話番号をＩＤとした証明書ベースの相手認証を行い（ステップＳ４０６）、その結果、「ＳＳＬレスポンス」として「完了通知」を、ＳＩＰサーバを介してＨＧＷ（Ａ）１０に送信する（ステップＳ４０７）。
【０１０１】
続いて、ＨＧＷ（Ｂ）４０は、ネットワーク設定情報（ＮＡＴアドレス情報）をＳＩＰサーバを介してＨＧＷ（Ａ）１０に送信し（ステップＳ４０８）、ネットワーク設定情報を受け取ったＨＧＷ（Ａ）１０と、ネットワーク設定情報を送信したＨＧＷ（Ｂ）４０では、それぞれＮＡＴ設定が実施され（ステップＳ４０９とステップＳ４１０）、家庭内ＬＡＮ（Ａ）と家庭内ＬＡＮ（Ｂ）との間にＳＳＬ  ＶＰＮトンネルが確立される（ステップＳ４１１）。なお、上記した認証とは、受け取った証明書に記載されている電話番号が、接続先の電話番号と一致するか否かの認証手法であり、認証手法は、これに限定されるわけではなく、公知である他の認証手法を用いてもよい。
【０１０２】
（仮想アドレス情報決定手法）
次に、上記した処理について具体的に例を挙げて説明する。ＯｐｅｎＶＰＮは、上記したように、サーバ側（ＨＧＷ（Ｂ）４０）が自身のプライベートＩＰアドレス情報をクライアント側（ＨＧＷ（Ａ）１０）に伝えることができる。
【０１０３】
このようなＶＰＮソフトウエアをＶＰＮ接続に際して起動することで、サーバ側であるＨＧＷ（Ｂ）４０は、ステップＳ４０８において、自身の仮想アドレス情報「192.168.10.0/24」を偶数に設定してクライアント側であるＨＧＷ（Ａ）１０に通知し、クライアント側であるＨＧＷ（Ａ）１０は、ステップＳ４０９において、その情報を基に自身の仮想サブネットを、サーバ側の仮想アドレスの第三オクテットに「１」を追加した「192.168.11.0/24」とする。このようなルールを、仮想アドレス情報ＤＢ２１に記憶しておけば、複数の着呼があった場合にでも、サーバ側で重複を避けるようなアドレス設計（次の呼に対しては192.168.12.0）を払い出すことが可能である。
【０１０４】
また、複数のクライアント接続（複数の発呼）を行う場合、サーバ側が通知してくる仮想アドレスとが重複する可能性があるが、このような場合には、クライアント側は、サーバ側が通知してきた仮想アドレスを確認して重複が判明すると、ＶＰＮ接続を失敗させ、再度接続を行うようにすればよい。
【０１０５】
例えば、既存のＶＰＮ接続において、仮想アドレス「192.168.11.0/24」を既に利用している場合に、新たなＶＰＮ接続で、サーバ側が自身の仮想アドレスが「192.168.10.0/24」と通知してきた場合には、サーバ側の仮想アドレスの第三オクテットに「１」追加すると既に利用されている「192.168.11.0/24」と重複するために、接続エラーを返答する。サーバ側は、接続エラーとなった場合には、異なる仮想アドレスを選択して、クライアント側に再度通知する。このように、何度かのトライアンドエラーで重複を避けることができる。なお、仮想アドレスが決まった後の処理は、実施例１と同様である。
【０１０６】
（実施例３による効果）
このように、実施例３によれば、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０との間にセッションが確立された場合に、家庭内ＬＡＮ（Ｂ）で利用を希望する仮想アドレスまたは仮想アドレスの範囲を他のデータ中継装置から受信し、受信した仮想アドレスまたは仮想アドレスの範囲と重複しないように、当該ネットワークで利用する仮想アドレスを決定するので、Ｎ対Ｎの複数間のＶＰＮ接続を行う場合であっても、通話接続先側が通知してきた仮想アドレスを確認することができる結果、仮想アドレスの重複を強固に防止することが可能である。
【０１０７】
また、実施例３によれば、ＨＧＷ（Ｂ）４０から受信した家庭内ＬＡＮ（Ｂ）で使用される仮想アドレスまたは仮想アドレスの範囲が、既に通信可能に接続されている別のネットワークで使用されている仮想アドレスまたは仮想アドレスの範囲と一致する場合に、当該他のネットワークに接続されるデータ中継装置との接続を拒否して、再度、仮想アドレスや仮想アドレスの範囲をＨＧＷ（Ｂ）４０に要求するので、トライアンドエラーを行うことができる結果、より強固に重複を避けることが可能である。
【実施例４】
【０１０８】
ところで、本発明は、電話機同士がＳＩＰ接続される場合に、実施例２で説明したＨＧＷ間でネゴシエーションを行う以外にも様々な手法で、仮想アドレス情報を決定することができる。
【０１０９】
そこで、実施例４では、電話機同士がＳＩＰ接続される場合に、仮想アドレス情報を決定する様々な手法について説明する。ここでは、ＳＩＰ確立に至るまでの通信において「双方向で設定可能なパラメータを用いた仮想アドレス決定手法」と「片方向で設定可能なパラメータを用いた仮想アドレス決定手法」とについて説明する。
【０１１０】
（双方向で設定可能なパラメータを用いた仮想アドレス決定手法）
まず、一般的なＳＩＰ接続の処理シーケンスを示した図６で説明したステップＳ３０４およびステップＳ３０５と、ステップＳ３０７およびステップＳ３０８で送受信されるメッセージの内容を書き換えることで、仮想アドレスを決定する手法について説明する。
【０１１１】
ＳＩＰにおけるトランザクションパケット（例えば、ＳＩＰ  ＩＮＶＩＴＥや２００  ＯＫなど）には、呼を識別するために、Ｆｒｏｍヘッダ、Ｔｏヘッダにｔａｇパラメータが含まれている。また、ＦｒｏｍとＴｏとでは必ずｔａｇ情報の中身が異なっているため、ＳＩＰ  ＵＡ（User  Agent）において、下位もしくは上位１６ｂｉｔ分は異なる値にしておき、その値をそのまま仮想アドレスとして利用することができる。
【０１１２】
例えば、Ｆｒｏｍヘッダに含まれるｔａｇ情報が「a1b2」である場合に、「a1＝161、b2＝178」であることより、仮想アドレス空間は、「10.161.178.0/24」と決定することができ、Ｔｏに含まれるｔａｇ情報が「1234」である場合に、「12＝18、34＝52」であることより、仮想アドレス空間は、「10.18.52.0/24」と決定することができる。ここで、tag生成のアルゴリズムとしては、下位１６ｂｉｔを異なるように生成することとすると、Ｆｒｏｍのｔａｇ情報が「9876a1b2」で、Ｔｏのｔａｇ情報が「aabbccdd1234」でもよい。
【０１１３】
このようにすることで、複数の着信を受けてＳＤＰ情報やＴＡＧ情報が重複した場合であっても、自分が送信するＳＤＰ情報やＴＡＧ情報を重複しないように選択して送信することができる結果、仮想アドレスの重複を強固に防止し、通信可能に接続することが可能である。
【０１１４】
また、Class  CのプライベートＩＰアドレス空間を例にして説明すると、「192.168.0.0」の下位１６ｂｉｔのうち、特定の範囲のｂｉｔ数を仮想アドレス空間（仮想サブネット空間）とし、ｔａｇ情報を用いて決定することができる。例えば、「/24」の空間を決定すると、発側であるＨＧＷ（Ａ）１０が「4bit」、着側であるＨＧＷ（Ｂ）４０が「4bit」の「bit列」を決定し、それらを繋げて、「192.168.（4+4）.0/24」のアドレス空間を決定する。この際、ＨＧＷは、自分の送った方を先頭にするなどの規則を決めておくことで、重複を防止することができる。
【０１１５】
より例を挙げて説明すると、発側であるＨＧＷ（Ａ）１０は、ｔａｇ情報に「3＝0011」を入力して「ＳＩＰ  ＩＮＶＩＴＥ」を送信し、これに対して着側であるＨＧＷ（Ｂ）４０は、「12＝1100」をｔａｇ情報に入力して「２００  ＯＫ」を応答したとする。この場合、ＨＧＷ（Ａ）１０は、二つのｔａｇ情報「00111100＝60」から家庭内ＬＡＮ（Ａ）の仮想アドレス空間を「192.168.60.0/24」と決定し、同様に、ＨＧＷ（Ｂ）４０は、二つのｔａｇ情報「11000011＝95」から家庭内ＬＡＮ（Ｂ）の仮想アドレス空間を「192.168.95.0/24」と決定する。ここでは、第三オクテットの「4bit」を決定する場合について説明したが、本発明はこれに限定されるものではなく、任意のbit数でもよい。例えば、「6bit」を決定するとした場合、仮想アドレスのサブネット空間は「/28」となる。また、ここでは、「192.168.0.0/16」のサブネット空間を想定したが、「10.0.0.0/8」としてもよく、その場合は、交換できるbit数を増やすことができ、より重複を防止することが可能である。
【０１１６】
また、ＨＧＷ（Ａ）１０は、このような仮想アドレスのサブネット空間自体もＨＧＷ（Ｂ）４０との間でやり取り（ネゴシエーション）を行うことで決定することができる。例えば、ＨＧＷ（Ａ）１０は、自身が使用を希望するサブネット空間とＨＧＷ（Ｂ）４０で使用を希望するサブネット空間をＨＧＷ（Ｂ）４０に送信し、ＨＧＷ（Ｂ）４０は、これを受け入れる場合にはそのまま利用し、受け入れない場合には、サブネット空間をＨＧＷ（Ａ）１０に対して再度要求することで、お互いが利用するサブネット空間を決定することができる。
【０１１７】
また、双方向で設定可能なパラメータを用いた仮想アドレス決定手法としては、上記したｔａｇ情報を用いた手法以外にも様々な手法を用いることができる。例えば、ＳＩＰ通信における「ＩＮＶＩＴＥ」や「２００  ＯＫ」に付与されるＳＤＰ情報内にアドレス情報を記載して双方向に通信を行うことで、仮想アドレス情報を決定することができる。この場合、ＳＤＰ情報内には、上記したｔａｇ情報のように１６進数表記である必要はなく、アドレス表記をそのままパラメータとして格納し、アドレス表記が格納されたＳＤＰ情報で送受信することが可能である。
【０１１８】
また、このようなＳＤＰ情報を用いた場合、上記した手法以外にも実施例２で説明したネゴシエーションを行って仮想アドレスを決定する手法を用いても仮想アドレス情報を決定することができる。そうすることで、自ネットワークの仮想アドレス情報と接続先の仮想アドレス情報とを交換し、接続中の仮想アドレス情報と重複しないかを判定することができる結果、Ｎ対Ｎの接続に際しても、仮想アドレスの重複を確実に防止して通信することが可能である。
【０１１９】
（片方向で設定可能なパラメータを用いた仮想アドレス決定手法）
次に、上記した手法と同様に、図６で説明したステップＳ３０４およびステップＳ３０５と、ステップＳ３０７およびステップＳ３０８で送受信されるメッセージの内容を書き換えることで、仮想アドレスを決定する手法について説明する。ただし、この例では、ステップＳ３０４およびステップＳ３０５との「ＩＮＶＩＴＥ」中に含まれる「Call-ID」を使用するために、上記した手法とは異なり、「ＩＮＶＩＴＥ」の「Call-ID」は任意に設定可能であるが、ステップＳ３０７およびステップＳ３０８で送信される「２００  ＯＫ」の「Call-ID」は任意に設定することができず、自動的に設定される。
【０１２０】
例えば、ＨＧＷ（Ａ）１０は、「Call-ID」に直接仮想アドレスを含めるような場合、「192.168.0.0/24」を16進数標記に変更した「c0a8000」を「Call-ID」の頭あるいは後ろに付与して、ＨＧＷ（Ｂ）４０に送信する。そして、これを受信したＨＧＷ（Ｂ）４０は受信した「c0a8000」を基に、あらかじめ決められた設定ルールに従って仮想アドレスを決定する。例えば、設定ルールが第三オクテットに１を加えるというものであった場合、仮想アドレスを「192.168.1.0/24」と決定する。ＨＧＷ（Ｂ）４０は、既に利用されている仮想アドレス情報と同じ仮想アドレス情報を示すCall-IDが付与された「INVITE」をＨＧＷ（Ａ）１０から受信した場合には、接続を拒否することができる。さらに、ＨＧＷ（Ａ）１０は、仮想アドレス情報だけでなく、仮想ネットワークのサブネットの範囲を示す「/24」という情報もCall-IDに含めることも可能であり、その場合、「24」を16進数標記に変更し、アドレス情報の後に追加してCall-IDに付与する値を「c0a800018」としてＨＧＷ（Ｂ）４０に送信する。
【０１２１】
このように、ＨＧＷ（Ｂ）４０との間にセッションを確立するのに際して、家庭内ＬＡＮ（Ａ）で使用する仮想アドレスを示すパラメータを付加したＳＩＰにおけるＣａｌｌ−ＩＤをＨＧＷ（Ｂ）４０に送信して、当該家庭内ＬＡＮ（Ａ）で使用する仮想アドレスを決定するので、ＨＧＷ（Ａ）１０で決定した仮想アドレス情報を接続先のＨＧＷ（Ｂ）４０に通知することができる結果、接続先側で重複しない仮想アドレスの決定を促すことが可能である。
【実施例５】
【０１２２】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、（１）接続制御サーバ、（２）ＩＰｓｅｃのみでのＶＰＮ接続、（３）システム構成等、（４）プログラムにそれぞれ区分けして異なる実施例を説明する。
【０１２３】
（１）接続制御サーバ
例えば、実施例１〜４では、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０との間に、ＶＰＮ接続を行う第三者装置が存在しない場合、つまり、ＨＧＷ（Ａ）１０とＨＧＷ（Ｂ）４０とがお互いに直接ＶＰＮ接続する場合について説明したが、本発明はこれに限定されるものではなく、図８に示すように、ＶＰＮ接続を行う第三者装置として接続制御サーバが接続されていてもよい。
【０１２４】
この場合、ＨＧＷ（Ａ）１０またはＨＧＷ（Ｂ）４０から送信されるＳＩＰ接続やＶＰＮ接続の要求およびこれらの応答は、接続制御サーバに送信され、接続制御サーバがそれらをＨＧＷ（Ａ）１０またはＨＧＷ（Ｂ）４０に転送することとなるが、その場合であっても、送信先が変わっただけで接続先は変わらないので、何ら問題なく、実施例１〜４で説明した手法を用いることができる。なお、図８は、接続制御サーバが接続される場合のシステムの全体構成を示す図である。
【０１２５】
（２）ＩＰｓｅｃのみでのＶＰＮ接続
また、実施例２と実施例３では、電話機（Ａ）と電話機（Ｂ）とがＳＩＰを用いたＶＯＩＰセッションを確立した後に、ＨＧＷ同士がＶＰＮを接続する例について説明したが、本発明はこれに限定されるものではなく、ＳＩＰを用いたＶＯＩＰセッションがない場合であっても、同様に、ＨＧＷ同士がＶＰＮ接続を行うことができる。例えば、図６に示したステップＳ３０１〜ステップＳ３０８におけるＳＩＰによるセッション確立を用いない場合、つまり、単なるＩＰｓｅｃによる通信を行う場合、ＨＧＷは、実施例２で説明したＩＫＥのInitiatorまたはResponderによる動作を実施することで、ＶＰＮ接続を行うことができる。
【０１２６】
（３）システム構成等
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理（例えば、２００  ＯＫなどのような各種応答処理、実施例２〜実施例４で用いたルールに従って仮想アドレスを決定する処理など）の全部または一部を手動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、図３など）については、特記する場合を除いて任意に変更することができる。
【０１２７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合（例えば、ＶＰＮ接続部とＮＡＴ変換部とを統合するなど）して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１２８】
（４）プログラム
なお、本実施例で説明したデータ中継方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【０１２９】
以上のように、本発明に係るデータ中継装置、データ中継方法およびデータ中継プログラムは、電話装置および他の通信装置がデータ中継装置を介して他のネットワークに接続されるように構成されたネットワークと、同様に構成された複数の他のネットワークとを仮想的な通信路で相互に通信可能に接続することに有用であり、特に、家庭内ＬＡＮ同士を仮想的に接続するのに際して、仮想アドレスの重複を確実に防止して通信することに適する。
【図面の簡単な説明】
【０１３０】
【図１】実施例１に係るＨＧＷを含むシステムの全体構成を示すシステム構成図である。
【図２】実施例１に係るＨＧＷの構成を示すブロック図である。
【図３】仮想アドレス情報ＤＢに記憶される情報の例を示す図である。
【図４】実施例１に係るＨＧＷにおけるＶＰＮ接続処理の流れを示すフローチャートである。
【図５】実施例１に係るＨＧＷにおける通信制御処理の流れを示すフローチャートである。
【図６】ＩＫＥを用いたＳＩＰ接続の処理の流れを示すシーケンス図である。
【図７】ＯｐｅｎＶＰＮによる仮想アドレス決定処理の流れを示すシーケンス図である。
【図８】接続制御サーバが接続される場合のシステムの全体構成を示す図である。
【符号の説明】
【０１３１】
１０  ＨＧＷ（Ａ）
１１  内部Ｉ／Ｆ部
１２  外部Ｉ／Ｆ部
２０  記憶部
２１  仮想アドレス情報ＤＢ
３０  制御部
３１  仮想アドレス決定部
３２  ＶＰＮ接続部
３３  ＮＡＴ変換部
４０  ＨＧＷ（Ｂ）
４１  内部Ｉ／Ｆ部
４２  外部Ｉ／Ｆ部
５０  記憶部
５１  仮想アドレス情報ＤＢ
６０  制御部
６１  仮想アドレス決定部
６２  ＶＰＮ接続部
６３  ＮＡＴ変換部
【図１】
0004667473.tif 000002
【図２】
0004667473.tif 000003
【図３】
0004667473.tif 000004
【図４】
0004667473.tif 000005
【図５】
0004667473.tif 000006
【図６】
0004667473.tif 000007
【図７】
0004667473.tif 000008
【図８】
0004667473.tif 000009