(57)【特許請求の範囲】
【請求項１】
自身のＩＰｖ６パケットのプレフィックスにより当該ＩＰｖ６パケットの送信元装置がＩＰｖ６によるインターネットへの直接アクセスが可能か否かを判別し、
直接アクセスができない上記送信元装置からのＤＮＳクエリーをＤＮＳサーバへ転送したＤＮＳレスポンスとしてＩＰｖ４アドレス及びＩＰｖ６アドレスの両方が存在した場合に、ｖ６ｖ４組合テーブルに当該ＤＮＳクエリーに対応するＩＰｖ４アドレス及びＩＰｖ６アドレスを登録し、
ＬＡＮ側の端末からの上記ＤＮＳクエリーに対応するサーバへのＩＰｖ６アクセスを、上記ｖ６ｖ４組合テーブルの記録に従ってｖ６ｖ４ＮＡＰＴ変換を行って中継する中継装置。
【請求項２】
ＤＮＳクエリーで指定されたドメイン名とそれに対応するＩＰｖ４アドレス及びＩＰｖ６アドレスとを記録するｖ６ｖ４組合テーブルと、
ＬＡＮ側からＷＡＮ側へアクセスする際のｖ６ｖ４ＮＡＰＴ変換のためのアドレス及びポート番号を記録するｖ６ｖ４ＮＡＰＴテーブルと、
ｖ６ｖ４ＮＡＰＴ変換の判断と実行を行うｖ６ｖ４機能管理部と、
ＤＮＳプロキシとしてＤＮＳクエリー及びＤＮＳレスポンスを中継する際に上記ｖ６ｖ４組合テーブルへの登録を行う拡張ＤＮＳプロキシと、
を有し、
上記拡張ＤＮＳプロキシは、
ＬＡＮ側から受信したＤＮＳクエリーが指定するドメインを上記ｖ６ｖ４組合テーブルに登録する組合テーブル登録手段と、
当該ＤＮＳクエリーに対するＤＮＳレスポンスにＩＰｖ４及びＩＰｖ６の両方が存在する場合に、上記ｖ６ｖ４組合テーブル中の当該ＤＮＳクエリーのドメインについてのレコードに、当該ＤＮＳレスポンスのＩＰｖ４アドレス及びＩＰｖ６アドレスとの組合せを登録する組合テーブル追記手段と、
を有し、
上記ｖ６ｖ４機能管理部は、
中継装置自身に割り当てられたＩＰｖ６アドレスのプレフィックスにより上記中継装置自身がＩＰｖ６によるインターネットへの直接アクセスが可能か否かを判別し、不可能であればＬＡＮ側の端末からのＩＰｖ６アクセスについてｖ６ｖ４ＮＡＰＴ変換を有効にするよう設定変更する直接接続判断手段と、
ＩＰｖ６パケットをＬＡＮ側から受信した際に、当該ＩＰｖ６パケットの送信元ＭＡＣアドレスと送信先ＩＰｖ６アドレスとの組合せが、上記ｖ６ｖ４組合テーブルに登録されていれば、上記ｖ６ｖ４ＮＡＰＴテーブルにレコードを登録しつつｖ６ｖ４ＮＡＰＴ変換を行い対応するＷＡＮ側のＩＰｖ４アドレス宛にパケットを転送可能にする拡張ＮＡＰＴ手段と、
ＩＰｖ４パケットをＷＡＮ側から受信した際に、当該ＩＰｖ４パケットのアドレス及びポート番号が上記ｖ６ｖ４ＮＡＰＴテーブルに登録されていれば、上記ｖ６ｖ４ＮＡＰＴテーブルを用いてｖ６ｖ４ＮＡＰＴ変換の逆変換であるｖ４ｖ６ＮＡＰＴ変換を行って、対応するＬＡＮ側のＩＰｖ６アドレスの端末宛にパケットを転送可能にする拡張逆ＮＡＰＴ手段と
を有する、中継装置。
【請求項３】
上記ｖ６ｖ４機能管理部は、
上記端末からの設定によりｖ６ｖ４ＮＡＰＴ変換を行うか否かの設定を変更可能な実行是非登録手段を有し、
上記拡張ＤＮＳプロキシ及び上記ｖ６ｖ４機能管理部は、上記実行是非登録手段による設定に従って、機能の実行を行うか否かの判断を行う、
請求項２に記載の中継装置。
【請求項４】
ＬＡＮ側とＷＡＮ側にインターフェースを有する中継装置に、
ＤＮＳクエリーで指定されたドメイン名とそれに対応するＩＰｖ４アドレス及びＩＰｖ６アドレスとを記録するｖ６ｖ４組合テーブルと、
ＬＡＮ側からＷＡＮ側へアクセスする際のｖ６ｖ４ＮＡＰＴ変換のためのアドレス及びポート番号を記録するｖ６ｖ４ＮＡＰＴテーブルと、
ｖ６ｖ４ＮＡＰＴ変換の判断と実行を行うｖ６ｖ４機能管理部と、
ＤＮＳプロキシとしてＤＮＳクエリー及びＤＮＳレスポンスを中継する際に上記ｖ６ｖ４組合テーブルへの登録を行う拡張ＤＮＳプロキシと、
を設け、
上記拡張ＤＮＳプロキシは、
ＬＡＮ側から受信したＤＮＳクエリーが指定するドメインを上記ｖ６ｖ４組合テーブルに登録する組合テーブル登録手段と、
当該ＤＮＳクエリーに対するＤＮＳレスポンスにＩＰｖ４及びＩＰｖ６の両方が存在する場合に、上記ｖ６ｖ４組合テーブル中の当該ＤＮＳクエリーのドメインについてのレコードに、当該ＤＮＳレスポンスのＩＰｖ４アドレス及びＩＰｖ６アドレスとの組合せを登録する組合テーブル追記手段と、
を有し、
上記ｖ６ｖ４機能管理部は、
中継装置自身に割り当てられたＩＰｖ６アドレスのプレフィックスにより上記中継装置自身がＩＰｖ６によるインターネットへの直接アクセスが可能か否かを判別し、不可能であればＬＡＮ側の端末からのＩＰｖ６アクセスについてｖ６ｖ４ＮＡＰＴ変換を有効にするよう設定変更する直接接続判断手段と、
ＩＰｖ６パケットをＬＡＮ側から受信した際に、当該ＩＰｖ６パケットの送信元ＭＡＣアドレスと送信先ＩＰｖ６アドレスとの組合せが、上記ｖ６ｖ４組合テーブルに登録されていれば、上記ｖ６ｖ４ＮＡＰＴテーブルにレコードを登録しつつｖ６ｖ４ＮＡＰＴ変換を行い対応するＷＡＮ側のＩＰｖ４アドレス宛にパケットを転送可能にする拡張ＮＡＰＴ手段と、
ＩＰｖ４パケットをＷＡＮ側から受信した際に、当該ＩＰｖ４パケットのアドレス及びポート番号が上記ｖ６ｖ４ＮＡＰＴテーブルに登録されていれば、上記ｖ６ｖ４ＮＡＰＴテーブルを用いてｖ６ｖ４ＮＡＰＴ変換の逆変換であるｖ４ｖ６ＮＡＰＴ変換を行って、対応するＬＡＮ側のＩＰｖ６アドレスの端末宛にパケットを転送可能にする拡張逆ＮＡＰＴ手段と
を有する中継装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＩＰｖ４／ＩＰｖ６デュアルスタックに対応する端末の通信を中継する中継装置に関する。
【背景技術】
【０００２】
ＩＰｖ４／ＩＰｖ６デュアルスタック対応の装置同士が通信する場合、どちらかのトランスポートプロトコルを優先して使用することになり、基本的にはＩＰｖ６を優先して使用する。ＩＰｖ６を優先して接続する際に、ＩＰｖ６のアクセスが出来ない場合はＩＰｖ６アクセスを諦め、ＩＰｖ４アクセスに切り替える処理であるＩＰｖ６／ＩＰｖ４フォールバックが生じる。しかし、ＩＰｖ６でのレスポンスを待ってからＩＰｖ４に切り替える以上、この処理にはタイムラグが発生するため、ユーザ体感品質が劣化する。
【０００３】
一般家庭や小規模事業者などが通信事業者と契約する場合、割り振られるＩＰｖ６アドレスには、ＩＰｖ６で直接にインターネットへの接続ができる契約と、出来ない契約とが存在している。このＩＰｖ６でインターネットに直接接続出来ない契約である端末がインターネットのサーバへＩＰｖ６アドレスを指定して接続しようとする際に、上記のフォールバックが生じて体感速度が低下することになる。
【０００４】
この課題を解決する方法は既にいくつか提案されている。第一の方法としては、ＤＮＳサーバからＡレコード（ＩＰｖ４アドレス）とＡＡＡＡレコード（ＩＰｖ６アドレス）を受け取った、インターネットに直接ＩＰｖ６接続できない契約の端末（を中継するホームゲートウェイ）が、ＩＰｖ６アドレスを指定したパケットを送出した場合、閉域網内にあるＴＣＰリセッタがＴＣＰ−ＲＳＴを端末に送出することで、ＩＰｖ４に切り替えるまでの待ち時間を短縮することが提案されている。
【０００５】
第二の方法としては、プロバイダが各ユーザに提供するキャッシュＤＮＳサーバにＡＡＡＡフィルタを適用し、端末からのＤＮＳクエリーに対してＡレコード（ＩＰｖ４アドレス）のみを端末に通知することが提案されている。また、この方法の応用として、端末が用いるホームゲートウェイでＡＡＡＡフィルタを適用し、ＤＮＳサーバから戻ってきたＡＡＡＡレコードをホームゲートウェイでカットする手法が特許文献１に提案されている。
【０００６】
第三の方法としては、端末、またはそれを中継するホームゲートウェイが接続認証するＲＡＤＩＵＳサーバが、個々のユーザの契約に従って告知するＤＮＳサーバのアドレスを選択する方法が提案されている。すなわち、ＩＰｖ６によるインターネットへの直接アクセスが可能な契約であるユーザに対しては、ＡレコードとＡＡＡＡレコードの両方を通知可能なＤＮＳサーバのアドレスを通知し、直接アクセスができない契約であるユーザに対しては、Ａレコードのみを通知可能なＤＮＳサーバのアドレスを通知する。前者のユーザはＩＰｖ６でのアクセスが可能である一方、後者のユーザは最初からＩＰｖ４でのアクセスを行うため、フォールバックが発生しない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１０９８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、第一の方法では時間が短縮されるとはいえ、無駄な通信が発生することは避けられない。また、アプリケーションがフォールバックしない実装の場合は、ＩＰｖ６通信が失敗した時点で通信不可となってしまう。
【０００９】
第二の方法は、全てのユーザにＡＡＡＡフィルタを掛けるため、ＩＰｖ６接続が可能なユーザもＩＰｖ６サービスを利用できなくなってしまう。また、セキュリティ向上のためにＤＮＳＳＥＣを導入した場合には正常に動作しなくなるおそれがある。
【００１０】
第三の方法は、ＲＡＤＩＵＳサーバを変更しなければならなくなるため、影響が大きく、実現が困難であるという問題がある。
【００１１】
そこでこの発明は、ＩＰｖ６の直接接続が可能な契約である場合にはＩＰｖ６のみでアクセス出来るサーバへのアクセス可能な環境を維持しつつ、ＩＰｖ６／ＩＰｖ４フォールバックの待ち時間を出来るだけ発生させないようにすることを目的とする。
【課題を解決するための手段】
【００１２】
この発明は、自身のＩＰｖ６アドレスのプレフィックスによりＩＰｖ６によるインターネットへの直接アクセスが可能か否かを判別し、当該ＩＰｖ６アドレスがインターネットへの直接アクセスができない条件のものであった場合であって、
ＬＡＮ側の端末から受信したＤＮＳクエリーをＤＮＳサーバへ転送したＤＮＳレスポンスとしてＩＰｖ４アドレス及びＩＰｖ６アドレスの両方が存在した場合には、ｖ６ｖ４組合テーブルに当該ＤＮＳクエリーに対応するＩＰｖ４アドレス及びＩＰｖ６アドレスを登録し、
当該端末からの上記ＤＮＳクエリーに対応するサーバへのＩＰｖ６アクセスを、上記ｖ６ｖ４組合テーブルの記録に従ってｖ６ｖ４ＮＡＰＴ変換を行って中継する中継装置により上記の課題を解決したのである。
【００１３】
すなわち、ＩＰｖ６によるインターネットへの直接接続が可能な契約状態にあるか否かを判断して処理を行うため、同じ中継装置を用いても、直接接続が可能なユーザではレスポンスが低下することなくそのまま使用できる。また、必要とするテーブルは全通信についてではなく、ＩＰｖ４とＩＰｖ６との両方を通知された特定のサーバに対する特定の通信のみを変換するために必要な規模であればよいので、リソースの消費は少なくて済む。さらに、サーバではなく端末に近い末端部のホームゲートウェイなどに用いる中継装置でフォールバック問題をＮＡＰＴ変換で解決してしまうため、不要な通信が発生しない。
【００１４】
この発明にかかる中継装置の具体的構成としては、次のようなテーブルと機能部により実現できる。テーブルとしては、ＤＮＳクエリーで指定されたドメイン名とそれに対応するＩＰｖ４アドレス及びＩＰｖ６アドレスとを記録するｖ６ｖ４組合テーブルと、ＬＡＮ側からＷＡＮ側へアクセスする際のｖ６ｖ４ＮＡＰＴ変換のためのアドレス及びポート番号を記録するｖ６ｖ４ＮＡＰＴテーブルとを有する。
ソフトウェア又はハードウェアによる機能部としては、ｖ６ｖ４ＮＡＰＴ変換の判断と実行を行うｖ６ｖ４機能管理部と、上記ｖ６ｖ４組合テーブルへの登録を含むＤＮＳプロキシとしてＤＮＳクエリー及びＤＮＳレスポンスを中継する際に追加で機能する拡張ＤＮＳプロキシとを有する。
このうち、上記拡張ＤＮＳプロキシは、
ＬＡＮ側から受信したＤＮＳクエリーが指定するドメインを上記ｖ６ｖ４組合テーブルに登録する組合テーブル登録手段と、
当該ＤＮＳクエリーに対するＤＮＳレスポンスにＩＰｖ４及びＩＰｖ６の両方が存在する場合に、上記ｖ６ｖ４組合テーブル中の当該ＤＮＳクエリーのドメインについてのレコードに、当該ＤＮＳレスポンスのＩＰｖ４アドレス及びＩＰｖ６アドレスとの組合せを登録する組合テーブル追記手段を有する。
また、上記ｖ６ｖ４機能管理部は、
上記中継装置自身に割り当てられたＩＰｖ６アドレスのプレフィックスにより上記中継装置自身がＩＰｖ６によるインターネットへの直接アクセスが可能か否かを判別し、不可能であればＬＡＮ側の端末からのＩＰｖ６アクセスについてｖ６ｖ４ＮＡＰＴ機能を有効にするよう設定変更する直接接続判断手段と、
ＩＰｖ６パケットをＬＡＮ側から受信した際に、当該ＩＰｖ６パケットの送信元ＭＡＣアドレスと送信先ＩＰｖ６アドレスとの組合せが、上記ｖ６ｖ４組合テーブルに登録されていれば、上記ｖ６ｖ４ＮＡＰＴテーブルにレコードを登録しつつｖ６ｖ４ＮＡＰＴ変換を行い対応するＷＡＮ側のＩＰｖ４アドレス宛にパケットを転送可能にする拡張ＮＡＰＴ手段と、
ＩＰｖ４パケットをＷＡＮ側から受信した際に、当該ＩＰｖ４パケットのアドレス及びポート番号が上記ｖ６ｖ４ＮＡＰＴテーブルに登録されていれば、上記ｖ６ｖ４ＮＡＰＴテーブルを用いてｖ６ｖ４ＮＡＰＴ変換の逆変換であるｖ４ｖ６ＮＡＰＴ変換を行って、対応するＬＡＮ側のＩＰｖ６アドレスの端末宛にパケットを転送可能にする拡張逆ＮＡＰＴ手段と
を有する。
【００１５】
なお、拡張ＤＮＳプロキシ以外に、一般的なルータ機能の一部として実行される通常のＤＮＳプロキシとして、ＤＮＳクエリーをＤＮＳサーバへ転送するクエリー転送手段と、ＤＮＳレスポンスを対応するＤＮＳクエリーの送信元へ転送するレスポンス転送手段とを有する。
【００１６】
また、既存の中継装置に、上記のｖ６ｖ４組合テーブル、上記ｖ６ｖ４ＮＡＰＴテーブル、上記ｖ６ｖ４機能管理部、及び上記拡張ＤＮＳプロキシとして動作させるためのプログラムをインストールさせることでも、この発明を実施できる。
【発明の効果】
【００１７】
この発明にかかる中継装置により、ＲＡＤＩＵＳサーバの改修やＤＮＳサーバの新設を必要とせず、端末側の設定も必要とせずに、末端部に近い中継装置によってフォールバック問題を解決できる。
【図面の簡単な説明】
【００１８】
【図１】この発明にかかる中継装置の機能ブロックと周囲の端末及びサーバとの関係図
【図２】この発明にかかる中継装置の実施形態例における起動時の機能選択を示すフロー図
【図３】（ａ）この発明にかかる中継装置の実施形態例におけるＤＮＳクエリー受信時のフロー図、（ｂ）（ａ）のレスポンス受信時のフロー図
【図４】ｖ６ｖ４組合テーブルの例図
【図５】（ａ）この発明にかかる中継装置の実施形態例におけるＩＰｖ６パケット受信時のフロー図、（ｂ）（ａ）のレスポンス受信時のフロー図
【図６】ｖ６ｖ４ＮＡＰＴテーブルの例図
【図７】実施例における通信シーケンス図
【図８】（ａ）〜（ｄ）実施例における各テーブルの変遷図
【発明を実施するための形態】
【００１９】
以下、この発明について実施形態の例を挙げて説明する。
この発明にかかる中継装置１１の機能ブロック図と、これを利用する端末１２、サーバとの関係図をまとめて図１に示す。
【００２０】
中継装置１１はＬＡＮ１７側とＷＡＮ１８側の両方にネットワークインターフェースを有する中継装置である。具体的には、一般的なルータ機能２１などを有するホームゲートウェイのようなネットワーク中継専用の機器を本発明にかかる中継装置１１として十分に利用可能である。大規模サーバのような処理能力は必要としない。ただし、ＤＮＳサーバのＩＰアドレスを取得し、かつ、自身もＩＰアドレスを有して、中継するパケットのアドレス変換やポート変換を行うため、スイッチでは不十分である。
【００２１】
ＬＡＮ１７は一般家庭や小規模事業者のネットワークであり、複数の端末１２（１２ａ、１２ｂ、１２ｃ……）を有する。端末１２は中継装置１１を通じてＷＡＮ１８側のインターネット１９に存在するＤＮＳサーバ１３やｗｅｂサーバ１４ａ、１４ｂ、１４ｃにアクセスする。
【００２２】
ＷＡＮ１８は直接にインターネット１９に繋がっているのではなく、ＩＰｖ６による閉域網２０を介してインターネット１９に繋がっている。中継装置１１が払い出されるＩＰｖ６のアドレス次第で、ＩＰｖ６アドレスのままインターネット１９に接続できる場合と、閉域網２０までのアクセスに限定される場合とがある。後者の場合は、別手段としてインターネット１９へ直接接続可能なＩＰｖ４が利用されることが多い。
【００２３】
上記の通り中継装置１１は、一般的なルータ機能２１を有する。ＷＡＮ１８側のサーバからＩＰｖ４アドレス及びＩＰｖ６アドレスを付与され、配下の端末１２にＩＰｖ４アドレス及びＩＰｖ６アドレスを付与し、端末１２からのアクセスをＮＡＰＴ変換して中継する。さらに、ｖ６ｖ４機能管理部２２、拡張ＤＮＳプロキシ２３、ｖ６ｖ４組合テーブル２５、ｖ６ｖ４ＮＡＰＴテーブル２６を有する。
【００２４】
以下、それらの機能を順に説明する。中継装置１１の電源投入時点又は再起動時点からの機能選択を図２のフローにより説明する。
まず、中継装置１１は、ルータ機能２１によりＷＡＮ１８側のサーバからＩＰｖ６のアドレスを取得する（Ｓ１０１）。ｖ６ｖ４機能管理部２２は、その取得したＩＰｖ６アドレスが、インターネット１９への直接接続が可能なアドレスであるか否かを判断する直接接続判断手段１１１を実行する（Ｓ１０２）。この判断は、中継装置１１の記憶部２４に、ＩＰｖ６アドレスのプレフィックスについての条件を予め登録しておき、取得したＩＰｖ６アドレスのプレフィックスをその条件と対照させることで可能である。インターネット１９への直接接続が可能な契約であれば（Ｓ１０２−Ｙｅｓ）、本発明にかかる中継装置１１としての機能を実行する必要はないため、この発明で行う後述のｖ６ｖ４ＮＡＰＴ機能を全てＯＦＦにする機能停止手段１１３を実行する（Ｓ１０５）。直接接続ができない契約であれば（Ｓ１０２−Ｎｏ）、この発明により実行するｖ６ｖ４ＮＡＰＴ機能の意義がある。
【００２５】
ただし、ｖ６ｖ４の変換機能は接続形態の変更を伴うため、無条件に適用すると端末１２を利用するユーザの意志に反することもありうる。このため、ｖ６ｖ４機能管理部２２は、上記のｖ６ｖ４ＮＡＰＴ機能の実行を許可する設定であるか否かを判断する設定判断手段１１２を実行する（Ｓ１０３）と望ましい。なお後述するフローでも同様の判断を行うことを前提に説明するが、この判断は必須ではなく、中継装置１１の設置と実行をもって許可を得て、自動実行する設定でもよい。なお、図示しないが、ルータ機能２１により実現される中継装置１１の端末１２に対するｗｅｂサーバ機能により、端末１２側からのアクセスによってそれらの設定は変更する実行是非登録手段１１０を実行できる。許可しない設定であれば（Ｓ１０３−Ｎｏ）、この発明で行う後述のｖ６ｖ４ＮＡＰＴ機能を全てＯＦＦにする機能停止手段１１３を実行する（Ｓ１０５）。許可する設定であれば（Ｓ１０３−Ｙｅｓ）、この発明により実行するｖ６ｖ４ＮＡＰＴ機能をＯＮにする機能稼働手段１１４を実行する（Ｓ１０４）。
【００２６】
上記の判断によりｖ６ｖ４ＮＡＰＴ機能がＯＮになった場合、ｖ６ｖ４機能管理部２２が行う次の処理の前に、拡張ＤＮＳプロキシ２３が行う処理を図３（ａ）（ｂ）により説明する。
【００２７】
まず、通常のＤＮＳプロキシの動作として端末１２からＤＮＳクエリーを受信した（Ｓ１１１）ときの動作を図３（ａ）のフローにより説明する。受信したら、拡張ＤＮＳプロキシ２３は必要に応じて、上記のｖ６ｖ４ＮＡＰＴ機能の実行を許可する設定であるか否かを判断する設定判断手段１２１を実行する。上記のｖ６ｖ４ＮＡＰＴ機能の実行を許可する設定でなければ（Ｓ１１２−Ｎｏ）、そのまま通常のＤＮＳプロキシの実行に移る（Ｓ１１４）。実行を許可する設定であれば（Ｓ１１２−Ｙｅｓ）、ｖ６ｖ４組合テーブル２５に、当該ＤＮＳクエリーの送信元ＭＡＣアドレスである端末１２のＭＡＣアドレスと、ＤＮＳクエリーが指定するドメイン名からなるレコードを登録するとともに、テーブルからレコードを消去するためのタイマーを設定する組合テーブル登録手段１２２を実行する（Ｓ１１３）。
【００２８】
このｖ６ｖ４組合テーブル２５の例を図４に示す。「ＭＡＣ」はＭＡＣアドレスであり、「ＤＮＳクエリ」はクエリーが解決しようとするドメイン名であり、「ＩＰｖ６」はクエリーに対するＤＮＳサーバ１３のレスポンスであるＩＰｖ６アドレス、「ＩＰｖ４」はクエリーに対するＤＮＳサーバ１３のレスポンスであるＩＰｖ４アドレス、「タイマ」はテーブルの肥大化を避けるために一定時間経過でレコードを削除するための制限時間である。これらのうち、ＭＡＣアドレスはそれぞれの端末１２（１２ａ、１２ｂ、１２ｃ……）を一意に特定するためのものであるため必須ではなく、代わりに端末１２（１２ａ、１２ｂ、１２ｃ……）のＩＰアドレスを登録する形態であってもよい。また、端末１２のＭＡＣアドレスやＩＰアドレスをレコードに含めずに、すなわち、端末１２を個々に識別せずに、それぞれの端末１２ａ，１２ｂ，１２ｃ・・・の間でレコードを共有する形態での実施も可能である。ただし、ＤＮＳサーバ１３は、負荷分散のためにＤＮＳレスポンスで指示するアドレスをリクエストごとに変える場合がある。この負荷分散に追随しようとすると、端末１２（１２ａ、１２ｂ、１２ｃ……）を個々に識別できるようにしておかなければならず、ＭＡＣアドレスやＩＰアドレスを記録して端末１２（１２ａ、１２ｂ、１２ｃ……）毎にレコードを分けることでこれに対応可能となる。
【００２９】
また上記のｖ６ｖ４組合テーブル２５の項目のうち、タイマーも必須ではなく、またこの形態である必要もない。例えば、レコード数が閾値を越える毎に古いものから削除していくことでも肥大化を抑制することができる。また、図４におけるタイマーは一秒ごとにデクリメントされていく方式であるが、開始時刻に応じたタイムアウトして削除する時刻を記録する方式でもよい。なおＳ１１３において同一のレコードがある場合には、タイマーの設定を上書きして、デクリメントするタイマーのカウントを初期値にしたり、タイムアウトして削除する時刻を新たな時刻からの時間に変更したりする。このように同一のレコードが存在して上書きするケースとしては、ＤＮＳローカルキャッシュがＯＦＦに設定されている端末１２でクリックの連打などにより、同じ端末１２から立て続けにＤＮＳクエリーが送信される場合が考えられる。また、端末１２毎のＭＡＣアドレスを区別しない場合は、同じドメインへのクエリーが複数の端末１２ａ，１２ｂ，１２ｃ……により連続すると上記のケースに該当しうる。
【００３０】
ただし、上記のｖ６ｖ４組合テーブル２５は、Ｓ１１３の段階ではＩＰｖ４及びＩＰｖ６の欄は空欄である。その上で、拡張ＤＮＳプロキシ２３から通常のルータ機能２１であるＤＮＳプロキシの実行に移る（Ｓ１１４）。
【００３１】
ここでのＤＮＳプロキシの動作は、端末１２から受信したＤＮＳクエリーを、ＲＡＤＩＵＳサーバ１５などで指定されたＤＮＳサーバ１３に転送するクエリー転送手段１０１が実行される。その後、ＤＮＳサーバ１３から返答されて来たＤＮＳレスポンスを当該端末１２宛に中継するレスポンス転送手段１０２が実行されるが、その実行の前に、拡張ＤＮＳプロキシ２３が行う処理を図３（ｂ）のフローとともに説明する。
【００３２】
ルータ機能２１がＤＮＳレスポンスを受信すると（Ｓ１２１）、拡張ＤＮＳプロキシ２３は、必要に応じて、上記のｖ６ｖ４ＮＡＰＴ機能の実行を許可する設定であるか否かを判断する設定判断手段１２１を実行する（Ｓ１２２）。これはＤＮＳクエリーに対するＳ１１１の処理と同じである。上記のｖ６ｖ４ＮＡＰＴ機能の実行を許可する設定でなければ（Ｓ１２２−Ｎｏ）、そのまま通常のＤＮＳプロキシの実行に移る（Ｓ１２６）。実行を許可する設定であれば（Ｓ１２２−Ｙｅｓ）、受け取ったＤＮＳレスポンスの中身を解析するレスポンス解析手段１２３を実行する（Ｓ１２３）。このとき、ＤＮＳレスポンスに含まれるのが、Ａレコード（ＩＰｖ４）のみ、又はＡＡＡＡレコード（ＩＰｖ６）のみであると（Ｓ１２３−Ｎｏ）、ＤＮＳレスポンスに対応するＤＮＳクエリーを中継したＳ１１３においてｖ６ｖ４組合テーブル２５に登録した、該当するレコードを削除する組合テーブル削除手段１２４を実行する（Ｓ１２５）。これは、ＩＰｖ４のみ、又はＩＰｖ６のみしか通知されない場合は、後述する逆変換であるｖ４ｖ６ＮＡＰＴ変換を行うことがそもそもできないからである。Ａレコード（ＩＰｖ４アドレス）のみを通知された場合は、そのまま通常のＤＮＳプロキシを実行して（Ｓ１２６）、端末１２にＩＰｖ４アドレスが渡されることで、端末１２は該当するｗｅｂサーバ１４にＩＰｖ４によりアクセスできる。ＡＡＡＡレコード（ＩＰｖ６アドレス）のみを通知された場合も同様に通常のＤＮＳプロキシが実行される（Ｓ１２６）が、中継装置１１が所持するＩＰｖ６アドレスではインターネット１９への直接接続ができないため、端末１２からのアクセスを可能にするには別の手段を設定する必要がある。
【００３３】
一方、ＤＮＳレスポンスにＡレコードとＡＡＡＡレコードの両方が含まれていれば（Ｓ１２３−Ｙｅｓ）、この後の応答でｖ６ｖ４ＮＡＰＴ変換を行う意義がある。そこで、ｖ６ｖ４組合テーブル２５の、当該ＤＮＳレスポンスに対応するＤＮＳクエリーで登録されたレコードについて、空欄であったＩＰｖ４アドレス、ＩＰｖ６アドレスに、ＤＮＳレスポンスに含まれる情報を上書きして登録する組合テーブル追記手段１２５を実行する（Ｓ１２４）。その上で、ＡレコードとＡＡＡＡレコードの両方を含めたＤＮＳレスポンスを、通常のＤＮＳプロキシとして端末１２に転送するレスポンス転送手段１０２を実行する（Ｓ１２６）。
【００３４】
上記のＤＮＳレスポンスによりＤＮＳの名前が解決された端末１２は、引き続いて当該ＩＰアドレスへのリクエストを送信する。このパケットがＩＰｖ４によるものであれば、中継装置１１のルータ機能２１は一般的なＮＡＰＴ変換を含んでもよい通常の動作により中継する（図示せず）。
【００３５】
この際のフローを、図５（ａ）を用いて説明する。中継装置１１がＬＡＮ側から受け取ったパケットがインターネット１９のＩＰｖ６アドレスを宛先として指定するものであれば（Ｓ１５１）、必要に応じて設定判断手段１１２を実行し（Ｓ１５２）、ｖ６ｖ４ＮＡＰＴ機能がＯＮになっていれば（Ｓ１５２−Ｙｅｓ）、当該パケットのＩＰｖ６アドレスに該当するレコードが、ｖ６ｖ４組合テーブル２５に存在するか否かを確認する組合レコード検索手段１３１を実行する。なお、ｖ６ｖ４組合テーブル２５がＭＡＣアドレスを含むものである場合は、受け取ったパケットの送信元アドレスに対応するＭＡＣアドレスを有するレコードの中で、ＩＰｖ６アドレスも一致するレコードを検索する。該当するレコードが存在しなければ、当該ＩＰｖ６パケットは変換すべきＩＰｖ４アドレスがわからないため、そのままＷＡＮ１８側に転送するパケット転送手段１３２が実行される（Ｓ１５５）。ただし、インターネット１９へ到達可能なその他の手段が無い限りはこのＩＰｖ６パケットはインターネット１９へ到達できないため、パケット転送手段１３２を実行する代わりに、ここでパケットを破棄するパケット破棄手段（図示せず）を実行してもよい。他の手段を利用可能な場合には、適当な設定を行い、ＩＰｖ６パケットのインターネット１９への転送を実施してもよい。
【００３６】
なお、Ｓ１５５でのＷＡＮ１８側への送信にあたって、ｖ６ｖ４ＮＡＰＴ変換を行った場合には、ルータ機能２１の通常のルータとしてのＮＡＰＴ変換を行う必要はない。
【００３７】
一方、当該ＩＰｖ６アドレスに対応するレコードがｖ６ｖ４組合テーブル２５に存在すれば（Ｓ１５３−Ｙｅｓ）、このＩＰｖ６パケットに対してＩＰｖ４へのｖ６ｖ４ＮＡＰＴ変換を行う拡張ＮＡＰＴ手段１３３を実行する（Ｓ１５４）。このｖ６ｖ４ＮＡＰＴ変換及びその返答に対する逆変換であるｖ４ｖ６ＮＡＰＴ変換にあたっては、変換の対応表であるｖ６ｖ４ＮＡＰＴテーブル２６への登録と読み込みを行って適切に処理する。このｖ６ｖ４ＮＡＰＴテーブル２６の例を図６に示す。「srcV6」は元のＩＰｖ６パケットの送信元である端末１２のＩＰｖ６アドレス、「srcPort」は元のＩＰｖ６パケットの送信元ポートである。「destV6」は元のＩＰｖ６パケットの送信先ＩＰｖ６アドレスであり、これが先のＤＮＳレスポンスで取得したアドレスである。「destPort」は元のIPｖ６パケットの送信先ポートであり、HTTPであれば基本的に８０番が用いられることが多い。「transV4」は、中継装置１１自身のＷＡＮ１８側のＩＰｖ４アドレスであり、図６のケースでは一種類である。ただし、契約によっては一の中継装置１１のＷＡＮ１８側に複数のＩＰｖ４アドレスが付与される場合があり、その場合にはどのアドレスが用いるレコードであるかをこの項目によって識別する。「transPort」はＮＡＰＴ変換後のＩＰｖ４パケットにおける送信元ポート番号であり、srcPortそのままでもよいし、他の端末１２との重複を避けるために必要に応じて任意に変更してもよい。なお、ＮＡＰＴ変換として、送信元アドレスは当然に中継装置１１のＷＡＮ１８側のＩＰアドレスとなる。タイマは、応答パケットが返ってこなかった際に、レコードを破棄するための時間であり、１秒ごとにデクリメントする。あるいはタイムアウトの時刻を登録し、時刻が到来したらレコードを破棄するようにしてもよい。
【００３８】
上記のｖ６ｖ４機能管理部２２が拡張ＮＡＰＴ手段１３３によりレコードをｖ６ｖ４ＮＡＰＴテーブル２６に登録しながらＩＰｖ６アドレスを用いたパケットからＩＰｖ４アドレスを用いたパケットへのｖ６ｖ４ＮＡＰＴ変換を行った後、ルータ機能２１はそのＩＰｖ４パケットをＷＡＮ１８側のｗｅｂサーバ１４へ送信するパケット送出手段１０３を実行する。
【００３９】
これに対するレスポンス受信時の処理を、図５（ｂ）を用いて説明する。上記のｗｅｂサーバ１４から、当該パケットによるレスポンスであるＩＰｖ４パケットがＷＡＮ１８側のインターフェースへ返ってきたら（Ｓ１６１）、必要に応じてｖ６ｖ４機能管理部は設定判断手段１１２を実行する（Ｓ１６２）。ｖ６ｖ４ＮＡＰＴ機能がＯＮであれば（Ｓ１６２−Ｙｅｓ）、ｖ６ｖ４ＮＡＰＴテーブル２６からパケットに該当するレコードを検索するＮＡＰＴレコード検索手段１３４を実行する（Ｓ１６３）。当該パケットの送信元ＩＰｖ４アドレス及び送信先ポート番号が、「transV4」及び「transPort」に対応するレコードがあるかを検索する。無ければ（Ｓ１６３−Ｎｏ）、当該ＩＰｖ４パケットは、中継装置１１でｖ６ｖ４ＮＡＰＴ変換されていないパケットへのレスポンスであると判断されるため、必要に応じてｖ４ｖ６ＮＡＰＴ変換ではなく通常のルータ機能２１としてのＮＡＰＴ逆変換を行って、元のパケットの送信元である端末１２宛に転送する（Ｓ１６５）。
【００４０】
一方、対応するレコードがあれば（Ｓ１６３−Ｙｅｓ）、当該レコードに従って、ＩＰｖ４パケットをＩＰｖ６パケットに逆変換するｖ４ｖ６ＮＡＰＴ変換を行う拡張逆ＮＡＰＴ手段１３５を実行する。すなわち、送信先ＩＰｖ６アドレスを該当レコードのsrcV6のアドレスに、送信先ポートをsrcPortのポート番号に変更したＩＰｖ６パケットとする。その上で、ルータ機能２１は、逆変換後のＩＰｖ６パケットを送信先アドレスである端末１２へ送出するパケット返送手段１０４を実行する（Ｓ１６５）。
【００４１】
以上の流れを、アドレス番号とテーブルのレコードの変遷を含む実施例により具体的に説明する。図７に通信シーケンス図を、図８（ａ）〜（ｄ）にｖ６ｖ４組合テーブル２５及びｖ６ｖ４ＮＡＰＴテーブル２６の状態変化図を示す。中継装置１１は、ＷＡＮ１８側にＩＰｖ４アドレスとして「200.200.200.200」を、ＩＰｖ６アドレスとして「200::200」を、ＭＡＣアドレスとして「MAC-H」を有する。また、ＬＡＮ１７側にＩＰｖ４アドレスとして「10.10.10.200」を、IPｖ６アドレスとして「10::200」を有する。端末１２ａは、ＬＡＮ１７内におけるアドレスとして10.10.10.10（ＩＰｖ４)と、10::10(ＩＰｖ６)を有する。また、ＭＡＣアドレスは「MAC-T」とする。ＤＮＳサーバ１３のＩＰｖ４アドレスは「100.100.100.100」、ＩＰｖ６アドレスは「100::100」であり、ドメイン名「x.com」であるｗｅｂサーバ１４ａのＩＰｖ４アドレスは「1.1.1.1」、ＩＰｖ６アドレスは「1::1」とする。
【００４２】
初期設定として、中継装置はｖ６ｖ４ＮＡＰＴ機能をＯＮにする機能稼働手段１１４が実行される（Ｓ２０１）。この時点におけるｖ６ｖ４組合テーブル２５及びｖ６ｖ４ＮＡＰＴテーブル２６は図８（ａ）のような空の初期値である。
【００４３】
その上で、端末１２ａが「x.com」へのアクセスを試みる（Ｓ２０２）。x.comの名前の解決をＩＰｖ４，ＩＰｖ６の両方について求めるＤＮＳクエリーを、ゲートウェイである中継装置１１へ向けて送信する（Ｓ２０３）。これを受信した中継装置１１は、拡張ＤＮＳプロキシ２３により組合テーブル登録手段１２２が実行されて、ｖ６ｖ４組合テーブル２５にこのＤＮＳクエリーの情報が図８（ｂ）のように書き込まれる（Ｓ２０４）。この時点ではＭＡＣアドレスとドメイン名のみであり、ＩＰｖ６アドレス及びＩＰｖ４アドレスは解決されていないので空欄である。中継装置１１のルータ機能２１はこのＤＮＳクエリーをＤＮＳサーバ１３へ転送するクエリー転送手段１０１を実行する（Ｓ２０５）。
【００４４】
ＤＮＳサーバ１３はx.comの名前を解決するＩＰｖ４アドレス及びＩＰｖ６アドレスの両方を含むＤＮＳレスポンスを中継装置１１に返送する（Ｓ２０６）。これを受け取った中継装置１１の拡張ＤＮＳプロキシ２３は組合テーブル追記手段１２５を実行して、ＩＰｖ４アドレス及びＩＰｖ６アドレスを、対応するレコードに追記する（Ｓ２０７）。この時点でのテーブルの状況を図８（ｃ）に示す。その上で、中継装置１１はＤＮＳレスポンスを端末１２ａに返送するレスポンス転送手段１０２を実行する（Ｓ２０８）。
【００４５】
これにより、名前の解決がされた端末１２ａは、優先設定となっているＩＰｖ６アドレスを用いて、x.comのＩＰｖ６アドレス宛にＨＴＴＰリクエストを送信する（Ｓ２１１）。これを受信した中継装置１１のｖ６ｖ４機能管理部２２は組合レコード検索手段１３１を実行し、該当するＩＰｖ６アドレス宛で送信元ＭＡＣアドレスが一致するレコードが存在するので、拡張ＮＡＰＴ手段１３３を実行して、ｖ６ｖ４ＮＡＰＴテーブル２６に対応関係を新たなレコードとして登録しつつ、パケットをＩＰｖ４に書き換える（Ｓ２１２）。この状態でのテーブルの状況を図８（ｄ）に示す。ｖ６ｖ４ＮＡＰＴテーブル２６に対応するレコードが追加されている。
【００４６】
その上で、ＩＰｖ４に書き換えられたパケットをｗｅｂサーバ１４ａに送信するパケット転送手段１３２が実行される（Ｓ２１３）。これに対する応答がｗｅｂサーバ１４ａから返ってくると（Ｓ２１４）、中継装置１１のｖ６ｖ４機能管理部２２はＮＡＰＴレコード検索手段１３４を実行して、当該パケットに該当するレコードを検索する。このとき、ｖ６ｖ４ＮＡＰＴテーブル２６だけでなく、ｖ６ｖ４組合テーブル２５も合わせて検索することで、送信元であるｗｅｂサーバ１４ａに該当するレコードを検索する。該当するレコードがあれば、これに従って、中継装置１１宛のＩＰｖ４パケットを、端末１２ａ宛のＩＰｖ６パケットに逆変換する拡張逆ＮＡＰＴ手段１３５を実行する（Ｓ２１５）。その上で、逆変換後のパケットが端末１２ａに返送される（Ｓ２１６）。
【００４７】
パケットの通過後、タイマーの満了を以て、これらのテーブルのレコードは削除される。
【符号の説明】
【００４８】
１１  中継装置
１２，１２ａ，１２ｂ，１２ｃ  端末
１３  ＤＮＳサーバ
１４，１４ａ，１４ｂ，１４ｃ  ｗｅｂサーバ
１５  ＲＡＤＩＵＳサーバ
１７  ＬＡＮ
１８  ＷＡＮ
１９  インターネット
２０  閉域網
２１  ルータ機能
２２  ｖ６ｖ４機能管理部
２３  拡張ＤＮＳプロキシ
２４  記憶部
２５  ｖ６ｖ４組合テーブル
２６  ｖ６ｖ４ＮＡＰＴテーブル
１０１  クエリー転送手段
１０２  レスポンス転送手段
１０３  パケット送出手段
１０４  パケット返送手段
１１０  実行是非登録手段
１１１  直接接続判断手段
１１２  設定判断手段
１１３  機能停止手段
１１４  機能稼働手段
１２１  設定判断手段
１２２  組合テーブル登録手段
１２３  レスポンス解析手段
１２４  組合テーブル削除手段
１２５  組合テーブル追記手段
１３１  組合レコード検索手段
１３２  パケット転送手段
１３３  拡張ＮＡＰＴ手段
１３４  ＮＡＰＴレコード検索手段
１３５  拡張逆ＮＡＰＴ手段
【図１】
0005889955.tif 000002
【図２】
0005889955.tif 000003
【図３】
0005889955.tif 000004
【図４】
0005889955.tif 000005
【図５】
0005889955.tif 000006
【図６】
0005889955.tif 000007
【図７】
0005889955.tif 000008
【図８】
0005889955.tif 000009