(58)【調査した分野】(Int.Cl.,DB名)
前記監視手段は、前記中継パケットの監視において、前記中継パケットに含まれる応答に基づいてアクセスの失敗を検知した場合、前記応答の送信元アドレスに基づいて生成したアクセス不能の情報によって前記アクセス可否情報を更新する
請求項1記載の中継装置。
【発明を実施するための形態】
【0019】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【0020】
<第1の実施形態>
図1は、本発明の第1の実施形態に係る中継装置の構成を示すブロック図である。
図1を参照すると、本実施形態に係る中継装置1は、第1の通信制御部2、第2の通信制御部3、中継制御部4、および記憶装置5を有する。
【0021】
中継装置1は、CPU(Central Processing Unit:図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、中継装置1の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この中継装置1をコンピュータによって実現したハードウェア構成例については、
図10を参照して後述する。
【0022】
記憶装置5は、アクセス可否情報6を格納することができる。記憶装置5は、例えば、半導体メモリ装置、またはディスク装置などにより実現される。
【0023】
アクセス可否情報6は、第2のネットワーク1001を経由してアクセスが可能または不能である宛先を表す情報を含む。すなわち、アクセス可否情報6は、中継装置1から第2のネットワークを介した到達可能性(Reachability)について、アドレスごとに示す情報を含む。
【0024】
第1の通信制御部2は、第1のネットワーク1000を介して、図示しないノードと中継装置1との間の通信を制御することができる。また、第1の通信制御部2は、複数の通信方式によって、第1のネットワーク1000との通信が可能である。すなわち、第1の通信制御部2は、複数の通信方式によって行われる、第1のネットワーク1000に対する通信を制御することができる。
【0025】
第2の通信制御部3は、第2のネットワーク1001を介して、図示しないノードと中継装置1との間の通信を制御することができる。また、第2の通信制御部3は、複数の通信方式によって、第2のネットワーク1001との通信が可能である。すなわち、第2の通信制御部3は、複数の通信方式によって行われる、第2のネットワーク1001に対する通信を制御することができる。
【0026】
第1のネットワーク1000、および第2のネットワーク1001は、例えば、それぞれインターネット、または、構内LAN(ローカルエリアネットワーク)などによって実現される。
【0027】
中継制御部4は、第1の通信制御部2を介して、第1のネットワーク1000から第1のパケットを受信することができる。中継制御部4は、アクセス可否情報6に基づいて、受信した第1のパケットの宛先がアクセス可能であるかどうかを判定する。そして、第1のパケットの宛先がアクセス可能な宛先である場合、中継制御部4は、第1のパケットを、第2の通信制御部を介して第2のネットワークへ中継する。
【0028】
また、第1のパケットの宛先がアクセス不能な宛先である場合、中継制御部4は、第1のパケットを送信した通信方式とは異なる通信方式によって通信することを、第1のパケットの送信元に対して促す(誘導する)。例えば、中継制御部4は、第1のパケットを送信した通信方式とは異なる通信方式によって通信することを促す通知パケットを、第1の通信制御部2を介して、第1のパケットの送信元に対して送信してもよい。この場合、中継制御部4は、アクセス不能な宛先に対する第1のパケットを第2のネットワーク1001へ送信(中継)せずに、第1のパケットの送信元に対して、通知パケットを返信する。
【0029】
このようにして、第1のパケットの送信元のノードは、実際に第2のネットワーク1001へ第1のパケットが中継され、さらにアクセス失敗の応答が戻るまでの時間を待つことなく、その宛先が到達不能であるということを認識することができる。
【0030】
以上説明したように、本実施形態によれば、第1のネットワーク1000に接続する図示しない端末が、アクセス不能な宛先に対するパケットを送信した場合、中継装置1は、第2のネットワーク1001に対して当該パケットを送信せずに、当該パケットが到達不能であることを知らせることができる。これにより、複数の通信方式によって動作可能な端末が、一部の通信方式においてアクセス不能な宛先に対してアクセスする際に発生する、不要なトラフィックを削減することができる。
【0031】
その理由は、中継制御部4が、第1の通信制御部2を介して、端末からのパケット(第1のパケット)を受信し、アクセス可否情報6に基づいて、受信したパケットの宛先がアクセス可能かどうかを判定するからである。そして、受信したパケットの宛先がアクセス不能である場合、中継制御部4は、通信方式の変更を促すことにより、当該パケットが宛先へ到達不能であることを通知することができるからである。これにより、中継装置1が、アクセス不能な宛先に対する不要なアクセスを行わないことにより、第2のネットワーク1001のトラフィックの増加を抑制するという効果を奏する。
【0032】
また、本実施形態によれば、アクセス不能な宛先に対する第1のパケットを送信した端末は、第2のネットワークから返信されるアクセス失敗の応答を待つ時間を短縮することができる。例えば、複数の通信方式によって動作可能な端末が、先にアクセス不能な宛先に対してアクセスした場合に発生する待ち時間が短縮されるので、該端末が最終的にアクセス可能な宛先に対してアクセスを試みるまでの時間が短縮できる。すなわち、本実施形態により、端末は、目的のノードに対して素早くアクセスできるという効果がある。
【0033】
その理由は、中継制御部4が、アクセス不能な宛先に対するパケットを第2のネットワーク1001に送信せずに、送信元の端末に対して、通信方式を変更することを促すからである。
【0034】
また、本実施形態によれば、IPアドレスの割り当てに係るネットワーク接続制御装置において実施される特別な機能を含まないので、ネットワーク運営者以外にも、本発明に係る中継装置を利用可能である。
【0035】
なお、本実施形態では、中継装置1は、第1の通信制御部2を介して受信する第1のパケットに対して上述の動作を行うが、第2の通信制御部3を介して受信する第2のパケットに対して同様の動作を行ってもよい。その場合、中継装置1の各部は、上記の説明における「第1」と「第2」とを読み替えた動作を行う。また、このとき、アクセス可否情報6は、第1のネットワーク1000を経由してアクセス可能またはアクセス不能である宛先の情報を含む。
【0036】
また、本実施形態では、中継装置1は、例えば、第1のネットワーク1000から第2のネットワーク1001へ向かう片方向の通信を対象として動作するが、双方向の通信に対して、片方向の通信と同様の動作を行ってもよい。このとき、アクセス可否情報6は、アクセス可能またはアクセス不能である宛先の情報を、通信方向ごとに対応づけて構成する。例えば、アクセス可否情報6は、第1の通信制御部2を介してアクセス可能またはアクセス不能である宛先の情報と、第2の通信制御部3を介してアクセス可能またはアクセス不能である宛先の情報とを識別する情報と共に保持してもよい。
【0037】
また、本実施形態は、中継装置1に接続するネットワークおよび通信制御部が2つ以上の構成に対しても適用可能である。
【0038】
<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。以下では、第2の実施形態に係る特徴的な部分を中心に説明し、第1の実施形態と同様な構成を有する第2の実施形態の構成要素には、第1の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
【0039】
本実施形態は、通信方式として、IPv4とIPv6とが利用可能なネットワークシステムに対して、本発明を適用した具体例である。本実施形態では、アクセス可否情報6は通信の状況に基づいて生成される点が上述した第1の実施形態と異なる。
【0040】
まず、
図2を参照して、以下に本実施形態のシステム構成を説明する。
図2は、本発明の第2の実施形態に係るネットワークシステムにおける通信環境の一例を示す構成図である。
【0041】
図2を参照すると、本実施形態に係るネットワークシステムは、中継装置10、端末40、サーバ50、DNSサーバ60、ルータ70、LAN1100、IPv4網1101、IPv6閉域網1102、およびインターネット1103を含む。
【0042】
中継装置10、端末40、サーバ50、DNSサーバ60、およびルータ70は、それぞれCPU(図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、中継装置10、端末40、サーバ50、DNSサーバ60、およびルータ70の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この中継装置10、端末40、サーバ50、DNSサーバ60、およびルータ70を、それぞれコンピュータによって実現したハードウェア構成例については、
図10を参照して後述する。
【0043】
本実施形態では、端末40が、中継装置10を介して、サーバ50に対するアクセスを行う。端末40が送信するパケットは、第1の実施形態における「第1のパケット」に対応する。LAN1100は、第1の実施形態における「第1のネットワーク」に対応する。ルータ70の先のネットワークであるIPv4網1101、IPv6閉域網1102、およびインターネット1103は、第1の実施形態における「第2のネットワーク」に対応する。なお、以下の説明においては、この第2のネットワークに対応する部分を総称して「WAN」とも言う。
【0044】
端末40と中継装置10は、LAN1100を介して接続することができる。LAN1100は、IPv4およびIPv6の両方の通信方式による通信が可能なローカルエリアネットワークである。なお、以下の説明においては、IPv4のアドレスを宛先として、IPv4によって伝送されるパケットを「IPv4パケット」と言う。また、同様に、IPv6のアドレスを宛先として、IPv6によって伝送されるパケットを「IPv6パケット」と言う。
【0045】
中継装置10は、ルータ70を介して、IPv4網1101、およびIPv6閉域網1102と接続することができる。IPv4網1101は、IPv4による通信が可能なネットワークである。IPv4網1101は、インターネット1103と、IPv4によって接続することができる。IPv6閉域網1102は、IPv6による通信が可能な閉域ネットワークである。本実施形態では、中継装置10のWAN側において、IPv6で接続可能なノードは、IPv6閉域網1102に含まれるノードに限られる。このようなネットワーク構成は、例えば、回線事業者等によってIPv4網1101とIPv6閉域網1102が提供される場合などにみられる。このとき、中継装置10は、具体的には、回線事業者の網と宅内LANとを接続するホームゲートウェイ(HGW)などに対応する。
【0046】
端末40は、IPv4およびIPv6の両方によって通信可能なノードである。端末40は、サーバ50に対してアクセスする際に、サーバ50を宛先としたパケットを、中継装置10に対して送信する。
【0047】
サーバ50、およびDNSサーバ60は、インターネット1103に接続するノードである。中継装置10は、ルータ70、IPv4網1101、およびインターネット1103を介して、サーバ50、およびDNSサーバ60と接続することができる。すなわち、中継装置10は、サーバ50、およびDNSサーバ60と、IPv4によって接続することができるが、IPv6では接続できない。
【0048】
DNSサーバ60は、サーバ50を含む、インターネット1103におけるノードのアドレス情報を提供することができる名前解決サーバである。
【0049】
上述したとおり、本実施形態は、IPv4およびIPv6の2つの通信方式によって動作可能な端末40が、一部の通信方式(すなわちIPv6)においてアクセス不能なサーバ50に対してアクセスする場合を示す具体例である。
【0050】
以下に、
図3を参照して、本実施形態に係る中継装置10の構成を説明する。
図3は、本発明の第2の実施形態に係る中継装置の構成を示すブロック図である。
図3を参照すると、中継装置10は、中継制御部4と、記憶装置5と、監視部11と、ネットワークインタフェース部(NIC)21および31と、IPv4制御部22および32と、IPv6制御部23および33とを有する。記憶装置5は、アクセス可否情報6を格納することができる。
【0051】
中継制御部4、記憶装置5、およびアクセス可否情報6は、第1の実施形態と同様の構成および機能であるので、重複する説明は省略する。ただし、本実施形態において、アクセス可否情報6に含まれる情報は、監視部11によって生成される。
【0052】
NIC21、IPv4制御部22、およびIPv6制御部23は、第1の実施形態における第1の通信制御部2に対応する。本実施形態では、これら3つの機能部が、LAN1100を介して、IPv4およびIpv6の2つの通信方式による、端末40と中継装置10との間の通信を制御することができる。
【0053】
NIC21は、LAN1100に対して、IPv4パケットおよびIPv6パケットの両方を送受信することが可能な通信インタフェースである。NIC21は、LAN1100と接続されている。NIC21は、受信したIPv4パケットをIPv4制御部22に対して出力することができる。NIC21は、受信したIPv6パケットをIPv6制御部23に対して出力することができる。また、NIC21は、IPv4制御部22から受け取ったIPv4パケットをLAN1100に対して送信することができる。NIC21は、IPv6制御部23から受け取ったIPv6パケットをLAN1100に対して送信することができる。
【0054】
IPv4制御部22は、LAN1100との通信におけるIPv4プロトコルの処理を行うことができる。IPv4制御部22は、NIC21から受け取ったIPv4パケットを中継制御部4に対して出力することができる。また、IPv4制御部22は、中継制御部4から受け取ったIPv4パケットを、NIC21を介して、IPv4プロトコルによってLAN1100に対して送信することができる。
【0055】
IPv6制御部23は、LAN1100との通信におけるIPv6プロトコルの処理を行うことができる。IPv6制御部23は、NIC21から受け取ったIPv6パケットを中継制御部4に対して出力することができる。また、IPv6制御部23は、中継制御部4から受け取ったIPv6パケットを、NIC21を介して、IPv6プロトコルによってLAN1100に対して送信することができる。
【0056】
NIC31、IPv4制御部32、およびIPv6制御部33は、第1の実施形態における第2の通信制御部3に対応する。本実施形態では、これら3つの機能部が、WANを介して、IPv4およびIpv6の2つの通信方式による、中継装置10と、サーバ50などのWAN側にあるノードとの間の通信を制御することができる。NIC31、IPv4制御部32、およびIPv6制御部33の各機能は、NIC21、IPv4制御部22、およびIPv6制御部23の上記説明における符号「21、22、23」を「31、32、33」と読み替え、さらにLAN1100をWANと読み替えることにより、説明することが可能であるので重複する説明は省略する。
【0057】
監視部11は、中継制御部4と、IPv4制御部22およびIPv6制御部23との間に配置され、それらの間の通信を監視することができる。すなわち、監視部11は、中継装置10が中継するIPv4パケットおよびIPv6パケット等の中継パケットに含まれる応答を監視し、その監視結果に基づいて、アクセス可否情報6を生成することができる。また、監視部11は、中継制御部4と、IPv4制御部22およびIPv6制御部23との間における、IPv4パケットおよびIPv6パケットの授受を中継することができる。
【0058】
次に、上述した構成を備える本実施形態の動作について詳細に説明する。以下に、本説明における前提条件を述べる。
【0059】
まず、サーバ50は、IPv4およびIPv6の両方に対応するアドレスを割り当てられていることを前提とする。
図2に示すネットワーク構成であるので、端末40は、サーバ50のIPv4アドレスを宛先としたIPv4パケットの送信によって、サーバ50にアクセスすることができる。一方、端末40は、サーバ50のIPv6アドレスを宛先としたIPv6パケットを送信した場合、アクセスは失敗する。
【0060】
また、端末40は、サーバ50のIPv4アドレス、およびIPv6アドレスを、DNSサーバ60からあらかじめ得ている前提とする。そして、端末40は、IPv4とIPv6との両方のアドレスを得た場合、IPv6のアドレスからアクセスを試行することを前提とする。
【0061】
このような前提条件において、端末40が、サーバ50にアクセスする場合の動作を説明する。
【0062】
初めに、本発明と背景技術との動作を比較する際の参考として、
図2に表すネットワークシステムにおいて、中継装置10を一般的なホームゲートウェイ(以下、単に「HGW」と言う)に置き換えた場合の動作について、
図9を参照して説明する。
図9は、一般的なネットワークシステムにおける通信の一例を示すシーケンス図である。
【0063】
まず、端末40は、初めに、サーバ50に対するIPv6アクセスを試みる。すなわち、端末40は、サーバ50のIPv6アドレスを宛先としたIPv6パケットをHGWに対して送信する(ステップS300)。HGWは、受信したIPv6パケットを、IPv6による通信が可能なネットワークであるIPv6閉域網1102に対して送信する(ステップS301)。IPv6閉域網1102からサーバ50にはアクセスできる経路がないので、エラー応答がIPv6閉域網1102から返信される(ステップS302)。HGWは、そのエラー応答を、端末40に対して中継する(ステップS303)。このエラー応答の受信により、端末40は、サーバ50に対して、IPv6アクセスが失敗したことを認識する。
【0064】
次に、端末40は、サーバ50に対するIPv4アクセスを試みる。すなわち、端末40は、サーバ50のIPv4アドレスを宛先としたIPv4パケットをHGWに対して送信する(ステップS304)。HGWは、受信したIPv4パケットを、IPv4による通信が可能なネットワークであるIPv4網1101に対して送信する(ステップS305)。
IPv4パケットは、IPv4網1101からインターネット1103を経由して転送され、最終的にサーバ50へ到達することができる。サーバ50は、受信したIPv4パケットを処理した後、端末40に対して応答のIPv4パケットを返信する(ステップS306)。HGWは、その応答のIPv4パケットを、端末40に対して中継する(ステップS307)。この応答の受信により、端末40は、サーバ50に対するIPv4アクセスが成功したことを認識する。
【0065】
このように、端末は、IPv6アクセスの失敗を認識する段階において、ステップS300からステップS303まで、エラー応答を待ち合わせる時間を要していた。すなわち、一般に、一部の通信方式においてアクセス不能な宛先に対してアクセスする際、端末が、IPv6からアクセスを試行した場合に、サーバ50に対してIPv4によってアクセスが成功するまでに時間が掛かるという問題がある。
【0066】
次に本実施形態に係る中継装置10を含むネットワークシステム(
図2)において、端末40が、サーバ50にアクセスする場合の動作を説明する。なお、本説明においては、アクセス可否情報6は、初めは、すべての宛先がアクセス可能であるという情報を持つ、またはアクセス不能な宛先の情報を含まないことを前提とする。ただし、本実施形態は、アクセス可否情報6があらかじめ情報を保持している場合にも動作可能である。
【0067】
本実施形態における、初めの通信におけるシーケンスは、
図9を参照して上述した一般的なHGWの場合と同様である。したがって、以下では、重複する説明は、省略、または簡単に記述する。
【0068】
まず、端末40は、サーバ50に対するIPv6アクセスを試みる(ステップS300)。すなわち、端末40は、中継装置10に対して、サーバ50のIPv6アドレスを宛先としたIPv6パケットを送信する。
【0069】
中継装置10においては、NIC21を介して、IPv6制御部23がIPv6パケットを受信する。そして、IPv6制御部23は、監視部11に対して、IPv6パケットを出力する。本実施形態では、監視部11は、LAN1100からWANの方向へ送られるパケットは監視しなくてもよい。すなわち、監視部11は、IPv6制御部23、およびIPv4制御部22から受け取ったパケットを、単に中継制御部4へ転送する。
【0070】
中継制御部4は、アクセス可否情報6に基づいて、受信したIPv6パケットの宛先がアクセス可能であるかどうかを判定する。この時点では、アクセス可否情報6は、上述した通り、すべてのアクセスが可能であるという情報を持つので、中継制御部4は、アクセス可能であると判定する。その判定の結果に基づき、中継制御部4は、受け取ったIPv6パケットを、IPv6制御部33に対して出力する。IPv6制御部33は、受け取ったIPv6パケットを、NIC31を介して、IPv6閉域網1102に対して送信する(ステップS301)。
【0071】
IPv6閉域網1102からサーバ50にはアクセスできる経路がないので、エラー応答がIPv6閉域網1102から返信される(ステップS302)。
【0072】
中継装置10においては、IPv6制御部33が、NIC31を介して、エラー応答を受信する。IPv6制御部33は、受信したエラー応答を、中継制御部4に対して出力する。本実施形態では、中継制御部4は、WANからLAN1100の方向へ送られるパケットに対してアクセス可否の判定を行わない。すなわち、中継制御部4は、単に、エラー応答を監視部11に対して出力する。
【0073】
監視部11は、監視部11を通過する通信の応答を監視し、その応答に基づいてアクセスの失敗を検知する。具体的には、本実施形態において、監視部11は、IPv6制御部33から受け取ったエラー応答を監視する。すなわち、監視部11は、受け取ったエラー応答を解析することにより、IPv6アクセスに失敗したことを検知する。そして、監視部11は、エラー応答の送信元アドレス(すなわち、サーバ50のIPv6アドレス)に基づいて、アクセス不能の情報を生成し、そのアクセス不能の情報をアクセス可否情報6に登録する。また、監視部11は、IPv6制御部23およびNIC21を介して、受け取ったエラー応答を端末40に対して送信する(ステップS303)。このエラー応答の受信により、端末40は、サーバ50に対して、IPv6アクセスが失敗したことを認識する。
【0074】
この後、端末40は、サーバ50に対するIPv4アクセスを試みる(ステップS304)。
【0075】
中継装置10は、IPv6制御部23及び33の代わりに、IPv4制御部22および32を介して、上述したIPv6パケットに対する場合と同様の処理を行う。すなわち、中継制御部4は、アクセス可否情報6に基づいて、受信したIPv4パケットの宛先をアクセス可能と判定する。中継制御部4は、受信したIPv4パケットをIPv4網1101に対して送信する(ステップS305)。
【0076】
IPv4パケットは、IPv4網1101からインターネット1103を経由して、サーバ50に到達する。サーバ50は、端末40に対して応答のIPv4パケットを返信する(ステップS306)。
【0077】
中継装置10は、IPv6制御部23及び33の代わりに、IPv4制御部22および32を介して、上述したIPv6のエラー応答に対する場合と同様の処理を行う。すなわち、監視部11は、このIPv4の応答を解析することにより、IPv4のアクセスに成功したことを検知する。そして、監視部11は、IPv4の応答を、端末40に対して中継する(ステップS307)。この応答の受信により、端末40は、サーバ50に対するIPv4アクセスが成功したことを認識する。
【0078】
このようにして、本実施形態によれば、あらかじめアクセス可否情報6を記憶装置5に登録しておかなくても、監視部11が、中継装置10を経由する通信の実績に基づいて、アクセス可否情報6を自ら生成することができる。また、監視部11がサーバ50に対するアクセス可否情報6を生成したことにより、本実施形態に係る中継装置10の動作は、サーバ50に対する2回目以降のアクセスに関しては、第1の実施形態と同様となる。
【0079】
次に、端末40が、同じサーバ50に対して、さらにアクセスする場合の動作を、
図4を参照して説明する。一般的に、端末は、同じ宛先であっても、初めのアクセスと同様の動作を繰り返すことが多い。
図4は、第2の実施形態に係るネットワークシステムにおける通信の一例を示すシーケンス図である。なお、以下の動作は、サーバ50に対する2度目以降のアクセスを、端末40以外の端末が行った場合にも、同様に実行される。
【0080】
まず、端末40が、初めに、サーバ50に対するIPv6アクセスを試みる(ステップS100)。
【0081】
中継装置10においては、NIC21、IPv6制御部23、および監視部11を介して、中継制御部4が、受信したIPv6パケットを受け取る。中継制御部4は、アクセス可否情報6に基づいて、受信したパケットの宛先であるサーバ50のIPv6アドレスがアクセス不能であると判定する。アクセス不能と判定した場合、中継制御部4は、受信したパケットとは異なる通信方式によって通信することを促す。本実施形態では、中継制御部4は、IPv6ではない通信方式(すなわちIPv4)に誘導する通知パケットを、端末40に対して送信する(ステップS101)。
【0082】
IPv6ではない通信方式に誘導する方法としては、様々な方法が知られている。例えば、TCP(Transmission Control Protocol)通信である場合、中継装置10が、端末40から受信したIPv6(SYN)パケットに対して、IPv6(RST,ACK)パケットを応答する方法が知られている。なお、SYNパケットとは、TCPヘッダの制御フラグにおいて、Synchronize sequence numbersフィールドがセットされたパケットである。同様に、RSTパケットとは、TCPヘッダの制御フラグにおいて、Resetフィールドがセットされたパケットである。ACKパケットとは、TCPヘッダの制御フラグにおいて、Acknowledgmentフィールドがセットされたパケットである。この方法において、端末40は、IPv6(RST,ACK)パケットの受信をきっかけとして、IPv4アクセスへの切り替えを行うことができる。
【0083】
IPv4に誘導する通知パケットを受信すると、端末40は、IPv6アクセスが失敗したことを認識する。そして、端末40は、サーバ50に対するIPv4アクセスを試みる(ステップS102)。
【0084】
これ以降のステップS103からS105までの中継装置10の動作は、上述したステップS305からS307までの中継装置10の動作と同様である。すなわち、中継装置10は、端末40から受信したIPv4パケットをIPv4網1101を介して、サーバ50へ転送する。そして、中継装置10は、サーバ50が送信した応答を、LAN1100を介して、端末40へ転送する。
【0085】
このようにして、端末40は、第1の実施形態と同様に、先にアクセス不能なIPv6によってアクセスした場合にも、IPv6のアクセス失敗の応答を待つ時間なしに、素早くアクセス可能なIPv4に切り替えることが可能になる。
【0086】
以上、説明したように、本実施形態には、上述した第1の実施形態と同様の効果に加えて、さらに、アクセス可否情報6をあらかじめ中継装置10に登録しておく必要がないという効果もある。
【0087】
その理由は、監視部11が、中継装置10を経由する通信の実績に基づいて、アクセス可否情報6を生成することができるからである。
【0088】
なお、監視部11を接続する位置は、中継制御部4が各ネットワークから受信する中継パケット(IPv4パケットおよびIPv6パケット)を監視できる場所であればよい。すなわち、監視部11の位置は、中継制御部4と、IPv4制御部32およびIPv6制御部33との間であってもよい。または、監視部11は、中継制御部4がパケットを中継する経路に含める代わりに、各パケットの複製を受信できる位置に配置してもよい。なお、監視部11が、中継する経路に含まれない場合は、中継パケットの授受の中継は行わなくてもよい。
【0089】
また、本実施形態において、監視部11は、アクセス可否情報6に含まれる各情報に対して、有効期間を設けてもよい。すなわち、監視部11は、アクセス可否情報6に情報を登録する際に、その情報が有効である期限を表す時刻情報を付加して、アクセス可否情報6に含めてもよい。時刻情報は、固定時間でも良いし、受信したパケットに含まれるTTL(Time To Life)などの情報に基づいて決定してもよい。そして、監視部11は、有効期間を経過した情報を、アクセス可否情報6から削除するなどの方法により、無効化してもよい。また、監視部11は、ステップS303において、エラー応答を受け取った際に、有効期間内であればエラー応答の解析を行わず、したがってアクセス可否情報6も更新しないという処理を行ってもよい。これにより、中継装置10は、ネットワーク構成の変更等によって、ノードの到達可否状況(Reachability)に変化に対して、同的に追従することが可能となる。また、監視部11は、有効期間内における監視動作の負荷を削減することができる。
(第2の実施形態の変形例)
なお、本実施形態の変形例としては、以下のようなものが考えられる。
【0090】
例えば、監視部11が、通信方式ごとに測定した通信に掛かる時間に基づいて、アクセス可否情報6を更新してもよい。通信に掛かる時間とは、例えば、端末からあるノードNに対して送信されたアクセス要求を、中継装置10が送信(転送)してから、ノードNからアクセス要求に対する応答を中継装置10が受信するまでの応答時間である。この変形例において、監視部11は、異なる通信方式によって行われる通信において、上記通信に掛かる時間を測定する。そして、監視部11は、同じノードに対する各通信方式における測定結果の比較結果に基づいて、例えば、応答時間が遅い方の通信方式をアクセス不能とする情報を、アクセス可否情報6に登録してもよい。これは、ネットワークシステムにおいて、複数の通信方式によってアクセス可能なノードNが存在する場合に有効である。
【0091】
以下に、例えば、端末が、ノードNに対して、IPv4およびIPv6の両方でアクセス可能である場合について説明する。監視部11は、端末からノードNに対するIPv4アクセス、およびIPv6アクセスのそれぞれについて、ノードN宛てに送信されたパケットの転送から、ノードNによる応答パケットを受信するまでの応答時間を測定する。そして、監視部11は、通信方式ごとの応答時間が所定の割合以上に違う場合に、応答が遅い方の通信方式をアクセス不能とする情報をアクセス可否情報6に登録してもよい。すなわち、監視部11は、同じノードに対する異なる通信方式の測定結果を比較する。そして、監視部11は、アクセスに対する応答が遅い通信方式を、アクセス不能な通信方式と同様に扱うように、遅い方の通信方式のアドレスがアクセス不能であることを表す情報を、アクセス可否情報6に登録する。その結果、中継装置10は、端末がノードNに対して応答が遅い通信方式によってアクセスした場合、その通信方式によるパケットを転送せずに、端末に対して通信方式の変更を促すことができる。
【0092】
なお、監視部11が、測定結果の比較に際して、あるIPv4アドレスと、別のIPv6アドレスとが同じノードNに対するアドレスであるということを識別する方法は、いくつかある。例えば、監視部11が、中継する通信に含まれるDNS応答から、ノードNのIPv4アドレスおよびIPv6アドレスを得てもよい。または、監視部11が、記憶装置5などにあらかじめ格納された情報から、それらのアドレスに関する情報を得てもよい。
【0093】
また、監視部11は、測定結果を、アクセス可否情報6に付加して、または、その他の管理情報などとして記録してもよい。
【0094】
このようにして、中継装置10は、各通信方式の応答時間が異なる場合に、端末に対して、応答が速い通信方式に切り替えることを促すことができる。
【0095】
以上、説明したように本変形例には、実際のネットワーク環境に合わせて、応答時間の速い通信方式を動的に選択することできるという効果がある。
【0096】
その理由は、監視部11が、実際に行われている通信に対して、通信方式ごとに通信に掛かる時間を測定するからである。そして、監視部11は、その測定結果に基づいて、応答の遅い通信方式をアクセス不能とする情報をアクセス可否情報6に登録することができるからである。また、中継制御部4が、アクセス可否情報6に基づいて、応答の遅い通信方式によって送信されたパケットの中継を行わずに、端末に対して通信方式の切り替えを促すからである。
【0097】
なお、第2の実施形態に係る監視部11の機能と、本変形例に係る監視部11の機能とは、互いに干渉しない。したがって、例えば、第2の実施形態に係る監視部11が、本変形例に係る監視部11の機能を併せ持っていてもよい。
【0098】
<第3の実施形態>
次に、上述した第2の実施形態、または変形例を基本とする第3の実施形態について説明する。以下では、第3の実施形態に係る特徴的な部分を中心に説明し、第2の実施形態、または変形例と同様な構成を有する第3の実施形態の構成要素には、第2の実施形態、または変形例で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
【0099】
本実施形態は、アクセス可否情報6の代わりに、名前解決により一度取得したDNS応答の情報を保持するキャッシュ機能を用いて、中継の制御を行う点が、第2の実施形態、またはその変形例と異なる。なお、本実施形態は、第2の実施形態を基本として実現することもできるが、以下では、第2の実施形態の変形例を基本とした構成を具体例として、説明する。
【0100】
まず、
図5を参照して、以下に本実施形態のシステム構成を説明する。
図5は、本発明の第3の実施形態に係るネットワークシステムにおける通信環境の一例を示す構成図である。
図5を参照すると、本実施形態に係るネットワークシステムは、中継装置100、端末40、サーバ50および51、DNSサーバ60および61、ルータ70、LAN1100、IPv4網1101、IPv6閉域網1102、およびインターネット1103を含む。すなわち、本実施形態に係るネットワークシステムは、
図2に対して、中継装置10を中継装置100に置き換え、サーバ51およびDNSサーバ61を追加した構成である。
図2と同じ符号を付した要素の構成及び動作は、第2の実施形態および変形例と同様であるので、重複する詳細な説明は省略する。以下においては、第2の実施形態に含まれない中継装置100、サーバ51、DNAサーバ61の構成を詳細に説明する。
【0101】
中継装置100、サーバ51、およびDNSサーバ61は、それぞれCPU(図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、中継装置100、サーバ51、およびDNSサーバ61の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この中継装置100、サーバ51、およびDNSサーバ61を、それぞれコンピュータによって実現したハードウェア構成例については、
図10を参照して後述する。
【0102】
本実施形態では、端末40が、中継装置100を介して、サーバ51に対するアクセスを行う。
【0103】
サーバ51は、端末40から、IPv4およびIPv6の両方においてアクセス可能なノードである。サーバ51は、第2の実施形態の変形例における、複数の通信方式によってアクセス可能なノードNに対応する。本実施形態においては、サーバ51は、IPv4網1101およびIPv6閉域網1102と接続される。
【0104】
DNSサーバ61は、本実施形態においては、サーバ51のIPv4およびIPv6の両方のアドレスを含むDNS応答(名前解決応答)を返信することができるDNSサーバである。本実施形態においては、DNS応答サーバ61は、IPv4網1101に接続される。ただし、DNS応答サーバ61の位置および構成は、中継装置100を介して送信されるDNS問合せに対してサーバ51のアドレスを提供できれば、本実施形態に限定されない。
【0105】
中継装置100は、中継装置10を基本とする。中継装置100と、LAN1100、IPv4網1101、およびIPv6閉域網1102の接続関係は、第2の実施形態および変形例と同様であるので、重複する詳細な説明は省略する。
【0106】
以下に、
図6を参照して、本実施形態に係る中継装置100の構成を説明する。
図6は、本発明の第3の実施形態に係る中継装置の構成を示すブロック図である。
図6を参照すると、中継装置100は、監視部101と、中継制御部103と、プロキシDNS部102と、記憶装置5と、ネットワークインタフェース部(NIC)21および31と、IPv4制御部22および32と、IPv6制御部23および33とを有する。記憶装置5は、管理情報110と、キャッシュ情報111とを格納することができる。
【0107】
ネットワークインタフェース部(NIC)21および31と、IPv4制御部22および32と、IPv6制御部23および33の構成及び動作は、第2の実施形態および変形例と同様であるので、重複する詳細な説明は省略する。
【0108】
監視部101は、第2の実施形態の変形例における監視部11を基本とする。監視部101は、通信方式ごとに測定した通信に掛かる時間に基づいて、アクセス可否情報6を更新する代わりに、後述するプロキシDNS部102に対してキャッシュ情報111の更新を指示する。すなわち、監視部101は、通信方式ごとの応答時間の測定結果を比較し、その比較結果に基づいて、いずれかの通信方式によるアクセスを停止させるかどうかを決定する。そして、監視部101は、プロキシDNS部102に対して、アクセスを停止させる通信方式のアドレスに関するキャッシュ情報111の更新を指示する。
【0109】
また、本実施形態において、監視部101は、通信に掛かる時間を測定した結果を、管理情報110に記録する。管理情報110は、ドメイン名ごとの管理レコードを保持することができる。管理レコードは、ドメイン名を表す情報を含む「ドメイン名」欄と、ドメイン名に対応する、通信方式ごとの宛先アドレスを表すアドレス情報を含む「宛先」欄と、通信に掛かる時間の測定結果の結果情報を含む「測定結果」欄とを含む。
【0110】
また、監視部101は、中継する通信に含まれるDNS応答を監視することにより、同じノードの名前に対応するIPv4アドレスとIPv6アドレスとの紐付けを行い、それらの情報を含む管理レコードを管理情報110に登録する。
【0111】
上記以外の監視部101の構成と動作は、第2の実施形態の変形例における監視部11と同様であるので、重複する詳細な説明は省略する。
【0112】
プロキシDNS部102は、中継装置100が中継するDNS通信(DNS問合せ、およびDNS応答)に対して、DNSプロキシ処理を行うことができる。すなわち、プロキシDNS部102は、受信したDNS問合せを適切なDNSサーバに対して転送し、DNSサーバから受信したDNS応答に含まれる情報をキャッシュ情報111として保持する。そして、プロキシDNS部102は、受信したDNS応答が対象とするドメイン名(FQDN:Fully Qualified Domain Name。以下、単に「名前」とも言う)と同じドメイン名に対するDNS問合せを受信した場合、キャッシュ情報111に基づいて、自ら生成したDNS応答を問合せ元に対して返信する。なお、プロキシDNS部102は、DNS通信に関するパケットを、中継制御部103を介して、送受信する。
【0113】
また、プロキシDNS部102は、監視部101によるキャッシュ情報111の更新指示に基づいて、キャッシュ情報111の一部をネガティブキャッシュに変更する。具体的には、プロキシDNS部102は、監視部101の更新指示に含まれるアドレスに関するキャッシュ情報111を、ネガティブキャッシュに変更する。ネガティブキャッシュとは、名前解決に失敗したドメイン名を示す情報である。
【0114】
キャッシュ情報111は、DNSサーバ61から送信されるDNS応答に含まれる情報を含むことができる。すなわち、キャッシュ情報111は、プロキシDNS部102が、DNSサーバ61に代わって、端末40から送られるDNS問合せに応答する際に必要とする情報を含む。
【0115】
プロキシDNS部102は、有効期間(TTL)に基づくキャッシュ情報111の時間管理、DNS通信(DNS問合せ、およびDNS応答)の転送に伴うヘッダアドレス変更など、上記以外の一般的なDNSキャッシュ機能が有する機能を実行してもよい。一般的なDNSキャッシュ機能、およびキャッシュ情報111の構成については、一般的な技法を採用することができるので、後述する動作説明も含め、本実施形態における詳細な説明は省略する。
【0116】
中継制御部103は、第2の実施形態における中継制御部4を基本とする。中継制御部103は、アクセス可否情報6に基づいて、受信したパケットの宛先がアクセス可能であるかどうかを判定する代わりに、受信したDNS通信(DNS問合せ、およびDNS応答)のパケットをプロキシDNS部102に対して出力する。そして、中継制御部103は、プロキシDNS部102から受け取ったDNS通信のパケットを転送する。上記以外の中継制御部103の動作は、第2の実施形態における中継制御部4の動作と同様であるので、重複する詳細な説明は省略する。
【0117】
次に、上述した構成を備える本実施形態の動作について詳細に説明する。以下に、
図7を参照して、端末40が、サーバ50にアクセスする場合の動作を説明する。
図7は、第3の実施形態に係るネットワークシステムにおける通信の一例を示すシーケンス図である。なお、本実施形態の動作説明は、第2の実施形態では既に実行済みの前提としていた、接続先の名前解決から始まる。また、管理情報110、およびキャッシュ情報111は、以下の動作開始時点において、何も情報を保持していない前提とする。
【0118】
まず、端末40は、中継装置100に対して、サーバ51の名前(例えば、「abc.efg」)の解決を要求するDNS問合せを送信する(ステップS200)。このとき、端末40は、サーバ51のIPv4アドレス(「A」レコード)を要求するDNS問合せと、IPv6アドレス(「AAAA」レコード)を要求するDNS問合せとを、両方送信する前提とする。具体的には、端末40は、サーバ51の名前に対する「A」レコードを要求するDNS問合せを含むIPv4パケット、およびサーバ51の名前に対する「AAAA」レコードを要求するDNS問合せを含むIPv4パケットとを、中継装置100に対して、順次送信する。
【0119】
中継装置100においては、NIC21を介して、IPv4制御部22がこれらのDNS問合せを含むIPv4パケットを受信する。そして、IPv4制御部22は、監視部101を介して、受信したDNS問合せを中継制御部103に対して出力する。
【0120】
このとき、監視部101は、転送されるパケットを管理情報110に基づいてチェックする。監視部101は、このときは管理情報110に何も情報が保持されていないので、単に中継制御部103に転送する。
【0121】
中継制御部103は、プロキシDNS部102に対して、受信したDNS問合せを出力する。プロキシDNS部102は、キャッシュ情報111にサーバ51のアドレス情報が含まれないので、DNSサーバ61に対するDNS問合せを行う。すなわち、プロキシDNS部102は、サーバ51の名前に対する「A」レコードおよび「AAAA」レコードを要求する、2つのDNS問合せを生成し、中継制御部103、IPv4制御部32、およびNIC31を介して、DNSサーバ61に対して、生成した2つのDNS問合せを送信する(ステップS201)。
【0122】
DNSサーバ61は、2つのDNS問合せを受信すると、それぞれに対応するアドレス情報を含むDNS応答を返信する(ステップS202)。すなわち、DNSサーバ61は、サーバ51の名前に対する「A」レコード(例えば、IPv4アドレス「X.X.X.X」)を含むDNS応答、および「AAAA」レコード(例えば、IPv6アドレス「Y::Y」)を含むDNS応答を中継装置100に対して送信する。
【0123】
中継装置100においては、まず、DNSキャッシュ部102が、NIC31、IPv4制御部32、および中継制御部103を介して、2つのDNS応答を受信する。そして、DNSキャッシュ部102は、2つのDNS応答に含まれる情報をキャッシュ情報111に登録する。さらに、DNSキャッシュ部102は、DNSサーバ61から受信したDNS応答を基に、端末40に対するDNS応答を生成し、中継制御部103に対して出力する。中継制御部103は、DNS応答の宛先である端末40に対して転送する。すなわち、中継制御部103は、まず、DNS応答を監視部101に対して出力する。
【0124】
このとき、監視部101は、転送されるパケットがDNS応答である場合、それぞれのDNS応答に含まれる名前とアドレス情報とを含む管理レコードを生成し、その管理レコードを管理情報110に登録する。「AAAA」レコードを含むDNS応答に対する処理を具体例として説明すると、監視部101は、「ドメイン名」欄にサーバ51の名前を表す情報「abc.efg」を格納した管理レコードを生成する。さらに、監視部101は、サーバ51の名前を格納した「ドメイン名」欄に対応する「宛先」欄に、サーバ51のIPv6アドレスを表すアドレス情報「Y::Y」を格納する。監視部101は、「A」レコードを含むDNS応答に関しても、管理情報110に記録する。その結果、管理情報110は、
図8に示す「ドメイン名」欄および「宛先」欄の状態となる。この時点において、「測定結果」欄には、何も格納されていない。
図8は、第3の実施形態における管理情報110の一例を示す図である。
【0125】
さらに、監視部101は、IPv4制御部22、およびNIC21を介して、2つのDNS応答を転送する(ステップS203)。端末40は、これら2つのDNS応答を受信することにより、サーバ51のIPv4アドレス「X.X.X.X」およびIPv6アドレス「Y::Y」を取得する。
【0126】
次に、本実施形態においては、端末40は、サーバ51に対してIPv6とIPv4との両方で順次アクセスを試みることとする。このようなアクセス方法は、端末40が、複数の通信方式によってアクセスできるとき、応答速度が速い通信方式を選びたい場合に行われることがある。まず、端末40は、第2の実施形態と同様に、中継装置100を介して、サーバ51に対してIPv6によってアクセスする(ステップS204)。中継装置100は、端末40から受信したIPv6パケットを、サーバ51に対して転送する。なお、中継装置100の中継動作については、上述した通りであるので、これ以降は、中継動作における要点に絞って記述する。
【0127】
ここで、監視部101は、転送されるパケットの宛先を管理情報110に基づいてチェックする。そして、パケットの宛先が管理情報110に含まれる場合、通信に掛かる時間(応答時間)の測定を開始する。すなわち、監視部101は、転送されるパケットの送信時刻を記憶する。具体的には、監視部101は、管理情報110にサーバ51のIPv6アドレスが含まれるので、このパケットの送信時刻、および、このパケットに対する応答を識別する情報を、記憶装置5などに一時的に記憶する。なお、パケットの宛先が管理情報110に含まれない場合は、監視部101は何もせずに、単にパケットを転送する。
【0128】
サーバ51は、中継装置100を介して、端末40が送信したIPv6パケットを受信すると、IPv6パケットによって応答を返信する(ステップS205)。中継装置100は、サーバ51から受信した応答を含むIPv6パケットを、端末40に対して転送する。
【0129】
監視部101は、ステップS204で一時的に記憶したサーバ51に対するパケットの送信の記録に基づいて、転送されるパケットをチェックする。ステップS204において一時的に送信時刻を記憶したパケットに対する応答を受信した場合、通信に掛かる時間(応答時間)を求める。具体的には、監視部101は、サーバ51からの応答の受信時刻と、ステップS204で記憶したサーバ51に対するパケットの送信時刻との差から応答時間を求め、その応答時間を管理情報110に記録する。すなわち、監視部101は、サーバ51のIPv6アドレス「Y::Y」が格納された「宛先」欄に対応する「測定結果」欄に、求めた応答時間を表す情報(例えば、「15」)を格納する。本実施形態は、一例として、応答時間の単位を秒とする。
【0130】
次に、端末40は、中継装置100を介して、サーバ51に対してIPv4によってアクセスする(ステップS206)。中継装置100は、端末40から受信したIPv4パケットを、サーバ51に対して転送する。このとき、監視部101は、サーバ51に対するIPv4アドレス宛てのパケットの送信時刻を記憶装置5などに一時的に記憶する。
【0131】
サーバ51は、中継装置100を介して、端末40が送信したIPv4パケットを受信すると、IPv4パケットによって応答を返信する(ステップS207)。中継装置100は、サーバ51から受信した応答を含むIPv4パケットを、端末40に対して転送する。このとき、監視部101は、ステップS205と同様に、サーバ51に対するIPv4アクセスの応答時間を求め、求めた応答時間を表す情報(例えば、「3」)を管理情報110に記録する。この結果は、
図8に示す通りである。
【0132】
ここで、監視部101は、同じドメイン名に対して、複数の通信方式に関する応答時間の測定結果が揃った場合、それらの応答時間(測定結果)を比較する。そして、監視部101は、比較結果に基づいて、いずれかの通信方式によるアクセスを停止させるかどうかを決定する。そして、監視部101は、プロキシDNS応答部102に対して、アクセスを停止させる通信方式に対応するアドレスに関するキャッシュ情報111の更新を指示する。具体的には、監視部101は、サーバ51のIPv6アドレスに対応する測定結果「15」の方が、IPv4アドレスに対応する測定結果「3」より悪い(遅い)ので、IPv6によるアクセスを停止させることを決定する。そして、監視部101は、プロキシDNS応答部102に対して、サーバ51の名前(「abc.efg」)およびレコードタイプ(「AAAA」)、または、サーバ51のIPv6アドレス(「Y::Y」)などを含む更新指示を出力する。なお、監視部101が、応答時間の比較結果に基づいてアクセス停止を決定する方法は、上記の方法に限定しない。
【0133】
プロキシDNS応答部102は、監視部101からのキャッシュ更新指示に基づいて、キャッシュ情報111を更新する。具体的には、プロキシDNS部102は、キャッシュ情報111におけるサーバ51に対する「AAAA」レコード(IPv6アドレス「Y::Y」)に関する情報を、ネガティブキャッシュに変更する。このとき、プロキシDNS部102は、キャッシュ情報111におけるサーバ51に対する「A」レコード(IPv4アドレス「X.X.X.X」)に関する情報は何も変更しない。
【0134】
次に、端末40が、再びサーバ51の名前に対する同様のDNS問合せを送信した場合の動作を、引き続き
図7を参照して、以下に説明する。なお、端末40以外の端末が、サーバ51に対するDNS問合せを送信した場合においても、同様の動作となる。
【0135】
端末40は、再度サーバ51の名前に対する「A」レコードを要求するDNS問合せと、「AAAA」レコードを要求するDNS問合せとを順次送信する(ステップS208)。
【0136】
中継装置100においては、ステップS201と同様に、受信したDNS問合せをプロキシDNS部102が受け取る。
【0137】
プロキシDNS部102は、キャッシュ情報111にサーバ51の「A」および「AAAA」レコードに関する情報が存在するので、今回は、キャッシュ情報111に基づいて、自ら端末40に対して応答する。すなわち、プロキシDNS部102は、DNSサーバ61に問い合わせない。具体的には、プロキシDNS部102は、サーバ51の名前に対する「A」レコードを要求するDNS問合せに対しては、キャッシュ情報111に登録された「A」レコード(IPv4アドレス「X.X.X.X」)を含むDNS応答を、端末40に対して送信する。一方、プロキシDNS部102は、サーバ51の名前に対する「AAAA」レコードを要求するDNS問合せに対しては、キャッシュ情報111にネガティブキャッシュが登録されているので、サーバ51に対する「AAAA」レコードは存在しないことを表すDNS応答を返す(ステップS209)。端末40は、これらのDNS応答を受信することにより、今回は、サーバ51のIPv4アドレス「X.X.X.X」のみを取得する。
【0138】
したがって、端末40は、サーバ51に対して、IPv4アクセスのみを行う(ステップS210)。端末40は、応答時間の速いIPv4によってサーバ51からの応答を受け取る(ステップS211)。このようにして、端末40は、複数の通信方式によるアクセスを試行することなく、実際のネットワーク環境において応答時間の速いIPv4通信方式によって通信することが可能となる。
【0139】
以上、説明したように本実施形態には、上述した第2の実施形態および変形例と同様の効果に加えて、さらに、端末において最適な通信方式を選択する仕掛けを必要とせずに、端末が、最適な通信方式によってアクセスすることが可能となるという効果がある。
【0140】
その理由は、プロキシDNS部102が、応答が遅い通信方式に対応するアドレスに関するネガティブキャッシュを、キャッシュ情報111に登録するからである。そして、端末40からのDNS問合せに対して、プロキシDNS部102が、ネガティブキャッシュに基づいて、応答が遅い通信方式に対応するアドレスを、端末に提供することを止めるからである。これにより、端末40は、応答が速い通信方式に対応するアドレスだけを取得できるので、端末40自身が、応答が速い通信方式を選別する必要がないからである。
【0141】
なお、ステップS200において、サーバ51のIPv4アドレスを要求するDNS問合せを発信した端末と、IPv6アドレスを要求するDNS問合せを発信した端末とが、異なっていてもよい。また、それらのDNS問合せの発信間隔が、空いていてもよい。また、IPv4アドレスを応答するDNSサーバと、IPv6アドレスを応答するDNSサーバとが、異なっていてもよい。
【0142】
また、ステップS204からステップS206において、監視部101が行う応答時間の測定は、異なる端末から発信された通信同士に対して行ってもよい。例えば、監視部101が行う測定は、端末40が行うサーバ51に対するIPv4アクセスと、端末40以外の端末が行うサーバ51に対するIPv6アクセスとを対象にしてもよい。
【0143】
また、監視部101は、管理情報110に含まれる各情報に対して、有効期間を設けてもよい。例えば、監視部101は、管理情報110の測定結果を記録する際に、その測定結果が有効である期限を表す時刻情報を付加して、管理情報110に含めてもよい。そして、監視部101は、有効期間を経過した測定結果を、管理情報110から削除するなどの方法により、無効化してもよい。
【0144】
なお、上述した各実施形態において
図1乃至
図3、
図5、および
図6に示した各部は、それぞれ独立したハードウェア回路で構成されていてもよいし、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捕らえることができる。ただし、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。このような場合のハードウェア環境の一例を
図10を参照して説明する。
図10は、本発明の各実施形態、および、その変形例に係るネットワークシステムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。すなわち、
図10は、上述した各実施形態における中継装置1、10および100、端末40、サーバ50および51、DNSサーバ60および61、およびルータ70の少なくとも何れかを実現可能なコンピュータの構成であって、上述した各実施形態における各機能を実現可能なハードウェア環境を示す。
【0145】
図10に示したコンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903、通信インタフェース(I/F)904、ディスプレイ905、及びハードディスク装置(HDD)906を備え、これらがバス907を介して接続された構成を有する。なお、
図10に示したコンピュータが中継装置1、10および100、端末40、サーバ50および51、DNSサーバ60および61、またはルータ70として機能する場合、ディスプレイ905は常時設けられる必要はない。また、通信インタフェース904は、上述した各実施形態において、当該各コンピュータ間における通信を実現する一般的な通信手段である。ハードディスク装置906には、プログラム群906Aと、各種の記憶情報906Bとが格納されている。プログラム群906Aは、例えば、上述した
図1、
図3および
図6に示した各ブロック(各部)に対応する機能を実現するためのコンピュータ・プログラムである。各種の記憶情報906Bは、例えば、
図1、
図3および
図6に示したアクセス可否情報6、管理情報110、およびキャッシュ情報111などである。このようなハードウェア構成において、CPU901は、コンピュータ900の全体の動作を司る。
【0146】
そして、上述した各実施形態を例に説明した本発明は、各実施形態の説明において参照したブロック構成図(
図1、
図3および
図6)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのCPU901に読み出して実行することによって達成される。また、このコンピュータ内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリ903またはハードディスク装置906などの不揮発性の記憶デバイス(記憶媒体)に格納すれば良い。
【0147】
また、前記の場合において、当該各装置内へのコンピュータ・プログラムの供給方法は、フロッピーディスク(登録商標)やCD−ROM等の各種記録媒体を介して当該装置内にインストールする方法や、インターネット等の通信ネットワーク1500を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
【0148】
なお、上述した実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下の付記に限定されるものではない。
【0149】
(付記1)
複数の通信方式によって行われる、第1のネットワークに対する通信を制御する第1の通信制御手段と、
複数の通信方式によって行われる、第2のネットワークに対する通信を制御する第2の通信制御手段と、
前記第1の通信制御手段を介して、前記第1のネットワークから第1のパケットを受信し、前記第2のネットワークを経由してアクセスが可能または不能である宛先を表す情報を含むアクセス可否情報に基づいて、前記第1のパケットの宛先がアクセス可能であるかどうかを判定し、
前記第1のパケットの宛先がアクセス可能な宛先である場合に、前記第1のパケットを、前記第2の通信制御手段を介して第2のネットワークへ中継し、
前記第1のパケットの宛先がアクセス不能な宛先である場合に、前記第1のパケット送信した通信方式とは異なる通信方式で通信することを促す通知パケットを、前記第1の通信制御手段を介して、前記第1のパケットの送信元に対して送信する中継制御手段と
を備える中継装置。
【0150】
(付記2)
前記アクセス可否情報は、さらに前記第1のネットワークを経由してアクセスが可能または不能である宛先を表す情報を含み、
前記中継制御手段は、さらに前記第2の通信制御手段を介して第2のパケットを受信し、前記アクセス可否情報に基づいて、前記第2のパケットの宛先がアクセス可能であるかどうかを判定し、
前記第2のパケットの宛先がアクセス可能な宛先である場合に、前記第2のパケットを、前記第1の通信制御手段を介して前記第1のネットワークへ中継し、
前記第2のパケットの宛先がアクセス不能な宛先である場合に、前記第2のパケットとは異なる通信方式で通信することを促す通知パケットを、前記第2の通信制御手段を介して、前記第2のパケットの送信元に送信する
付記1記載の中継装置。
【0151】
(付記3)
前記複数の通信方式は、IPv4プロトコルとIPv6プロトコルとを含む、
付記1または2記載の中継装置。
【0152】
(付記4)
前記第1の通信制御手段、前記中継制御手段、および前記第2の通信制御手段を接続する経路のいずれかの位置において、前記中継制御手段が中継する中継パケットを監視し、前記監視の結果に基づいて、前記アクセス可否情報を生成する監視手段をさらに備える
付記1乃至3のいずれかに記載の中継装置。
【0153】
(付記5)
前記監視手段は、前記中継パケットの監視において、前記中継パケットに含まれる応答に基づいてアクセスの失敗を検知した場合、前記応答の送信元アドレスに基づいて生成したアクセス不能の情報によって前記アクセス可否情報を更新する
付記4記載の中継装置。
【0154】
(付記6)
前記監視手段は、前記アクセス可否情報を生成する際に、前記中継パケットに含まれるアクセス要求を転送してから、前記アクセス要求に対する応答を受信するまでの応答時間を前記通信方式ごとに測定し、同じ宛先に対する前記通信方式ごとの前記応答時間を比較し、応答時間が遅い方の通信方式に対するアクセス不能の情報によって前記アクセス可否情報を更新する
付記4または5記載の中継装置。
【0155】
(付記7)
前記アクセス可否情報に替えて、前記中継パケットに含まれるDNS問合せ、およびDNS応答に対してDNSプロキシ処理を行うDNSプロキシ手段を備え、
前記DNSプロキシ処理は、前記中継パケットに含まれるDNS応答に含まれる情報をキャッシュ情報として保持し、次に前記DNS応答が対象とするドメイン名と同じドメイン名に対する新たなDNS問合せを受信した場合に、前記キャッシュ情報に基づいて、自ら生成したDNS応答を問合せ元に対して返信する処理を含み、
前記監視手段は、前記アクセス可否情報を生成または更新する代わりに、前記DNSプロキシ手段に対して、前記キャッシュ情報の更新を指示し、
前記DNSプロキシ手段は、前記指示に基づいて、前記キャッシュ情報に含まれる、名前解決に失敗したドメイン名に関する情報をネガティブキャッシュに変更する
付記4乃至6のいずれかに記載の中継装置。
【0156】
(付記8)
第1のネットワークから第1のパケットを受信し、
第2のネットワークを経由してアクセスが可能または不能である宛先を表す情報を含むアクセス可否情報に基づいて、前記第1のパケットの宛先がアクセス可能であるかどうかを判定し、
前記第1のパケットの宛先がアクセス可能な宛先である場合に、前記第1のパケットを、前記第2のネットワークへ中継し、
前記第1のパケットの宛先がアクセス不能な宛先である場合に、前記第1のパケット送信した通信方式とは異なる通信方式で通信することを促す通知パケットを、前記第1のパケットの送信元に対して送信する
中継方法。
【0157】
(付記9)
前記アクセス可否情報は、さらに前記第1のネットワークを経由してアクセスが可能または不能である宛先を表す情報を含み、
前記第2のネットワークから第2のパケットを受信し、
前記アクセス可否情報に基づいて、前記第2のパケットの宛先がアクセス可能であるかどうかを判定し、
前記第2のパケットの宛先がアクセス可能な宛先である場合に、前記第2のパケットを、前記第1のネットワークへ中継し、
前記第2のパケットの宛先がアクセス不能な宛先である場合に、前記第2のパケットとは異なる通信方式で通信することを促す通知パケットを、前記第2のパケットの送信元に対して送信する
付記8記載の中継方法。
【0158】
(付記10)
前記複数の通信方式は、IPv4プロトコルとIPv6プロトコルとを含む、
付記8または9記載の中継方法。
【0159】
(付記11)
前記第1のネットワーク、または前記第2のネットワークから受信するパケットである中継パケットを受信した後に、さらに、前記中継パケットを監視する監視処理を行い、
前記監視処理の結果に基づいて、前記アクセス可否情報を生成する
付記8乃至10のいずれかに記載の中継方法。
【0160】
(付記12)
前記監視処理において、前記中継パケットに含まれる応答に基づいてアクセスの失敗を検知した場合、
前記応答の送信元アドレスに基づいて生成したアクセス不能の情報によって前記アクセス可否情報を更新する
付記11記載の中継方法。
【0161】
(付記13)
前記監視処理において、前記中継パケットに含まれるアクセス要求を転送してから、前記アクセス要求に対する応答を受信するまでの応答時間を前記通信方式ごとに測定し、
同じ宛先に対する前記通信方式ごとの前記応答時間を比較し、
応答時間が遅い方の通信方式に対するアクセス不能の情報によって前記アクセス可否情報を更新する
付記11または12記載の中継方法。
【0162】
(付記14)
前記中継パケットを受信した際、前記中継パケットにDNS応答が含まれる場合に、前記DNS応答に含まれる情報をキャッシュ情報として保持し、
次に前記DNS応答が対象とするドメイン名と同じドメイン名に対する新たなDNS問合せを受信した場合に、前記キャッシュ情報に基づいて、自ら生成したDNS応答を問合せ元に対して返信するDNSプロキシ処理を実行し、
前記監視処理において、前記アクセス可否情報を生成または更新する替わりに、前記キャッシュ情報に含まれる、名前解決に失敗したドメイン名に関する情報をネガティブキャッシュに変更する
付記11乃至13のいずれかに記載の中継方法。
【0163】
(付記15)
第1のネットワークから第1のパケットを受信する第1の受信処理と、
第2のネットワークを経由してアクセスが可能または不能である宛先を表す情報を含むアクセス可否情報に基づいて、前記第1のパケットの宛先がアクセス可能であるかどうかを判定する第1の判定処理と、
前記第1のパケットの宛先がアクセス可能な宛先である場合に、前記第1のパケットを、前記第2のネットワークへ中継する第1の中継処理と、
前記第1のパケットの宛先がアクセス不能な宛先である場合に、前記第1のパケット送信した通信方式とは異なる通信方式で通信することを促す通知パケットを、前記第1のパケットの送信元に対して送信する第1の通知処理とをコンピュータに実行させる
コンピュータ・プログラム。
【0164】
(付記16)
前記アクセス可否情報は、さらに前記第1のネットワークを経由してアクセスが可能または不能である宛先を表す情報を含み、
前記第2のネットワークから第2のパケットを受信する第2の受信処理と、
前記アクセス可否情報に基づいて、前記第2のパケットの宛先がアクセス可能であるかどうかを判定する第2の判定処理と、
前記第2のパケットの宛先がアクセス可能な宛先である場合に、前記第2のパケットを、前記第1のネットワークへ中継する第2の中継処理と、
前記第2のパケットの宛先がアクセス不能な宛先である場合に、前記第2のパケットとは異なる通信方式で通信することを促す通知パケットを、前記第2のパケットの送信元に対して送信する第2の通知処理とをコンピュータに実行させる
付記15記載のコンピュータ・プログラム。
【0165】
(付記17)
前記複数の通信方式は、IPv4プロトコルとIPv6プロトコルとを含む、
付記15または16記載のコンピュータ・プログラム。
【0166】
(付記18)
前記第1の受信処理または前記第2の受信処理の後に、前記第1の受信処理、または前記第2の受信処理によって受信したパケットである中継パケットを監視する監視処理と、
前記監視処理の結果に基づいて、前記アクセス可否情報を生成する生成処理とを、さらにコンピュータに実行させる
付記15乃至17のいずれかに記載のコンピュータ・プログラム。
【0167】
(付記19)
前記監視処理において、前記中継パケットに含まれる応答に基づいてアクセスの失敗を検知した場合、
前記生成処理において、前記応答の送信元アドレスに基づいて生成したアクセス不能の情報によって前記アクセス可否情報を更新する
付記18記載のコンピュータ・プログラム。
【0168】
(付記20)
前記監視処理において、前記中継パケットに含まれるアクセス要求を転送してから、前記アクセス要求に対する応答を受信するまでの応答時間を前記通信方式ごとに測定し、
同じ宛先に対する前記通信方式ごとの前記応答時間を比較し、
前記生成処理において、応答時間が遅い方の通信方式に対するアクセス不能の情報によって前記アクセス可否情報を更新する
付記18または19記載のコンピュータ・プログラム。
【0169】
(付記21)
前記中継パケットにDNS応答が含まれる場合、前記第1の受信処理または前記第2の受信処理の後に、
前記DNS応答に含まれる情報をキャッシュ情報として保持し、次に前記DNS応答が対象とするドメイン名と同じドメイン名に対する新たなDNS問合せを受信した場合に、前記キャッシュ情報に基づいて、自ら生成したDNS応答を問合せ元に対して返信するDNSプロキシ処理を実行し、
前記生成処理において、前記アクセス可否情報を生成または更新する替わりに、前記キャッシュ情報に含まれる、名前解決に失敗したドメイン名に関する情報をネガティブキャッシュに変更する
付記18乃至20のいずれかに記載のコンピュータ・プログラム。