(57)【要約】【課題】宛先アドレスと転送先の関係を動的に設定することを容易に実現する。【解決手段】記憶部１１は、ネットワーク２から受信するパケットのうちネットワーク３へ転送を許可するパケットの条件を示すエントリを含み、エントリの宛先アドレスの条件として複数のアドレスを登録可能なアクセス制御リスト１１ａを記憶する。制御部１２は、ネットワーク２からのアドレス問い合わせ４を受けて、所定条件を満たす第１の形式のアドレス４ａに対応する第２の形式のアドレス５ａがアドレス解決を通じて取得されたとき、アクセス制御リスト１１ａに含まれるエントリの宛先アドレスの条件に第２の形式のアドレス５ａを追加する。制御部１２は、アクセス制御リスト１１ａを用いてネットワーク２から受信したパケットのルーティングを行う。【選択図】図１
2014030099.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークから受信するパケットのうち第２のネットワークへ転送を許可するパケットの条件を示すエントリを含み、前記エントリの宛先アドレスの条件として複数のアドレスを登録可能なアクセス制御リストを記憶する記憶部と、
前記第１のネットワークからのアドレス問い合わせを受けて、所定条件を満たす第１の形式のアドレスに対応する第２の形式のアドレスがアドレス解決を通じて取得されたとき、前記アクセス制御リストに含まれる前記エントリの宛先アドレスの条件に前記取得された第２の形式のアドレスを追加し、前記アクセス制御リストを用いて前記第１のネットワークから受信したパケットのルーティングを行う制御部と、
を有する通信装置。
【請求項２】
前記制御部は、前記ルーティングにおいて、前記エントリが示す複数の条件のうち宛先アドレス以外の条件をパケットが満たすか判定し、宛先アドレス以外の条件を満たすと判定したとき、前記エントリの宛先アドレスの条件に含まれる何れかの第２の形式のアドレスに当該パケットが適合するか判定する、請求項１記載の通信装置。
【請求項３】
前記制御部は、前記ルーティングにおいて、前記エントリに適合するパケットに対しては第３のネットワークを迂回して前記第２のネットワークに到達する経路を選択し、前記エントリに適合しないパケットの少なくとも一部に対しては前記第３のネットワークを経由する経路を選択する、請求項１記載の通信装置。
【請求項４】
前記制御部は、前記アドレス解決において、前記所定条件を満たす第１の形式のアドレスを示す情報を参照して、第２の形式のアドレスを前記エントリの宛先アドレスの条件に追加するか判定する、請求項１記載の通信装置。
【請求項５】
前記アクセス制御リストは、前記ルーティングに加えて、パケットのフィルタリングおよび帯域制御の少なくとも一方に用いられる、請求項１記載の通信装置。
【請求項６】
コンピュータに、
第１のネットワークからのアドレス問い合わせを受けて、所定条件を満たす第１の形式のアドレスに対応する第２の形式のアドレスがアドレス解決を通じて取得されたことを検出し、
前記第１のネットワークから受信するパケットのうち第２のネットワークへ転送を許可するパケットの条件を示すエントリを含み前記エントリの宛先アドレスの条件として複数のアドレスを登録可能なアクセス制御リストを操作して、前記エントリの宛先アドレスの条件に前記取得された第２の形式のアドレスを追加し、
前記アクセス制御リストを用いて前記第１のネットワークから受信したパケットのルーティングが行われるよう制御する、
処理を実行させるプログラム。
【請求項７】
通信装置が実行するルーティング方法であって、
第１のネットワークからのアドレス問い合わせを受けて、所定条件を満たす第１の形式のアドレスに対応する第２の形式のアドレスがアドレス解決を通じて取得されたことを検出し、
前記第１のネットワークから受信するパケットのうち第２のネットワークへ転送を許可するパケットの条件を示すエントリを含み前記エントリの宛先アドレスの条件として複数のアドレスを登録可能なアクセス制御リストを操作して、前記エントリの宛先アドレスの条件に前記取得された第２の形式のアドレスを追加し、
前記アクセス制御リストを用いて前記第１のネットワークから受信したパケットのルーティングを行う、
ルーティング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置、プログラムおよびルーティング方法に関する。
【背景技術】
【０００２】
パケットを伝送する複数のネットワークを接続する通信装置は、宛先アドレスに従ってパケットのルーティングを行う。例えば、ＬＡＮ（Local Area Network）とＷＡＮ（Wide Area Network）との間に位置しＩＰ（Internet Protocol）レイヤのプロトコル処理を行うルータは、宛先ＩＰアドレスに従ってＩＰパケットのルーティングを行う。
【０００３】
セキュリティの観点から、ルータなどの通信装置には、予め設定された条件に該当するパケット（または、予め設定された条件に該当しないパケット）を転送せずに破棄するフィルタ機能を備えるものがある。パケットのフィルタリングには、例えば、アクセス制御リスト（ＡＣＬ：Access Control List）が用いられる。アクセス制御リストは、送信元アドレスや宛先アドレスなどのパケット条件を指定したエントリを１つ以上含む。アクセス制御リストに複数のエントリが含まれる場合、例えば、識別番号の小さいエントリから順にパケットがそのエントリの条件に該当するか判断され、最初に該当すると判断されたエントリに従って転送を許可するか（permit）拒否するか（deny）が決定される。
【０００４】
なお、ある通信装置の同期ボタンと他の通信装置の同期ボタンとが同時期に押下されたとき、２つの通信装置が互いに相手の識別情報を受信してアクセス制御リストに追加する無線通信システムが提案されている。また、アクセス制御設定支援装置が、ルール情報とポリシー情報とに基づいて、複数の通信機器それぞれに対応するアクセス制御リストを生成しそれら通信機器に設定登録するシステムが提案されている。
【０００５】
また、ローカルネットワークの外部に位置するリモートデバイスからローカルネットワークへのアクセスを許可するか否かを、ユーザ識別子を登録したアクセス制御リストを用いて判断するシステムが提案されている。また、ユーザ端末にネットワークを介して接続するためのアクセス情報を参照して、ユーザ端末に格納されたＦＡＸ番号などを含む宛先情報リストにアクセスするネットワーク複合機が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−９９２４５号公報
【特許文献２】特開２００８−２１９４１９号公報
【特許文献３】国際公開第２００９／１１３９３１号
【特許文献４】特開２０１０−１８３４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ユーザは、上位レイヤのアドレス（例えば、ドメイン名を含むホスト名）によって特定されるサービスに応じて複数の通信経路を使い分けるように、予め通信装置を設定しておきたい場合がある。例えば、信頼できるドメインに関する通信はファイアウォールを迂回し、それ以外のドメインに関する通信はファイアウォールを経由するように、通信経路を切り替えたい場合がある。ただし、サービスの提供にキャッシュサーバが利用され得る場合など、所望のサービスに関してパケットのルーティングに用いられる下位レイヤのアドレス（例えば、ＩＰアドレス）を予め特定するのが難しいことがある。
【０００８】
その場合、通信装置が、ある上位レイヤのアドレスに対応する下位レイヤのアドレスを動的に取得し、取得した下位レイヤのアドレスを用いてパケットの転送先の設定を変更することが考えられる。しかし、このように取得したアドレスを用いて転送先の設定を動的に変更することを、通信装置においてどのように実現すればよいかが問題となる。
【０００９】
一側面では、本発明は、宛先アドレスと転送先の関係を動的に設定することが容易に実現できる通信装置、プログラムおよびルーティング方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
一側面では、記憶部と制御部とを有する通信装置が提供される。記憶部は、第１のネットワークから受信するパケットのうち第２のネットワークへ転送を許可するパケットの条件を示すエントリを含み、エントリの宛先アドレスの条件として複数のアドレスを登録可能なアクセス制御リストを記憶する。制御部は、第１のネットワークからのアドレス問い合わせを受けて、所定条件を満たす第１の形式のアドレスに対応する第２の形式のアドレスがアドレス解決を通じて取得されたとき、アクセス制御リストに含まれるエントリの宛先アドレスの条件に取得された第２の形式のアドレスを追加し、アクセス制御リストを用いて第１のネットワークから受信したパケットのルーティングを行う。
【００１１】
また、一側面では、通信装置が実行するルーティング方法が提供される。通信装置は、第１のネットワークからのアドレス問い合わせを受けて、所定条件を満たす第１の形式のアドレスに対応する第２の形式のアドレスがアドレス解決を通じて取得されたことを検出する。通信装置は、第１のネットワークから受信するパケットのうち第２のネットワークへ転送を許可するパケットの条件を示すエントリを含みエントリの宛先アドレスの条件として複数のアドレスを登録可能なアクセス制御リストを操作して、エントリの宛先アドレスの条件に取得された第２の形式のアドレスを追加する。通信装置は、アクセス制御リストを用いて第１のネットワークから受信したパケットのルーティングを行う。
【００１２】
また、一側面では、コンピュータに実行させるプログラムが提供される。
【発明の効果】
【００１３】
一側面では、宛先アドレスと転送先の関係を動的に設定することが容易に実現できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態の通信装置を示す図である。
【図２】第２の実施の形態の通信システムを示す図である。
【図３】ルータのハードウェア例を示すブロック図である。
【図４】第２の実施の形態のルータの機能例を示すブロック図である。
【図５】ＤＮＳパケットのフォーマット例を示す図である。
【図６】アクセス制御リストの例を示す図である。
【図７】アクセス制御リストを参照する設定情報の例を示す図である。
【図８】第２の実施の形態のＤＮＳ制御の手順例を示すフローチャートである。
【図９】第２の実施の形態のルーティングの手順例を示すフローチャートである。
【図１０】第２の実施の形態のＤＮＳ処理例を示す図である。
【図１１】第２の実施の形態のパケット転送例を示す図である。
【図１２】第２の実施の形態の通信シーケンス例を示す第１の図である。
【図１３】第２の実施の形態の通信シーケンス例を示す第２の図である。
【図１４】第３の実施の形態のルータの機能例を示すブロック図である。
【図１５】第３の実施の形態のＤＮＳ制御の手順例を示すフローチャートである。
【図１６】第３の実施の形態のＤＮＳ処理例を示す図である。
【図１７】第３の実施の形態の通信シーケンス例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の通信装置を示す図である。第１の実施の形態の通信装置１０は、少なくともネットワーク２，３に接続され、ネットワーク２から受信したパケットのルーティングを行う。通信装置１０は、例えば、レイヤ３（ＩＰレイヤなど）以下またはレイヤ４（ＴＣＰ（Transmission Control Protocol）レイヤやＵＤＰ（User Datagram Protocol）レイヤなど）以下のプロトコル処理を行うルータである。
【００１６】
ネットワーク２はＬＡＮでもよく、ネットワーク３はインターネットなどの広域ネットワークでもよい。その場合、通信装置１０は、例えば、ＬＡＮに属するクライアントコンピュータから広域ネットワークに属するサーバコンピュータへのアクセスを制御する。
【００１７】
通信装置１０は、記憶部１１および制御部１２を有する。
記憶部１１は、アクセス制御リスト１１ａを記憶する。記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、フラッシュメモリなどの不揮発性記憶装置でもよい。アクセス制御リスト１１ａは、パケットの条件を記載したエントリを１つ以上含む。パケットの条件は、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号など、ルーティングで参照可能な情報を用いて記載される。
【００１８】
ここで、アクセス制御リスト１１ａに含まれるあるエントリ（例えば、識別番号＝０が付与された先頭エントリ）は、ネットワーク２から受信するパケットのうちネットワーク３へ転送を許可するパケットの条件を示す。少なくともこのエントリに対しては、宛先アドレスの条件（例えば、宛先ＩＰアドレスの条件）として複数のアドレスを登録することができる。例えば、このエントリの宛先アドレスの項目には、アドレスを直接記載せずに他の行を参照すべき旨を示す文字（例えば、“ｄｙｎａｍｉｃ”）が記載され、他の行に複数のアドレスが列挙される。他の行に記載したアドレスの先頭には、例えば、エントリではない旨を示す文字（例えば、アンダーバー）を付加しておく。
【００１９】
制御部１２は、アクセス制御リスト１１ａを更新し、また、アクセス制御リスト１１ａを用いてパケットのルーティングを行う。制御部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサを含んでもよく、プロセッサに実行させるプログラムを記憶するメモリを含んでもよい。複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼んでもよい。また、制御部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）など、以下の機能の少なくとも一部を実現する専用の集積回路を含んでもよい。
【００２０】
制御部１２は、ネットワーク２から、第１の形式のアドレス４ａ（例えば、完全修飾ドメイン名（ＦＱＤＮ：Fully Qualified Domain Name））を含むアドレス問い合わせ４を受け付ける。アドレス問い合わせ４は、例えば、ネットワーク２に属するクライアントコンピュータによって送信される。すると、制御部１２は、第１の形式のアドレス４ａに対応する第２の形式のアドレス５ａ（例えば、ＩＰアドレス）を含むアドレス回答５を返信する。第１の形式のアドレス４ａに対応する第２の形式のアドレス５ａは、例えば、ＤＮＳ（Domain Name System）サーバに問い合わせることで知ることができる。
【００２１】
上記のアドレス解決の過程において、制御部１２は、第１の形式のアドレス４ａが所定条件を満たすか判断する。例えば、制御部１２は、第１の形式のアドレス４ａが、ユーザによって予め信頼できる通信相手として指定されたドメイン名を含むか判断する。第１の形式のアドレス４ａが所定条件を満たす場合、制御部１２は、アクセス制御リスト１１ａに含まれる上記エントリの宛先アドレス条件に、第１の形式のアドレス４ａに対応する第２の形式のアドレス５ａを追加する。これにより、第２の形式のアドレス５ａを宛先アドレスとするパケットは、上記エントリの宛先アドレスの条件を満たすこととなる。
【００２２】
そして、制御部１２は、上記のように更新されるアクセス制御リスト１１ａを用いて、ネットワーク２から受信したパケットのルーティングを行う。例えば、制御部１２は、受信したパケットが、上記エントリが示す複数の条件のうち宛先アドレス以外の条件（例えば、送信元アドレスの条件）を満たすか判断する。宛先アドレス以外の条件を満たすとき、制御部１２は、受信したパケットの宛先アドレス（第２の形式のアドレス）が、上記エントリの宛先アドレスの条件として列挙されたアドレス（第２の形式のアドレス）の何れかと一致するか判断する。宛先アドレスの条件も満たすと、制御部１２は、受信したパケットをネットワーク３へ転送することを許可する。
【００２３】
アクセス制御リスト１１ａに従ってネットワーク３への転送が許可されたパケットは、例えば、通信装置１０からネットワーク３に直接出力される。一方、アクセス制御リスト１１ａに従ってネットワーク３への転送が許可されなかったパケットは、少なくとも通信装置１０からネットワーク３には直接出力されず、例えば、ネットワーク２，３以外の他のネットワークに転送される。他のネットワークは、通信装置１０に直接接続されていてもよいし、ネットワーク３上に形成したＶＰＮ（Virtual Private Network）などの仮想ネットワークを介して通信装置１０に接続されていてもよい。後者の場合、通信装置１０は、パケットをカプセル化するか否かをルーティングにおいて選択することになる。
【００２４】
このような通信装置１０は、ＬＡＮから広域ネットワークへのアクセスのセキュリティを向上させるために、ファイアウォールと組み合わせて使用することができる。例えば、通信装置１０は、ユーザが信頼できる通信相手として指定したドメイン名に対応するＩＰアドレスを取得し、そのＩＰアドレスを宛先アドレスとするパケットはファイアウォールを迂回するようにネットワーク３に直接転送する。一方、通信装置１０は、他のＩＰアドレスを宛先アドレスとするパケットは、ファイアウォールを経由するように転送する。
【００２５】
第１の実施の形態の通信装置１０によれば、所定条件を満たす第１の形式のアドレス４ａに対応する第２の形式のアドレス５ａがアドレス解決によって取得されると、アクセス制御リスト１１ａに含まれるあるエントリの宛先アドレスの条件に動的に追加される。ここで、当該エントリの宛先アドレスの条件には、複数のアドレスを記載できるようにしておく。このようなアクセス制御リスト１１ａを用いてパケットのルーティングを行うことで、転送先の設定を動的に変更することを通信装置１０において容易に実現することができる。なお、アクセス制御リスト１１ａは、ルーティングに加えて、パケットのフィルタリングや帯域制御にも利用することが可能である。その場合、動的に取得した第２の形式のアドレス５ａを各機能に対応する設定情報にそれぞれ書き込まなくてもよく、ルーティングとフィルタリングと帯域制御を効率的に連携させることができる。
【００２６】
［第２の実施の形態］
図２は、第２の実施の形態の通信システムを示す図である。第２の実施の形態は、本社と支社を含む企業のイントラネットが、インターネットに接続されている例を考える。
【００２７】
第２の実施の形態の通信システムは、支社ＬＡＮ３１、本社ＬＡＮ３２およびインターネット３３を含む。支社ＬＡＮ３１と本社ＬＡＮ３２は、それぞれインターネット３３に接続されている。支社ＬＡＮ３１は、クライアント４１，４２およびルータ１００を備える。本社ＬＡＮ３２は、クライアント４３、ファイルサーバ４４、ファイアウォール５１およびＤＮＳサーバ５２を備える。インターネット３３は、ＤＮＳサーバ５３，５４、Ｗｅｂサーバ６１，６２およびキャッシュサーバ６３，６４を備える。
【００２８】
クライアント４１，４２，４３は、ユーザが使用する端末装置としてのコンピュータである。クライアント４１，４２，４３は、Ｗｅｂブラウザを用いて、インターネット３３のＷｅｂサーバ６１，６２やキャッシュサーバ６３，６４にアクセスできる。また、クライアント４１，４２は、インターネット３３経由でファイルサーバ４４にアクセスでき、クライアント４３はファイルサーバ４４にアクセスできる。ファイルサーバ４４は、本社や支社の業務に使用されるファイルを保持するサーバコンピュータである。
【００２９】
ファイアウォール５１は、支社ＬＡＮ３１および本社ＬＡＮ３２を含むイントラネットとインターネット３３の間の通信を監視する通信装置である。ファイアウォール５１は、例えば、アプリケーション層のプロトコル処理を行い、ウィルスや機密情報などの不正な内容を含む通信を検出する。ファイアウォール５１は、プロキシサーバと呼ばれるものであってもよい。ここで、支社ＬＡＮ３１と本社ＬＡＮ３２とは、インターネット３３上に形成したＶＰＮ（いわゆるインターネットＶＰＮ）で接続されている。後述するように、支社ＬＡＮ３１とインターネット３３との間のパケットは、所定の信頼できるサービスに関するパケットを除いて、本社ＬＡＮ３２のファイアウォール５１を経由する。
【００３０】
ＤＮＳサーバ５２，５３，５４は、ホスト名とＩＰアドレスとの対応関係を管理するサーバコンピュータである。ＤＮＳサーバ５２，５３，５４は、完全修飾ドメイン名（ＦＱＤＮを含むＤＮＳ要求（リクエスト）を受信し、ＦＱＤＮに対応するＩＰアドレスを含むＤＮＳ応答（レスポンス）を返信する。ＦＱＤＮは、ドメイン名を含むホスト名である。ＤＮＳサーバ５２，５３，５４は、指定されたＦＱＤＮのアドレス解決を担当していない場合、他のＤＮＳサーバに問い合わせる。例えば、ＤＮＳサーバ５２は、クライアント４１からＷｅｂサーバ６２のＩＰアドレスの問い合わせを受けたとき、ＤＮＳサーバ５４に問い合わせることがある。なお、ＤＮＳサーバ５３は支社ＬＡＮ３１の近くに位置し、ＤＮＳサーバ５４は本社ＬＡＮ３２の近くに位置する。
【００３１】
Ｗｅｂサーバ６１，６２は、検索サービスやソフトウェア更新サービスなどのサービスを提供するサーバコンピュータである。Ｗｅｂサーバ６１，６２は、例えば、クライアント４１，４２，４３からのＨＴＴＰ（Hypertext Transfer Protocol）アクセスに応じて、ＨＴＭＬ（HyperText Markup Language）文書やソフトウェアプログラムなどのファイルを送信する。キャッシュサーバ６３，６４は、Ｗｅｂサーバ６１に記憶されたファイルの複製を保持するサーバコンピュータである。クライアント４１，４２，４３からＷｅｂサーバ６１へのアクセスが、キャッシュサーバ６３，６４に誘導されることがある。なお、キャッシュサーバ６３は支社ＬＡＮ３１の近くに位置し、キャッシュサーバ６４は本社ＬＡＮ３２の近くに位置する。
【００３２】
Ｗｅｂサーバ６１，６２およびキャッシュサーバ６３，６４には、互いに異なるＦＱＤＮとＩＰアドレスが付与される。Ｗｅｂサーバ６１を用いてサービスを提供する事業者とキャッシュサーバ６３，６４を運用する事業者とは、異なっていてもよい。よって、Ｗｅｂサーバ６１のＦＱＤＮに含まれるドメイン名とキャッシュサーバ６３，６４のＦＱＤＮに含まれるドメイン名とは、異なることがある。ここで、Ｗｅｂサーバ６１に対するアクセスを、以下のような方法でキャッシュサーバ６３，６４に誘導することができる。
【００３３】
Ｗｅｂサーバ６１を担当するＤＮＳサーバに、Ｗｅｂサーバ６１のＦＱＤＮの別名（ＣＮＡＭＥ）としてキャッシュサーバ６３，６４のドメイン名を登録しておく。Ｗｅｂサーバ６１を担当するＤＮＳサーバは、Ｗｅｂサーバ６１のＦＱＤＮを含むＤＮＳ要求を受信すると、別名として自ドメインでないドメイン名が登録されているため、キャッシュサーバ６３，６４を担当するＤＮＳサーバにＤＮＳ要求を転送する。キャッシュサーバ６３，６４を担当するＤＮＳサーバは、ＤＮＳ要求の送信元のＩＰアドレスを用いて送信元に物理的に近いキャッシュサーバを検索し、キャッシュサーバのＩＰアドレスを返信する。
【００３４】
クライアント４１，４２，４３には、Ｗｅｂサーバ６１のＦＱＤＮに対応するＩＰアドレスとして、各クライアントに近いキャッシュサーバのＩＰアドレスが通知される。クライアント４１，４２，４３は、以降、Ｗｅｂサーバ６１に代えて各クライアントに近いキャッシュサーバにアクセスすることになる。これにより、Ｗｅｂサーバ６１およびキャッシュサーバ６３，６４の負荷を分散させることができる。
【００３５】
なお、このようなキャッシュサービスの一例として、Ａｋａｍａｉが挙げられる。このようなキャッシュサービスの説明は、次の文献にも記載されている。ホワイトペーパ「アカマイのアプリケーション高速化サービス：インターネットをビジネス対応アプリケーション・デリバリー・プラットフォームに変える」，Akamai Technologies，２００９年。ホワイトペーパ「アカマイによるウェブインフラの効率性向上  オンラインチャンネル戦略」，Akamai Technologies，２００９年。米国特許第６１０８７０３号明細書および第６５５３４１３号明細書。
【００３６】
ルータ１００は、支社ＬＡＮ３１とインターネット３３との境界に位置し、本社ＬＡＮ３２およびインターネット３３と通信を行う。ルータ１００は、各パケットに対し、ＩＰ層以下またはＴＣＰ層以下のプロトコル処理を行えばよく、アプリケーション層のプロトコル処理を行わなくてよい。また、ルータ１００は、ファイアウォール機能を備えていなくてよい。ルータ１００は、クライアント４１，４２からインターネット３３へ送信されるパケットのうち、所定の信頼できるサービスに関するパケットを、ファイアウォール５１を迂回して直接インターネット３３に転送する。一方、ルータ１００は、それ以外のパケットを、インターネットＶＰＮを介してファイアウォール５１に転送する。
【００３７】
本社ＬＡＮ３２側では、ファイアウォール５１がＶＰＮを終端してもよいし、他の通信装置がＶＰＮを終端してもよい。本社ＬＡＮ３２と支社ＬＡＮ３１との間の通信は、ファイアウォール５１を経由するようにしてもよいし、経由しないようにしてもよい。
【００３８】
なお、第２の実施の形態において、支社ＬＡＮ３１は第１の実施の形態のネットワーク２の一例であり、インターネット３３は第１の実施の形態のネットワーク３の一例であり、ルータ１００は第１の実施の形態の通信装置１０の一例である。
【００３９】
図３は、ルータのハードウェア例を示すブロック図である。ルータ１００は、ＣＰＵ１０１、ＲＡＭ１０２、メモリ１０３、管理インタフェース１０４、ＬＡＮインタフェース１０５およびＷＡＮインタフェース１０６を有する。
【００４０】
ＣＰＵ１０１は、プログラムに従ってパケットを処理するプロセッサである。ＣＰＵ１０１は、メモリ１０３からプログラムや制御用データを読み出してＲＡＭ１０２に展開する。ＲＡＭ１０２は、ＣＰＵ１０１が使用するプログラムや制御用データの一部または全部を一時的に記憶する揮発性メモリである。メモリ１０３は、プログラムや制御用データを記憶する不揮発性メモリであり、例えば、フラッシュメモリである。なお、ルータ１００は、ＲＡＭ１０２やメモリ１０３に代えて、他の種類の記憶装置を備えていてもよい。
【００４１】
管理インタフェース１０４は、管理用の端末装置に接続できる管理ポートを備える通信インタフェースである。ＬＡＮインタフェース１０５は、支社ＬＡＮ３１の他の通信装置（例えば、レイヤ２スイッチ）と接続できるＬＡＮポートを備える通信インタフェースである。ＷＡＮインタフェース１０６は、インターネット３３と接続できるＷＡＮポートを備える通信インタフェースである。ＶＰＮ通信とそれ以外の通信とが、同じ物理的なＷＡＮポートを共有して利用することもできる。ＬＡＮインタフェース１０５およびＷＡＮインタフェース１０６は、ＣＰＵ１０１の制御に従ってパケットを送信する。
【００４２】
なお、第２の実施の形態では、ルーティングを含むＩＰ層のプロトコル処理をソフトウェアで実行することとしたが、ハードウェアで実行してもよい。以下に説明するルータ１００の機能の少なくとも一部を、ワイヤードロジックとして実装することもできる。
【００４３】
図４は、第２の実施の形態のルータの機能例を示すブロック図である。ルータ１００は、ＦＱＤＮリスト記憶部１１０、ＡＣＬ情報記憶部１２０、フィルタリング部１３０、帯域制御部１４０、ルーティング部１５０、ＤＮＳ処理部１６０およびＩＰアドレス抽出部１７０を有する。ＦＱＤＮリスト記憶部１１０およびＡＣＬ情報記憶部１２０は、例えば、ＲＡＭ１０２またはメモリ１０３上に確保する記憶領域として実現される。フィルタリング部１３０、帯域制御部１４０、ルーティング部１５０、ＤＮＳ処理部１６０およびＩＰアドレス抽出部１７０は、例えば、ＣＰＵ１０１が実行するソフトウェアのモジュールとして実現される。ただし、前述のように、ソフトウェアのモジュールとして実現できる機能の一部または全部は、ワイヤードロジックとして実現することもできる。
【００４４】
ＦＱＤＮリスト記憶部１１０は、ＦＱＤＮリストを記憶する。ＦＱＤＮリストは、ＦＱＤＮを用いて信頼できるサービスを指定したホワイトリストである。ＦＱＤＮリストでは、ＦＱＤＮを指定するにあたってワイルドカード（＊）が使用されてもよい。例えば、ＦＱＤＮリストに“＊．ａａａ．ｂｂｂ”と記載されている場合、“ｗｗｗ．ａａａ．ｂｂｂ”はＦＱＤＮリストに登録されているＦＱＤＮと判断される。ＦＱＤＮリストは、管理インタフェース１０４またはＬＡＮインタフェース１０５を通じて管理用の端末装置から入力されるコマンドに応じて、作成および更新されることになる。
【００４５】
ＡＣＬ情報記憶部１２０は、アクセス制御リストと、アクセス制御リストを利用してルータ１００の動作を定義した設定情報とを記憶する。設定情報には、ルーティング部１５０を制御するためのルーティング情報、フィルタリング部１３０を制御するためのフィルタリング情報、帯域制御部１４０を制御するための帯域制御情報が含まれる。アクセス制御リストおよび設定情報は、管理インタフェース１０４またはＬＡＮインタフェース１０５を通じて管理用の端末装置から入力されるコマンドに応じて、作成および更新が行われる。また、アクセス制御リストは、ＩＰアドレス抽出部１７０によっても更新される。
【００４６】
フィルタリング部１３０は、ＡＣＬ情報記憶部１２０に記憶されたアクセス制御リストを利用して、ＬＡＮポートやＷＡＮポートなどの通信ポート毎にパケットのフィルタリングを行う。例えば、フィルタリング部１３０は、通信ポートで受信されたパケットのうちアクセス制御リストで定義された条件を満たさない（または、ある条件を満たす）パケットを、ルーティング部１５０に出力せずに破棄する（インバウンドのフィルタリング）。また、例えば、フィルタリング部１３０は、通信ポートから送信しようとするパケットのうちアクセス制御リストで定義された条件を満たさない（または、ある条件を満たす）パケットを、送信せずに破棄する（アウトバウンドのフィルタリング）。なお、フィルタリング部１３０は、１つの物理的なＷＡＮポートを共有してＶＰＮ通信とそれ以外の通信とが行われる場合、両者を論理的に異なる通信ポートを通過する通信として扱い、論理的な通信ポート毎に上記のフィルタリングを行ってもよい。
【００４７】
帯域制御部１４０は、ＡＣＬ情報記憶部１２０に記憶されたアクセス制御リストを利用して、ＬＡＮポートやＷＡＮポートなどの通信ポート毎に帯域制御を行う。例えば、帯域制御部１４０は、通信ポートから送信しようとするパケットを優先度の異なる複数の送信バッファに振り分けるとき、アクセス制御リストで定義された条件に基づいて各パケットの優先度を判定する。また、例えば、帯域制御部１４０は、送信バッファに滞留するパケットが一定量を超えたとき、アクセス制御リストで定義された条件に基づいて一部のパケットを選択し破棄する。なお、帯域制御部１４０は、フィルタリング部１３０と同様に、論理的な通信ポート毎に上記の帯域制御を行ってもよい。また、帯域制御部１４０は、通信ポートで受信したパケットに対して帯域制御を行うことも可能である。
【００４８】
ルーティング部１５０は、通信ポートで受信されフィルタリング部１３０および帯域制御部１４０を通過したパケットを受け取り、各パケットに含まれる宛先ＩＰアドレスに基づいてルーティングを行う。ルーティング部１５０は、クライアント４１，４２からインターネット３３へ伝送されるパケットの転送方法を判定するにあたり、ＡＣＬ情報記憶部１２０に記憶されたアクセス制御リストを参照する。ルーティング部１５０は、信頼できる通信相手としてアクセス制御リストに登録されたＩＰアドレス宛てのパケットを、インターネット３３に直接転送する。一方、ルーティング部１５０は、それ以外のＩＰアドレス宛てのパケットを、インターネットＶＰＮを用いて本社ＬＡＮ３２に転送する。
【００４９】
なお、インターネット３３からクライアント４１，４２へ返信されるパケットの転送経路（復路）は、原則として、クライアント４１，４２からインターネット３３へのパケットの転送経路（往路）と同じになる。ルーティング部１５０は、本社ＬＡＮ３２に送信するパケットは、インターネットＶＰＮのカプセル化を行い、また、本社ＬＡＮ３２から取得するパケットは、インターネットＶＰＮのデカプセル化（カプセル化の解除）を行う。すなわち、ルーティング部１５０は、インターネットＶＰＮを終端する。
【００５０】
また、ルーティング部１５０は、ＤＮＳ要求またはＤＮＳ応答としてのＤＮＳパケットが何れかの通信ポートで受信されると、受信されたＤＮＳパケットをＤＮＳ処理部１６０に渡す。また、ルーティング部１５０は、ＤＮＳ処理部１６０からＤＮＳパケットを受け取ると、ＤＮＳ処理部１６０からの指示に応じてＤＮＳパケットを転送する。
【００５１】
ＤＮＳ処理部１６０は、クライアント４１，４２とＤＮＳサーバ５２，５３，５４の間で、ＤＮＳ要求やＤＮＳ応答を転送するＤＮＳリレー機能を実現する。ＤＮＳリレー機能により、ルータ１００は、クライアント４１，４２からＤＮＳサーバとして認識される。ＤＮＳ処理部１６０は、リクエスト受付部１６１、転送先判定部１６２、インターネット転送部１６３およびイントラネット転送部１６４を有する。
【００５２】
リクエスト受付部１６１は、クライアント４１，４２からＤＮＳ要求を受け付け、インターネット３３または本社ＬＡＮ３２から取得したＤＮＳ応答を返信する。転送先判定部１６２は、ＤＮＳ要求に含まれるＦＱＤＮがＦＱＤＮリスト記憶部１１０に記憶されたＦＱＤＮリストに登録されたものか、すなわち、信頼できるサービスのＦＱＤＮであるか判定する。転送先判定部１６２は、登録されたＦＱＤＮである場合はインターネット３３に転送すると判定し、それ以外の場合は本社ＬＡＮ３２に転送すると判定する。
【００５３】
インターネット転送部１６３は、転送先判定部１６２の判定結果に従って、ＤＮＳ要求をインターネット３３のＤＮＳサーバ（例えば、ＤＮＳサーバ５３）に転送し、当該ＤＮＳサーバからＤＮＳ応答を取得する。また、インターネット転送部１６３は、ＤＮＳ応答をＩＰアドレス抽出部１７０に出力する。イントラネット転送部１６４は、転送先判定部１６２の判定結果に従って、ＤＮＳ要求を本社ＬＡＮ３２のＤＮＳサーバ５２に転送し、ＤＮＳサーバ５２からＤＮＳ応答を取得する。このとき、イントラネット転送部１６４は、取得したＤＮＳ応答をＩＰアドレス抽出部１７０には出力しない。
【００５４】
ＩＰアドレス抽出部１７０は、インターネット３３および本社ＬＡＮ３２のうちインターネット３３から取得したＤＮＳ応答のみ、ＤＮＳ処理部１６０から取得する。ＩＰアドレス抽出部１７０は、問い合わせへの回答であるＩＰアドレスをＤＮＳ応答から抽出し、抽出したＩＰアドレスを信頼できる通信相手のＩＰアドレスとして、ＡＣＬ情報記憶部１２０に記憶されたアクセス制御リストの所定のエントリに対して書き込む。
【００５５】
図５は、ＤＮＳパケットのフォーマット例を示す図である。ＤＮＳパケットは、ＩＰヘッダ、ＵＤＰヘッダ、ＤＮＳヘッダ、および、１またはそれ以上のセクションを含む本文を有する。ＤＮＳ要求としてのＤＮＳパケットの本文は、質問（Query）セクションを含む。ＤＮＳ応答としてのＤＮＳパケットの本文は、質問セクション、回答（Answer）セクション、権限（Authority）セクションおよび追加（Additional）セクションを含む。
【００５６】
ＤＮＳヘッダは、ＩＤ（Identification）、フラグ、質問レコード数、回答レコード数、権限レコード数および追加レコード数を含む。ＩＤは、ＤＮＳトランザクションを識別するための１６ビット（２バイト）の識別子であり、ＤＮＳ要求とそれに対応するＤＮＳ応答とで同じ値が用いられる。フラグは、ＤＮＳ要求かＤＮＳ応答かを区別するためのビットを含む制御用ビットの集合である。質問レコード数は、質問セクションに含まれるレコードの数を示す。回答レコード数は、回答セクションに含まれるレコードの数を示す。権限レコード数は、権限セクションに含まれるレコードの数を示す。追加レコード数は、追加セクションに含まれるレコードの数を示す。
【００５７】
質問セクションの各レコードは、ホスト名、タイプおよびクラスを含む。ホスト名は、問い合わせ対象のＦＱＤＮである。タイプは、回答としてどのような情報が要求されているかを示す。ＦＱＤＮが示す装置のＩＰアドレスを問い合わせる正引き問い合わせでは、タイプ＝“Ａ”が指定される。クラスは、インターネットを示す“ＩＮ”が指定される。
【００５８】
回答セクションの各レコードは、ホスト名、タイプ、クラス、有効時間（ＴＴＬ：Time To Live）、データ長およびアドレスを含む。ホスト名は、回答セクションのアドレスをもつ装置のＦＱＤＮである。キャッシュサーバ６３，６４のＩＰアドレスが回答される場合など、質問セクションのホスト名と回答セクションのホスト名とが一致しない場合がある。タイプおよびクラスの意味は、質問セクションと同様である。ＴＴＬは、アドレス解決の結果の有効時間であり、有効時間が経過するまではアドレス解決の結果をキャッシュしておくことが許容される。データ長は、アドレスの欄のバイト数を示す。アドレスは、問い合わせに対する回答であり、例えば、ＩＰアドレスである。
【００５９】
権限セクションのレコードは、回答セクションのホスト名を管理する権限のあるＤＮＳサーバのＦＱＤＮを含む。追加セクションのレコードは、上記以外の追加情報を含み、例えば、権限セクションに記載されたＤＮＳサーバのＩＰアドレスを含む。
【００６０】
図６は、アクセス制御リストの例を示す図である。アクセス制御リスト１２１は、ＡＣＬ情報記憶部１２０に記憶されている。アクセス制御リスト１２１には複数のエントリ（例えば、１０００個以下のエントリ）を登録することができ、各エントリは識別番号（例えば、０〜９９９の範囲の番号）によって識別される。複数のエントリが登録されている場合、識別番号の小さいエントリから優先的にパケットと照合される。
【００６１】
各エントリには、パケットに関する条件として、次の６種類の情報のうちの１つ以上を登録することができる。（ａ）送信元ＩＰアドレスと宛先ＩＰアドレス、（ｂ）送信元ＩＰｖ６アドレスと宛先ＩＰｖ６アドレスの組、（ｃ）送信元ＴＣＰポート番号と宛先ＴＣＰポート番号の組、（ｄ）送信元ＵＤＰポート番号と宛先ＵＤＰポート番号の組、（ｅ）ＩＣＭＰ（Internet Control Message Protocol）のタイプとコード、（ｆ）送信元ＭＡＣ（Medium Access Control）アドレスと宛先ＭＡＣアドレスの組。
【００６２】
送信元ＩＰアドレスと宛先ＩＰアドレスについては、原則として、１つのエントリにつき１つずつ登録できる。ただし、サブネットマスクを指定することで、１個のＩＰアドレスに代えて一続きのＩＰアドレスの範囲を指定することが可能である。同様に、送信元ＩＰｖ６アドレスと宛先ＩＰｖ６アドレスについては、原則として、１つのエントリにつき１つずつ登録できる。ただし、プレフィックス長を指定することで、１個のＩＰｖ６アドレスに代えて一続きのＩＰｖ６アドレスの範囲を指定することが可能である。
【００６３】
例えば、図６の第１番のエントリ（エントリ＃１）は、送信元ＩＰアドレスが１９２．１６８．１．０／２４の範囲に属し、宛先ＩＰアドレスが２２３．ｘｘｘ．ｘｘｘ．０／２４の範囲に属し、宛先ＴＣＰポート番号が８０（ＨＴＴＰ）または４４３（ＨＴＴＰＳ（Hypertext Transfer Protocol over Secure Socket Layer））という条件を示す。また、図６の第２番のエントリ(エントリ＃２)のように、全てのＩＰパケットを指定することも可能である。
【００６４】
ここで、アクセス制御リスト１２１のエントリは、原則としてユーザによって定義されるものであり、ルータ１００によって動的に書き換えられるものではない。また、上記の通り、１つのエントリに対しては、原則として１個の宛先ＩＰアドレスまたは一続きの宛先ＩＰアドレスの範囲を指定する。ただし、第２の実施の形態では、アクセス制御リスト１２１の所定のエントリに対しては、ルータ１００が動的に宛先ＩＰアドレスを追加できるようにする。以下の説明では、「所定のエントリ」をアクセス制御リスト１２１の第０番のエントリ（エントリ＃０）とするが、他のエントリであってもよい。また、宛先ＩＰアドレスと同様に、宛先ＩＰｖ６アドレスを動的に追加できるようにしてもよい。
【００６５】
宛先ＩＰアドレスを動的に追加できるようにするエントリの記載方法の一例を、図６のエントリ＃０に示している。エントリ＃０の宛先ＩＰアドレスの欄には、具体的なＩＰアドレスまたはＩＰアドレス範囲に代えて“ｄｙｎａｍｉｃ”という文字が記載される。これは、このエントリの宛先ＩＰアドレスの欄には具体的なＩＰアドレスが記載されておらず、他の行の記載を参照すべき旨を示している。そして、アクセス制御リスト１２１の他の行に、先頭にアンダーバーが付加された具体的な宛先ＩＰアドレスが列挙される。先頭のアンダーバーは、通常のエントリの行ではないことを示している。離散的な複数の宛先ＩＰアドレスがあるときは、複数の行に跨がって記載してよい。
【００６６】
これにより、一続きになっていない離散的な複数のＩＰアドレスを、エントリ＃０の宛先ＩＰアドレスとして指定することができる。また、ルータ１００によって動的に宛先ＩＰアドレスをエントリ＃０に追加することができる。ユーザがアクセス制御リスト１２１を閲覧するとき、アンダーバーから開始する行は無視されてユーザから見えない。また、ルータ１００がエントリを検索するとき、エントリ＃０の宛先ＩＰアドレスを確認する場合を除き、アンダーバーから開始する行は無視される。なお、図６に示したアクセス制御リスト１２１の記載方法は一例に過ぎず、通常の宛先ＩＰアドレスの欄以外の箇所に具体的な宛先ＩＰアドレスを列挙する方法としては、様々な方法が考えられる。
【００６７】
図７は、アクセス制御リストを参照する設定情報の例を示す図である。前述のように、ＡＣＬ情報記憶部１２０には、ルーティング情報１２２、フィルタリング情報１２３および帯域制御情報１２４が設定情報として記憶されている。ルーティング情報１２２、フィルタリング情報１２３および帯域制御情報１２４は、ユーザによって定義される。
【００６８】
ルーティング情報１２２は、アクセス制御リスト１２１を利用してルーティングを行うための設定情報である。ルーティング情報１２２では、アクセス制御リスト１２１に記載された１またはそれ以上のエントリがグループ化されてポリシーグループが形成される。そして、ポリシーグループ毎に、そのポリシーグループに属する何れかのエントリに該当するパケットの出力先が指定される。図７の例は、エントリ＃０またはエントリ＃１に該当するパケットをインターネット３３に直接転送することを示している。
【００６９】
第２の実施の形態では、エントリ＃０に該当するパケットはインターネット３３に直接転送されるようルーティング情報１２２を記載しておく。幾つかのＩＰアドレスが信頼できる通信相手のものであると予めわかっている場合、ユーザは、その条件を記載した他のエントリに該当するパケットもインターネット３３に直接転送されるようルーティング情報１２２を記載しておいてもよい。また、第２の実施の形態では、インターネット３３に直接転送すると判断されなかったパケットはインターネットＶＰＮを介して本社ＬＡＮ３２に転送されるよう、既定の転送先をルーティング情報１２２に定義しておく。
【００７０】
フィルタリング情報１２３は、アクセス制御リスト１２１を利用してフィルタリングを行うための設定情報である。フィルタリング情報１２３では、通信ポートとパケット方向（インバウンドまたはアウトバウンド）との組に対して、アクセス制御リスト１２１のエントリとパケットの処理方法（通過または破棄）とが指定される。図７の例では、ＬＡＮポートのインバウンドに対して、エントリ＃０，＃１に該当するパケットは通過させ、それ以外のパケットは全て破棄するという設定を行っている。
【００７１】
帯域制御情報１２４は、アクセス制御リスト１２１を利用して帯域制御を行うための設定情報である。帯域制御情報１２４では、通信ポートに対して、アクセス制御リスト１２１に記載されたエントリと優先度とが指定される。優先度は、例えば、最優先（ｅｘｐｒｅｓｓ）や非優先（ｂｅｓｔｅｆｆｏｒｔ）を含む複数のレベルの中から選択される。これにより、通信ポートから送信しようとするパケットのうち指定されたエントリに該当するパケットが、指定された優先度に応じて優先付けされて処理される。例えば、指定されたエントリに該当するパケットが、複数の送信バッファのうち優先度に応じた送信バッファに格納され、また、優先度に応じた確率で送信されずに破棄される。図７の例では、エントリ＃０に該当しインターネット３３に直接転送するパケットを最優先としている。
【００７２】
図８は、第２の実施の形態のＤＮＳ制御の手順例を示すフローチャートである。ここでは、クライアント４１がＤＮＳ要求を送信した場合を考える。
（ステップＳ１１）リクエスト受付部１６１は、ＤＮＳ要求を受け付ける。
【００７３】
（ステップＳ１２）転送先判定部１６２は、ＤＮＳ要求からＦＱＤＮを抽出し、抽出したＦＱＤＮとＦＱＤＮリスト記憶部１１０に記憶されたＦＱＤＮリストとを照合する。転送先判定部１６２は、抽出したＦＱＤＮがＦＱＤＮリストにマッチするか（ＦＱＤＮリストに登録されているものか）判断する。マッチする場合、信頼できるサービスのＦＱＤＮであると判断し、処理をステップＳ１３に進める。マッチしない場合、信頼できるサービスのＦＱＤＮとは言えないと判断し、処理をステップＳ１７に進める。
【００７４】
（ステップＳ１３）インターネット転送部１６３は、ＤＮＳ要求をインターネット３３のＤＮＳサーバ（例えば、ＤＮＳサーバ５３）に転送する。
（ステップＳ１４）インターネット転送部１６３は、ＤＮＳ要求に対応するＤＮＳ応答を、インターネット３３のＤＮＳサーバ（例えば、ＤＮＳサーバ５３）から取得する。
【００７５】
（ステップＳ１５）ＩＰアドレス抽出部１７０は、ＤＮＳ応答からＩＰアドレスを抽出し、抽出したＩＰアドレスを信頼できる通信相手のものと判断する。
（ステップＳ１６）ＩＰアドレス抽出部１７０は、ＡＣＬ情報記憶部１２０に記憶されたアクセス制御リスト１２１を更新する。具体的には、ＩＰアドレス抽出部１７０は、ステップＳ１５で抽出したＩＰアドレスを、エントリ＃０の宛先ＩＰアドレスの条件として追加する。このＩＰアドレスは、先頭に所定の文字（例えば、アンダーバー）が付加されて、エントリ＃０の通常の宛先ＩＰアドレスの欄とは異なる箇所に挿入される。そして、処理をステップＳ１９に進める。なお、利用するキャッシュサーバが変わる場合など、サービスとＩＰアドレスの対応関係が変化する場合を考慮して、追加してから一定時間経過したＩＰアドレスはエントリ＃０から削除するようにしてもよい。
【００７６】
（ステップＳ１７）イントラネット転送部１６４は、ＤＮＳ要求を本社ＬＡＮ３２のＤＮＳサーバ５２に転送する。ＤＮＳ要求としてのＤＮＳパケットは、ルータ１００と本社ＬＡＮ３２との間でインターネットＶＰＮ用にカプセル化されて伝送される。
【００７７】
（ステップＳ１８）イントラネット転送部１６４は、ＤＮＳ要求に対応するＤＮＳ応答を本社ＬＡＮ３２のＤＮＳサーバ５２から取得する。ＤＮＳ応答としてのＤＮＳパケットは、ＤＮＳ要求と同様、インターネットＶＰＮ用にカプセル化されて伝送される。なお、本社ＬＡＮ３２から取得したＤＮＳ応答に含まれるＩＰアドレスは、信頼できる通信相手のＩＰアドレスとは言えないと判断され、アクセス制御リスト１２１に登録されない。
【００７８】
（ステップＳ１９）リクエスト受付部１６１は、インターネット３３または本社ＬＡＮ３２から取得したＤＮＳ応答を、ＤＮＳ要求を送信したクライアント４１に転送する。なお、インターネット３３にＤＮＳ要求を転送したとき、上記のステップＳ１５，Ｓ１６の処理とステップＳ１９の処理とは並列に実行してもよいし、逆順に実行してもよい。
【００７９】
図９は、第２の実施の形態のルーティングの手順例を示すフローチャートである。
（ステップＳ２１）ルーティング部１５０は、支社ＬＡＮ３１からパケットが受信されると、ＡＣＬ情報記憶部１２０に記憶されたアクセス制御リスト１２１のエントリ＃０と受信されたパケットとを照合する。このとき、エントリ＃０の宛先ＩＰアドレスは“ｄｙｎａｍｉｃ”に設定されているため、ルーティング部１５０は、まずエントリ＃０に記載された宛先ＩＰアドレス以外の条件をパケットが満たしているか判断する。
【００８０】
宛先ＩＰアドレス以外の条件としては、例えば、送信元ＩＰアドレス、送信元ＴＣＰポート番号、宛先ＴＣＰポート番号などが挙げられる。エントリ＃０の送信元ＩＰアドレスの条件としてアドレス範囲が指定されている場合、パケットの送信元ＩＰアドレスが指定された範囲に属するときその条件を満たすと判断される。エントリ＃０の宛先ＴＣＰポート番号の条件として複数のポート番号が列挙されている場合、パケットの宛先ＴＣＰポート番号が列挙されたポート番号の何れかと一致するときその条件を満たすと判断される。
【００８１】
（ステップＳ２２）ルーティング部１５０は、受信されたパケットがエントリ＃０の宛先ＩＰアドレス以外の条件を満たしているか判断する。条件を満たしている場合は処理をステップＳ２３に進め、満たしていない場合は処理をステップＳ２５に進める。
【００８２】
（ステップＳ２３）ルーティング部１５０は、エントリ＃０の宛先ＩＰアドレスの条件としてアクセス制御リスト１２１に列挙された各ＩＰアドレスと、パケットの宛先ＩＰアドレスとを照合する。エントリ＃０の宛先ＩＰアドレスの条件は、例えば、先頭に所定の文字（例えば、アンダーバー）が付加されたアドレスを検索することで見つけることができる。ルーティング部１５０は、パケットの宛先ＩＰアドレスがアクセス制御リスト１２１に列挙されたＩＰアドレスの何れかと一致するとき、その条件を満たすと判断する。
【００８３】
（ステップＳ２４）ルーティング部１５０は、受信されたパケットがエントリ＃０の宛先ＩＰアドレスの条件を満たしているか判断する。条件を満たしている場合は処理をステップＳ２７に進め、満たしていない場合は処理をステップＳ２５に進める。
【００８４】
（ステップＳ２５）ルーティング部１５０は、エントリ＃０以外に、パケットをインターネット３３に直接転送する条件を記載した他のエントリがある場合、そのエントリと受信されたパケットとを照合する。なお、エントリ＃０は最も識別番号が小さいエントリであるため、他のエントリよりも先にエントリ＃０が参照されることになる。
【００８５】
（ステップＳ２６）ルーティング部１５０は、受信されたパケットがステップＳ２５で説明した他のエントリの条件を満たしているか判断する。条件を満たしている場合は処理をステップＳ２７に進め、満たしていない場合は処理をステップＳ２８に進める。なお、「他のエントリ」が存在しない場合は処理をステップＳ２８に進める。
【００８６】
（ステップＳ２７）ルーティング部１５０は、受信されたパケットの宛先が信頼できる通信相手であると判断し、そのパケットをインターネット３３に直接転送する。すなわち、ルーティング部１５０は、本社ＬＡＮ３２のファイアウォール５１を迂回する経路でそのパケットがインターネット３３に転送されるようにルーティングを行う。
【００８７】
（ステップＳ２８）ルーティング部１５０は、受信されたパケットの宛先が信頼できる通信相手とは言えないと判断し、そのパケットを既定（デフォルト）の経路で転送する。すなわち、ルーティング部１５０は、受信されたパケットをカプセル化してインターネットＶＰＮを介して本社ＬＡＮ３２に転送する。そのパケットは、ファイアウォール５１で破棄される場合を除き、ファイアウォール５１経由でインターネット３３に転送される。
【００８８】
このように、アクセス制御リスト１２１を利用してルーティングを行う場合、まずエントリ＃０の宛先ＩＰアドレス以外の条件が確認され、パケットが宛先ＩＰアドレス以外の条件を満たすとき、別途列挙された具体的なＩＰアドレスが確認される。アクセス制御リスト１２１を利用してフィルタリングや帯域制御を行う場合も、宛先ＩＰアドレスの条件が“ｄｙｎａｍｉｃ”であるエントリに関してこのような２段階の確認方法を採用できる。
【００８９】
図１０は、第２の実施の形態のＤＮＳ処理例を示す図である。ここでは、クライアント４１がＤＮＳによりアドレス解決を行うとき（ＤＮＳフェーズ）を考える。また、ルータ１００のＦＱＤＮリスト１１１に、“＊．ａａａ．ｂｂｂ”が登録されているとする。
【００９０】
クライアント４１が“ｗｗｗ．ａａａ．ｂｂｂ”を指定したＤＮＳ要求を送信すると、ルータ１００は、ＤＮＳ要求のＦＱＤＮがＦＱＤＮリスト１１１に登録されていることを確認する。すると、ルータ１００は、当該ＦＱＤＮを信頼できると判断し、ＤＮＳ要求をインターネット３３のＤＮＳサーバ５３に転送する。ルータ１００は、ＤＮＳサーバ５３から“６５．ｘｘｘ．ｘｘｘ．１３０”を含むＤＮＳ応答を受信すると、当該ＩＰアドレスを信頼できると判定し、アクセス制御リスト１２１のエントリ＃０の宛先ＩＰアドレスの条件に追加する。また、ルータ１００は、ＤＮＳ応答をクライアント４１に転送する。
【００９１】
一方、クライアント４１が“ｗｗｗ．ｃｃｃ．ｄｄｄ”を指定したＤＮＳ要求を送信すると、ルータ１００は、ＤＮＳ要求のＦＱＤＮがＦＱＤＮリスト１１１に登録されていないことを確認する。すると、ルータ１００は、当該ＦＱＤＮを信頼できるとは言えないと判断し、ＤＮＳ要求を本社ＬＡＮ３２のＤＮＳサーバ５２に転送する。ＤＮＳサーバ５２は、例えば、インターネット３３のＤＮＳサーバ５４に問い合わせてＩＰアドレスを検索する。ルータ１００は、ＤＮＳサーバ５２から“７４．ｘｘｘ．ｘｘｘ．１７２”を含むＤＮＳ応答を受信し、ＤＮＳ応答をクライアント４１に転送する。このときのＩＰアドレスは信頼できるとは言えないと判定され、アクセス制御リスト１２１に登録されない。
【００９２】
図１１は、第２の実施の形態のパケット転送例を示す図である。ここでは、クライアント４１が上記のアドレス解決の後にインターネット３３に対してパケットを送信するとき（パケット転送フェーズ）を考える。また、アクセス制御リスト１２１のエントリ＃０の宛先ＩＰアドレスの条件に“６５．ｘｘｘ．ｘｘｘ．１３０”が含まれているとする。
【００９３】
クライアント４１が“６５．ｘｘｘ．ｘｘｘ．１３０”を宛先とするパケットを送信すると、ルータ１００は、パケットの宛先ＩＰアドレスがエントリ＃０の宛先ＩＰアドレスの条件に含まれることを確認し、パケットがエントリ＃０に該当することを確認する。すると、ルータ１００は、受信したパケットの宛先ＩＰアドレスを信頼できると判断し、ファイアウォール５１を迂回するようにインターネット３３にパケットを直接転送する。パケットは、例えば、宛先であるキャッシュサーバ６３に転送される。
【００９４】
クライアント４１が“７４．ｘｘｘ．ｘｘｘ．１７２”を宛先とするパケットを送信すると、ルータ１００は、パケットの宛先ＩＰアドレスがエントリ＃０の宛先ＩＰアドレスの条件に含まれていないことを確認し、パケットがエントリ＃０（および他のエントリ）に該当しないことを確認する。すると、ルータ１００は、受信したパケットの宛先ＩＰアドレスを信頼できるとは言えないと判断し、パケットをインターネットＶＰＮ用にカプセル化して本社ＬＡＮ３２のファイアウォール５１に転送する。パケットは、例えば、ファイアウォール５１で検査された後に宛先であるＷｅｂサーバ６２に転送される。
【００９５】
図１２は、第２の実施の形態の通信シーケンス例を示す第１の図である。ここでは、Ｗｅｂサーバ６１により提供されるサービスが信頼できるサービスに指定されており、クライアント４１が当該サービスを利用する場合を考える。ただし、クライアント４１からのアクセスは、支社ＬＡＮ３１に近いキャッシュサーバ６３に誘導される。
【００９６】
クライアント４１がＷｅｂサーバ６１のＦＱＤＮを指定したＤＮＳ要求を送信すると、当該ＤＮＳ要求は、本社ＬＡＮ３２を迂回して支社ＬＡＮ３１に近いＤＮＳサーバ５３に転送される。前述のようなキャッシュサービスの方法を用いて、ＤＮＳサーバ５３は、支社ＬＡＮ３１に近いキャッシュサーバ６３のＩＰアドレスを検索し、検索したＩＰアドレスを含むＤＮＳ応答をクライアント４１に返信する。
【００９７】
クライアント４１は、キャッシュサーバ６３のＩＰアドレスを、ＤＮＳ要求で指定したＦＱＤＮに対応するＩＰアドレスであると認識し、当該ＩＰアドレスを宛先ＩＰアドレスとして含むパケットを送信する。クライアント４１が送信するこのパケットは、本社ＬＡＮ３２を迂回してキャッシュサーバ６３に転送される。
【００９８】
図１３は、第２の実施の形態の通信シーケンス例を示す第２の図である。ここでは、Ｗｅｂサーバ６２により提供されるサービスが信頼できるサービスに指定されておらず、クライアント４１が当該サービスを利用する場合を考える。ただし、Ｗｅｂサーバ６２へのアクセスは、ファイアウォール５１で遮断されないものとする。
【００９９】
クライアント４１がＷｅｂサーバ６２のＦＱＤＮを指定したＤＮＳ要求を送信すると、当該ＤＮＳ要求は、インターネットＶＰＮおよび本社ＬＡＮ３２を経由して本社ＬＡＮ３２に近いＤＮＳサーバ５４に転送される。ＤＮＳサーバ５４は、Ｗｅｂサーバ６２のＩＰアドレスを検索し、検索されたＩＰアドレスを含むＤＮＳ応答を、本社ＬＡＮ３２およびインターネットＶＰＮを経由してクライアント４１に返信する。
【０１００】
クライアント４１は、ＤＮＳ応答からＷｅｂサーバ６２のＩＰアドレスを抽出し、抽出したＩＰアドレスを宛先ＩＰアドレスとして含むパケットを送信する。クライアント４１が送信するこのパケットは、インターネットＶＰＮおよび本社ＬＡＮ３２のファイアウォール５１を経由してＷｅｂサーバ６２に転送される。
【０１０１】
第２の実施の形態の通信システムによれば、サービスの信頼性に応じてパケットの転送経路を変えることが容易になる。ルータ１００では、ドメイン名を含むホスト名を用いて信頼できるサービスを指定することができる。よって、ＩＰアドレスのみを用いる場合と異なり、クライアント４１，４２からアクセスがキャッシュサーバ６３，６４に誘導され得る場合でも、信頼できるサービスに関するパケットか否か適切に判断できる。
【０１０２】
また、ルータ１００は、各パケットに対してアプリケーション層のプロトコル処理を行わなくてよく、ＩＰ層以下またはＴＣＰ層以下のプロトコル処理のみ行うものであってもよい。よって、ルータ１００のプロトコル処理の負荷を軽減でき、また、ルータ１００として高コストな通信装置を使用しなくてもよい。
【０１０３】
また、クライアント４１，４２からインターネット３３へのパケットのうち、信頼できるサービスのパケットはイントラネットのファイアウォール５１を迂回し、それ以外のパケットがファイアウォール５１を通過するように転送経路が制御される。よって、クライアント４１，４２からインターネット３３へのパケットの全てをファイアウォール５１に転送する場合と比べて、ファイアウォール５１の負荷を軽減できる。
【０１０４】
また、アクセス制御リスト１２１のエントリ＃０の宛先ＩＰアドレスの条件に、信頼できるサービスに関するＩＰアドレスが動的に追加される。ここで、エントリ＃０の宛先ＩＰアドレスの条件として、離散的な複数のＩＰアドレスを列挙することができる。このようなアクセス制御リスト１２１を用いてパケットのルーティングを行うことで、転送先の設定を動的に変更することをルータ１００において容易に実現することができる。また、アクセス制御リスト１２１は、ルーティングに加えて、パケットのフィルタリングや帯域制御にも利用することが可能である。よって、アドレス解決を通じて動的に取得したＩＰアドレスを各機能に対応する設定情報に個別に書き込まなくてもよく、ルーティングとフィルタリングと帯域制御を効率的に連携させることが可能となる。
【０１０５】
［第３の実施の形態］
次に、第３の実施の形態を説明する。第２の実施の形態との差異を中心に説明し、第２の実施の形態と同様の事項については説明を省略する。第３の実施の形態の通信システムは、図２と同様のシステム構成として実現できる。ただし、第２の実施の形態のルータ１００に代えて、以下に説明するルータ１００ａが用いられる。
【０１０６】
図１４は、第３の実施の形態のルータの機能例を示すブロック図である。ルータ１００ａは、第２の実施の形態のルータ１００のＤＮＳ処理部１６０に代えて、ＤＮＳ処理部１８０を有する。ＤＮＳ処理部１８０は、リクエスト受付部１８１、イントラネット転送部１８２および質問判定部１８３を有する。
【０１０７】
リクエスト受付部１８１は、クライアント４１，４２からＤＮＳ要求を受け付け、本社ＬＡＮ３２から取得したＤＮＳ応答を返信する。イントラネット転送部１８２は、リクエスト受付部１８１で受け付けたＤＮＳ要求を本社ＬＡＮ３２のＤＮＳサーバ５２に転送し、ＤＮＳ要求に対するＤＮＳ応答をＤＮＳサーバ５２から取得する。
【０１０８】
質問判定部１８３は、イントラネット転送部１８２が取得したＤＮＳ応答から、クライアント４１，４２が指定したＦＱＤＮ（質問セクションのホスト名）を抽出する。質問判定部１８３は、抽出したＦＱＤＮがＦＱＤＮリスト記憶部１１０に記憶されたＦＱＤＮリストに登録されたものか、すなわち、信頼できるサービスのＦＱＤＮか判断する。質問判定部１８３は、登録されたＦＱＤＮである場合はＤＮＳ応答をＩＰアドレス抽出部１７０に出力し、それ以外の場合はＤＮＳ応答をＩＰアドレス抽出部１７０に出力しない。
【０１０９】
なお、第３の実施の形態では、ＤＮＳ要求を本社ＬＡＮ３２のＤＮＳサーバ５２に転送するようにしたが、他の所定のＤＮＳサーバに転送するようにしてもよい。
図１５は、第３の実施の形態のＤＮＳ制御の手順例を示すフローチャートである。ここでは、クライアント４１がＤＮＳ要求を送信した場合を考える。
【０１１０】
（ステップＳ３１）リクエスト受付部１８１は、ＤＮＳ要求を受け付ける。
（ステップＳ３２）イントラネット転送部１８２は、ＤＮＳ要求を本社ＬＡＮ３２のＤＮＳサーバ５２に転送する。ＤＮＳ要求としてのＤＮＳパケットは、ルータ１００と本社ＬＡＮ３２との間で、インターネットＶＰＮ用にカプセル化されて伝送される。
【０１１１】
（ステップＳ３３）イントラネット転送部１８２は、ＤＮＳ要求に対応するＤＮＳ応答を、本社ＬＡＮ３２のＤＮＳサーバ５２から取得する。ＤＮＳ応答としてのＤＮＳパケットは、ＤＮＳ要求と同様、インターネットＶＰＮ用にカプセル化されて伝送される。
【０１１２】
（ステップＳ３４）質問判定部１８３は、ＤＮＳ応答からＦＱＤＮを抽出し、抽出したＦＱＤＮとＦＱＤＮリスト記憶部１１０に記憶されたＦＱＤＮリストとを照合する。質問判定部１８３は、抽出したＦＱＤＮがＦＱＤＮリストにマッチするか（ＦＱＤＮリストに登録されているものか）判断する。マッチする場合、信頼できるサービスのＦＱＤＮであると判断し、処理をステップＳ３５に進める。マッチしない場合、信頼できるサービスのＦＱＤＮとは言えないと判断し、処理をステップＳ３７に進める。
【０１１３】
（ステップＳ３５）ＩＰアドレス抽出部１７０は、ＤＮＳ応答からＩＰアドレスを抽出し、抽出したＩＰアドレスを信頼できる通信相手のものであると判断する。
（ステップＳ３６）ＩＰアドレス抽出部１７０は、ＡＣＬ情報記憶部１２０に記憶されたアクセス制御リスト１２１を更新する。具体的には、ＩＰアドレス抽出部１７０は、ステップＳ３５で抽出したＩＰアドレスを、エントリ＃０の宛先ＩＰアドレスの条件として追加する。このＩＰアドレスは、先頭に所定の文字（例えば、アンダーバー）が付加されて、エントリ＃０の通常の宛先ＩＰアドレスの欄とは異なる箇所に挿入される。
【０１１４】
（ステップＳ３７）リクエスト受付部１８１は、ＤＮＳ応答をＤＮＳ要求を送信したクライアント４１に転送する。なお、上記のステップＳ３４〜Ｓ３６の処理とステップＳ３７の処理とは、並列に実行してもよいし逆順に実行してもよい。
【０１１５】
図１６は、第３の実施の形態のＤＮＳ処理例を示す図である。ここでは、クライアント４１がＤＮＳによりアドレス解決を行うとき（ＤＮＳフェーズ）を考える。また、ルータ１００ａのＦＱＤＮリスト１１１に“＊．ａａａ．ｂｂｂ”が登録されているとする。
【０１１６】
クライアント４１が“ｗｗｗ．ａａａ．ｂｂｂ”を指定したＤＮＳ要求を送信すると、ルータ１００ａは、ＤＮＳ要求を本社ＬＡＮ３２のＤＮＳサーバ５２に転送する。ルータ１００ａは、ＤＮＳサーバ５２から、ＤＮＳ要求で指定されたＦＱＤＮと“６５．ｘｘｘ．ｘｘｘ．１３１”とを含むＤＮＳ応答を受信し、受信したＤＮＳ応答をクライアント４１に転送する。このとき、ルータ１００ａは、ＤＮＳ応答に含まれるＦＱＤＮがＦＱＤＮリスト１１１に登録されていることを確認し、そのＦＱＤＮを信頼できると判断する。すると、ルータ１００ａは、ＤＮＳ応答に含まれるＩＰアドレスを信頼できると判定し、そのＩＰアドレスをアクセス制御リスト１２１のエントリ＃０に登録する。
【０１１７】
クライアント４１が“ｗｗｗ．ｃｃｃ．ｄｄｄ”を指定したＤＮＳ要求を送信すると、ルータ１００ａは、ＤＮＳ要求を本社ＬＡＮ３２のＤＮＳサーバ５２に転送する。ルータ１００ａは、ＤＮＳサーバ５２から、ＤＮＳ要求で指定されたＦＱＤＮと“７４．ｘｘｘ．ｘｘｘ．１７２”とを含むＤＮＳ応答を受信し、受信したＤＮＳ応答をクライアント４１に転送する。このとき、ルータ１００ａは、ＤＮＳ応答に含まれるＦＱＤＮがＦＱＤＮリスト１１１に登録されていないことを確認し、そのＦＱＤＮを信頼できるとは言えないと判断する。すると、ルータ１００ａは、ＤＮＳ応答に含まれるＩＰアドレスを信頼できるとは言えないと判定し、ＩＰアドレスをアクセス制御リスト１２１に登録しない。
【０１１８】
なお、クライアント４１が上記のアドレス解決の結果を用いてパケットを送信するとき（パケット転送フェーズ）のルーティングは、第２の実施の形態の図１１と同様である。
図１７は、第３の実施の形態の通信シーケンス例を示す図である。ここでは、Ｗｅｂサーバ６１により提供されるサービスが信頼できるサービスに指定されており、クライアント４１が当該サービスを利用する場合を考える。ただし、クライアント４１からのアクセスは、本社ＬＡＮ３２に近いキャッシュサーバ６４に誘導される。
【０１１９】
クライアント４１がＷｅｂサーバ６１のＦＱＤＮを指定したＤＮＳ要求を送信すると、そのＤＮＳ要求は、インターネットＶＰＮおよび本社ＬＡＮ３２のＤＮＳサーバ５２を経由して本社ＬＡＮ３２に近いＤＮＳサーバ５４に転送される。前述のようなキャッシュサービスの方法を用いて、ＤＮＳサーバ５４は本社ＬＡＮ３２に近いキャッシュサーバ６４のＩＰアドレスを検索し、検索されたＩＰアドレスを含むＤＮＳ応答をＤＮＳサーバ５２およびインターネットＶＰＮを経由してクライアント４１に返信する。
【０１２０】
クライアント４１は、キャッシュサーバ６４のＩＰアドレスをＤＮＳ要求で指定したＦＱＤＮに対応するＩＰアドレスであると認識し、当該ＩＰアドレスを宛先ＩＰアドレスとして含むパケットを送信する。クライアント４１が送信するこのパケットは、本社ＬＡＮ３２を迂回してキャッシュサーバ６４に転送される。
【０１２１】
第３の実施の形態の通信システムによれば、第２の実施の形態と同様、サービスの信頼性に応じてパケットの転送経路を変えることが容易になる。ルータ１００ａでは、ドメイン名を含むホスト名を用いて信頼できるサービスを指定することができ、信頼できるサービスに関するパケットか否かを適切に判断できる。また、ルータ１００ａは、ルータ１００ａのプロトコル処理の負荷を軽減でき、また、ルータ１００ａとして高コストな通信装置を使用しなくてもよい。また、信頼できるサービスのパケットがファイアウォール５１を迂回するように転送経路を制御でき、ファイアウォール５１の負荷を軽減できる。また、アクセス制御リスト１２１を利用してパケットのルーティングを行うことで、転送先の設定を動的に変更することをルータ１００ａにおいて容易に実現することができる。
【０１２２】
なお、前述のように、第１の実施の形態に係るパケット処理は、通信装置１０にプログラムを実行させることで実現でき、第２および第３の実施の形態に係るパケット処理は、ルータ１００，１００ａにプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤおよびＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤおよびＤＶＤ−Ｒ／ＲＷが含まれる。
【０１２３】
プログラムを流通させる場合、例えば、プログラムを記録した可搬記録媒体が提供される。また、プログラムをコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。通信装置１０やルータ１００，１００ａは、例えば、可搬記録媒体またはコンピュータから取得したプログラムを記憶装置（例えば、メモリ１０３）に格納し、当該記憶装置からプログラムを読み込んで実行する。
【符号の説明】
【０１２４】
２，３  ネットワーク
４  アドレス問い合わせ
４ａ  第１の形式のアドレス
５  アドレス回答
５ａ  第２の形式のアドレス
１０  通信装置
１１  記憶部
１１ａ  アクセス制御リスト
１２  制御部
【図１】
2014030099.tif 000003
【図２】
2014030099.tif 000004
【図３】
2014030099.tif 000005
【図４】
2014030099.tif 000006
【図５】
2014030099.tif 000007
【図６】
2014030099.tif 000008
【図７】
2014030099.tif 000009
【図８】
2014030099.tif 000010
【図９】
2014030099.tif 000011
【図１０】
2014030099.tif 000012
【図１１】
2014030099.tif 000013
【図１２】
2014030099.tif 000014
【図１３】
2014030099.tif 000015
【図１４】
2014030099.tif 000016
【図１５】
2014030099.tif 000017
【図１６】
2014030099.tif 000018
【図１７】
2014030099.tif 000019